# ditroff(7) - man - phpMan

[DITROFF(7)](https://www.chedong.com/phpMan.php/man/DITROFF/7/markdown)                        Miscellaneous Information Manual                        [DITROFF(7)](https://www.chedong.com/phpMan.php/man/DITROFF/7/markdown)



## NAME
       ditroff - classical device-independent roff

## DESCRIPTION
       The name _ditroff_ refers to a historical development stage of the [_roff_(7)](https://www.chedong.com/phpMan.php/man/roff/7/markdown) text processing sys‐
       tem.  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_ (_d_evice _i_n‐
       dependent  _t_roff)  on some systems, though this naming isn't mentioned in the classical docu‐
       mentation.

       Today, all existing _roff_ systems are based on Kernighan's multi-device _troff_.   The  distinc‐
       tion  between  _troff_  and _ditroff_ is no longer necessary; each modern _troff_ provides the com‐
       plete functionality of _ditroff_.

       The easiest way to use _ditroff_ is via the GNU _roff_ system, _groff_.  The [_groff_(1)](https://www.chedong.com/phpMan.php/man/groff/1/markdown) program is  a
       wrapper around _(di)troff_ that automatically handles device postprocessing.

## AUTHORS
       This document was written by Bernd Warken ⟨<groff-bernd.warken-72@web.de>⟩.

## SEE ALSO
       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 docu‐
              mentation of the first multi-device _troff_ (_ditroff_).

       [_roff_(7)](https://www.chedong.com/phpMan.php/man/roff/7/markdown)
              provides a history and conceptual overview of _roff_ systems.

       [_troff_(1)](https://www.chedong.com/phpMan.php/man/troff/1/markdown)
              describes the GNU implementation of _(di)troff_.

       [_groff_(1)](https://www.chedong.com/phpMan.php/man/groff/1/markdown)
              documents  the  GNU  _roff_ program and includes pointers to further documentation about
              _groff_.

       [_groff_out_(5)](https://www.chedong.com/phpMan.php/man/groffout/5/markdown)
              describes the _groff_ version of the intermediate output language, the basis for  multi-
              device output.



groff 1.22.4                                23 March 2022                                 [DITROFF(7)](https://www.chedong.com/phpMan.php/man/DITROFF/7/markdown)
