Imported Upstream version 1.22.3
[platform/upstream/groff.git] / man / ditroff.man
1 .\" Emacs mode: -*- nroff -*-
2 .TH DITROFF @MAN7EXT@ "@MDATE@" "Groff Version @VERSION@"
3 .SH NAME
4 ditroff \- classical device independent roff
5 .
6 .\" ditroff.man
7 .
8 .
9 .de co
10 Copyright \[co] 2001-2014 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 document
15 under the terms of the GNU Free Documentation License, Version 1.3 or
16 any later version published by the Free Software Foundation; with no
17 Front-Cover Texts, and with no Back-Cover Texts.
18
19 A copy of the Free Documentation License is included as a file called
20 FDL in the main directory of the groff source package, it is also
21 available on-line at the
22 .UR http://\:www.gnu.org/\:copyleft/\:fdl.html
23 GNU copyleft site
24 .UE .
25 ..
26 .de au
27 It was written by
28 .MT groff-bernd.warken-72@\:web.de
29 Bernd Warken
30 .ME
31 and is maintained by
32 .MT wl@\:gnu.org
33 Werner Lemberg
34 .ME .
35 ..
36 .
37 .\" --------------------------------------------------------------------
38 .SH DESCRIPTION
39 .\" --------------------------------------------------------------------
40 .
41 The name
42 .I ditroff
43 once marked a development level of the
44 .I troff
45 text processing system.
46 .
47 In actual
48 .BR roff (@MAN7EXT@)
49 systems, the name
50 .I troff
51 is used as a synonym for
52 .IR ditroff .
53 .
54 .P
55 The first roff system was written by Joe Ossanna around 1973.
56 .
57 It supported only two output devices, the
58 .B nroff
59 program produced text oriented tty output, while the
60 .B troff
61 program generated graphical output for exactly one output device, the Wang
62 .I Graphic Systems CAT
63 typesetter.
64 .
65 .
66 .P
67 In 1979, Brian Kernighan rewrote troff to support more devices by
68 creating an intermediate output format for troff that can be fed into
69 postprocessor programs which actually do the printout on the device.
70 .
71 Kernighan\[aq]s version marks what is known as
72 .I classical troff
73 today.
74 .
75 In order to distinguish it from Ossanna\[aq]s original mono-device
76 version, it was called
77 .I ditroff
78 .RI ( d "evice " i "ndependent " troff )
79 on some systems, though this naming isn\[aq]t mentioned in the
80 classical documentation.
81 .
82 .
83 .P
84 Today, any existing roff system is based on Kernighan\[aq]s
85 multi-device troff.
86 .
87 The distinction between
88 .I troff
89 and
90 .I ditroff
91 isn\[aq]t necessary any longer, for each modern
92 .I troff
93 provides already the complete functionality of
94 .IR ditroff .
95 .
96 On most systems, the name
97 .I troff
98 is used to denote
99 .IR ditroff .
100 .
101 .
102 .P
103 The easiest way to use ditroff is the GNU roff system,
104 .IR groff .
105 The
106 .BR groff (@MAN1EXT@)
107 program is a wrapper around
108 .I (di)troff
109 that automatically handles postprocessing.
110 .
111 .
112 .\" --------------------------------------------------------------------
113 .SH "SEE ALSO"
114 .\" --------------------------------------------------------------------
115 .
116 .TP
117 .I [CSTR\~#54]
118 The 1992 revision of the
119 .I Nroff/Troff User\[aq]s Manual
120 by
121 .I J.\& F.\& Ossanna
122 and
123 .IR "Brian Kernighan" ,
124 see
125 .UR http://\:cm.bell-labs.com/\:cm/\:cs/\:cstr/\:54.ps.gz
126 Bell Labs CSTR\~#54
127 .UE .
128 .
129 .TP
130 .I [CSTR\~#97]
131 .I A Typesetter-independent TROFF
132 by
133 .I Brian Kernighan
134 is the original documentation of the first multi-device troff
135 .RI ( ditroff ),
136 see
137 .UR http://\:cm.bell-labs.com/\:cm/\:cs/\:cstr/\:97.ps.gz
138 Bell Labs CSTR\~#97
139 .UE .
140 .
141 .TP
142 .BR roff (@MAN7EXT@)
143 This document gives details on the history and concepts of roff.
144 .
145 .TP
146 .BR @g@troff (@MAN1EXT@)
147 The actual implementation of
148 .IR ditroff .
149 .
150 .TP
151 .BR groff (@MAN1EXT@)
152 The GNU roff program and pointers to all documentation around groff.
153 .
154 .TP
155 .BR groff_out (@MAN5EXT@)
156 The groff version of the intermediate output language, the basis for
157 multi-devicing.
158 .
159 .
160 .\" --------------------------------------------------------------------
161 .SH "COPYING"
162 .\" --------------------------------------------------------------------
163 .co
164 .\" --------------------------------------------------------------------
165 .SH "AUTHORS"
166 .\" --------------------------------------------------------------------
167 .au