{"id":4590,"date":"2022-12-20T18:09:11","date_gmt":"2022-12-20T21:09:11","guid":{"rendered":"http:\/\/lode.uno\/linux-man\/index.php\/2022\/12\/20\/groff_filenames-man5\/"},"modified":"2022-12-20T18:09:11","modified_gmt":"2022-12-20T21:09:11","slug":"groff_filenames-man5","status":"publish","type":"post","link":"https:\/\/lode.uno\/linux-man\/2022\/12\/20\/groff_filenames-man5\/","title":{"rendered":"GROFF_FILENAMES (man5)"},"content":{"rendered":"<h1 align=\"center\">GROFF_FILENAMES<\/h1>\n<p> <a href=\"#NAME\">NAME<\/a><br \/> <a href=\"#DESCRIPTION\">DESCRIPTION<\/a><br \/> <a href=\"#COMPRESSION OF ROFF FILES\">COMPRESSION OF ROFF FILES<\/a><br \/> <a href=\"#MAN PAGES\">MAN PAGES<\/a><br \/> <a href=\"#TRADITIONAL TROFF EXTENSIONS\">TRADITIONAL TROFF EXTENSIONS<\/a><br \/> <a href=\"#NEW GROFF EXTENSIONS\">NEW GROFF EXTENSIONS<\/a><br \/> <a href=\"#AUTHORS\">AUTHORS<\/a><br \/> <a href=\"#SEE ALSO\">SEE ALSO<\/a> <\/p>\n<hr>\n<h2>NAME <a name=\"NAME\"><\/a> <\/h2>\n<p style=\"margin-left:11%; margin-top: 1em\">groff_filenames \u2212 filename extensions for roff and groff<\/p>\n<h2>DESCRIPTION <a name=\"DESCRIPTION\"><\/a> <\/h2>\n<p style=\"margin-left:11%; margin-top: 1em\">Since the evolution of <i>roff<\/i> in the 1970s, a whole bunch of filename extensions for <i>roff<\/i> files were used.<\/p>\n<p style=\"margin-left:11%; margin-top: 1em\">The <i>roff<\/i> extensions refer to preprocessors or macro packages. These extensions are fixed in all <i>Unix<\/i>\u2212like operating systems.<\/p>\n<p style=\"margin-left:11%; margin-top: 1em\">Later on, <b>groff<\/b> added some more extensions. This <i>man page<\/i> is about these filename extensions.<\/p>\n<h2>COMPRESSION OF ROFF FILES <a name=\"COMPRESSION OF ROFF FILES\"><\/a> <\/h2>\n<p style=\"margin-left:11%; margin-top: 1em\">Each <i>roff<\/i> file can be optionally <i>compressed<\/i>. That means that the <i>total filename<\/i> ends with a <i>compressor name<\/i>. So the whole filename has the structure <i><name><\/i>.<i><extension>[<\/i>.<i><compression>]<\/i>.<\/p>\n<p style=\"margin-left:11%; margin-top: 1em\">Best-known are the <i>compressor extensions<\/i> <b>.Z<\/b>, <b>.gz<\/b>, and <b>.bzip2<\/b>. Relatively new is <b>.xz<\/b>.<\/p>\n<p style=\"margin-left:11%; margin-top: 1em\">From now on, we will ignore the <i>compressions<\/i> and only comment the structure <i><name><\/i><b>.<\/b><i><extension><\/i>.<\/p>\n<h2>MAN PAGES <a name=\"MAN PAGES\"><\/a> <\/h2>\n<p style=\"margin-left:11%; margin-top: 1em\">The <i>Unix manual pages<\/i> are widely called <i>man pages<\/i>. The <i>man page<\/i> style is the best known part of the <i>roff<\/i> language.<\/p>\n<p style=\"margin-left:11%; margin-top: 1em\">The extensions for <i>man<\/i> should be better documented. So this is documented here.<\/p>\n<p style=\"margin-left:11%; margin-top: 1em\">Files written in the <i>man<\/i> language use the following extension: <b>*.<\/b><i><\/p>\n<section>[<group>]<\/i>.<\/p>\n<p style=\"margin-left:11%; margin-top: 1em\"><b>Man page Sections<\/b> <br \/> The traditional <i>man page <\/p>\n<section><\/i> is a digit from <b>1<\/b> to <b>8<\/b>. <i><br \/> <name><\/i><b>.1<\/b> <i><br \/> <name><\/i><b>.2<\/b> <i><br \/> <name><\/i><b>.3<\/b> <i><br \/> <name><\/i><b>.4<\/b> <i><br \/> <name><\/i><b>.5<\/b> <i><br \/> <name><\/i><b>.6<\/b> <i><br \/> <name><\/i><b>.7<\/b> <i><br \/> <name><\/i><b>.8<\/b><\/p>\n<p style=\"margin-left:22%;\">Classic man page <i>sections<\/i>.<\/p>\n<p style=\"margin-left:11%; margin-top: 1em\">In older commercial <i>Unix<\/i> systems, the 3 characters <b>l<\/b>, <b>n<\/b>, and <b>o<\/b> were also used as <i>section<\/i> names. This is today <i>deprecated<\/i>, but there are still documents in this format. <i><br \/> <name><\/i><b>.l<\/b> <i><br \/> <name><\/i><b>.n<\/b> <i><br \/> <name><\/i><b>.o<\/b><\/p>\n<p style=\"margin-left:22%;\"><i>Deprecated<\/i> man page sections, which stood for \u201clocal\u201d, \u201cnew\u201d, and \u201cold\u201d, respectively.<\/p>\n<p style=\"margin-left:11%; margin-top: 1em\"><b>Man page Group Extensions<\/b> <br \/> The <i><group><\/i> extension in <b>.<\/b><i><\/p>\n<section>[<group>]<\/i> is optional, but it can be any string of word characters. Usually programmers use a group name that is already used, e.g. <b>x<\/b> for X Window System documents or <b>tcl<\/b> to refer to the <i>Tcl<\/i> programming language.<\/p>\n<p style=\"margin-left:11%; margin-top: 1em\">Examples: <b><br \/> groff.1<\/b><\/p>\n<p style=\"margin-left:22%;\">is the man page for <b>groff<\/b> in <i>section<\/i> <b>1<\/b> without a <i>group<\/i><\/p>\n<p style=\"margin-left:11%;\"><b>xargs.1posix.gz<\/b><\/p>\n<p style=\"margin-left:22%;\">is the man page for the program <b>xargs<\/b> in <i>section<\/i> <b>1<\/b> and <i>group<\/i> <b>posix<\/b>; moreover it is <i>compressed<\/i> with <b>gz<\/b> (<b>gzip<\/b>).<\/p>\n<p style=\"margin-left:11%;\"><b>config.5ssl<\/b><\/p>\n<p style=\"margin-left:22%;\"><i>OpenSSL CONF<\/i> library configuration files from <i>section<\/i> <b>5<\/b> with <i>group<\/i> <b>ssl<\/b>.<\/p>\n<p style=\"margin-left:11%;\"><b>dpkg\u2212reconfigure.8cdebconf<\/b><\/p>\n<p style=\"margin-left:22%;\">man page for the program <b>dpkg\u2212reconfigure<\/b> in <i>section<\/i> <b>8<\/b> and <i>group<\/i> <b>cdebconf<\/b>.<\/p>\n<p style=\"margin-left:11%; margin-top: 1em\"><b>Source of man pages<\/b> <br \/> There are 2 <i>roff<\/i> languages for writing man pages: <b>man<\/b> and <b>mdoc<\/b>.<\/p>\n<p style=\"margin-left:11%; margin-top: 1em\">The names of these 2 styles are taken as <i>extensions<\/i> for the source code files of man pages in the <i>groff<\/i> package. <i><br \/> <name><\/i><b>.man<\/b><\/p>\n<p style=\"margin-left:22%;\"><i>traditional<\/i> Unix-like man page format within groff source files.<\/p>\n<p style=\"margin-left:11%;\"><i><name><\/i><b>.<\/b><i>n<\/i><\/p>\n<p style=\"margin-left:22%;\">A temporary man page file produced from a <i>name<\/i><b>.man<\/b> man page by a run of <b>make<\/b> within the <b>groff<\/b> source package.<\/p>\n<p style=\"margin-left:11%;\"><i><name><\/i><b>.mdoc<\/b><\/p>\n<p style=\"margin-left:22%;\">Man page format in BSD.<\/p>\n<p style=\"margin-left:11%;\"><i><name><\/i><b>.1b<\/b><\/p>\n<p style=\"margin-left:22%;\">Man page format in <i>heirloom roff<\/i> .<\/p>\n<p style=\"margin-left:11%;\"><i><name><\/i><b>.mandoc<\/b><\/p>\n<p style=\"margin-left:22%;\">Files using this extension recognize both man page formats in <b>groff<\/b> and other processors.<\/p>\n<h2>TRADITIONAL TROFF EXTENSIONS <a name=\"TRADITIONAL TROFF EXTENSIONS\"><\/a> <\/h2>\n<p style=\"margin-left:11%; margin-top: 1em\"><b>Files Using Macro Packages<\/b> <br \/> The <i>classical roff<\/i> languages were interpreted by the traditional <b>troff<\/b> and <b>nroff<\/b> programs.<\/p>\n<p style=\"margin-left:11%; margin-top: 1em\">There were several <i>roff<\/i> languages, each represented by a <i>macro-package<\/i>. Each of these provided a suitable file name <i>extension<\/i>: <i><br \/> <name><\/i><b>.me<\/b><\/p>\n<p style=\"margin-left:22%;\"><i>roff<\/i> file using the <b>me<\/b> <i>macro package<\/i>.<\/p>\n<p style=\"margin-left:11%;\"><i><name><\/i><b>.mm<\/b><\/p>\n<p style=\"margin-left:22%;\"><i>roff<\/i> file using the <b>mm<\/b> <i>macro package<\/i><\/p>\n<p style=\"margin-left:11%;\"><i><name><\/i><b>.ms<\/b><\/p>\n<p style=\"margin-left:22%;\"><i>roff<\/i> file using the <b>ms<\/b> <i>macro package<\/i><\/p>\n<p style=\"margin-left:11%; margin-top: 1em\">All of these classical <i>roff<\/i> languages and their extensions are still very active in <b>groff<\/b>.<\/p>\n<p style=\"margin-left:11%; margin-top: 1em\"><b>Source Code for Macro Packages (TMAC Files)<\/b> <br \/> In traditional <i>roff<\/i> the source code for the macro packages was stored in <i>TMAC<\/i> files. Their file names have the form: <b><br \/> tmac.<\/b><i><package><\/i>,<\/p>\n<p style=\"margin-left:22%;\"><i><package><\/i> is the name of the macro package without the leading <b>m<\/b> character, which is reintegrated by the option <b>-m<\/b>.<\/p>\n<p style=\"margin-left:11%; margin-top: 1em\">For example, <b>tmac.an<\/b> is the source for the <b>man<\/b> macro package.<\/p>\n<p style=\"margin-left:11%; margin-top: 1em\">In the <b>groff<\/b> source, more suitable file names were integrated, see later on.<\/p>\n<p style=\"margin-left:11%; margin-top: 1em\"><b>Preprocessors<\/b> <br \/> Moreover, the following <i>preprocessors<\/i> were used as filename extension: <i><br \/> <name><\/i><b>.chem<\/b><\/p>\n<p style=\"margin-left:22%;\">for the integration of chemical formulas<\/p>\n<p style=\"margin-left:11%;\"><i><name><\/i><b>.eqn<\/b><\/p>\n<p style=\"margin-left:22%;\">for the mathematical use of equations<\/p>\n<p style=\"margin-left:11%;\"><i><name><\/i><b>.pic<\/b><\/p>\n<p style=\"margin-left:22%;\">graphical tool<\/p>\n<p style=\"margin-left:11%;\"><i><name><\/i><b>.tbl<\/b><\/p>\n<p style=\"margin-left:22%;\">for tables with <i>tbl<\/i><\/p>\n<p style=\"margin-left:11%;\"><i><name><\/i><b>.ref<\/b><\/p>\n<p style=\"margin-left:22%;\">for files using the <b>prefer<\/b> <i>preprocessor<\/i><\/p>\n<p style=\"margin-left:11%; margin-top: 1em\"><b>Classical Roff Files<\/b> <i><br \/> <name><\/i><b>.t<\/b> <i><br \/> <name><\/i><b>.tr<\/b><\/p>\n<p style=\"margin-left:22%;\">for files using the <i>roff<\/i> language of any kind<\/p>\n<h2>NEW GROFF EXTENSIONS <a name=\"NEW GROFF EXTENSIONS\"><\/a> <\/h2>\n<p style=\"margin-left:11%; margin-top: 1em\"><i>GNU roff<\/i> <b>groff<\/b> is the actual <i>roff<\/i> standard, both for classical <i>roff<\/i> 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 <b>.t<\/b> or <b>.tr<\/b>: <i><br \/> <name><\/i><b>.groff<\/b> <i><br \/> <name><\/i><b>.roff<\/b><\/p>\n<p style=\"margin-left:22%;\">general ending for files using the <i>groff language<\/i><\/p>\n<p style=\"margin-left:11%; margin-top: 1em\"><b>Source Code for Macro Packages (TMAC Files)<\/b> <br \/> As the classical form <b>tmac.<\/b><i><package_without_m><\/i>, of the <i>TMAC<\/i> file names is quite strange, <i>groff<\/i> added the following structures: <i> <package_without_m><\/i><b>.tmac <br \/> m<\/b><i><package><\/i><b>.tmac <br \/> groff_m<\/b><i><package><\/i><b>.tmac<\/b><\/p>\n<p style=\"margin-left:11%; margin-top: 1em\"><b>Files Using new Macro Packages<\/b> <i><br \/> Groff<\/i> uses the following new macro packages: <i><br \/> <name><\/i><b>.mmse<\/b><\/p>\n<p style=\"margin-left:22%;\">file with swedish <b>mm<\/b> <i>macros<\/i> for <b>groff<\/b><\/p>\n<p style=\"margin-left:11%;\"><i><name><\/i><b>.mom<\/b><\/p>\n<p style=\"margin-left:22%;\">files written in the <i>groff macro package<\/i> <b>mom<\/b><\/p>\n<p style=\"margin-left:11%;\"><i><name><\/i><b>.www<\/b><\/p>\n<p style=\"margin-left:22%;\">files written in <b>HTML<\/b>-like <i>groff macros<\/i>.<\/p>\n<p style=\"margin-left:11%; margin-top: 1em\"><b>Preprocessors and Postprocessors<\/b> <i><br \/> <name><\/i><b>.hdtbl<\/b><\/p>\n<p style=\"margin-left:22%;\">Heidelberger tables, an alternative to the preprocessor <i>tbl<\/i>. See <b>groff_hdtbl<\/b>(7).<\/p>\n<p style=\"margin-left:11%;\"><i><name><\/i><b>.grap<\/b><\/p>\n<p style=\"margin-left:22%;\">files written for the graphical <b>grap<\/b> processor.<\/p>\n<p style=\"margin-left:11%;\"><i><name><\/i><b>.grn<\/b><\/p>\n<p style=\"margin-left:22%;\">for including <b>gremlin<\/b>(1), pictures, see <b>grn<\/b>(1).<\/p>\n<p style=\"margin-left:11%;\"><i><name><\/i><b>.pdfroff<\/b><\/p>\n<p style=\"margin-left:22%;\">transform this file with <b>pdfroff<\/b> of the <i>groff<\/i> system<\/p>\n<h2>AUTHORS <a name=\"AUTHORS\"><\/a> <\/h2>\n<p style=\"margin-left:11%; margin-top: 1em\">This document was written by <a href=\"mailto:groff-bernd.warken-72@web.de\">Bernd Warken<\/a>.<\/p>\n<h2>SEE ALSO <a name=\"SEE ALSO\"><\/a> <\/h2>\n<p style=\"margin-left:11%; margin-top: 1em\">History and future<\/p>\n<p style=\"margin-left:22%;\"><b>roff<\/b>(7), <b>man\u2212pages<\/b>(7), <b>groff_diff<\/b>(7), <b>groff<\/b>(7)<\/p>\n<p style=\"margin-left:11%;\"><i>Compression<\/i><\/p>\n<p style=\"margin-left:22%;\"><b>uncompress<\/b>(1posix), <b>gzip2<\/b>(1), <b>bzip2<\/b>(1), <b>xz<\/b>(1)<\/p>\n<p style=\"margin-left:11%; margin-top: 1em\">A man page of the naming form <i>name<\/i><b>(<\/b><i>n<\/i><b>)<\/b> can be read in text mode by<\/p>\n<p style=\"margin-left:22%;\"><b>man<\/b> <i>n name<\/i><\/p>\n<p style=\"margin-left:11%;\">or in graphical mode (PDF) by<\/p>\n<p style=\"margin-left:22%;\"><b>groffer<\/b> <i>n name<\/i><\/p>\n<p style=\"margin-left:11%;\"><a href=\"https:\/\/github.com\/n-t-roff\/heirloom-doctools\"><i>Gunnar Ritter\u2019s Heirloom roff project<\/i><\/a>. You can get this package with the shell command:<\/p>\n<p style=\"margin-left:22%;\">$ <b>git clone https:\/\/github.com\/n\u2212t\u2212roff\/heirloom\u2212doctools<\/b><\/p>\n<hr>\n","protected":false},"excerpt":{"rendered":"<p>  groff_filenames \u2212 filename extensions for roff and groff <\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[959],"tags":[961,1537,1291],"class_list":["post-4590","post","type-post","status-publish","format-standard","hentry","category-5-formatos-de-ficheros","tag-961","tag-groff_filenames","tag-man5"],"gutentor_comment":0,"_links":{"self":[{"href":"https:\/\/lode.uno\/linux-man\/wp-json\/wp\/v2\/posts\/4590","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/lode.uno\/linux-man\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/lode.uno\/linux-man\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/lode.uno\/linux-man\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/lode.uno\/linux-man\/wp-json\/wp\/v2\/comments?post=4590"}],"version-history":[{"count":0,"href":"https:\/\/lode.uno\/linux-man\/wp-json\/wp\/v2\/posts\/4590\/revisions"}],"wp:attachment":[{"href":"https:\/\/lode.uno\/linux-man\/wp-json\/wp\/v2\/media?parent=4590"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/lode.uno\/linux-man\/wp-json\/wp\/v2\/categories?post=4590"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/lode.uno\/linux-man\/wp-json\/wp\/v2\/tags?post=4590"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}