4 Copyright (c) 2014 - 2017 Steffen (Daode) Nurpmeso <steffen@sdaoden.eu>.
6 Copyright (C) 1989, 2002 - 2008
7 Free Software Foundation, Inc.
8 Rewritten in 2002 by Bernd Warken <bwarken@mayn.de>
10 Permission is granted to copy, distribute and/or modify this document
11 under the terms of the GNU Free Documentation License, Version 1.1 or
12 any later version published by the Free Software Foundation; with the
13 Invariant Sections being this .ig-section and AUTHOR, with no
14 Front-Cover Texts, and with no Back-Cover Texts.
16 You should have received a copy of the Free Documentation License
17 as part of the file COPYING; also located in the main directory of the
18 source package of this program.
21 .do nr __compat \n[.C]
24 .\" Environment variable
37 .TH @U_ROFF@ @MAN1EXT@ "@MDATE@" "@T_ROFF@ v@VERSION@"
42 @L_ROFF@ \- front-end for the @T_ROFF@ document formatting system
48 .OP \-abcegiklpstzCEGNRSUVZ
76 .RI [ option\~ .\|.\|.]
82 This document describes the
84 program, the main front-end for the
86 document formatting system, which is a
87 .BR @L_ROFF@ (@MAN7EXT@)
88 implementation that has all features of the classical
90 but also adds extensions.
95 program allows to control the whole
97 system by command line options.
102 Whitespace between a command line option and its argument is
105 Options can be grouped behind a single `\-' (minus character).
109 (minus character) denotes the standard input.
112 .SS Native @L_ROFF@ Options
114 The following options either do not exist for
116 or are differently interpreted by
121 Set default input encoding used by
147 Print a help message.
151 This option may be used to specify a directory to search for
152 files (both those on the command line and those named in
161 The current directory is always searched first.
162 This option may be specified more than once;
163 the directories are searched in the order specified.
164 No directory search is performed for files specified using an absolute path.
165 This option implies the
173 This is run before any other preprocessor.
177 manual page for its behaviour if no
185 Set input encoding used by
194 Send the output to a spooler program for printing.
195 The command that should be used for this is specified by the
197 command in the device description file, see
198 .BR \%@L_ROFF@-font (@MAN5EXT@).
199 If this command is not present, the output is piped into the
211 to the spooler program.
212 Several arguments should be passed with a separate
221 before passing it to the spooler program.
225 Don't allow newlines within
228 This is the same as the
241 .BI \-P\ \-option \ \-P\ arg
246 to the postprocessor.
247 The option must be specified with the necessary preceding minus
254 does not prepend any dashes before passing it to the postprocessor.
261 No mechanism is provided for passing arguments to
265 options have equivalent language elements that can be specified within
268 .BR \%@L_P_REFER@ (@MAN1EXT@)
283 and disable the following
292 For security reasons, safer mode is enabled by default.
309 .BR \%@L_ROFF@-out (@MAN5EXT@).
312 calls a postprocessor to convert
314 .I intermediate output
324 TeX DVI format (postprocessor is
331 HTML and XHTML output (preprocessors are
334 .BR \%@L_D_PREHTML@ ,
336 .BR \%@L_D_POSTHTML@ ).
340 PostScript output (postprocessor is
346 For the following TTY output devices (postprocessor is always
349 selects the output encoding:
355 7bit \f[CR]ASCII\f[].
359 \%Latin-1 character set for EBCDIC hosts.
367 Unicode character set in \%UTF-8 encoding.
372 The default device is
379 Reverts to the (old) unsafe behaviour; see option
386 Output version information (of all programs that would be run by the
391 Output the pipeline that would be run on the standard output, but do not
393 If given more than once,
394 the commands are both printed on the standard error and run.
398 Suppress output generated by
400 Only error messages are printed.
404 Do not automatically postprocess intermediate output in the usual manner.
407 output to appear on standard output,
408 replacing the usual postprocessor output; see
409 .BR \%@L_ROFF@-out (@MAN5EXT@).
412 .SS Transparent Options
414 The following options are transparently handed over to the formatter
417 These options are described in more detail in
418 .BR @L_TROFF@ (@MAN1EXT@).
422 \f[CR]ASCII\f[] approximation of output.
426 Backtrace on error or warning.
430 Disable color output.
433 .BR \%@L_D_TTY@ (@MAN1EXT@)
434 man page for more details.
438 Enable compatibility mode.
454 Set default font family.
458 Set path for font DESC files.
462 Process standard input after the specified input files.
471 .BR \%@L_ROFF@-tmac (@MAN5EXT@).
475 Path for macro files.
479 Number the first page
509 implements the infrastructure of classical
512 .BR @L_ROFF@ (@MAN7EXT@)
513 for a survey on how a
515 system works in general.
516 @T_ROFF@ adds front-end programs and other facilities which make using
519 with its pipeline approach.
520 This section gives an overview of those added parts and complements
521 .BR @L_ROFF@ (@MAN7EXT@).
530 to format the input is controlled globally with the requests
536 .BR @L_ROFF@-tmac (@MAN5EXT@)
537 for the `papersize' macro package which provides a convenient interface.
542 paper size, giving the actual dimensions of the paper sheets, is
543 controlled by output devices like
545 with the command line options
550 .BR @L_ROFF@-font (@MAN5EXT@)
551 and the man pages of the output devices for more details.
553 uses the command line option
555 to pass options to output devices; for example, the following selects
556 A4 paper in landscape orientation for the PS device:
560 @L_ROFF@ -Tps -P-pa4 -P-l ...
566 @L_ROFF@ allows to specify the preprocessors by command line options,
567 and automatically runs the postprocessor that is appropriate for the
568 selected device after processing the data with @L_TROFF@.
569 @L_ROFF@ therefore acts as a replacement for the necessity to manually
570 specify the processor pipeline as is required by classical
572 .BR @L_ROFF@ (@MAN7EXT@)).
577 The standard preprocessors distributed along with
582 .BR \%@L_P_EQN@ (@MAN1EXT@)
583 for mathematical formul\(ae,
586 .BR \%@L_P_GRN@ (@MAN1EXT@)
592 .BR \%@L_P_PIC@ (@MAN1EXT@)
593 for drawing diagrams,
596 .BR \%@L_P_REFER@ (@MAN1EXT@)
597 for bibliographic references,
600 .BR \%@L_P_SOELIM@ (@MAN1EXT@)
601 for including macro files from standard locations,
604 .BR @L_P_TABLES (@MAN1EXT@)
608 A new preprocessor is
609 .BR \%@L_P_PRECONV@ (@MAN1EXT@)
610 which converts various input encodings to something
613 It is always run first before any other preprocessor.
618 Macro packages can be included by option
623 system implements and extends all classical macro packages in a
624 compatible way and adds some packages of its own.
626 Actually, the following macro packages are included:
630 The traditional man page format; see
631 .BR \%@L_ROFF@-man (@MAN7EXT@).
632 It can be specified on the command line as
639 The general package for man pages; it automatically recognizes
640 whether the documents uses the
644 format and branches to the corresponding macro package.
646 It can be specified on the command line as
653 The \f[CR]BSD\f[]-style man page format; see
654 .BR \%@L_ROFF@-mdoc (@MAN7EXT@).
655 It can be specified on the command line as
665 .BR \%@L_ROFF@-me (@MAN7EXT@).
666 It can be specified on the command line as
676 .BR \%@L_ROFF@-ms (@MAN7EXT@).
677 It can be specified on the command line as
684 HTML-like macros for inclusion in arbitrary
687 .BR \%@L_ROFF@-www (@MAN7EXT@).
690 Details on the naming of macro files and their placement can be found
692 .BR \%@L_ROFF@-tmac (@MAN5EXT@);
693 this man page also documents some other, minor auxiliary macro packages
697 .SS "Programming Language"
699 General concepts common to all
701 programming languages are described in
702 .BR @L_ROFF@ (@MAN7EXT@).
707 extensions to the classical
709 language are documented in
710 .BR \%@L_ROFF@-diff (@MAN7EXT@).
711 In here you find also differences in between GNU troff and @T_ROFF@.
716 language as a whole is described in
717 .BR @L_ROFF@ (@MAN7EXT@).
727 .BR @L_TROFF@ (@MAN1EXT@).
728 It provides the features of both the classical
736 The command line option
741 .I "compatibility mode"
742 which tries to emulate classical
747 There is a shell script
748 .BR @L_NROFF@ (@MAN1EXT@)
749 that emulates the behavior of classical
751 It tries to automatically select the proper output encoding, according to
755 The formatter program generates
756 .IR "intermediate output" ;
758 .BR \%@L_ROFF@-out (@MAN7EXT@).
765 the output targets are called
767 A device can be a piece of hardware, e.g., a printer, or a software
770 A device is specified by the option
772 The following devices are included:
776 Text output using the
782 Text output using the EBCDIC code page IBM cp1047 (e.g., OS/390 Unix).
794 Text output using the ISO \%Latin-1 (ISO \%8859-1) character set; see
795 .BR \%iso_8859_1 (7).
799 PostScript output; suitable for printers and previewers like
804 Text output using the Unicode (ISO 10646) character set with \%UTF-8
813 The postprocessor to be used for a device is specified by the
815 command in the device description file; see
816 .BR \%@L_ROFF@-font (@MAN5EXT@).
819 The default device is
826 provides 3\~hardware postprocessors:
829 .BR \%@L_D_TTY@ (@MAN1EXT@)
830 for text output using various encodings, e.g., on text-oriented
831 terminals or line-printers.
834 Today, most printing or drawing hardware is handled by the operating
835 system, by device drivers, or by software interfaces, usually accepting
837 Consequently, there isn't an urgent need for more hardware device
841 The software devices for conversion into other document file formats are:
844 .BR \%@L_D_DVI@ (@MAN1EXT@)
848 .BR \%@L_D_HTML@ (@MAN1EXT@)
849 for HTML and XHTML formats,
852 .BR \%@L_D_PS@ (@MAN1EXT@)
856 Combined with the many existing free conversion tools this should
857 be sufficient to convert a
859 document into virtually any existing data format.
864 The following utility programs around are available:
867 .BR \%@L_ADDFTINFO@ (@MAN1EXT@)
870 font description files for use with
874 .BR \%@L_AFMTODIT@ (@MAN1EXT@)
875 Create font description files for PostScript device.
878 .BR \%@L_INDXBIB@ (@MAN1EXT@)
879 Make inverted index for bibliographic databases.
882 .BR \%@L_LKBIB@ (@MAN1EXT@)
883 Search bibliographic databases.
886 .BR \%@L_LOOKBIB@ (@MAN1EXT@)
887 Interactively search bibliographic databases.
890 .BR \%@L_PDFROFF@ (@MAN1EXT@)
891 Create PDF documents.
894 .BR \%@L_PFBTOPS@ (@MAN1EXT@)
895 Translate a PostScript font in .pfb format to \f[CR]ASCII\f[].
898 .BR \%@L_TFMTODIT@ (@MAN1EXT@)
899 Create font description files for TeX DVI device.
904 Normally, the path separator in the following environment variables is the
905 colon; this may vary depending on the operating system.
906 For example, DOS and Windows use a semicolon instead.
909 .EnvVar @U_ROFF@_BIN_PATH
910 This search path, followed by
912 is used for commands that are executed by
914 If it is not set then the directory where the
916 binaries were installed is prepended to
920 .EnvVar @U_ROFF@_COMMAND_PREFIX
921 When there is a need to run different
923 implementations at the same time
925 provides the facility to prepend a prefix to most of its programs that
926 could provoke name clashings at run time (default is to have none).
928 More exactly, if it is set to prefix
932 as a wrapper program internally calls
936 This also applies to the preprocessors
948 This feature does not apply to any programs different from the ones
954 .EnvVar @U_ROFF@_ENCODING
955 The value of this environment value is passed to the
957 preprocessor to select the encoding of input files, i.e.,
958 setting this option implies
962 If set to an empty value then the automatic character set guessing
963 heuristics are used, as documented for
964 .BR preconv (@MAN1EXT@).
967 command line option overrides the value of
968 .EnvVar @U_ROFF@_ENCODING .
971 .EnvVar @U_ROFF@_FONT_PATH
972 A list of directories in which to search for the
974 directory in addition to the default ones.
976 .BR @L_TROFF@ (@MAN1EXT@)
978 .BR \%@L_ROFF@-font (@MAN5EXT@)
982 .EnvVar @U_ROFF@_TMAC_PATH
983 A list of directories in which to search for macro files in addition to
984 the default directories.
986 .BR @L_TROFF@ (@MAN1EXT@)
988 .BR \%@L_ROFF@-tmac (@MAN5EXT@)
992 .EnvVar @U_ROFF@_TMPDIR
993 The directory in which temporary files are created.
994 If this is not set but the environment variable
996 instead, temporary files are created in the directory
998 On MS-DOS and Windows\~32 platforms, the environment variables
1002 (in that order) are searched also, after
1003 .EnvVar @U_ROFF@_TMPDIR
1006 Otherwise, temporary files are created in
1009 .BR \%@L_P_REFER@ (@MAN1EXT@),
1010 .BR \%@L_D_HTML@ (@MAN1EXT@),
1012 .BR \%@L_D_PS@ (@MAN1EXT@)
1013 commands use temporary files.
1016 .EnvVar @U_ROFF@_TYPESETTER
1017 Preset the default device.
1018 If this is not set the
1020 device is used as default.
1021 This device name is overwritten by the option
1027 There are some directories in which
1029 installs all of its data files.
1030 Due to different installation habits on different operating systems,
1031 their locations are not absolutely fixed, but their function is
1032 clearly defined and coincides on all systems.
1035 .SS "groff Macro Directory"
1037 This contains all information related to macro packages;
1038 in the @T_ROFF@ system installation this directory is
1040 Note that more than a single directory is searched for those files
1042 .BR \%@L_ROFF@-tmac (@MAN5EXT@)
1045 The following files contained in the
1047 have a special meaning:
1051 Initialization file for
1053 This is interpreted by
1055 before reading the macro sets and any input.
1059 Final startup file for
1061 It is parsed after all macro sets have been read.
1067 Macro file for macro package
1071 .SS "groff Font Directory"
1073 This contains all information related to output devices;
1074 in the @T_ROFF@ system installation this directory is
1076 Note that more than a single directory is searched for those files; see
1077 .BR @L_TROFF@ (@MAN1EXT@).
1080 The following files contained in the
1082 have a special meaning:
1086 Device description file for device
1089 .BR \%@L_ROFF@-font (@MAN5EXT@).
1102 On \f[CR]EBCDIC\f[] hosts (e.g., \f[CR]OS/390 Unix\f[]), output
1108 Similarly, output for \f[CR]EBCDIC\f[] code page
1110 is not available on \f[CR]ASCII\f[] based operating systems.
1120 Copyright (c) 2014 - 2017 Steffen (Daode) Nurpmeso <steffen@sdaoden.eu>.
1122 Copyright \(co 1989, 2002 - 2008
1123 Free Software Foundation, Inc.
1126 This document is distributed under the terms of the \f[CR]FDL\f[]
1127 (\f[CR]GNU Free Documentation License\f[]) version 1.1 or later.
1129 You should have received a copy of the \f[CR]FDL\f[] on your system,
1130 it is also available on-line at the
1131 .UR http://\:www.gnu.org/\:copyleft/\:fdl.html
1136 This document is based on the original
1143 It was rewritten, enhanced, and put under the FDL license by
1155 Introduction, history and further readings:
1156 .BR \%@L_ROFF@-history (@MAN7EXT@).
1159 Wrapper programs for formatters:
1160 .BR \%@L_ROFF@ (@MAN1EXT@).
1164 .BR \%@L_P_EQN@ (@MAN1EXT@),
1165 .BR \%@L_P_GRN@ (@MAN1EXT@),
1166 .BR \%@L_P_PIC@ (@MAN1EXT@),
1167 .BR \%@L_P_PRECONV@ (@MAN1EXT@),
1168 .BR \%@L_P_REFER@ (@MAN1EXT@),
1169 .BR \%@L_P_SOELIM@ (@MAN1EXT@),
1170 .BR \%@L_P_TBL@ (@MAN1EXT@),
1174 Roff language with the groff extensions:
1175 .BR \%@L_ROFF@ (@MAN7EXT@),
1176 .BR \%@L_ROFF@-char (@MAN7EXT@),
1177 .BR \%@L_ROFF@-diff (@MAN7EXT@),
1178 .BR \%@L_ROFF@-font (@MAN5EXT@).
1181 Roff formatter programs:
1182 .BR \%@L_NROFF@ (@MAN1EXT@),
1183 .BR \%@L_TROFF@ (@MAN1EXT@),
1184 .BR \%@L_DITROFF@ (@MAN7EXT@).
1187 The intermediate output language:
1188 .BR \%@L_ROFF@-out (@MAN7EXT@).
1191 Postprocessors for the output devices:
1192 .BR \%@L_D_DVI@ (@MAN1EXT@),
1193 .BR \%@L_D_HTML@ (@MAN1EXT@),
1194 .BR \%@L_D_PS@ (@MAN1EXT@),
1195 .BR \%@L_D_TTY@ (@MAN1EXT@).
1198 Groff macro packages and macro-specific utilities:
1199 .BR \%@L_ROFF@-tmac (@MAN5EXT@),
1200 .BR \%@L_ROFF@-man (@MAN7EXT@),
1201 .BR \%@L_ROFF@-mdoc (@MAN7EXT@),
1202 .BR \%@L_ROFF@-me (@MAN7EXT@),
1203 .BR \%@L_ROFF@-ms (@MAN7EXT@),
1204 .BR \%@L_ROFF@-www (@MAN7EXT@),
1205 .BR \%@L_ROFF@-trace (@MAN7EXT@),
1208 The following utilities are available:
1209 .BR \%@L_ADDFTINFO@ (@MAN1EXT@),
1210 .BR \%@L_AFMTODIT@ (@MAN1EXT@),
1211 .BR \%@L_INDXBIB@ (@MAN1EXT@),
1212 .BR \%@L_LKBIB@ (@MAN1EXT@),
1213 .BR \%@L_LOOKBIB@ (@MAN1EXT@),
1214 .BR \%@L_PDFROFF@ (@MAN1EXT@),
1215 .BR \%@L_PFBTOPS@ (@MAN1EXT@),
1216 .BR \%@L_TFMTODIT@ (@MAN1EXT@),