groff normally runs the
gtroff program and a
postprocessor appropriate for the selected device. The default device
is ‘ps’ (but it can be changed when
groff is configured and
built). It can optionally preprocess with any of
This section only documents options to the
groff front end. Many
of the arguments to
groff are passed on to
therefore those are also included. Arguments to pre- or postprocessors
can be found in Invoking gpic, Invoking geqn, Invoking gtbl, Invoking ggrn, Invoking grefer, Invoking gchem,
Invoking gsoelim, Invoking preconv, Invoking grotty,
Invoking grops, Invoking gropdf, Invoking grohtml,
Invoking grodvi, Invoking grolj4, Invoking grolbp, and
The command-line format for
groff [ -abceghijklpstvzCEGNRSUVXZ ] [ -dcs ] [ -Darg ] [ -ffam ] [ -Fdir ] [ -Idir ] [ -Karg ] [ -Larg ] [ -mname ] [ -Mdir ] [ -nnum ] [ -olist ] [ -Parg ] [ -rcn ] [ -Tdev ] [ -wname ] [ -Wname ] [ files… ]
The command-line format for
gtroff is as follows.
gtroff [ -abcivzCERU ] [ -dcs ] [ -ffam ] [ -Fdir ] [ -mname ] [ -Mdir ] [ -nnum ] [ -olist ] [ -rcn ] [ -Tname ] [ -wname ] [ -Wname ] [ files… ]
Obviously, many of the options to
groff are actually passed on to
Options without an argument can be grouped behind a single -. A filename of - denotes the standard input. It is possible to have whitespace between an option and its parameter.
grog command can be used to guess the correct
command to format a file.
Here’s the description of the command-line options:
Generate an ASCII approximation of the typeset output. The
.A is then set to 1. See Built-in Registers. A typical example is
groff -a -man -Tdvi troff.man | less
which shows how lines are broken for the DVI device. Note that this option is rather useless today since graphic output devices are available virtually everywhere.
Print a backtrace with each warning or error message. This backtrace
should help track down the cause of the error. The line numbers given
in the backtrace may not always be correct:
gtroff can get
am requests while counting line numbers.
Suppress color output.
Enable compatibility mode. See Implementation Differences, for the
list of incompatibilities between
groff and AT&T
Define c or name to be a string s. c must be a one-letter name; name can be of arbitrary length. All string assignments happen before loading any macro file (including the start-up file).
Set default input encoding used by
preconv to arg. Implies
Inhibit all error messages.
Use fam as the default font family. See Font Families.
Search dir for subdirectories devname
(name is the name of the device), for the DESC file, and
for font files before looking in the standard directories (see Font Directories). This option is passed to all pre- and postprocessors
GROFF_FONT_PATH environment variable.
grap. Implies -p.
Print a help message.
Read the standard input after all the named input files have been processed.
This option may be used to specify a directory to search for files. It is passed to the following programs:
gsoelim(see gsoelim for more details); it also implies
groff’s -s option.
gtroff; it is used to search files named in the
grops; it is used to search files named in the
The current directory is always searched first. This option may be specified more than once; the directories are searched in the order specified. No directory search is performed for files specified using an absolute path.
gchem. Implies -p.
preconv. This is run before any other
preprocessor. Please refer to
preconv’s manual page for its
behaviour if no -K (or -D) option is specified.
Set input encoding used by preconv to arg. Implies -k.
Send the output to a spooler for printing. The command used for this is
specified by the
Pass arg to the spooler. Each argument should be passed with a
separate -L option. Note that
groff does not prepend a
‘-’ to arg before passing it to the postprocessor. If the
Read in the file name.tmac. Normally
for this in its macro directories. If it isn’t found, it tries
tmac.name (searching in the same directories).
Search directory dir for macro files before the standard directories (see Macro Directories).
Number the first page num.
Don’t allow newlines with
eqn delimiters. This is the same as
the -N option in
Output only pages in list, which is a comma-separated list of page
ranges; ‘n’ means print page n,
‘m-n’ means print every page between m
and n, ‘-n’ means print every page up
to n, ‘n-’ means print every page beginning
gtroff exits after printing the last page in
the list. All the ranges are inclusive on both ends.
gtroff, this information can be extracted with the
‘.P’ register. See Built-in Registers.
If your document restarts page numbering at the beginning of each
gtroff prints the specified page range for each
Pass arg to the postprocessor. Each argument should be passed
with a separate -P option. Note that
groff does not
prepend ‘-’ to arg before passing it to the postprocessor.
Set number register c or name to the
value n. c must be a one-letter name; name
can be of arbitrary length. n can be any
numeric expression. All register assignments happen before loading any
macro file (including the start-up file).
grefer. No mechanism is provided for passing
grefer because most
grefer options have
equivalent commands that can be included in the file. See grefer,
for more details.
gtroff also accepts a -R option, which is not
groff. This option prevents the loading of the
troffrc and troffrc-end files.
Safer mode. Pass the -S option to
gpic and disable the
requests. For security reasons, this is enabled by default.
Prepare output for device dev. The default device is ‘ps’,
unless changed when
groff was configured and built. The
following are the output devices currently available:
For POSTSCRIPT printers and previewers.
For PDF viewers or printers.
For TeX DVI format.
For a 75dpi X11 previewer.
For a 75dpi X11 previewer with a 12pt base font in the document.
For a 100dpi X11 previewer.
For a 100dpi X11 previewer with a 12pt base font in the document.
For typewriter-like devices using the (7-bit) ASCII character set.
For typewriter-like devices that support the Latin-1 (ISO 8859-1) character set.
For typewriter-like devices that use the Unicode (ISO 10646) character set with UTF-8 encoding.
For typewriter-like devices that use the EBCDIC encoding IBM cp1047.
For HP LaserJet4-compatible (or other PCL5-compatible) printers.
For Canon CAPSL printers (LBP-4 and LBP-8 series laser printers).
To produce HTML and XHTML output, respectively.
Note that this driver consists of two parts, a preprocessor
pre-grohtml) and a postprocessor (
gtroff string register
.T contains the
current output device; the read-only number register
.T is set
to 1 if this option is used (which is always true if
is used to call
gtroff). See Built-in Registers.
The postprocessor to be used for a device is specified by the
postpro command in the device description file. (See Font Files, for more info.) This can be overridden with the -X
Unsafe mode. This enables the
Enable warning name. Available warnings are described in Debugging. Multiple -w options are allowed.
Inhibit warning name. Multiple -W options are allowed.
Make programs run by
groff print out their version number.
Print the pipeline on
stdout instead of executing it. If
specified more than once, print the pipeline on
gxditview instead of using the usual postprocessor.
This is unlikely to produce good results except with -Tps.
Note that this is not the same as using -TX75 or
-TX100 to view a document with
gxditview: The former
uses the metrics of the specified device, whereas the latter uses
X-specific fonts and metrics.
Suppress output from
gtroff. Only error messages are printed.
Do not postprocess the output of
automatically runs the appropriate postprocessor.