GROFF_FILENAMES(5)
π NAME π
groff_filenames β filename extensions for roff and groff. yes bestie, this is the groff_filenames(5) page, and itβs giving File Formats Manual energy π
.
β¨ DESCRIPTION β¨
okay so since roff evolved back in the 1970s, a whole bunch of filename extensions for roff files have been used. no cap.
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.
ποΈ COMPRESSION OF ROFF FILES ποΈ
Each roff file can be optionally compressed. That means 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>.
π 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. periodt.
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 groupxargs.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 aname.manman page by a run ofmakewithin 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 processors.
π°οΈ 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 provided 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>, where <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 withtbl<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>.tmacm<package>.tmacgroff_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 preprocessortbl. Seegroff_hdtbl(7).<name>.grapβ files written for the graphicalgrapprocessor.<name>.grnβ for includinggremlin(1), pictures, seegrn(1).<name>.pdfroffβ transform this file withpdfroffof the groff system
π AUTHORS π
This document was written by Bernd Warken. iconic π .
π SEE ALSO π
History and future β roff(7), man-pages(7), groff_diff(7), groff(7)
Compression β 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. You can get this package with the shell command:
$ git clone https://github.com/n-t-roff/heirloom-doctools
and thatβs the whole vibe. this page is from groff 1.22.4, dated 11 October 2021 β love u, bye bestie πβ¨
π¦ where this page comes from
- centos-stream 9: groff 1.22.4-10.el9 Β· GPLv3+ and GFDL and BSD and MIT
- Copyright (C) 2013-2018 Free Software Foundation, Inc
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms