Options
=======
`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 `gpic', `geqn', `gtbl', `ggrn',
`grap', `grefer', or `gsoelim'.
This section only documents options to the `groff' front end. Many
of the arguments to `groff' are passed on to `gtroff', therefore those
are also included. Arguments to pre- or postprocessors can be found in
Note:Invoking gpic, Note:Invoking geqn, Note:Invoking gtbl,
Note:Invoking ggrn, Note:Invoking grefer, Note:Invoking
gsoelim, Note:Invoking grotty, Note:Invoking grops, Note:Invoking grohtml, Note:Invoking grodvi, Note:Invoking grolj4,
Note:Invoking grolbp, and Note:Invoking gxditview.
The command line format for `groff' is:
groff [ -abeghilpstvzCEGNRSUVXZ ] [ -FDIR ] [ -mNAME ]
[ -TDEF ] [ -fFAM ] [ -wNAME ] [ -WNAME ]
[ -MDIR ] [ -dCS ] [ -rCN ] [ -nNUM ]
[ -oLIST ] [ -PARG ] [ -LARG ] [ -IDIR ]
[ FILES... ]
The command line format for `gtroff' is as follows.
gtroff [ -abivzCERU ] [ -wNAME ] [ -WNAME ] [ -dCS ]
[ -fFAM ] [ -mNAME ] [ -nNUM ]
[ -oLIST ] [ -rCN ] [ -TNAME ]
[ -FDIR ] [ -MDIR ] [ FILES... ]
Obviously, many of the options to `groff' are actually passed on to
`gtroff'.
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.
The `grog' command can be used to guess the correct `groff' command
to format a file.
Here's the description of the command-line options:
`-h'
Print a help message.
`-e'
Preprocess with `geqn'.
`-t'
Preprocess with `gtbl'.
`-g'
Preprocess with `ggrn'.
`-G'
Preprocess with `grap'.
`-p'
Preprocess with `gpic'.
`-s'
Preprocess with `gsoelim'.
`-R'
Preprocess with `grefer'. No mechanism is provided for passing
arguments to `grefer' because most `grefer' options have
equivalent commands which can be included in the file. Note:grefer, for more details.
Note that `gtroff' also accepts a `-R' option, which is not
accessible via `groff'. This option prevents the loading of the
`troffrc' and `troffrc-end' files.
`-v'
Make programs run by `groff' print out their version number.
`-V'
Print the pipeline on `stdout' instead of executing it.
`-z'
Suppress output from `gtroff'. Only error messages are printed.
`-Z'
Do not postprocess the output of `gtroff'. Normally `groff'
automatically runs the appropriate postprocessor.
`-PARG'
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.
`-l'
Send the output to a spooler for printing. The command used for
this is specified by the `print' command in the device description
file (see Note:Font Files, for more info). If not present,
`-l' is ignored.
`-LARG'
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 `print'
keyword in the device description file is missing, `-L' is ignored.
`-TDEV'
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:
`ps'
For POSTSCRIPT printers and previewers.
`dvi'
For TeX DVI format.
`X75'
For a 75dpi X11 previewer.
`X100'
For a 100dpi X11 previewer.
`ascii'
For typewriter-like devices.
`latin1'
For typewriter-like devices that support the Latin-1
(ISO 8859-1) character set.
`utf8'
For typewriter-like devices which use the Unicode (ISO 10646)
character set with UTF-8 encoding.
`cp1047'
For typewriter-like devices which use the EBCDIC encoding IBM
cp1047.
`lj4'
For an HP LaserJet4-compatible (or other PCL5-compatible)
printer.
`lbp'
For Canon CAPSL printers (LBP-4 and LBP-8 series laser
printers).
`html'
To produce HTML output. Note that the HTML driver consists
of two parts, a preprocessor (`pre-grohtml') and a
postprocessor (`post-grohtml').
The predefined `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 `groff' is used to
call `gtroff'). Note:Built-in Registers.
The postprocessor to be used for a device is specified by the
`postpro' command in the device description file. (Note:Font
Files, for more info.) This can be overridden with the `-X'
option.
`-X'
Preview with `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.
`-N'
Don't allow newlines with `eqn' delimiters. This is the same as
the `-N' option in `geqn'.
`-S'
Safer mode. Pass the `-S' option to `gpic' and disable the
`open', `opena', `pso', `sy', and `pi' requests. For security
reasons, this is enabled by default.
`-U'
Unsafe mode. Reverts to the old unsafe behaviour.
`-a'
Generate an ASCII approximation of the typeset output. The
read-only register `.A' is then set to 1. Note: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.
`-b'
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 confused by `as' or `am' requests while counting line
numbers.
`-i'
Read the standard input after all the named input files have been
processed.
`-wNAME'
Enable warning NAME. Available warnings are described in Note:Debugging. Multiple `-w' options are allowed.
`-WNAME'
Inhibit warning NAME. Multiple `-W' options are allowed.
`-E'
Inhibit all error messages.
`-C'
Enable compatibility mode. Note:Implementation Differences,
for the list of incompatibilities between `groff' and traditional
Unix `troff'.
`-dCS'
`-dNAME=s'
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).
`-fFAM'
Use FAM as the default font family. Note:Font Families.
`-mNAME'
Read in the file `NAME.tmac'. Normally `groff' searches for this
in its macro directories. If it isn't found, it tries `tmac.NAME'
(and searches in the same directories).
`-nNUM'
Number the first page NUM.
`-oLIST'
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 with N. `gtroff' exits after printing
the last page in the list. All the ranges are inclusive on both
ends.
Within `gtroff', this information can be extracted with the `.P'
register. Note:Built-in Registers.
If your document restarts page numbering at the beginning of each
chapter, then `gtroff' prints the specified page range for each
chapter.
`-rCN'
`-rNAME=N'
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
`gtroff' numeric expression. All register assignments happen
before loading any macro file (including the start-up file).
`-FDIR'
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.
`-MDIR'
Search directory `DIR' for macro files before the standard
directories.
`-IDIR'
This option is as described in Note:gsoelim. It implies the
`-s' option.