|
Name | Description | Authors | See also | COLOPHON |
|
|
|
ditroff(7) Miscellaneous Information Manual ditroff(7)
ditroff - device-independent typesetter roff
The name ditroff refers to a historical development stage of the
roff(7) text processing system. In roff systems extant today, the
name troff is a synonym for ditroff.
Early versions of roff by Joe Ossanna generated two programs from
the same sources, using conditional compilation to distinguish
them. nroff produced text-oriented TTY output, while troff
generated graphical output for exactly one output device, the Wang
Graphic Systems CAT phototypesetter.
In 1979, Brian Kernighan rewrote troff to support more devices by
creating an intermediate output format for troff that could be fed
into postprocessor programs which actually do the printout on the
device. Kernighan's version marks what is known as “classical
troff” today. In order to distinguish it from Ossanna's original
version, it was called ditroff (device independent troff) on some
systems, though this naming isn't mentioned in the classical
documentation.
Today, all existing roff systems are based on Kernighan's multi-
device troff. The distinction between troff and ditroff is no
longer necessary; each modern troff provides the complete
functionality of ditroff.
The easiest way to use ditroff is via the GNU roff system, groff.
The groff(1) program is a wrapper around (di)troff that
automatically handles device postprocessing.
This document was written by Bernd Warken ⟨groff-bernd.warken-72@
web.de⟩.
CSTR #54
refers to the 1992 revision of the Nroff/Troff User's
Manual by J. F. Ossanna and Brian Kernighan.
CSTR #97
refers to A Typesetter-independent TROFF, by Brian
Kernighan and is the original documentation of the first
multi-device troff (ditroff).
roff(7)
provides a history and conceptual overview of roff systems.
troff(1)
describes the GNU implementation of (di)troff.
groff(1)
documents the GNU roff program and includes pointers to
further documentation about groff.
groff_out(5)
describes the groff version of the intermediate output
language, the basis for multi-device output.
This page is part of the groff (GNU troff) project. Information
about the project can be found at
⟨http://www.gnu.org/software/groff/⟩. If you have a bug report for
this manual page, see ⟨http://www.gnu.org/software/groff/⟩. This
page was obtained from the project's upstream Git repository
⟨https://git.savannah.gnu.org/git/groff.git⟩ on 2025-08-11. (At
that time, the date of the most recent commit that was found in
the repository was 2025-08-09.) If you discover any rendering
problems in this HTML version of the page, or you believe there is
a better or more up-to-date source for the page, or you have
corrections or improvements to the information in this COLOPHON
(which is not part of the original manual page), send a mail to
[email protected]
groff 1.23.0.rc1.1931-35c9b 30 January 2022 ditroff(7)