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
       /opt/homebrew/Cellar/groff/1.23.0_1/share/groff/1.23.0/font/devhtml/DESC
              describes the html output device.

       /opt/homebrew/Cellar/groff/1.23.0_1/share/groff/1.23.0/font/devhtml/F
              describes the font known as F on device html.

       /opt/homebrew/Cellar/groff/1.23.0_1/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.

       /opt/homebrew/Cellar/groff/1.23.0_1/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                      5 July 2023                       grohtml(1)