{
    "mode": "man",
    "parameter": "pre-grohtml",
    "section": "1",
    "url": "https://www.chedong.com/phpMan.php/man/pre-grohtml/1/json",
    "generated": "2026-06-10T16:22:21Z",
    "synopsis": "grohtml [-bhlnprVy] [-a aa-text-bits] [-D dir] [-F dir] [-g aa-graphic-bits] [-i resolution]\n[-I image-stem] [-j filename] [-o image-vertical-offset] [-s size] [-S level]\n[-x html-dialect] [file ...]",
    "sections": {
        "NAME": {
            "content": "grohtml - HTML driver for groff\n",
            "subsections": []
        },
        "SYNOPSIS": {
            "content": "grohtml [-bhlnprVy] [-a aa-text-bits] [-D dir] [-F dir] [-g aa-graphic-bits] [-i resolution]\n[-I image-stem] [-j filename] [-o image-vertical-offset] [-s size] [-S level]\n[-x html-dialect] [file ...]\n",
            "subsections": [
                {
                    "name": "grohtml --help",
                    "content": ""
                },
                {
                    "name": "grohtml -v",
                    "content": ""
                },
                {
                    "name": "grohtml --version",
                    "content": ""
                }
            ]
        },
        "DESCRIPTION": {
            "content": "The  grohtml  front  end (which consists of a preprocessor, pre-grohtml, and a device driver,\npost-grohtml) translates the output of GNU troff to HTML.  Users should always invoke grohtml\nvia  the  groff  command  with a -Thtml option.  If no files are given, grohtml will read the\nstandard input.  A filename of - will also cause grohtml to read the  standard  input.   Html\noutput is written to the standard output.  When grohtml is run by groff options can be passed\nto grohtml using groff's -P option.\n\ngrohtml invokes groff twice.  In the first pass, pictures, equations, and tables are rendered\nusing the ps device, and in the second pass HTML output is generated by the html device.\n\ngrohtml  always writes output in UTF-8 encoding and has built-in entities for all non-compos‐\nite unicode characters.  In spite of this, groff may issue  warnings  about  unknown  special\ncharacters if they can't be found during the first pass.  Such warnings can be safely ignored\nunless the special characters appear inside a table or equation.\n",
            "subsections": []
        },
        "OPTIONS": {
            "content": "",
            "subsections": [
                {
                    "name": "-a",
                    "content": "Number of bits of antialiasing information to be used by text when generating PNG  im‐\nages.   The default is 4 but valid values are 0, 1, 2, and 4.  Note your version of gs\nneeds to support the -dTextAlphaBits and -dGraphicAlphaBits options in  order  to  ex‐\nploit  antialiasing.  A value of 0 stops grohtml from issuing antialiasing commands to\ngs.\n",
                    "flag": "-a"
                },
                {
                    "name": "-b",
                    "content": "",
                    "flag": "-b"
                },
                {
                    "name": "-D",
                    "content": "",
                    "flag": "-D"
                },
                {
                    "name": "-e",
                    "content": "utilized by groff when -Thtml or -Txhtml is specified.  It is used by the grohtml pre‐\nprocessor to determine whether eqn should attempt to produce  MathML  (if  -Txhtml  is\nspecified).\n",
                    "flag": "-e"
                },
                {
                    "name": "-F",
                    "content": "files; name is the name of the device, usually html.\n",
                    "flag": "-F"
                },
                {
                    "name": "-g",
                    "content": "Number of bits of antialiasing information to be used by graphics when generating  PNG\nimages.   The  default is 4 but valid values are 0, 1, 2, and 4.  Note your version of\ngs needs to support the -dTextAlphaBits and -dGraphicAlphaBits options in order to ex‐\nploit  antialiasing.  A value of 0 stops grohtml from issuing antialiasing commands to\ngs.\n",
                    "flag": "-g"
                },
                {
                    "name": "-h",
                    "content": "rather than using the <Hn>...</Hn> tags.\n",
                    "flag": "-h"
                },
                {
                    "name": "-i",
                    "content": "Select  the resolution for all images.  By default this is 100 pixels per inch.  Exam‐\nple: -i200 indicates 200 pixels per inch.\n",
                    "flag": "-i"
                },
                {
                    "name": "-I",
                    "content": "process ID).\n",
                    "flag": "-I"
                },
                {
                    "name": "-j",
                    "content": "Inform grohtml to split the HTML output into multiple files.  The filename is the stem\nand specified section headings (default is level one) start a new  file,  named  file‐\nname-n.html.\n",
                    "flag": "-j"
                },
                {
                    "name": "-l",
                    "content": "",
                    "flag": "-l"
                },
                {
                    "name": "-n",
                    "content": "the option the anchor value is the textual heading.  This can cause  problems  when  a\nheading  contains  a ‘?’a on older versions of some browsers (Netscape).  This flag is\nautomatically turned on if a heading contains an image.\n",
                    "flag": "-n"
                },
                {
                    "name": "-o",
                    "content": "Specify the vertical offset of images in points.\n",
                    "flag": "-o"
                },
                {
                    "name": "-p",
                    "content": "an image is required.\n",
                    "flag": "-p"
                },
                {
                    "name": "-r",
                    "content": "",
                    "flag": "-r"
                },
                {
                    "name": "-s size",
                    "content": "Set  the  base point size of the source file.  Thereafter when this point size is used\nin the source it will correspond to the HTML base size.  Every increase of two  points\nin  the source will yield a <big> tag, and conversely when a decrease of two points is\nseen a <small> tag is emitted.\n",
                    "flag": "-s"
                },
                {
                    "name": "-S",
                    "content": "When splitting HTML output, split at the heading level (or higher) defined by level.\n",
                    "flag": "-S"
                },
                {
                    "name": "-v",
                    "content": "",
                    "flag": "-v"
                },
                {
                    "name": "-V",
                    "content": "",
                    "flag": "-V"
                },
                {
                    "name": "-x",
                    "content": "Select HTML dialect.  Currently, dialect should be either the digit 4 or the letter  x\nwhich  indicates  whether grohtml should generate HTML 4 or XHTML, respectively.  This\noption should not be directly invoked by the user as it is an internal option utilized\nby groff when -Thtml or -Txhtml is specified.\n",
                    "flag": "-x"
                },
                {
                    "name": "-y",
                    "content": "generated if the -V flag is also specified.\n",
                    "flag": "-y"
                }
            ]
        },
        "USAGE": {
            "content": "There are styles called R, I, B, and BI mounted at font positions 1 to 4.\n",
            "subsections": []
        },
        "DEPENDENCIES": {
            "content": "grohtml is dependent upon the PNG utilities (pnmcut, pnmcrop, pnmtopng) and GhostScript (gs).\npnmtopng  (version  2.37.6  or  greater)  and pnmcut from the netpbm package (version 9.16 or\ngreater) will work also.  It is also dependent upon psselect from the PSUtils  package.   Im‐\nages are generated whenever a table, picture, equation or line is encountered.\n",
            "subsections": []
        },
        "FILES": {
            "content": "grohtml  uses  temporary  files.   See the groff(1) man page for details where such files are\ncreated.\n",
            "subsections": []
        },
        "ENVIRONMENT": {
            "content": "GROFFFONTPATH\nA list of directories in which to search for the devname directory in addition to  the\ndefault ones.  See troff(1) and grofffont(5) for more details.\n\nSOURCEDATEEPOCH\nA  timestamp  (expressed as seconds since the Unix epoch) to use as the creation time‐\nstamp in place of the current time.\n",
            "subsections": []
        },
        "BUGS": {
            "content": "Grohtml has been completely redesigned and rewritten.  It is still beta code.\n",
            "subsections": []
        },
        "SEE ALSO": {
            "content": "afmtodit(1), groff(1), troff(1), psbb(1), groffout(5), grofffont(5), groffchar(7)\n\n\n\ngroff 1.22.4                                23 March 2022                                 GROHTML(1)",
            "subsections": []
        }
    },
    "summary": "grohtml - HTML driver for groff",
    "flags": [
        {
            "flag": "-a",
            "long": null,
            "arg": null,
            "description": "Number of bits of antialiasing information to be used by text when generating PNG im‐ ages. The default is 4 but valid values are 0, 1, 2, and 4. Note your version of gs needs to support the -dTextAlphaBits and -dGraphicAlphaBits options in order to ex‐ ploit antialiasing. A value of 0 stops grohtml from issuing antialiasing commands to gs."
        },
        {
            "flag": "-b",
            "long": null,
            "arg": null,
            "description": ""
        },
        {
            "flag": "-D",
            "long": null,
            "arg": null,
            "description": ""
        },
        {
            "flag": "-e",
            "long": null,
            "arg": null,
            "description": "utilized by groff when -Thtml or -Txhtml is specified. It is used by the grohtml pre‐ processor to determine whether eqn should attempt to produce MathML (if -Txhtml is specified)."
        },
        {
            "flag": "-F",
            "long": null,
            "arg": null,
            "description": "files; name is the name of the device, usually html."
        },
        {
            "flag": "-g",
            "long": null,
            "arg": null,
            "description": "Number of bits of antialiasing information to be used by graphics when generating PNG images. The default is 4 but valid values are 0, 1, 2, and 4. Note your version of gs needs to support the -dTextAlphaBits and -dGraphicAlphaBits options in order to ex‐ ploit antialiasing. A value of 0 stops grohtml from issuing antialiasing commands to gs."
        },
        {
            "flag": "-h",
            "long": null,
            "arg": null,
            "description": "rather than using the <Hn>...</Hn> tags."
        },
        {
            "flag": "-i",
            "long": null,
            "arg": null,
            "description": "Select the resolution for all images. By default this is 100 pixels per inch. Exam‐ ple: -i200 indicates 200 pixels per inch."
        },
        {
            "flag": "-I",
            "long": null,
            "arg": null,
            "description": "process ID)."
        },
        {
            "flag": "-j",
            "long": null,
            "arg": null,
            "description": "Inform grohtml to split the HTML output into multiple files. The filename is the stem and specified section headings (default is level one) start a new file, named file‐ name-n.html."
        },
        {
            "flag": "-l",
            "long": null,
            "arg": null,
            "description": ""
        },
        {
            "flag": "-n",
            "long": null,
            "arg": null,
            "description": "the option the anchor value is the textual heading. This can cause problems when a heading contains a ‘?’a on older versions of some browsers (Netscape). This flag is automatically turned on if a heading contains an image."
        },
        {
            "flag": "-o",
            "long": null,
            "arg": null,
            "description": "Specify the vertical offset of images in points."
        },
        {
            "flag": "-p",
            "long": null,
            "arg": null,
            "description": "an image is required."
        },
        {
            "flag": "-r",
            "long": null,
            "arg": null,
            "description": ""
        },
        {
            "flag": "-s",
            "long": null,
            "arg": null,
            "description": "Set the base point size of the source file. Thereafter when this point size is used in the source it will correspond to the HTML base size. Every increase of two points in the source will yield a <big> tag, and conversely when a decrease of two points is seen a <small> tag is emitted."
        },
        {
            "flag": "-S",
            "long": null,
            "arg": null,
            "description": "When splitting HTML output, split at the heading level (or higher) defined by level."
        },
        {
            "flag": "-v",
            "long": null,
            "arg": null,
            "description": ""
        },
        {
            "flag": "-V",
            "long": null,
            "arg": null,
            "description": ""
        },
        {
            "flag": "-x",
            "long": null,
            "arg": null,
            "description": "Select HTML dialect. Currently, 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 directly invoked by the user as it is an internal option utilized by groff when -Thtml or -Txhtml is specified."
        },
        {
            "flag": "-y",
            "long": null,
            "arg": null,
            "description": "generated if the -V flag is also specified."
        }
    ],
    "examples": [],
    "see_also": [
        {
            "name": "afmtodit",
            "section": "1",
            "url": "https://www.chedong.com/phpMan.php/man/afmtodit/1/json"
        },
        {
            "name": "groff",
            "section": "1",
            "url": "https://www.chedong.com/phpMan.php/man/groff/1/json"
        },
        {
            "name": "troff",
            "section": "1",
            "url": "https://www.chedong.com/phpMan.php/man/troff/1/json"
        },
        {
            "name": "psbb",
            "section": "1",
            "url": "https://www.chedong.com/phpMan.php/man/psbb/1/json"
        },
        {
            "name": "groffout",
            "section": "5",
            "url": "https://www.chedong.com/phpMan.php/man/groffout/5/json"
        },
        {
            "name": "grofffont",
            "section": "5",
            "url": "https://www.chedong.com/phpMan.php/man/grofffont/5/json"
        },
        {
            "name": "groffchar",
            "section": "7",
            "url": "https://www.chedong.com/phpMan.php/man/groffchar/7/json"
        }
    ]
}