{
    "content": [
        {
            "type": "text",
            "text": "# groff_filenames (man)\n\n## NAME\n\ngrofffilenames - filename extensions for roff and groff\n\n## DESCRIPTION\n\nSince the evolution of roff in the 1970s, a whole bunch of filename extensions for roff files\nwere used.\n\n## Sections\n\n- **NAME**\n- **DESCRIPTION**\n- **COMPRESSION OF ROFF FILES**\n- **MAN PAGES** (7 subsections)\n- **TRADITIONAL TROFF EXTENSIONS** (4 subsections)\n- **NEW GROFF EXTENSIONS** (3 subsections)\n- **AUTHORS**\n- **SEE ALSO**\n\nUse structuredContent.sections for detailed options, examples, and full documentation.\n"
        }
    ],
    "structuredContent": {
        "command": "groff_filenames",
        "section": "",
        "mode": "man",
        "summary": "grofffilenames - filename extensions for roff and groff",
        "synopsis": null,
        "tldr_summary": null,
        "tldr_examples": [],
        "tldr_source": null,
        "flags": [],
        "examples": [],
        "see_also": [
            {
                "name": "roff",
                "section": "7",
                "url": "https://www.chedong.com/phpMan.php/man/roff/7/json"
            },
            {
                "name": "man-pages",
                "section": "7",
                "url": "https://www.chedong.com/phpMan.php/man/man-pages/7/json"
            },
            {
                "name": "groffdiff",
                "section": "7",
                "url": "https://www.chedong.com/phpMan.php/man/groffdiff/7/json"
            },
            {
                "name": "groff",
                "section": "7",
                "url": "https://www.chedong.com/phpMan.php/man/groff/7/json"
            },
            {
                "name": "uncompress",
                "section": "1posix",
                "url": "https://www.chedong.com/phpMan.php/man/uncompress/1posix/json"
            },
            {
                "name": "gzip2",
                "section": "1",
                "url": "https://www.chedong.com/phpMan.php/man/gzip2/1/json"
            },
            {
                "name": "bzip2",
                "section": "1",
                "url": "https://www.chedong.com/phpMan.php/man/bzip2/1/json"
            },
            {
                "name": "xz",
                "section": "1",
                "url": "https://www.chedong.com/phpMan.php/man/xz/1/json"
            },
            {
                "name": "name",
                "section": "n",
                "url": "https://www.chedong.com/phpMan.php/man/name/n/json"
            }
        ],
        "section_outline": [
            {
                "name": "NAME",
                "lines": 2,
                "subsections": []
            },
            {
                "name": "DESCRIPTION",
                "lines": 9,
                "subsections": []
            },
            {
                "name": "COMPRESSION OF ROFF FILES",
                "lines": 8,
                "subsections": []
            },
            {
                "name": "MAN PAGES",
                "lines": 7,
                "subsections": [
                    {
                        "name": "Man page Sections",
                        "lines": 20
                    },
                    {
                        "name": "Man page Group Extensions",
                        "lines": 6
                    },
                    {
                        "name": "groff.1",
                        "lines": 2
                    },
                    {
                        "name": "xargs.1posix.gz",
                        "lines": 3
                    },
                    {
                        "name": "config.5ssl",
                        "lines": 2
                    },
                    {
                        "name": "dpkg-reconfigure.8cdebconf",
                        "lines": 2
                    },
                    {
                        "name": "Source of man pages",
                        "lines": 22
                    }
                ]
            },
            {
                "name": "TRADITIONAL TROFF EXTENSIONS",
                "lines": 1,
                "subsections": [
                    {
                        "name": "Files Using Macro Packages",
                        "lines": 16
                    },
                    {
                        "name": "Source Code for Macro Packages (TMAC Files)",
                        "lines": 11
                    },
                    {
                        "name": "Preprocessors",
                        "lines": 17
                    },
                    {
                        "name": "Classical Roff Files",
                        "lines": 4
                    }
                ]
            },
            {
                "name": "NEW GROFF EXTENSIONS",
                "lines": 8,
                "subsections": [
                    {
                        "name": "Source Code for Macro Packages (TMAC Files)",
                        "lines": 7
                    },
                    {
                        "name": "Files Using new Macro Packages",
                        "lines": 11
                    },
                    {
                        "name": "Preprocessors and Postprocessors",
                        "lines": 12
                    }
                ]
            },
            {
                "name": "AUTHORS",
                "lines": 2,
                "subsections": []
            },
            {
                "name": "SEE ALSO",
                "lines": 18,
                "subsections": []
            }
        ],
        "sections": {
            "NAME": {
                "content": "grofffilenames - filename extensions for roff and groff\n",
                "subsections": []
            },
            "DESCRIPTION": {
                "content": "Since the evolution of roff in the 1970s, a whole bunch of filename extensions for roff files\nwere used.\n\nThe roff extensions refer to preprocessors or macro packages.  These extensions are fixed  in\nall Unix-like operating systems.\n\nLater  on,  groff  added  some more extensions.  This man page is about these filename exten‐\nsions.\n",
                "subsections": []
            },
            "COMPRESSION OF ROFF FILES": {
                "content": "Each roff file can be optionally compressed.  That means that the total filename ends with  a\ncompressor name.  So the whole filename has the structure <name>.<extension>[.<compression>].\n\nBest-known are the compressor extensions .Z, .gz, and .bzip2.  Relatively new is .xz.\n\nFrom  now  on,  we will ignore the compressions and only comment the structure <name>.<exten‐\nsion>.\n",
                "subsections": []
            },
            "MAN PAGES": {
                "content": "The Unix manual pages are widely called man pages.  The man page style is the best known part\nof the roff language.\n\nThe extensions for man should be better documented.  So this is documented here.\n\nFiles written in the man language use the following extension: *.<section>[<group>].\n",
                "subsections": [
                    {
                        "name": "Man page Sections",
                        "content": "The traditional man page <section> is a digit from 1 to 8.\n\n<name>.1\n<name>.2\n<name>.3\n<name>.4\n<name>.5\n<name>.6\n<name>.7\n<name>.8\nClassic man page sections.\n\nIn  older  commercial  Unix  systems,  the 3 characters l, n, and o were also used as section\nnames.  This is today deprecated, but there are still documents in this format.\n\n<name>.l\n<name>.n\n<name>.o\nDeprecated man page sections, which stood for “local”, “new”, and “old”, respectively.\n"
                    },
                    {
                        "name": "Man page Group Extensions",
                        "content": "The <group> extension in .<section>[<group>] is optional, but it can be any  string  of  word\ncharacters.   Usually  programmers use a group name that is already used, e.g. x for X Window\nSystem documents or tcl to refer to the Tcl programming language.\n\nExamples:\n"
                    },
                    {
                        "name": "groff.1",
                        "content": "is the man page for groff in section 1 without a group\n"
                    },
                    {
                        "name": "xargs.1posix.gz",
                        "content": "is the man page for the program xargs in section 1 and group  posix;  moreover  it  is\ncompressed with gz (gzip).\n"
                    },
                    {
                        "name": "config.5ssl",
                        "content": "OpenSSL CONF library configuration files from section 5 with group ssl.\n"
                    },
                    {
                        "name": "dpkg-reconfigure.8cdebconf",
                        "content": "man page for the program dpkg-reconfigure in section 8 and group cdebconf.\n"
                    },
                    {
                        "name": "Source of man pages",
                        "content": "There are 2 roff languages for writing man pages: man and mdoc.\n\nThe names of these 2 styles are taken as extensions for the source code files of man pages in\nthe groff package.\n\n<name>.man\ntraditional Unix-like man page format within groff source files.\n\n<name>.n\nA temporary man page file produced from a name.man man page by a run  of  make  within\nthe groff source package.\n\n<name>.mdoc\nMan page format in BSD.\n\n<name>.1b\nMan page format in heirloom roff .\n\n<name>.mandoc\nFiles  using this extension recognize both man page formats in groff and other proces‐\nsors.\n"
                    }
                ]
            },
            "TRADITIONAL TROFF EXTENSIONS": {
                "content": "",
                "subsections": [
                    {
                        "name": "Files Using Macro Packages",
                        "content": "The classical roff languages were interpreted by the traditional troff and nroff programs.\n\nThere were several roff languages, each represented by a macro-package.  Each of  these  pro‐\nvided a suitable file name extension:\n\n<name>.me\nroff file using the me macro package.\n\n<name>.mm\nroff file using the mm macro package\n\n<name>.ms\nroff file using the ms macro package\n\nAll of these classical roff languages and their extensions are still very active in groff.\n"
                    },
                    {
                        "name": "Source Code for Macro Packages (TMAC Files)",
                        "content": "In  traditional  roff the source code for the macro packages was stored in TMAC files.  Their\nfile names have the form:\n\ntmac.<package>,\n<package> is the name of the macro package without the leading m character,  which  is\nreintegrated by the option -m.\n\nFor example, tmac.an is the source for the man macro package.\n\nIn the groff source, more suitable file names were integrated, see later on.\n"
                    },
                    {
                        "name": "Preprocessors",
                        "content": "Moreover, the following preprocessors were used as filename extension:\n\n<name>.chem\nfor the integration of chemical formulas\n\n<name>.eqn\nfor the mathematical use of equations\n\n<name>.pic\ngraphical tool\n\n<name>.tbl\nfor tables with tbl\n\n<name>.ref\nfor files using the prefer preprocessor\n"
                    },
                    {
                        "name": "Classical Roff Files",
                        "content": "<name>.t\n<name>.tr\nfor files using the roff language of any kind\n"
                    }
                ]
            },
            "NEW GROFF EXTENSIONS": {
                "content": "GNU  roff  groff is the actual roff standard, both for classical roff and new extensions.  So\neven the used new extensions in the source code should be regarded as actual  standard.   The\nfollowing extensions are used instead of classical .t or .tr:\n\n<name>.groff\n<name>.roff\ngeneral ending for files using the groff language\n",
                "subsections": [
                    {
                        "name": "Source Code for Macro Packages (TMAC Files)",
                        "content": "As  the  classical  form  tmac.<packagewithoutm>,  of the TMAC file names is quite strange,\ngroff added the following structures:\n\n<packagewithoutm>.tmac\nm<package>.tmac\ngroffm<package>.tmac\n"
                    },
                    {
                        "name": "Files Using new Macro Packages",
                        "content": "Groff uses the following new macro packages:\n\n<name>.mmse\nfile with swedish mm macros for groff\n\n<name>.mom\nfiles written in the groff macro package mom\n\n<name>.www\nfiles written in HTML-like groff macros.\n"
                    },
                    {
                        "name": "Preprocessors and Postprocessors",
                        "content": "<name>.hdtbl\nHeidelberger tables, an alternative to the preprocessor tbl.  See groffhdtbl(7).\n\n<name>.grap\nfiles written for the graphical grap processor.\n\n<name>.grn\nfor including gremlin(1), pictures, see grn(1).\n\n<name>.pdfroff\ntransform this file with pdfroff of the groff system\n"
                    }
                ]
            },
            "AUTHORS": {
                "content": "This document was written by Bernd Warken ⟨groff-bernd.warken-72@web.de⟩.\n",
                "subsections": []
            },
            "SEE ALSO": {
                "content": "History and future\nroff(7), man-pages(7), groffdiff(7), groff(7)\n\nCompression\nuncompress(1posix), gzip2(1), bzip2(1), xz(1)\n\nA man page of the naming form name(n) can be read in text mode by\nman n name\nor in graphical mode (PDF) by\ngroffer n name\n\nGunnar Ritter's Heirloom roff project  ⟨https://github.com/n-t-roff/heirloom-doctools⟩.   You\ncan get this package with the shell command:\n$ git clone https://github.com/n-t-roff/heirloom-doctools\n\n\n\ngroff 1.22.4                                23 March 2022                         GROFFFILENAMES(5)",
                "subsections": []
            }
        }
    }
}