1. NAME▲
. grog - guess options for groff command . .
2. SYNOPSIS ▲
. .SY grog .OP -C [ groff-option\~ . . .] .OP -- [ filespec\~ . . .] . .SY grog
-h |
--help . .SY grog
-v |
--version .YS . .
3. DESCRIPTION ▲
.
grog reads the input (file names or standard input) and guesses which of the
R groff (1) options are needed to perform the input with the
groff program. . The corresponding
groff command is output. . .
4. OPTIONS ▲
. The only
grog options recognized are
-C (which is also passed on) to enable compatibility mode;
-v and
--version print information on the version number; and
-h and
--help print usage information. .
R -v ,
R --version ,
R -h , and
--help stop the program directly without printing a
groff command to standard output. . .
All other specified short options (words starting with one minus character
R - ) are interpreted as
groff options or option clusters with or without argument. . No space is allowed between options and their argument. . Except from the -m arg options, all options will be passed on, i.e. they are included unchanged in the command for the output without effecting the work of
R grog . . .
A filespecargument can either be the name of an existing file or a single minus
- to mean standard input. . If no filespecis specified standard input is read automatically. . .
5. DETAILS ▲
.
grog reads all filespecparameters as a whole. . It tries to guess which of the following
groff options are required for running the input under
R groff :
R -e ,
R -man ,
R -me ,
R -mm ,
R -mom ,
R -ms ,
R -mdoc,
R -mdoc-old,
R -p ,
R -R ,
R -g ,
R -G ,
R -s , and
R -t . The guessed
groff command including those options and the found filespecparameters is put on the standard output. . .
It is possible to specify arbitrary
groff options on the command line. . These are passed on the output without change, except for the -m arg options. . .
The
groff program has trouble when the wrong -m arg option or several of these options are specified. . In these cases,
grog will print an error message and exit with an error code. . It is better to specify no -m arg option. . Because such an option is only accepted and passed when
grog does not find any of these options or the same option is found. . .
If several different -m arg options are found by
grog an error message is produced and the program is terminated with an error code. . But the output is written with the wrong options nevertheless. . .
Remember that it is not necessary to determine a macro package. . A rofffile can also be written in the grofflanguage without any macro package. .
grog will produce an output without an -m arg option. . .
As
groff also works with pure text files without any roffrequests,
grog cannot be used to identify a file to be a rofffile. . .
The
R groffer (1) program heavily depends on a working
R grog . . .
The
grog source contains two files written in different programming languages: . grog.pl is the Perlversion, while grog.sh is a shell script using BR awk (1). During the run of
R make (1), it is determined whether the system contains a suitable version of
R perl (1). If so, grog.pl is transformed into
R grog ; otherwise grog.sh is used instead. . .
6. EXAMPLES ▲
.
Calling .
grog meintro.me
.
results in .
groff -
me meintro.me
.
So
grog recognized that the file meintro.me is written with the
-me macro package. . .
On the other hand, .
grog pic.ms
.
outputs .
groff -
pte -
ms pic.ms
.
Besides determining the macro package
R -ms ,
grog recognized that the file pic.ms additionally needs
R -pte , the combination of
-p for pic ,
-t for tbl , and
-e for eqn . . .
If both files are combined by the command .
grog meintro.me pic.ms
.
an error message is sent to standard error because
groff cannot work with two different macro packages: .
grog: error: there are several macro packages: -me -ms .
Additionally the corresponding output with the wrong options is printed to standard output: .
groff -
pte -
me -
ms meintro.me pic.ms
.
But the program is terminated with an error code. . .
The call of .
grog -
ksS -
Tdvi grnexmpl.g
.
contains several
groff options that are just passed on the output without any interface to
R grog . These are the option cluster
-ksS consisting of
R -k ,
R -s , and
R -S ; and the option
-T with argument
R dvi . The output is .
groff -
ksS -
Tdvi grnexmpl.g
.
so no additional option was added by
R grog . As no option -m arg was found by
grog this file does not use a macro package. . .
grog can also handle files using the chemlanguage. . The example .
grog chAh_brackets.chem
.
outputs .
chem chAh_brackets.chem |
groff -
pe
.
So
chem is run first and
groff is appended. . The option
-p for
pic is implied automatically by
R chem . Additionally, the file uses eqnwith
R -e . . .
7. SEE ALSO ▲
.
R groff (1),
R troff (1),
R tbl (1),
R pic (1),
R eqn (1),
R refer (1),
R grn (1),
R grap (1),
R soelim (1),
R groff_me (7),
R groff_ms (7),
R groff_mm (7),
R groff_mom (7),
R groff_man (7),
R groffer (1) . .
8. COPYING ▲
. .co . . .