Imported Upstream version 1.22.4
[platform/upstream/groff.git] / man / ditroff.7.man
1 .TH DITROFF @MAN7EXT@ "@MDATE@" "groff @VERSION@"
2 .SH NAME
3 ditroff \- classical device-independent roff
4 .
5 .
6 .\" ====================================================================
7 .\" Legal Terms
8 .\" ====================================================================
9 .\"
10 .\" Copyright (C) 2001-2018 Free Software Foundation, Inc.
11 .\"
12 .\" This file is part of groff, the GNU roff type-setting system.
13 .\"
14 .\" Permission is granted to copy, distribute and/or modify this
15 .\" document under the terms of the GNU Free Documentation License,
16 .\" Version 1.3 or any later version published by the Free Software
17 .\" Foundation; with no Invariant Sections, with no Front-Cover Texts,
18 .\" and with no Back-Cover Texts.
19 .\"
20 .\" A copy of the Free Documentation License is included as a file
21 .\" called FDL in the main directory of the groff source package.
22 .
23 .
24 .\" ====================================================================
25 .SH DESCRIPTION
26 .\" ====================================================================
27 .
28 The name
29 .I ditroff
30 refers to a historical development stage of the
31 .IR roff (@MAN7EXT@)
32 text processing system.
33 .
34 In
35 .I roff
36 systems extant today, the name
37 .I troff
38 is a synonym for
39 .IR ditroff .
40 .
41 .
42 .P
43 Early versions of
44 .I roff
45 by Joe Ossanna generated two programs from the same sources,
46 using conditional compilation to distinguish them.
47 .
48 .I nroff
49 produced text-oriented TTY output, while
50 .I troff
51 generated graphical output for exactly one output device, the
52 Wang Graphic Systems CAT phototypesetter.
53 .
54 .
55 .P
56 In 1979, Brian Kernighan rewrote
57 .I troff
58 to support more devices by creating an intermediate output format for
59 .I troff
60 that could be fed into postprocessor programs which actually do the
61 printout on the device.
62 .
63 Kernighan's version marks what is known as \(lqclassical troff\(rq
64 today.
65 .
66 In order to distinguish it from Ossanna's original version, it was
67 called
68 .I ditroff
69 .RI ( d "evice " i "ndependent " t roff)
70 on some systems, though this naming isn't mentioned in the classical
71 documentation.
72 .
73 .
74 .P
75 Today, all existing
76 .I roff
77 systems are based on Kernighan's multi-device
78 .IR troff .
79 .
80 The distinction between
81 .I troff
82 and
83 .I ditroff
84 is no longer necessary; each modern
85 .I troff
86 provides the complete functionality of
87 .IR ditroff .
88 .
89 .
90 .P
91 The easiest way to use
92 .I ditroff
93 is via the GNU
94 .I roff
95 system,
96 .IR groff .
97 .
98 The
99 .IR groff (@MAN1EXT@)
100 program is a wrapper around
101 .I (di)troff
102 that automatically handles device postprocessing.
103 .
104 .
105 .\" ====================================================================
106 .SH AUTHORS
107 .\" ====================================================================
108 .
109 This document was written by
110 .MT groff\-bernd.warken\-72@\:web.de
111 Bernd Warken
112 .ME .
113 .
114 .
115 .\" ====================================================================
116 .SH "SEE ALSO"
117 .\" ====================================================================
118 .
119 .TP
120 CSTR\~#54
121 refers to the 1992 revision of the
122 .I Nroff/Troff User's Manual
123 by J.\& F.\& Ossanna and Brian Kernighan.
124 .
125 .
126 .TP
127 CSTR\~#97
128 refers to
129 .IR "A Typesetter-independent TROFF" ,
130 by Brian Kernighan and is the original documentation of the first
131 multi-device
132 .I troff
133 .RI ( ditroff ).
134 .
135 .
136 .TP
137 .IR roff (@MAN7EXT@)
138 provides a history and conceptual overview of
139 .I roff
140 systems.
141 .
142 .
143 .TP
144 .IR @g@troff (@MAN1EXT@)
145 describes the GNU implementation of
146 .IR (di)troff .
147 .
148 .
149 .TP
150 .IR groff (@MAN1EXT@)
151 documents the GNU
152 .I roff
153 program and includes pointers to further documentation about
154 .IR groff .
155 .
156 .
157 .TP
158 .IR groff_out (@MAN5EXT@)
159 describes the
160 .I groff
161 version of the intermediate output language, the basis for
162 multi-device output.
163 .
164 .
165 .\" ====================================================================
166 .\" Editor settings
167 .\" ====================================================================
168 .
169 .\" Local Variables:
170 .\" mode: nroff
171 .\" fill-column: 72
172 .\" End:
173 .\" vim: set filetype=groff textwidth=72: