# phpman > man > GROFF_FILENAMES(5)

[GROFF_FILENAMES(5)](https://www.chedong.com/phpMan.php/man/GROFFFILENAMES/5/markdown)                       File Formats Manual                      [GROFF_FILENAMES(5)](https://www.chedong.com/phpMan.php/man/GROFFFILENAMES/5/markdown)



## NAME
       groff_filenames - filename extensions for roff and groff

## DESCRIPTION
       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 exten‐
       sions.

## COMPRESSION OF ROFF FILES
       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>_**.**_<exten__‐
       _sion>_.

## MAN PAGES
       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: ***.**_<section>[<group>]_.

### Man page Sections
       The traditional _man_ _page_ _<section>_ is a digit from **1** to **8**.

       _<name>_**.1**
       _<name>_**.2**
       _<name>_**.3**
       _<name>_**.4**
       _<name>_**.5**
       _<name>_**.6**
       _<name>_**.7**
       _<name>_**.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.

       _<name>_**.l**
       _<name>_**.n**
       _<name>_**.o**
              _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.

       Examples:

### groff.1
              is the man page for **groff** in _section_ **1** without a _group_

### xargs.1posix.gz
              is the man page for the program **xargs** in _section_ **1** and _group_  **posix**;  moreover  it  is
              _compressed_ with **gz** (**gzip**).

### config.5ssl
              _OpenSSL_ _CONF_ library configuration files from _section_ **5** with _group_ **ssl**.

### dpkg-reconfigure.8cdebconf
              man page for the program **dpkg-reconfigure** in _section_ **8** and _group_ **cdebconf**.

### 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>_**.man**
              _traditional_ Unix-like man page format within groff source files.

       _<name>_**.**_n_
              A temporary man page file produced from a _name_**.man** man page by a run  of  **make**  within
              the **groff** source package.

       _<name>_**.mdoc**
              Man page format in BSD.

       _<name>_**.1b**
              Man page format in _heirloom_ _roff_ .

       _<name>_**.mandoc**
              Files  using this extension recognize both man page formats in **groff** and other proces‐
              sors.

## TRADITIONAL TROFF EXTENSIONS
### 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  pro‐
       vided a suitable file name _extension_:

       _<name>_**.me**
              _roff_ file using the **me** _macro_ _package_.

       _<name>_**.mm**
              _roff_ file using the **mm** _macro_ _package_

       _<name>_**.ms**
              _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:

       **tmac.**_<package>_,
              _<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.

### Preprocessors
       Moreover, the following _preprocessors_ were used as filename extension:

       _<name>_**.chem**
              for the integration of chemical formulas

       _<name>_**.eqn**
              for the mathematical use of equations

       _<name>_**.pic**
              graphical tool

       _<name>_**.tbl**
              for tables with _tbl_

       _<name>_**.ref**
              for files using the **prefer** _preprocessor_

### Classical Roff Files
       _<name>_**.t**
       _<name>_**.tr**
              for files using the _roff_ language of any kind

## NEW GROFF EXTENSIONS
       _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**:

       _<name>_**.groff**
       _<name>_**.roff**
              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:

       _<package_without_m>_**.tmac**
       **m**_<package>_**.tmac**
       **groff**___**m**_<package>_**.tmac**

### Files Using new Macro Packages
       _Groff_ uses the following new macro packages:

       _<name>_**.mmse**
              file with swedish **mm** _macros_ for **groff**

       _<name>_**.mom**
              files written in the _groff_ _macro_ _package_ **mom**

       _<name>_**.www**
              files written in **HTML**-like _groff_ _macros_.

### Preprocessors and Postprocessors
       _<name>_**.hdtbl**
              Heidelberger tables, an alternative to the preprocessor _tbl_.  See **groff**___**[hdtbl**(7)](https://www.chedong.com/phpMan.php/man/hdtbl/7/markdown).

       _<name>_**.grap**
              files written for the graphical **grap** processor.

       _<name>_**.grn**
              for including [**gremlin**(1)](https://www.chedong.com/phpMan.php/man/gremlin/1/markdown), pictures, see [**grn**(1)](https://www.chedong.com/phpMan.php/man/grn/1/markdown).

       _<name>_**.pdfroff**
              transform this file with **pdfroff** of the _groff_ system

## AUTHORS
       This document was written by Bernd Warken ⟨<groff-bernd.warken-72@web.de>⟩.

## SEE ALSO
       History and future
              [**roff**(7)](https://www.chedong.com/phpMan.php/man/roff/7/markdown), [**man-pages**(7)](https://www.chedong.com/phpMan.php/man/man-pages/7/markdown), **groff**___**[diff**(7)](https://www.chedong.com/phpMan.php/man/diff/7/markdown), [**groff**(7)](https://www.chedong.com/phpMan.php/man/groff/7/markdown)

       _Compression_
              [**uncompress**(1posix)](https://www.chedong.com/phpMan.php/man/uncompress/1posix/markdown), [**gzip2**(1)](https://www.chedong.com/phpMan.php/man/gzip2/1/markdown), [**bzip2**(1)](https://www.chedong.com/phpMan.php/man/bzip2/1/markdown), [**xz**(1)](https://www.chedong.com/phpMan.php/man/xz/1/markdown)

       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>**



groff 1.22.4                                23 March 2022                         [GROFF_FILENAMES(5)](https://www.chedong.com/phpMan.php/man/GROFFFILENAMES/5/markdown)
