home | help
DITROFF(7)		Miscellaneous Information Manual	      DITROFF(7)

NAME
     ditroff - classical device independent roff

DESCRIPTION
     The name ditroff once marked a development level of the troff text process-
     ing system.  In actual roff(7) systems, the name troff is used as a synonym
     for ditroff.

     The  first roff system was written by Joe Osanna around 1973.  It supported
     only two output devices, the nroff program produced text oriented tty  out-
     put,  while  the  troff  program generated graphical output for exactly one
     output device, the Wang Graphic Systems CAT typesetter.

     In 1979, Brian Kernighan rewrote troff to support more devices by	creating
     an  intermediate output format for troff that can 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  Osanna's  original  mono-device  version,  it was called ditroff (de-
     vice independent troff) on some systems, though this naming isn't mentioned
     in the classical documentation.

     Today, any existing roff system is based on Kernighan's multi-device troff.
     The distinction between troff and ditroff isn't necessary any  longer,  for
     each  modern  troff provides already the complete functionality of ditroff.
     On most systems, the name troff is used to denote ditroff.

     The easiest way to use ditroff is the GNU roff system, groff.  The groff(1)
     program is a wrapper around (di)troff that automatically  handles	postpro-
     cessing.

SEE ALSO
     [CSTR #54]
	    The  1992  revision of the Nroff/Troff User's Manual by J. F. Osanna
	    and Brian Kernighan, see
	    Bell Labs CSTR #54 <http://cm.bell-labs.com/cm/cs/cstr/54.ps.gz>.

     [CSTR #97]
	    A Typesetter-independent TROFF by Brian Kernighan  is  the	original
	    documentation of the first multi-device troff (ditroff), see
	    Bell Labs CSTR #97 <http://cm.bell-labs.com/cm/cs/cstr/97.ps.gz>.

     roff(7)
	    This document gives details on the history and concepts of roff.

     troff(1)
	    The actual implementation of ditroff.

     groff(1)
	    The GNU roff program and pointers to all documentation around groff.

     groff_out(5)
	    The groff version of the intermediate output language, the basis for
	    multi-devicing.

AUTHORS
     Copyright (C) 2001, 2002 Free Software Foundation, Inc.

     This  document is distributed under the terms of the FDL (GNU Free Documen-
     tation License) version 1.1 or later.  You should have received a	copy  of
     the FDL on your system, it is also available on-line at the GNU copyleft
     site <http://www.gnu.org/copyleft/fdl.html>.

     This  document is part of groff, the GNU roff distribution.  It was written
     by Bernd Warken <bwarken@mayn.de>	and  is  maintained  by  Werner  Lemberg
     <wl@gnu.org>.

Groff Version 1.18.1		 27 August 2026 		      DITROFF(7)

home | help