grohtml(1) General Commands Manual grohtml(1)
Name
grohtml, post-grohtml, pre-grohtml - groff output driver for HTML
Synopsis
pre-grohtml [-epV] [-a anti-aliasing-text-bits] [-D image-directory]
[-F font-directory] [-g anti-aliasing-graphic-bits] [-i
resolution] [-I image-stem] [-o image-vertical-offset] [-x
html-dialect] troff-command troff-argument ...
pre-grohtml --help
pre-grohtml -v
pre-grohtml --version
post-grohtml [-bCGhlnrVy] [-F font-directory] [-j output-stem] [-s
base-point-size] [-S heading-level] [-x html-dialect]
[file ...]
post-grohtml --help
post-grohtml -v
post-grohtml --version
Description
The GNU roff system's HTML support consists of a preprocessor,
pre-grohtml, and an output driver, post-grohtml; together, they
translate roff(7) documents to HTML. Because a preprocessor is
(uniquely) required for this output driver, users should invoke grohtml
via the groff(1) command with the -Thtml or -Txhtml options. (In this
installation, ps is the default output device.) Use groff's -P option
to pass any options shown above to grohtml. If no operands are given,
or if file is "-", grohtml reads the standard input stream. Output is
written to the standard output stream.
grohtml invokes groff twice. In the first pass, the preprocessor
pre-grohtml renders pictures, equations, and tables as images in
PostScript format using the ps output device. In the second pass, the
output driver post-grohtml translates the output of troff(1) to HTML.
grohtml writes output encoded in UTF-8 and has built-in HTML entities
for all non-composite Unicode characters. In spite of this, groff may
issue warnings about unknown special characters if they can't be found
during the first pass. Such warnings can be safely ignored unless the
special characters appear inside a table or equation.
Typefaces
grohtml supports the standard four styles: R (roman), I (italic), B
(bold), and BI (bold-italic). Fonts are grouped into families T and C
having members in each style.
TR Times roman
TI Times italic
TB Times bold
TBI Times bold-italic
CR Courier roman
CI Courier italic
CB Courier bold
CBI Courier bold-italic
A special font, S, is also provided to accommodate roff documents that
expect it to always be available.
Font description files
The font description files used with grohtml expose the same glyph
repertoire in their charset sections. See groff_font(5).
Dependencies
pre-grohtml generates an image whenever an eqn equation, tbl table, or
pic picture is encountered in the input. grohtml therefore may run
several commands as part of its operation. These include the Netpbm
tools pnmcrop, pnmcut, and pnmtopng; Ghostscript (gs); and the PSUtils
tool psselect.
Options
--help displays a usage message, while -v and --version show version
information; all exit afterward.
-a anti-aliasing-text-bits
Number of bits of antialiasing information to be used by text
when generating PNG images. The default is 4 but 0, 1, and 2
are also valid. Your system's version of gs must support the
-dTextAlphaBits option in order to exploit antialiasing. A
value of 0 stops grohtml from issuing antialiasing commands to
gs.
-b Initialize the background color to white.
-C Suppress output of "CreationDate:" HTML comment.
-D image-directory
Instruct grohtml to place all image files into directory
image-directory.
-e Direct eqn to produce MathML.
This option should not be manually specified; it is synthesized
by groff depending on whether it was given the -Thtml or -Txhtml
option.
-F font-directory
Prepend directory font-directory/devname to the search path for
font and device description files; name is the name of the
device, usually html.
-g anti-aliasing-graphic-bits
Number of bits of antialiasing information to be used by
graphics when generating PNG images. The default is 4 but 0, 1,
and 2 are also valid. Your system's version of gs must support
the -dGraphicAlphaBits option in order to exploit antialiasing.
A value of 0 stops grohtml from issuing antialiasing commands to
gs.
-G Suppress output of "Creator:" HTML comment.
-h Generate section headings by using HTML B elements and
increasing the font size, rather than HTML H elements.
-i resolution
Set the image resolution in pixels per inch; the default is 100.
-I image-stem
Determine the image file name stem. If omitted, grohtml uses
grohtml-XXXXX (where XXXXX is the process ID). A dash is
appended to the stem to separate it from the following image
number.
-j output-stem
Instruct grohtml to split the HTML output into multiple files.
Output is written to a new file at each section heading (but see
option -S below) named output-stem-n.html.
-l Turn off the production of automatic section links at the top of
the document.
-n Generate simple heading anchors whenever a section/number
heading is found. Without the option the anchor value is the
textual heading. This can cause problems when a heading
contains a "?" on older versions of some browsers. This feature
is automatically enabled if a heading contains an image.
-o image-vertical-offset
Specify the vertical offset of images in points.
-p Display page rendering progress to the standard error stream.
grohtml displays a page number only when an image is required.
-r Turn off the automatic header and footer line (HTML rule).
-s base-type-size
Set the document's base type size in points. When this size is
used in the source, it corresponds to the HTML base type size.
Every increase of two points in the source will produce a "big"
element, and conversely when a decrease of two points is seen, a
"small" element is emitted.
-S heading-level
When splitting HTML output (see option -j above), split at each
nested heading level defined by heading-level, or higher). The
default is 1.
-V Create an XHTML or HTML validator button at the bottom of each
page of the document.
-x html-dialect
Select HTML dialect. Currently, html-dialect should be either
the digit 4 or the letter x, which indicates whether grohtml
should generate HTML 4 or XHTML, respectively.
This option should not be manually specified; it is synthesized
by groff depending on whether it was given the -Thtml or -Txhtml
option.
-y Produce a right-aligned groff signature at the end of the
document (only if -V is also specified).
Environment
GROFF_FONT_PATH
lists directories in which to search for devhtml, grohtml's
directory of device and font description files. See troff(1)
and groff_font(5).
SOURCE_DATE_EPOCH
A timestamp (expressed as seconds since the Unix epoch) to use
as the output creation timestamp in place of the current time.
The time is converted to human-readable form using ctime(3) and
recorded in an HTML comment.
TZ The time zone to use when converting the current time (or value
of SOURCE_DATE_EPOCH) to human-readable form; see tzset(3).
Files
/usr/share/groff/1.23.0/font/devhtml/DESC
describes the html output device.
/usr/share/groff/1.23.0/font/devhtml/F
describes the font known as F on device html.
/usr/share/groff/1.23.0/tmac/html.tmac
defines font mappings, special characters, and colors for use
with the html output device. It is automatically loaded by
troffrc when either of the html or xhtml output devices is
selected.
/usr/share/groff/1.23.0/tmac/html-end.tmac
finalizes setup of the html output device. It is automatically
loaded by troffrc-end when either of the html or xhtml output
devices is selected.
grohtml uses temporary files. See groff(1) for details about where
such files are created.
Bugs
grohtml is still beta code.
grohtml does not truly support hyphenation, but you can fool it into
hyphenating long input lines, which can appear in HTML output with a
hyphenated word followed by a space but no line break.
See also
groff(1), troff(1), groff_font(5)
groff 1.23.0 13 September 2023 grohtml(1)