Go to main content

man pages section 7: Standards, Environments, Macros, Character Sets, and Miscellany

Exit Print View

Updated: Wednesday, February 9, 2022

groff_filenames (7)


groff_filenames - filename extensions for roff and groff


Please see following description for synopsis


Miscellaneous Information Manual                            GROFF_FILENAMES(7)

       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.   We will now write a
       man-page 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>].

       Mostly known are the compressor extensions .Z, .gz, and .bzip2.   Rela-
       tively new is .xz.

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

       The Unix manual pages are shortly named 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 docu-
       mented here.

       Files written in the man language use the following extension:  *.<sec-

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

              Classic man-page sections.

       Linux added the section number 9 for kernel man-pages.

              Linux kernel man-pages

       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 old man-page sections.

   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 tk to
       refer to the tk 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 ssl.

              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 name.man 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, tmac.an is the source for the man macro package.

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

       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
              a new tbl format.  See groff_hdtbl(7).

              files written for the graphical grap processor.

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

              transform this file with pdfroff of the groff system

       See attributes(7) for descriptions of the following attributes:

       |Availability   | text/groff       |
       |Stability      | Uncommitted      |

       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  <https://github.com/n-t-roff/
       heirloom-doctools>.  You can get this package with the shell command:
              $ git clone https://github.com/n-t-roff/heirloom-doctools

       Copyright (C) 2013-2014 Free Software Foundation, Inc.

       This  file  is  part of groff, a free software project.  You can redis-
       tribute it and/or modify it under the terms of the GNU  General  Public
       License  version  2 (GPL2) as published by the Free Software Foundation

       The   license   text   can   be    found    in    the    internet    at

       This file was written by Bernd Warken <groff-bernd.warken-72@web.de>.

       Source  code  for open source software components in Oracle Solaris can
       be found at https://www.oracle.com/downloads/opensource/solaris-source-

       This     software     was    built    from    source    available    at
       https://github.com/oracle/solaris-userland.   The  original   community
       source                was                downloaded                from

       Further information about this software can be found on the open source
       community website at https://www.gnu.org/software/groff.

Groff Version 1.22.3            4 November 2014             GROFF_FILENAMES(7)