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.
Relatively new is .xz.
From now on, we will ignore the compressions and only comment the
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
Files written in the man language use the following extension:
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.
<name>.9Linux 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.
<name>.l<name>.n<name>.oDeprecated 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 section1 without a groupxargs.1posix.gz
is the man-page for the program xargs in section1 and groupposix; moreover it is compressed with gz (gzip).
config.5sslOpenSSL CONF library configuration files from section5 with
man-page for the program dpkg-reconfigure in section8 and
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.
<name>.mantraditional Unix-like man-page format within groff source
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:
<name>.meroff file using the me macro package.
<name>.mmroff file using the mm macro package<name>.msroff 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
Moreover, the following preprocessors were used as filename
for the integration of chemical formulas
for the mathematical use of equations
for tables with tbl<name>.ref
for files using the prefer preprocessorClassical Roff Files<name>.t<name>.tr
for files using the roff language of any kind
GNU roffgroff 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 languageSource 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:
<package_without_m>.tmacm<package>.tmacgroff_m<package>.tmacFiles Using new Macro PackagesGroff uses the following new macro packages:
file with swedish mm macros for groff<name>.mom
files written in the groff macro packagemom<name>.www
files written in HTML-like groff macros.
Preprocessors and Postprocessors<name>.hdtbl
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
This page is part of the groff (GNU troff) project. Information
about the project can be found at
⟨http://www.gnu.org/software/groff/⟩. If you have a bug report for
this manual page, see ⟨http://www.gnu.org/software/groff/⟩. This
page was obtained from the tarball groff-1.22.3.tar.gz fetched from
⟨ftp://ftp.gnu.org/gnu/groff/⟩ on 2017-03-13. If you discover any
rendering problems in this HTML version of the page, or you believe
there is a better or more up-to-date source for the page, or you have
corrections or improvements to the information in this COLOPHON
(which is not part of the original manual page), send a mail to
Groff Version 1.22.3 4 November 2014 GROFF_FILENAMES(7)