GROFF_FILENAMES(5)             File Formats Manual            GROFF_FILENAMES(5)

       groff_filenames - filename extensions for roff and groff

       Since the evolution of roff in the 1970s, a whole bunch of filename
       extensions for roff files were used.

       The roff extensions refer to preprocessors or macro packages.  These
       extensions are fixed in all Unix-like operating systems.

       Later on, groff added some more extensions.  This man page is about these
       filename extensions.

       Each roff file can be optionally compressed.  That means that the total
       filename ends with a compressor name.  So the whole filename has the
       structure <name>.<extension>[.<compression>].

       Best-known are the compressor extensions .Z, .gz, and .bzip2.  Relatively
       new is .xz.

       From now on, we will ignore the compressions and only comment the
       structure <name>.<extension>.

       The Unix manual pages are widely called man pages.  The man page style is
       the best known part of the roff language.

       The extensions for man should be better documented.  So this is
       documented here.

       Files written in the man language use the following extension:

   Man page Sections
       The traditional man page <section> is a digit from 1 to 8.

              Classic man page sections.

       In older commercial Unix systems, the 3 characters l, n, and o were also
       used as section names.  This is today deprecated, but there are still
       documents in this format.

              Deprecated man page sections, which stood for “local”, “new”, and
              “old”, respectively.

   Man page Group Extensions
       The <group> extension in .<section>[<group>] is optional, but it can be
       any string of word characters.  Usually programmers use a group name that
       is already used, e.g. x for X Window System documents or tcl to refer to
       the Tcl programming language.


              is the man page for groff in section 1 without a group

              is the man page for the program xargs in section 1 and group
              posix; moreover it is compressed with gz (gzip).

              OpenSSL CONF library configuration files from section 5 with group

              man page for the program dpkg-reconfigure in section 8 and group

   Source of man pages
       There are 2 roff languages for writing man pages: man and mdoc.

       The names of these 2 styles are taken as extensions for the source code
       files of man pages in the groff package.

              traditional Unix-like man page format within groff source files.

              A temporary man page file produced from a man page by a
              run of make within the groff source package.

              Man page format in BSD.

              Man page format in heirloom roff .

              Files using this extension recognize both man page formats in
              groff and other processors.

   Files Using Macro Packages
       The classical roff languages were interpreted by the traditional troff
       and nroff programs.

       There were several roff languages, each represented by a macro-package.
       Each of these provided a suitable file name extension:

              roff file using the me macro package.

              roff file using the mm macro package

              roff file using the ms macro package

       All of these classical roff languages and their extensions are still very
       active in groff.

   Source Code for Macro Packages (TMAC Files)
       In traditional roff the source code for the macro packages was stored in
       TMAC files.  Their file names have the form:

              <package> is the name of the macro package without the leading m
              character, which is reintegrated by the option -m.

       For example, is the source for the man macro package.

       In the groff source, more suitable file names were integrated, see later

       Moreover, the following preprocessors were used as filename extension:

              for the integration of chemical formulas

              for the mathematical use of equations

              graphical tool

              for tables with tbl

              for files using the prefer preprocessor

   Classical Roff Files
              for files using the roff language of any kind

       GNU roff groff is the actual roff standard, both for classical roff and
       new extensions.  So even the used new extensions in the source code
       should be regarded as actual standard.  The following extensions are used
       instead of classical .t or .tr:

              general ending for files using the groff language

   Source Code for Macro Packages (TMAC Files)
       As the classical form tmac.<package_without_m>, of the TMAC file names is
       quite strange, groff added the following structures:


   Files Using new Macro Packages
       Groff uses the following new macro packages:

              file with swedish mm macros for groff

              files written in the groff macro package mom

              files written in HTML-like groff macros.

   Preprocessors and Postprocessors
              Heidelberger tables, an alternative to the preprocessor tbl.  See

              files written for the graphical grap processor.

              for including gremlin(1), pictures, see grn(1).

              transform this file with pdfroff of the groff system

       This document was written by Bernd Warken ⟨⟩.

       History and future
              roff(7), man-pages(7), groff_diff(7), groff(7)

              uncompress(1posix), gzip2(1), bzip2(1), xz(1)

       A man page of the naming form name(n) can be read in text mode by
              man n name
       or in graphical mode (PDF) by
              groffer n name

       Gunnar Ritter's Heirloom roff project
       heirloom-doctools⟩.  You can get this package with the shell command:
              $ git clone

groff 1.22.4                      21 June 2021                GROFF_FILENAMES(5)