GROFF(1)

NAME
groff - front end for the groff document formatting system

SYNOPSIS
groff [-abeghilpstvzCEGNRSUVXZ] [-w name] [-W name] [-m name] [-F dir] [-I dir] [-T dev] [-f fam] [-M dir] [-d cs] [-r cn] [-n num] [-o list] [-P arg] [-L arg] [ files... ]

It is possible to have whitespace between a command line option and its parameter.

DESCRIPTION
groff is a front-end to the groff document formatting system. Normally it runs the gtroff program and a postprocessor appropriate for the selected device. Available devices are:

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 using the ISO Latin-1 (ISO 8859-1) character set.

nippon
    For typewriter-like devices using the Japanese-EUC character set.

utf8
    For typewriter-like devices using the Unicode (ISO 10646) character set with UTF-8 encoding.

cp1047
    For typewriter-like devices which use the EBCDIC code page IBM cp1047 (e.g. OS/390 Unix).

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.

The postprocessor to be used for a device is specified by the postpro command in the device description file. This can be overridden with the -X option.

The default device is ps. It can optionally preprocess with any of gpic, geqn, ggrn, grap, gtbl, grefer, or gsoelim.

Options without an argument can be grouped behind a single -. A filename of - denotes the standard input.

The grog command can be used to guess the correct groff command to use to format a file.

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.

-Idir
    This option is as described in gsoelim(1). This option implies the -s option.

-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. See grefer(1) for more details.

-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 will be printed.

-Z  Do not postprocess the output of gtroff. Normally groff will automatically run 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 (if not present, -l has no effect).

-Larg
    Pass arg to the spooler. Each argument should be passed with a separate -L option. Note that groff does not prepend - to arg before passing it to the postprocessor. If there is no print command in the device description file, -L is ignored.

-Tdev
    Prepare output for device dev. The default device is ps.

-X  Preview with gxditview instead of using the usual postprocessor. Groff passes gxditview a -printCommand option which will make the Print action do what groff would have done if the -l option had been given. This is unlikely to produce good results except with -Tps.

-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 following gtroff requests: .open, .opena, .pso, .sy, and .pi. For security reasons, safer mode is enabled by default.

-U  Unsafe mode. Reverts to the old unsafe behaviour.

-a
-b
-i
-C
-E
-wname
-Wname
-mname
-olist
-dcs
-rcn
-Fdir
-Mdir
-ffam
-nnum
    These are as described in gtroff(1).

ENVIRONMENT

GROFF_COMMAND_PREFIX
    If this is set X, then groff will run Xtroff instead of gtroff. This also applies to tbl, pic, eqn, grn, refer, and soelim. It does not apply to grap, grops, grodvi, grotty, grolj4, grohtml, and gxditview.

GROFF_TMAC_PATH
    A colon separated list of directories in which to search for macro files in addition to the default directories. See troff(1) for more details.

GROFF_TYPESETTER
    Default device.

GROFF_FONT_PATH
    A colon separated list of directories in which to search for the devname directory in addition to the default one. See troff(1) for more details.

GROFF_BIN_PATH
    This search path, followed by PATH, will be used for commands executed by groff. If not set, `/usr/local/bin' is prepended to PATH.

GROFF_TMPDIR
    The directory in which temporary files will be created. If this is not set and TMPDIR is set, temporary files will be created in that directory. Otherwise temporary files will be created in /tmp. The grops(1) and grefer(1) commands can create temporary files.

FILES
/usr/local/share/groff/1.17.2/font/devname/DESC Device description file for device name.

/usr/local/share/groff/1.17.2/font/devname/F
    Font file for font F of device name.

Note that on EBCDIC hosts, output devices ascii, latin1, and utf8 aren't available. Similarly, cp1047 is not available on ASCII based operating systems.

EXAMPLE
To print the man page foo.1 to the standard output using the latin-1 output device and less as the pager, the following command can be used:

    groff -mandoc -Tlatin1 foo.1 | less

Alternatively, you can say

    groff -m mandoc -Tlatin1 foo.1 | less

AUTHOR
James Clark <jjc@jclark.com>

BUGS
Report bugs to bug-groff@gnu.org. Include a complete, self-contained example that will allow the bug to be reproduced, and say which version of groff you are using.

COPYRIGHT
Copyright © 1989-2000 Free Software Foundation, Inc.

groff is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2, or (at your option) any later version.

groff is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with groff; see the file COPYING. If not, write to the Free Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.

AVAILABILITY
The most recent released version of groff is always available for anonymous ftp from ftp.gnu.org in the directory gnu/groff.

groff only supports the freely available grap implementation written by Ted Faber <faber@lunabase.org>. The actual version can be found at

    http://www.lunabase.org/~faber/Vault/software/grap/

SEE ALSO
grog(1), gtroff(1), gtbl(1), gpic(1), geqn(1), ggrn(1), grap(1), gsoelim(1), grefer(1), grops(1), grodvi(1), grotty(1), grolj4(1), grolbp(1), grohtml(1), gxditview(1), groff_font(5), groff_out(5), groff_man(7), groff_ms(7), groff_me(7), groff_char(7)