manpagez: man pages & more
info groff
Home | html | info | man

File: groff.info,  Node: troff and nroff Modes,  Next: Line Layout,  Prev: Character Translations,  Up: GNU troff Reference

5.14 'troff' and 'nroff' Modes
==============================

Historically, 'nroff' and 'troff' were two separate programs; the former
for terminal output, the latter for typesetters.  GNU 'troff' merges
both functions into one executable(1) (*note troff and nroff
Modes-Footnote-1::) that sends its output to a device driver ('grotty'
for terminal devices, 'grops' for PostScript, and so on) which
interprets this intermediate output format.  When discussing AT&T
'troff', it makes sense to talk about "'nroff' mode" and "'troff' mode"
since the differences are hard-coded.  GNU 'troff' takes information
from device and font description files without handling requests
specially if a terminal output device is used, so such a strong
distinction is unnecessary.

   Usually, a macro package can be used with all output devices.
Nevertheless, it is sometimes necessary to make a distinction between
terminal and non-terminal devices: GNU 'troff' provides two built-in
conditions 'n' and 't' for the 'if', 'ie', and 'while' requests to
decide whether GNU 'troff' shall behave like 'nroff' or like 'troff'.

 -- Request: .troff
     Make the 't' built-in condition true (and the 'n' built-in
     condition false) for 'if', 'ie', and 'while' conditional requests.
     This is the default if GNU 'troff' (_not_ 'groff') is started with
     the '-R' switch to avoid loading of the startup files 'troffrc' and
     'troffrc-end'.  Without '-R', GNU 'troff' stays in 'troff' mode if
     the output device is not a terminal (e.g., 'ps').

 -- Request: .nroff
     Make the 'n' built-in condition true (and the 't' built-in
     condition false) for 'if', 'ie', and 'while' conditional requests.
     This is the default if GNU 'troff' uses a terminal output device;
     the code for switching to 'nroff' mode is in the file 'tty.tmac',
     which is loaded by the startup file 'troffrc'.

   *Note Conditionals and Loops::, for more details on built-in
conditions.

© manpagez.com 2000-2024
Individual documents may contain additional copyright information.