{
    "mode": "man",
    "parameter": "groff_man_style",
    "section": "7",
    "url": "https://www.chedong.com/phpMan.php/man/groff_man_style/7/json",
    "generated": "2026-10-04T16:07:04Z",
    "sections": {
        "Name": {
            "content": "groffmanstyle - GNU roff man page tutorial and style guide\n",
            "subsections": []
        },
        "Synopsis": {
            "content": "groff -man [option ...] [file ...]\ngroff -m man [option ...] [file ...]\n",
            "subsections": []
        },
        "Description": {
            "content": "The GNU implementation of the man macro package is part of the groff document formatting sys‐\ntem.  It is used to produce manual pages (“man pages”) like the one you are reading.\n\nThis document presents the macros thematically; for those needing only a quick reference, the\nfollowing  table  lists them alphabetically, with cross references to appropriate subsections\nbelow.\n\nMacro   Meaning                      Subsection\n───────────────────────────────────────────────────────────────\n.B      Bold                         Font style macros\n.BI     Bold, italic alternating     Font style macros\n.BR     Bold, roman alternating      Font style macros\n.EE     Example end                  Document structure macros\n.EX     Example begin                Document structure macros\n.I      Italic                       Font style macros\n.IB     Italic, bold alternating     Font style macros\n.IP     Indented paragraph           Paragraphing macros\n.IR     Italic, roman alternating    Font style macros\n.LP     Begin paragraph              Paragraphing macros\n.ME     Mail-to end                  Hyperlink macros\n.MR     Man page cross reference     Hyperlink macros\n.MT     Mail-to start                Hyperlink macros\n.P      Begin paragraph              Paragraphing macros\n.PP     Begin paragraph              Paragraphing macros\n.RB     Roman, bold alternating      Font style macros\n.RE     Relative inset end           Document structure macros\n.RI     Roman, italic alternating    Font style macros\n.RS     Relative inset start         Document structure macros\n.SB     Small bold                   Font style macros\n.SH     Section heading              Document structure macros\n.SM     Small                        Font style macros\n.SS     Subsection heading           Document structure macros\n.SY     Synopsis start               Command synopsis macros\n.TH     Title heading                Document structure macros\n.TP     Tagged paragraph             Paragraphing macros\n.TQ     Supplemental paragraph tag   Paragraphing macros\n.UE     URI end                      Hyperlink macros\n.UR     URI start                    Hyperlink macros\n.YS     Synopsis end                 Command synopsis macros\n\nWe discuss other macros (.AT, .DT, .HP, .OP, .PD, and .UC)  in  subsection  “Deprecated  fea‐\ntures” below.\n\nThroughout  Unix documentation, a manual entry is referred to simply as a “man page”, regard‐\nless of its length, without gendered implication, and irrespective of the macro  package  se‐\nlected for its composition.\n\nMan pages should be encoded using Unicode basic Latin code points exclusively, and employ the\nUnix line-ending convention (U+000A only).\n",
            "subsections": [
                {
                    "name": "Fundamental concepts",
                    "content": "groff  is  a  programming  system for typesetting: we thus often use the verb “to set” in the\nsense “to typeset”.  The formatter troff(1) collects words from the input  and  fills  output\nlines with as many as will fit.  Words are separated by spaces and newlines.  A transition to\na  new output line is called a break.  When formatted, a word may be broken at hyphens, at \\%\nor \\: escape sequences (see subsection “Portability” below), or at predetermined locations if\nautomatic hyphenation is enabled (see the -rHY option in section “Options” below).  An output\nline may be supplemented with inter-sentence space, and then optionally  adjusted  with  more\nspace to a consistent line length (see the -dAD option).  roff(7) details these processes.\n\nAn  input  line  that  starts with a dot (.) or neutral apostrophe (') is a control line.  To\ncall a macro, put its name after a dot on a control line.  We refer to macros in  this  docu‐\nment  using  this  leading dot.  Some macros interpret arguments, words that follow the macro\nname.  A newline, unless escaped (see subsection “Portability” below), marks the end  of  the\nmacro  call.  An input line consisting of a dot followed by a newline is called the empty re‐\nquest; it does nothing.  Text lines are input lines that are not control lines.\n\nWe describe below several man macros that plant one-line input traps:  the  next  input  line\nthat  directly produces formatted output is treated specially.  For man documents that follow\nthe advice in section “Portability” below, this means that control lines using the empty  re‐\nquest and uncommented input lines ending with an escaped newline do not spring the trap; any‐\nthing else does (but see the .TP macro description).\n"
                },
                {
                    "name": "Macro reference preliminaries",
                    "content": "A  tagged paragraph describes each macro.  We present coupled pairs together, as with .EX and\n.EE.\n\nOptional macro arguments are indicated by surrounding them with square brackets.  If a  macro\naccepts multiple arguments, those containing space characters must be double-quoted to be in‐\nterpreted  correctly.   An empty macro argument can be specified with a pair of double-quotes\n(\"\"), but the man package is designed such that this should seldom be necessary.  See section\n“Notes” below for examples of cases where better alternatives to  empty  arguments  in  macro\ncalls  are  available.   Most macro arguments will be formatted as text in the output; excep‐\ntions are noted.\n"
                },
                {
                    "name": "Document structure macros",
                    "content": "Document structure macros organize a man page's content.  All of them break the output  line.\n.TH (title heading) identifies the document as a man page and configures the page headers and\nfooters.  Section headings (.SH), one of which is mandatory and many of which are convention‐\nally  expected,  facilitate location of material by the reader and aid the man page writer to\ndiscuss all essential aspects of the topic.  Subsection headings (.SS) are optional and  per‐\nmit sections that grow long to develop in a controlled way.  Many technical discussions bene‐\nfit  from  examples;  lengthy ones, especially those reflecting multiple lines of input to or\noutput from the system, are usefully bracketed by .EX and .EE.  When none  of  the  foregoing\nmeets a structural demand, use .RS/.RE to inset a region within a (sub)section.\n\n.TH topic section [footer-middle] [footer-inside] [header-middle]\nDetermine  the  contents  of  the page header and footer.  roff systems refer to these\ncollectively as “titles”.  The subject of the man page is topic and the section of the\nmanual to which it belongs is section.  This use of “section” has nothing to  do  with\nthe  section  headings  otherwise discussed in this page; it arises from the organiza‐\ntional scheme of printed and bound Unix manuals.  See man(1) or intro(1) for the  man‐\nual  sectioning  applicable to your system.  topic and section are positioned together\nat the left and right in the header (with section in parentheses immediately  appended\nto  topic).   footer-middle is centered in the footer.  The arrangement of the rest of\nthe footer depends on whether double-sided layout is enabled  with  the  option  -rD1.\nWhen  disabled  (the default), footer-inside is positioned at the bottom left.  Other‐\nwise, footer-inside appears at the bottom left on recto (odd-numbered) pages,  and  at\nthe  bottom right on verso (even-numbered) pages.  The outside footer is the page num‐\nber, except in the continuous-rendering mode enabled by the option  -rcR=1,  in  which\ncase  it is the topic and section, as in the header.  header-middle is centered in the\nheader.  If section is an integer between 1 and 9 (inclusive), there  is  no  need  to\nspecify  header-middle;  an.tmac  will supply text for it.  The macro package may also\nabbreviate topic and footer-inside with ellipses (...) if they would overrun the space\navailable in the header and footer, respectively.  For HTML output, headers and  foot‐\ners are suppressed.\n\nAdditionally,  this  macro breaks the page, resetting the number to 1 (unless the -rC1\noption is given).  This feature is intended only for formatting multiple man documents\nin sequence.\n\nA valid man document calls .TH once, early in the  file,  prior  to  any  other  macro\ncalls.\n\nBy  convention,  footer-middle  is the date of the most recent modification to the man\npage source document, and footer-inside is the name and  version  or  release  of  the\nproject providing it.\n\n.SH [heading-text]\nSet heading-text as a section heading.  If no argument is given, a one-line input trap\nis  planted;  text on the next line becomes heading-text.  The left margin is reset to\nzero to set the heading text in bold (or the font specified by the string HF), and, on\ntypesetting devices, slightly larger than the base type size.   If  the  heading  font\n\\*[HF]  is  bold,  use of an italic style in heading-text is mapped to the bold-italic\nstyle if available in the font family.  The inset level is reset  to  1,  setting  the\nleft margin to the value of the IN register.  Text after heading-text is set as an or‐\ndinary paragraph (.P).\n\nThe  content  of  heading-text  and ordering of sections follows a set of common prac‐\ntices, as has much of the layout of material within sections.  For example, a  section\ncalled  “Name” or “NAME” must exist, must be the first section after the .TH call, and\nmust contain only text of the form\ntopic[, another-topic]... \\- summary-description\nfor a man page to be properly indexed.  See man(7) for the conventions  prevailing  on\nyour system.\n\n.SS [subheading-text]\nSet  subheading-text as a subsection heading indented between a section heading and an\nordinary paragraph (.P).  If no argument is given, a one-line input trap  is  planted;\ntext  on the next line becomes subheading-text.  The left margin is reset to the value\nof the SN register to set the heading text in bold  (or  the  font  specified  by  the\nstring HF).  If the heading font \\*[HF] is bold, use of an italic style in subheading-\ntext  is  mapped  to the bold-italic style if available in the font family.  The inset\nlevel is reset to 1, setting the left margin to the value of the  IN  register.   Text\nafter subheading-text is set as an ordinary paragraph (.P).\n"
                },
                {
                    "name": ".EX",
                    "content": ".EE    Begin  and  end  example.   After .EX, filling is disabled and a constant-width (mono‐\nspaced) font is selected.  Calling .EE enables filling and restores the previous font.\n\nExample regions are useful for formatting code, shell sessions,  and  text  file  con‐\ntents.   An  example region is not a “literal mode” of any sort: special character es‐\ncape sequences must still be used to produce correct glyphs for ', -, \\, ^, `, and  ~,\nand  sentence  endings are still detected and additional inter-sentence space applied.\nIf the amount of additional inter-sentence spacing is altered, the rendering  of,  for\ninstance,  regular  expressions  using  . or ? followed by multiple spaces can change.\nUse the dummy character escape sequence \\& before the spaces.\n\nThese macros are extensions introduced in Ninth Edition Research Unix.   Systems  run‐\nning  that  troff,  or those from Documenter's Workbench, Heirloom Doctools, or Plan 9\ntroff support them.  To be certain your page will be portable to systems that do  not,\ncopy their definitions from the an-ext.tmac file of a groff installation.\n\n.RS [inset-amount]\nStart  a  new  relative  inset  level.  The position of the left margin is saved, then\nmoved right by inset-amount, if specified, and by the amount of the IN register other‐\nwise.  Calls to .RS can be nested; each increments by 1 the inset level used  by  .RE.\nThe level prior to any .RS calls is 1.\n\n.RE [level]\nEnd a relative inset.  The left margin corresponding to inset level level is restored.\nIf no argument is given, the inset level is reduced by 1.\n"
                },
                {
                    "name": "Paragraphing macros",
                    "content": "An  ordinary paragraph (.P) like this one is set without a first-line indentation at the cur‐\nrent left margin.  In man pages and other technical literature,  definition  lists  are  fre‐\nquently  encountered;  these  can be set as “tagged paragraphs”, which have one (.TP) or more\n(.TQ) leading tags followed by a paragraph that has an additional indentation.  The  indented\nparagraph  (.IP) macro is useful to continue the indented content of a narrative started with\n.TP, or to present an itemized or ordered list.  All of these macros break the  output  line.\nIf  another paragraph macro has occurred since the previous .SH or .SS, they (except for .TQ)\nfollow the break with a default amount of vertical space, which can be changed by the  depre‐\ncated .PD macro; see subsection “Horizontal and vertical spacing” below.  They also reset the\ntype size and font style to defaults (.TQ again excepted); see subsection “Font style macros”\nbelow.\n\n.P"
                },
                {
                    "name": ".LP",
                    "content": ".PP    Begin  a  new paragraph; these macros are synonymous.  The indentation is reset to the\ndefault value; the left margin, as affected by .RS and .RE, is not.\n\n.TP [indentation]\nSet a paragraph with a leading tag, and the remainder of the  paragraph  indented.   A\none-line  input  trap is planted; text on the next line, which can be formatted with a\nmacro, becomes the tag, which is placed at the current left margin.  The  tag  can  be\nextended  with the \\c escape sequence.  Subsequent text is indented by indentation, if\nspecified, and by the amount of the IN register otherwise.  If the tag is not as  wide\nas  the indentation, the paragraph starts on the same line as the tag, at the applica‐\nble indentation, and continues on the following  lines.   Otherwise,  the  descriptive\npart of the paragraph begins on the line following the tag.\n\nThe  line  containing the tag can include a macro call, for instance to set the tag in\nbold with .B.  .TP was used to write the first paragraph of this description  of  .TP,\nand .IP the subsequent one.\n\n.TQ    Set  an  additional  tag for a paragraph tagged with .TP.  An input trap is planted as\nwith .TP.\n\nThis macro is a GNU extension not defined on systems running AT&T, Plan 9, or  Solaris\ntroff; see an-ext.tmac in section “Files” below.\n\nThe descriptions of .P, .LP, and .PP above were written using .TP and .TQ.\n\n.IP [tag] [indentation]\nSet an indented paragraph with an optional tag.  The tag and indentation arguments, if\npresent, are handled as with .TP, with the exception that the tag argument to .IP can‐\nnot include a macro call.\n\nTwo convenient uses for .IP are\n\n(1) to start a new paragraph with the same indentation as an immediately preceding\n.IP or .TP paragraph, if no indentation argument is given; and\n\n(2) to  set  a paragraph with a short tag that is not semantically important, such\nas a bullet (•)—obtained with the \\(bu special  character  escape  sequence—or\nlist enumerator, as seen in this very paragraph.\n"
                },
                {
                    "name": "Command synopsis macros",
                    "content": ".SY  and  .YS aid you to construct a command synopsis that has the classical Unix appearance.\nThey break the output line.\n\nThese macros are GNU extensions not defined on systems  running  AT&T,  Plan  9,  or  Solaris\ntroff; see an-ext.tmac in section “Files” below.\n\n.SY command\nBegin synopsis.  A new paragraph begins at the left margin (as with .P) unless .SY has\nalready  been  called  without a corresponding .YS, in which case only a break is per‐\nformed.  Adjustment and automatic hyphenation are disabled.  command is set  in  bold.\nIf  a  break  is  required, lines after the first are indented by the width of command\nplus a space.\n\n.YS    End synopsis.  Indentation, adjustment, and hyphenation are restored to their previous\nstates.\n\nMultiple .SY/.YS blocks can be specified, for instance to distinguish differing modes of  op‐\neration  of  a  complex  command like tar(1); each will be vertically separated as paragraphs\nare.\n\n.SY can be repeated before .YS to indicate synonymous ways of invoking a particular  mode  of\noperation.\n\ngroff's  own  command-line  interface  serves to illustrate most of the specimens of synopsis\nsyntax one is likely to encounter.\n\n.SY groff\n.RB [ \\-abcCeEgGijklNpRsStUVXzZ ]\n.RB [ \\-d\\~\\c\n.IR cs ]\n.RB [ \\-d\\~\\c\n.IB name =\\c\n.IR string ]\n.RB [ \\-D\\~\\c\n.IR enc ]\n(and so on similarly)\n.RI [ file\\~ .\\|.\\|.]\n.YS\n.\n.\n.SY groff\n.B \\-h\n.\n.SY groff\n.B \\-\\-help\n.YS\n.\n.\n.SY groff\n.B \\-v\n.RI [ option\\~ .\\|.\\|.\\&]\n.RI [ file\\~ .\\|.\\|.]\n.\n.SY groff\n.B \\-\\-version\n.RI [ option\\~ .\\|.\\|.\\&]\n.RI [ file\\~ .\\|.\\|.]\n.YS\n\nproduces the following output.\n\ngroff [-abcCeEgGijklNpRsStUVXzZ] [-d cs] [-d name=string] [-D enc] [-f fam] [-F dir]\n[-I dir] [-K enc] [-L arg] [-m name] [-M dir] [-n num] [-o list] [-P arg]\n[-r cn] [-r reg=expr] [-T dev] [-w name] [-W name] [file ...]\n\ngroff -h\ngroff --help\n\ngroff -v [option ...] [file ...]\ngroff --version [option ...] [file ...]\n\nSeveral features of the above example are of note.\n\n• The empty request (.), which does nothing, is used to vertically space the input  file  for\nreadability  by  the  document  maintainer.   Do  not put blank (empty) lines in a man page\nsource document.\n\n• Command and option names are presented in bold to cue the user that they  should  be  input\nliterally.\n\n• Option  dashes  are specified with the \\- escape sequence; this is an important practice to\nmake them clearly visible and to facilitate copy-and-paste from the rendered man page to  a\nshell prompt or text file.\n\n• Option  arguments  and  command operands are presented in italics (but see subsection “Font\nstyle macros” below regarding terminals) to cue the user that they must  be  replaced  with\nappropriate text.\n\n• Symbols that are neither to be typed literally nor replaced at the user's discretion appear\nin  the  roman  style; brackets surround optional arguments, and an ellipsis indicates that\nthe previous syntactical element may be repeated arbitrarily.\n\n• The non-breaking adjustable space escape sequence \\~ is used to  prevent  the  output  line\nfrom being broken within the option brackets; see subsection “Portability” below.\n\n• The  output line continuation escape sequence \\c is used with font style alternation macros\nto allow all three font styles to be set without (breakable) space among them; see  subsec‐\ntion “Portability” below.\n\n• The  dummy  character escape sequence \\& follows the ellipsis when further text will follow\nafter space on the output line, keeping its last period from being interpreted as  the  end\nof  a sentence and causing additional inter-sentence space to be placed after it.  See sub‐\nsection “Portability” below.\n"
                },
                {
                    "name": "Hyperlink macros",
                    "content": "Man page cross references like ls(1) are best presented with .MR.  Text may be hyperlinked to\nemail addresses with .MT/.ME or other URIs with .UR/.UE.  Hyperlinked text  is  supported  on\nHTML and terminal output devices; terminals and pager programs must support ECMA-48 OSC 8 es‐\ncape  sequences  (see  grotty(1)).  When device support is unavailable or disabled with the U\nregister (see section “Options” below), .MT and .UR URIs are rendered between angle  brackets\nafter the linked text.\n\n.MT, .ME, .UR, and .UE are GNU extensions not defined on systems running AT&T, Plan 9, or So‐\nlaris troff; see an-ext.tmac in section “Files” below.  Plan 9 from User Space's troff imple‐\nments .MR.\n\nThe  arguments  to .MR, .MT, and .UR should be prepared for typesetting since they can appear\nin the output.  Use special character escape sequences to encode Unicode basic Latin  charac‐\nters  where  necessary,  particularly  the  hyphen-minus.  (See section “Portability” below.)\nURIs can be lengthy; rendering them can result in jarring adjustment or  variations  in  line\nlength, or troff warnings when a hyperlink is longer than an output line.  The application of\nnon-printing break point escape sequences \\: after each slash (or series thereof), and before\neach  dot  (or series thereof) is recommended as a rule of thumb.  The former practice avoids\nforcing a trailing slash in a URI onto a separate output  line,  and  the  latter  helps  the\nreader  to  avoid mistakenly interpreting a dot at the end of a line as a period (or multiple\ndots as an ellipsis).  Thus,\n.UR http://\\:example\\:.com/\\:fb8afcfbaebc74e\\:.cc\nhas several potential break points in the URI shown.  Consider adding break points before  or\nafter  at  signs  in  email  addresses,  and  question marks, ampersands, and number signs in\nHTTP(S) URIs.  The formatter removes \\: escape sequences from hyperlinks when  supplying  de‐\nvice control commands to output drivers.\n\n.MR topic manual-section [trailing-text]\n(since  groff  1.23)  Set  a  man page cross reference as “topic(manual-section)”.  If\ntrailing-text (typically punctuation) is specified, it follows the closing parenthesis\nwithout intervening space.  Hyphenation is disabled while the cross reference is  set.\ntopic  is  set in the font specified by the MF string.  The cross reference hyperlinks\nto a URI of the form “man:topic(manual-section)”.\n\nThe output driver\n.MR grops 1\nproduces PostScript from\n.I troff\noutput.\n.\nThe Ghostscript program (\\c\n.MR gs 1 )\ninterprets PostScript and PDF.\n\n.MT address\n.ME [trailing-text]\nIdentify address as an RFC 6068 addr-spec for a “mailto:” URI with  the  text  between\nthe  two  macro  calls  as the link text.  An argument to .ME is placed after the link\ntext without intervening space.  address may not be visible in the  rendered  document\nif  hyperlinks  are  enabled and supported by the output driver.  If they are not, ad‐\ndress is set in angle brackets after the link text and before trailing-text.   If  hy‐\nperlinking  is enabled but there is no link text, address is formatted and hyperlinked\nwithout angle brackets.\n\nWhen rendered by groff to a PostScript device,\n\nContact\n.MT fred\\:.foonly@\\:fubar\\:.net\nFred Foonly\n.ME\nfor more information.\n\ndisplays as “Contact Fred Foonly ⟨fred.foonly@fubar.net⟩ for more information.”.\n\n.UR uri\n.UE [trailing-text]\nIdentify uri as an RFC 3986 URI hyperlink with the text between the two macro calls as\nthe link text.  An argument to .UE is placed after the link text  without  intervening\nspace.   uri may not be visible in the rendered document if hyperlinks are enabled and\nsupported by the output driver.  If they are not, uri is set in angle  brackets  after\nthe  link  text  and before trailing-text.  If hyperlinking is enabled but there is no\nlink text, uri is formatted and hyperlinked without angle brackets.\n\nWhen rendered by groff to a PostScript device,\n\nThe GNU Project of the Free Software Foundation\nhosts the\n.UR https://\\:www\\:.gnu\\:.org/\\:software/\\:groff/\n.I groff\nhome page\n.UE .\n\ndisplays as “The GNU Project of the Free Software Foundation hosts the groff home page\n⟨https://www.gnu.org/software/groff/⟩.”.\n\nThe hyperlinking of .TP paragraph tags with .UR/.UE and .MT/.ME is not yet supported; if  at‐\ntempted, the hyperlink will be typeset at the beginning of the indented paragraph even on hy‐\nperlink-supporting devices.\n"
                },
                {
                    "name": "Font style macros",
                    "content": "The  man  macro  package  is  limited  in  its font styling options, offering only bold (.B),\nitalic (.I), and roman.  Italic text is usually set underscored instead on terminal  devices.\nThe .SM and .SB macros set text in roman or bold, respectively, at a smaller type size; these\ndiffer visually from regular-sized roman or bold text only on typesetting devices.  It is of‐\nten  necessary  to  set  text in different styles without intervening space.  The macros .BI,\n.BR, .IB, .IR, .RB, and .RI, where “B”, “I”, and “R” indicate bold, italic,  and  roman,  re‐\nspectively,  set  their odd- and even-numbered arguments in alternating styles, with no space\nseparating them.\n\nBecause font styles are presentational rather  than  semantic,  conflicting  traditions  have\narisen  regarding  which  font  styles should be used to mark file or path names, environment\nvariables, and inlined literals.\n\nThe default type size and family for typesetting devices is 10-point  Times,  except  on  the\nX75-12 and X100-12 devices where the type size is 12 points.  The default style is roman.\n\n.B [text]\nSet  text in bold.  If no argument is given, a one-line input trap is planted; text on\nthe next line, which can be further formatted with a macro, is set in bold.\n\nUse bold for literal portions of syntax synopses, for command-line options in  running\ntext,  and for literals that are major topics of the subject under discussion; for ex‐\nample, this page uses bold for macro, string, and register names.  In an .EX/.EE exam‐\nple of interactive I/O (such as a shell session), set only user input in bold.\n\n.I [text]\nSet text in an italic or oblique face.  If no argument is given, a one-line input trap\nis planted; text on the next line, which can be further formatted with a macro, is set\nin an italic or oblique face.\n\nUse italics for file and path names, for environment variables, for C data types,  for\nenumeration or preprocessor constants in C, for variant (user-replaceable) portions of\nsyntax  synopses,  for the first occurrence (only) of a technical concept being intro‐\nduced, for names of journals and of literary works longer than an  article,  and  any‐\nwhere  a parameter requiring replacement by the user is encountered.  An exception in‐\nvolves variant text in a context already typeset in italics,  such  as  file  or  path\nnames  with replaceable components; in such cases, follow the convention of mathemati‐\ncal typography: set the file or path name in italics as usual but use  roman  for  the\nvariant part (see .IR and .RI below), and italics again in running roman text when re‐\nferring to the variant material.\n\n.SM [text]\nSet  text  one point smaller than the default type size on typesetting devices.  If no\nargument is given, a one-line input trap is planted; text on the next line, which  can\nbe further formatted with a macro, is set smaller.\n\nNote: terminals will render text at normal size instead.  Do not rely upon .SM to com‐\nmunicate  semantic information distinct from using roman style at normal size; it will\nbe hidden from readers using such devices.\n\n.SB [text]\nSet text in bold and (on typesetting devices) one point smaller than the default  type\nsize.   If  no  argument  is given, a one-line input trap is planted; text on the next\nline, which can be further formatted with a macro, is set smaller and in  bold.   This\nmacro is an extension introduced in SunOS 4.0.\n\nNote: terminals will render text in bold at the normal size instead.  Do not rely upon\n.SB to communicate semantic information distinct from using bold style at normal size;\nit will be hidden from readers using such devices.\n\nObserve  what  is  not prescribed for setting in bold or italics above: elements of “synopsis\nlanguage” such as ellipses and brackets around options; proper names and  adjectives;  titles\nof  anything  other  than  major  works of literature; identifiers for standards documents or\ntechnical reports such as CSTR #54, RFC 1918, Unicode 13.0, or  POSIX.1-2017;  acronyms;  and\noccurrences after the first of a technical term.\n\nBe  frugal  with  italics for emphasis, and particularly with bold.  Article titles and brief\nruns of literal text, such as references to individual characters or short strings, including\nsection and subsection headings of man pages, are suitable objects  for  quotation;  see  the\n\\(lq, \\(rq, \\(oq, and \\(cq escape sequences in subsection “Portability” below.\n\nUnlike  the  above  font  style  macros, the font style alternation macros below set no input\ntraps; they must be given arguments to have effect.  Italic corrections are applied as appro‐\npriate.  If a space is required within an argument, first consider whether  the  same  result\ncould  be achieved with as much clarity by using single-style macros on separate input lines.\nWhen it cannot, double-quote an argument containing embedded space characters.   Setting  all\nthree  different  styles within a word presents challenges; it is possible with the \\c and/or\n\\f escape sequences.  See subsection “Portability” below for approaches.\n\n.BI bold-text italic-text ...\nSet each argument in bold and italics, alternately.\n\n.BI -r  register = numeric-expression\n\n.BR bold-text roman-text ...\nSet each argument in bold and roman, alternately.\n\nAfter\n.B .NH\nis called,\n\n.IB italic-text bold-text ...\nSet each argument in italics and bold, alternately.\n\nIn places where\n.IB n th\nis allowed,\n\n.IR italic-text roman-text ...\nSet each argument in italics and roman, alternately.\n\nUse GNU\n.IR pic 's\n.B figname\ncommand to change the name of the vbox.\n\n.RB roman-text bold-text ...\nSet each argument in roman and bold, alternately.\n\nif\n.I file\nis\n.RB \\[lq] \\- \\[rq],\nthe standard input stream is read.\n\n.RI roman-text italic-text ...\nSet each argument in roman and italics, alternately.\n\n.RI ( tpic\nwas a fork of AT&T\n.I pic\nby Tim Morgan of the University of California at Irvine\n"
                },
                {
                    "name": "Horizontal and vertical spacing",
                    "content": "The indentation argument accepted by .IP, .TP, and the deprecated .HP is a number plus an op‐\ntional scaling unit, as is .RS's inset-amount.  If no scaling unit is given, the man  package\nassumes  “n”; that is, the width of a letter “n” in the font current when the macro is called\n(see section “Measurements” in groff(7)).  An indentation specified in a call to .IP, .TP, or\nthe deprecated .HP persists until (1) another of these macros is called with  an  indentation\nargument,  or  (2) .SH, .SS, or .P or its synonyms is called; these clear the indentation en‐\ntirely.\n\nThe left margin used by ordinary paragraphs set with .P (and  its  synonyms)  not  within  an\n.RS/.RE  relative  inset is 7.2n for typesetting devices and 7n for terminal devices (but see\nthe -rIN option).  Headers, footers (both set with .TH), and section headings (.SH)  are  set\nat  the  page offset (see groff(7)) and subsection headings (.SS) indented from it by 3n (but\nsee the -rSN option).\n\nIt may be helpful to think of the left margin and indentation as related  but  distinct  con‐\ncepts; groff's implementation of the man macro package tracks them separately.  The left mar‐\ngin  is  manipulated by .RS and .RE (and by .SH and .SS, which reset it to the default).  In‐\ndentation is controlled by the paragraphing macros (though, again, .SH and .SS reset it);  it\nis  imposed by the .TP, .IP, and deprecated .HP macros, and cancelled by .P and its synonyms.\nAn extensive example follows.\n\nThis ordinary (.P) paragraph is not in a relative inset nor does it possess an indentation.\n\nNow we have created a relative inset (in other words, moved the left margin) with  .RS\nand started another ordinary paragraph with .P.\n\ntag    This  tagged paragraph, set with .TP, is still within the .RS region, but lines\nafter the first have a supplementary indentation that the tag lacks.\n\nA paragraph like this one, set with .IP, will appear to the reader as also  as‐\nsociated  with  the tag above, because .IP re-uses the previous paragraph's in‐\ndentation unless given an argument to change it.  This  paragraph  is  affected\nboth by the moved left margin (.RS) and indentation (.IP).\n┌──────────────────────────────────┐\n│ This table is affected both by   │\n│ the left margin and indentation. │\n└──────────────────────────────────┘\n\n•      This indented paragraph has a bullet for a tag, making it more obvious that the\nleft  margin and indentation are distinct; only the former affects the tag, but\nboth affect the text of the paragraph.\n\nThis ordinary (.P) paragraph resets the indentation, but the left margin is still  in‐\nset.\n┌─────────────────────────────┐\n│ This table is affected only │\n│ by the left margin.         │\n└─────────────────────────────┘\n\nFinally,  we  have  ended  the  relative  inset by using .RE, which (because we used only one\n.RS/.RE pair) has reset the left margin to the default.  This is an ordinary .P paragraph.\n\nResist the temptation to mock up tabular or multi-column output with tab  characters  or  the\nindentation arguments to .IP, .TP, .RS, or the deprecated .HP; the result may not render com‐\nprehensibly  on an output device you fail to check, or which is developed in the future.  The\ntable preprocessor tbl(1) can likely meet your needs.\n\nSeveral macros insert vertical space: .SH, .SS, .TP, .P (and its synonyms), .IP, and the dep‐\nrecated .HP.  The default inter-section and inter-paragraph spacing is is 1v for terminal de‐\nvices and 0.4v for typesetting devices (“v” is a unit of vertical distance, where 1v  is  the\ndistance between adjacent text baselines in a single-spaced document).  (The deprecated macro\n.PD  can  change  this  vertical  spacing,  but its use is discouraged.)  Between .EX and .EE\ncalls, the inter-paragraph spacing is 1v regardless of output device.\n"
                },
                {
                    "name": "Registers",
                    "content": "Registers are described in section “Options” below.  They can be set not only on the  command\nline but in the site man.local file as well; see section “Files” below.\n"
                },
                {
                    "name": "Strings",
                    "content": "The  following strings are defined for use in man pages.  Others are supported for configura‐\ntion of rendering parameters; see section “Options” below.\n\n\\*R    interpolates a special character escape sequence  for  the  “registered  sign”  glyph,\n\\(rg, if available, and “(Reg.)” otherwise.\n\n\\*S    interpolates an escape sequence setting the type size to the document default.\n\n\\*(lq\n\\*(rq  interpolate  special  character  escape  sequences for left and right double-quotation\nmarks, \\(lq and \\(rq, respectively.\n\n\\*(Tm  interpolates a special character escape sequence for  the  “trade  mark  sign”  glyph,\n\\(tm, if available, and “(TM)” otherwise.\n\nNone  of  the  above is necessary in a contemporary man page.  \\*S is superfluous, since type\nsize changes are invisible on terminal devices and macros that change it restore its original\nvalue afterward.  Better alternatives exist for the rest; simply use the  \\(rg,  \\(lq,  \\(rq,\nand \\(tm special character escape sequences directly.  Unless a man page author is aiming for\na pathological level of portability, such as the composition of pages for consumption on sim‐\nulators  of  1980s  Unix  systems (or Solaris troff, though even it supports \\(rg), the above\nstrings should be avoided.\n"
                },
                {
                    "name": "Portability",
                    "content": "It is wise to quote multi-word section and subsection headings; the .SH  and  .SS  macros  of\nman(7)  implementations  descended from Seventh Edition Unix supported six arguments at most.\nA similar restriction applied to the .B, .I, .SM, and font style alternation macros.\n\nThe two major syntactical categories for formatting control in the roff language are requests\nand escape sequences.  Since the man macros are implemented in terms of  groff  requests  and\nescape  sequences,  one  can,  in  principle,  supplement the functionality of man with these\nlower-level elements where necessary.\n\nHowever, using raw groff requests (apart from the empty request “.”) is likely to  make  your\npage  render  poorly  when  processed by other tools; many of these attempt to interpret page\nsources directly for conversion to HTML.   Some  requests  make  implicit  assumptions  about\nthings  like character and page sizes that may not hold in an HTML environment; also, many of\nthese viewers don't interpret the full groff vocabulary, a problem that can lead to  portions\nof your text being omitted or presented incomprehensibly.\n\nFor  portability  to modern viewers, it is best to write your page solely with the macros de‐\nscribed in this page (except for the ones identified as deprecated, which should be avoided).\nThe macros we have described as extensions (.EX/.EE, .SY/.YS, .TQ, .UR/.UE, .MT/.ME, .MR, and\n.SB) should be used with caution, as they may not be built in to some viewer that  is  impor‐\ntant to your audience.  See an-ext.tmac in section “Files” below.\n\nSimilar  caveats  apply  to escape sequences.  Some escape sequences are however required for\ncorrect typesetting even in man pages and usually do not cause portability problems.  Several\nof these render glyphs corresponding to punctuation code points in the  Unicode  basic  Latin\nrange  (U+0000–U+007F)  that  are handled specially in roff input; the escape sequences below\nmust be used to render them correctly and portably when documenting material that  uses  them\nsyntactically—namely,  any  of  the  set  '  - \\ ^ ` ~ (apostrophe, dash or minus, backslash,\ncaret, grave accent, tilde).\n\n\\\"     Comment.  Everything after the double-quote to the end of the input line  is  ignored.\nWhole-line comments should be placed immediately after the empty request (“.”).\n\n\\newline\nJoin  the next input line to the current one.  Except for the update of the input line\ncounter (used for diagnostic messages and related purposes), a series of lines  ending\nin  backslash-newline  appears  to  groff as a single input line.  Use this escape se‐\nquence to split excessively long input lines for document maintenance.\n\n\\%     Control hyphenation.  The location of this escape sequence within a word marks  a  hy‐\nphenation  point, supplementing groff's automatic hyphenation patterns.  At the begin‐\nning of a word, it suppresses any hyphenation breaks  within  except  those  specified\nwith \\%.\n\n\\:     Insert  a  non-printing  break  point.  A word can break at such a point, but a hyphen\nglyph is not written to the output if it does.  This escape sequence is an input  word\nboundary,  so  the remainder of the word is subject to hyphenation as normal.  You can\nuse \\: and \\% in combination to control breaking of a file name or URI  or  to  permit\nhyphenation only after certain explicit hyphens within a word.  See subsection “Hyper‐\nlink macros” above for an example.\n\nThis  escape  sequence  is a groff extension also supported by Heirloom Doctools troff\n050915 (September 2005), mandoc 1.14.5 (2019-03-10), and  neatroff  (commit  399a4936,\n2014-02-17), but not by Plan 9, Solaris, or Documenter's Workbench troffs.\n\n\\~     Adjustable  non-breaking  space.  Use this escape sequence to prevent a break inside a\nshort phrase or between a numerical quantity and its corresponding unit(s).\n\nBefore starting the motor,\nset the output speed to\\~1.\nThere are 1,024\\~bytes in 1\\~KiB.\nCSTR\\~#8 documents the B\\~language.\n\nThis escape sequence is a groff extension also supported by  Heirloom  Doctools  troff\n050915  (September  2005),  mandoc  1.9.5  (2009-09-21),  neatroff  (commit 1c6ab0f6e,\n2016-09-13), and Plan 9 from User Space troff (commit 93f8143600, 2022-08-12), but not\nby Solaris or Documenter's Workbench troffs.\n\n\\&     Dummy character.  Insert at the beginning of an input line to prevent a dot  or  apos‐\ntrophe  from being interpreted as beginning a roff control line.  Append to an end-of-\nsentence punctuation sequence to keep it from being recognized as such.\n\n\\|     Thin space (one-sixth em on typesetters,  zero-width  on  terminals);  a  non-breaking\nspace.   Used  primarily in ellipses (“.\\|.\\|.”)  to space the dots more pleasantly on\ntypesetting devices like dvi, pdf, and ps.\n\n\\c     End a text line without inserting space or attempting a break.  Normally,  if  filling\nis enabled, the end of a text line is treated like a space; an output line may be bro‐\nken  there (if not, an adjustable space is inserted); if filling is disabled, the line\nwill be broken there, as in .EX/.EE examples.  The next line is interpreted  as  usual\nand  can  include a macro call (contrast with \\newline).  \\c is useful when three font\nstyles are needed in a single word, as in a command synopsis.\n\n.RB [ \\-\\-stylesheet=\\c\n.IR name ]\n\nIt also helps when changing font styles  in  .EX/.EE  examples,  since  they  are  not\nfilled.\n\n.EX\n$ \\c\n.B groff \\-T utf8 \\-Z \\c\n.I file \\c\n.B | grotty \\-i\n.EE\n\nAlternatively,  and  perhaps with better portability, the \\f font selection escape se‐\nquence can be used; see below.  Using \\c to continue a .TP paragraph tag across multi‐\nple input lines will render incorrectly with groff 1.22.3, mandoc 1.14.1,  older  ver‐\nsions of these programs, and perhaps with some other formatters.\n\n\\e     Format  the current escape character on the output; widely used in man pages to render\na backslash glyph.  It works reliably as long as the “.ec” request is not used,  which\nshould  never  happen in man pages, and it is slightly more portable than the more ex‐\nplicit \\(rs (“reverse solidus”) special character escape sequence.\n\n\\fB, \\fI, \\fR, \\fP\nSwitch to bold, italic, roman, or back to the previous style, respectively.  Either \\f\nor \\c is needed when three different font styles are required in a word.\n\n.RB [ \\-\\-reference\\-dictionary=\\fI\\,name\\/\\fP ]\n\n.RB [ \\-\\-reference\\-dictionary=\\c\n.IR name ]\n\nStyle escape sequences may be more portable than \\c.  As shown above, it is up to  you\nto  account for italic corrections with “\\/” and “\\,”, which are themselves GNU exten‐\nsions, if desired and if supported by your implementation.\n\n\\fP reliably returns to the style in use immediately preceding the previous \\f  escape\nsequence only if no sectioning, paragraph, or style macro calls have intervened.\n\nAs  long as at most two styles are needed in a word, style macros like .B and .BI usu‐\nally result in more readable roff source than \\f escape sequences do.\n\nSeveral special characters are also widely portable.  Except for \\-,  \\(em,  and  \\(ga,  AT&T\ntroff  did  not  consistently  define  the characters listed below, but its descendants, like\nPlan 9 or Solaris troff, can be made to support them by defining  them  in  font  description\nfiles, making them aliases of existing glyphs if necessary; see grofffont(5).\n\n\\-     Minus  sign  or basic Latin hyphen-minus.  This escape sequence produces the Unix com‐\nmand-line option dash in the output.  “-” is a hyphen in the roff language; some  out‐\nput devices replace it with U+2010 (hyphen) or similar.\n\n\\(aq   Basic Latin neutral apostrophe.  Some output devices format “'” as a right single quo‐\ntation mark.\n"
                },
                {
                    "name": "\\(oq",
                    "content": "\\(cq   Opening  (left)  and closing (right) single quotation marks.  Use these for paired di‐\nrectional single quotes, ‘like this’.\n\n\\(dq   Basic Latin quotation mark (double quote).  Use in macro calls to prevent ‘\"” from be‐\ning interpreted as beginning a quoted argument, or simply for readability.\n\n.TP\n.BI \"split \\(dq\" text \\(dq\n"
                },
                {
                    "name": "\\(lq",
                    "content": "\\(rq   Left and right double quotation  marks.   Use  these  for  paired  directional  double\nquotes, “like this”.\n\n\\(em   Em-dash.  Use for an interruption—such as this one—in a sentence.\n\n\\(en   En-dash.  Use to separate the ends of a range, particularly between numbers; for exam‐\nple, “the digits 1–9”.\n\n\\(ga   Basic  Latin  grave accent.  Some output devices format “`” as a left single quotation\nmark.\n\n\\(ha   Basic Latin circumflex accent (“hat”).  Some output devices format “^” as U+02C6 (mod‐\nifier letter circumflex accent) or similar.\n\n\\(rs   Reverse solidus (backslash).  The backslash is the default  escape  character  in  the\nroff language, so it does not represent itself in output.  Also see \\e above.\n\n\\(ti   Basic Latin tilde.  Some output devices format “~” as U+02DC (small tilde) or similar.\n\nFor  maximum portability, escape sequences and special characters not listed above are better\navoided in man pages.\n"
                },
                {
                    "name": "Hooks",
                    "content": "Two macros, both GNU extensions, are called internally by the groff  man  package  to  format\npage headers and footers and can be redefined by the administrator in a site's man.local file\n(see section “Files” below).  The presentation of .TH above describes the default headers and\nfooters.  Because these macros are hooks for groff man internals, man pages have no reason to\ncall them.  Such hook definitions will likely consist of “.sp” and “.tl” requests.  They must\nalso  increase the page length with “.pl” requests in continuous rendering mode; .PT further‐\nmore has the responsibility of emitting a PDF bookmark after writing the first page header in\na document.  Consult the existing implementations in an.tmac when drafting replacements.\n\n.BT    Set the page footer text (“bottom trap”).\n\n.PT    Set the page header text (“page trap”).\n\nTo remove a page header or footer entirely, define the appropriate macro as empty rather than\ndeleting it.\n"
                },
                {
                    "name": "Deprecated features",
                    "content": "Use of the following in man pages for public distribution is discouraged.\n\n.AT [system [release]]\nAlter the footer for use with legacy AT&T man pages, overriding any definition of  the\nfooter-inside  argument  to .TH.  This macro exists only to render man pages from his‐\ntorical systems.\n\nsystem can be any of the following.\n\n3      7th edition (default)\n\n4      System III\n\n5      System V\n\nThe optional release argument specifies the  release  number,  as  in  “System  V  Re‐\nlease 3”.\n\n.DT    Reset tab stops to the default (every 0.5i [inches]).\n\nUse  of this presentation-oriented macro is deprecated.  It translates poorly to HTML,\nunder which exact space control and tabulation are not readily available.   Thus,  in‐\nformation or distinctions that you use tab stops to express are likely to be lost.  If\nyou  feel tempted to change the tab stops such that calling this macro later is desir‐\nable to restore them, you should probably be composing a table using tbl(1) instead.\n\n.HP [indentation]\nSet up a paragraph with a hanging left  indentation.   The  indentation  argument,  if\npresent, is handled as with .TP.\n\nUse  of  this presentation-oriented macro is deprecated.  A hanging indentation cannot\nbe expressed naturally under HTML, and non-roff-based man page interpreters may  treat\n.HP  as  an ordinary paragraph.  Thus, information or distinctions you mean to express\nwith indentation may be lost.\n\n.OP option-name [option-argument]\nIndicate an optional command parameter called option-name, which is set in  bold.   If\nthe  option  takes an argument, specify option-argument using a noun, abbreviation, or\nhyphenated noun phrase.  If present, option-argument is preceded by a space and set in\nitalics.  Square brackets in roman surround both arguments.\n\nUse of this quasi-semantic macro, an extension originating in  Documenter's  Workbench\ntroff, is deprecated.  It cannot easily be used to annotate options that take optional\narguments  or  options  whose  arguments have internal structure (such as a mixture of\nliteral and variable components).  One could work around these limitations  with  font\nselection escape sequences, but it is preferable to use font style alternation macros,\nwhich afford greater flexibility.\n\n.PD [vertical-space]\nDefine  the vertical space between paragraphs or (sub)sections.  The optional argument\nvertical-space specifies the amount; the default scaling unit is “v”.  Without an  ar‐\ngument, the spacing is reset to its default value; see subsection “Horizontal and ver‐\ntical spacing” above.\n\nUse  of this presentation-oriented macro is deprecated.  It translates poorly to HTML,\nunder which exact control of inter-paragraph spacing is not readily available.   Thus,\ninformation or distinctions that you use .PD to express are likely to be lost.\n\n.UC [version]\nAlter  the  footer for use with legacy BSD man pages, overriding any definition of the\nfooter-inside argument to .TH.  This macro exists only to render man pages  from  his‐\ntorical systems.\n\nversion can be any of the following.\n\n3      3rd Berkeley Distribution (default)\n\n4      4th Berkeley Distribution\n\n5      4.2 Berkeley Distribution\n\n6      4.3 Berkeley Distribution\n\n7      4.4 Berkeley Distribution\n"
                },
                {
                    "name": "History",
                    "content": "M. Douglas McIlroy  designed,  implemented,  and documented the AT&T man macros for Unix Ver‐\nsion 7 (1979) and employed them to edit the first volume of its Programmer's Manual, a compi‐\nlation of all man pages supplied by the system.  That man supported the macros listed in this\npage not described as extensions, except .P and the deprecated .AT and .UC.  The only strings\ndefined were R and S; no registers were documented.\n\n.UC appeared in 3BSD (1980).  Unix System III (1980) introduced .P and exposed the  registers\nIN  and  LL,  which had been internal to Seventh Edition Unix man.  PWB/UNIX 2.0 (1980) added\nthe Tm string.  4BSD (1980) added lq and rq strings.  SunOS 2.0 (1985) recognized  C,  D,  P,\nand  X registers.  4.3BSD (1986) added .AT and .P.  Ninth Edition Research Unix (1986) intro‐\nduced .EX and .EE.  SunOS 4.0 (1988) added .SB.\n\nThe foregoing features were what James Clark implemented in early versions of groff.   Later,\ngroff  1.20  (2009)  originated .SY/.YS, .TQ, .MT/.ME, and .UR/.UE.  Plan 9 from User Space's\ntroff introduced .MR in 2020.\n"
                }
            ]
        },
        "Options": {
            "content": "The following groff options set registers (with -r) and strings (with -d) recognized and used\nby the man macro package.  To ensure rendering consistent with output device capabilities and\nreader preferences, man pages should never manipulate them.\n",
            "subsections": [
                {
                    "name": "-dAD=_",
                    "content": "Set line adjustment to adjustment-mode, which is typically “b” for adjustment to  both\nmargins (the default), or “l” for left alignment (ragged right margin).  Any valid ar‐\ngument to groff's “.ad” request may be used.  See groff(7) for less-common choices.\n"
                },
                {
                    "name": "-rcR=1",
                    "content": "long) page is produced.  This is the default  for  terminal  and  HTML  devices.   Use\n-rcR=0 to disable it on terminal devices; on HTML devices, it cannot be disabled.\n"
                },
                {
                    "name": "-rC1",
                    "content": "ting the page number to 1 (or the value of register P) with each new man document.\n"
                },
                {
                    "name": "-rCS=1",
                    "content": "is off by default because it discards case distinction information.\n"
                },
                {
                    "name": "-rCT=1",
                    "content": "footers.   This  transformation is off by default because it discards case distinction\ninformation.\n"
                },
                {
                    "name": "-rD1",
                    "content": "the description of .TH in subsection “Document structure macros” above.\n"
                },
                {
                    "name": "-rFT=_",
                    "content": "Set distance of the footer relative to the bottom of the page to footer-distance; this\namount is always negative.  At one half-inch above this location,  the  page  text  is\nbroken  before  writing  the footer.  Ignored if continuous rendering is enabled.  The\ndefault is -0.5i.\n"
                },
                {
                    "name": "-dHF=_",
                    "content": "Set the font used for section and subsection headings; the default is “B” (bold  style\nof the default family).  Any valid argument to groff's “.ft” request may be used.  See\ngroff(7).\n"
                },
                {
                    "name": "-rHY=0",
                    "content": "determined by the groff locale; see section “Localization“ of groff(7).\n"
                },
                {
                    "name": "-rIN=_",
                    "content": "Set the amount of indentation used for ordinary paragraphs (.P and its  synonyms)  and\nthe  default  indentation  amount  used by .IP, .RS, .TP, and the deprecated .HP.  See\nsubsection “Horizontal and vertical spacing” above for the default.  For terminal  de‐\nvices,  standard-indentation  should  always be an integer multiple of unit “n” to get\nconsistent indentation.\n"
                },
                {
                    "name": "-rLL=_",
                    "content": "Set line length; the default is 78n for terminal devices and 6.5i for typesetting  de‐\nvices.\n"
                },
                {
                    "name": "-rLT=_",
                    "content": "Set  the line length for titles.  (“Titles” is the roff term for headers and footers.)\nBy default, it is set to the line length (see -rLL above).\n"
                },
                {
                    "name": "-dMF=_",
                    "content": "Set the font used for man page topics named in .TH and .MR calls; the default  is  “I”\n(italic style of the default family).  Any valid argument to groff's “.ft” request may\nbe  used.   If the MF string ends in “I”, it is assumed to be an oblique typeface, and\nitalic corrections are applied before and after man page topics.\n"
                },
                {
                    "name": "-rP_",
                    "content": ""
                },
                {
                    "name": "-rS_",
                    "content": "Use type-size for the document's body text;  acceptable  values  are  10,  11,  or  12\npoints.  See subsection “Font style macros” above for the default.\n"
                },
                {
                    "name": "-rSN=_",
                    "content": "Set  indentation  of  subsection  headings  to subsection-indentation.  See subsection\n“Horizontal and vertical spacing” above for the default.\n"
                },
                {
                    "name": "-rU1",
                    "content": "enables them by default; grotty does not, pending more widespread  pager  support  for\nOSC  8 escape sequences.  Use -rU0 to disable hyperlinks; this will make the arguments\nto MT and UR calls visible in the document text produced by link-capable drivers.\n"
                },
                {
                    "name": "-rX_",
                    "content": "suffixed  page  letter uses format “a” (see the “.af” request in groff(7)).  For exam‐\nple, the option -rX2 produces the following page numbers: 1, 2, 2a, 2b, ..., 2aa, 2ab,\nand so on.\n"
                }
            ]
        },
        "Files": {
            "content": "/usr/share/groff/1.23.0/tmac/an.tmac\nMost man macros are defined in this file.  It also loads extensions  from  an-ext.tmac\n(see below).\n\n/usr/share/groff/1.23.0/tmac/andoc.tmac\nThis  brief  groff program detects whether the man or mdoc macro package is being used\nby a document and loads the correct macro definitions, taking advantage  of  the  fact\nthat  pages using them must call .TH or .Dd, respectively, before any other macros.  A\nman program or user typing, for example, “groff -mandoc page.1”, need not  know  which\npackage  the  file page.1 uses.  Multiple man pages, in either format, can be handled;\nandoc reloads each macro package as necessary.\n\n/usr/share/groff/1.23.0/tmac/an-ext.tmac\nExcept for .SB, definitions of macros described above as extensions are  contained  in\nthis  file;  in  some  cases,  they  are  simpler versions of definitions appearing in\nan.tmac, and are ignored if the formatter is GNU troff.  They are written to  be  com‐\npatible  with AT&T troff and permissively licensed—not copylefted.  To reduce the risk\nof name space collisions, string and register names begin only with “m”.  We encourage\nman page authors who are concerned about portability to legacy Unix  systems  to  copy\nthese  definitions into their pages, and maintainers of troff implementations or work-\nalike systems that format man pages to re-use them.\n\nThe definitions for these macros are read after a page calls .TH, so they will replace\nany macros of the same names preceding it in your file.  If you use your own implemen‐\ntations of these macros, they must be defined after .TH is called to have any  effect.\nFurthermore,  it is wise to define such page-local macros (if at all) after the “Name”\nsection to accommodate timid makewhatis or mandb  implementations  that  may  give  up\ntheir scan for indexing material early.\n\n/usr/share/groff/1.23.0/tmac/man.tmac\nThis is a wrapper that loads an.tmac.\n\n/usr/share/groff/1.23.0/tmac/mandoc.tmac\nThis is a wrapper that loads andoc.tmac.\n\n/usr/share/groff/site-tmac/man.local\nPut site-local changes and customizations into this file.\n\n.\\\" Use narrower indentation on terminals and similar.\n.if n .nr IN 4n\n.\\\" Put only one space after the end of a sentence.\n.ss 12 0 \\\" See groff(7).\n.\\\" Keep pages narrow even on wide terminals.\n.if n .if \\n[LL]>78n .nr LL 78n\n.\\\" Ensure hyperlinks are enabled for terminals.\n.nr U 1\n\nOn  multi-user  systems,  it is more considerate to users whose preferences may differ\nfrom the administrator's to be less aggressive with such settings, or to permit  their\noverride  with a user-specific man.local file.  Place the requests below at the end of\nthe site-local file to manifest courtesy.\n.soquiet \\V[XDGCONFIGHOME]/man.local\n.soquiet \\V[HOME]/.man.local\nHowever, a security-sandboxed man(1) program may lack permission to open such files.\n",
            "subsections": []
        },
        "Notes": {
            "content": "Some tips on troubleshooting your man pages follow.\n\n• Some ASCII characters look funny or copy and paste wrong.\nOn devices with large glyph repertoires, like UTF-8-capable terminals and PDF, several\nkeyboard glyphs are mapped to code points outside the Unicode basic  Latin  range  be‐\ncause that usually results in better typography in the general case.  When documenting\nGNU/Linux command or C language syntax, however, this translation is sometimes not de‐\nsirable.\n\nTo get a “literal”...   ...should be input.\n────────────────────────────────────────────\n'   \\(aq\n-   \\-\n\\   \\(rs\n^   \\(ha\n`   \\(ga\n~   \\(ti\n────────────────────────────────────────────\n\nAdditionally, if a neutral double quote (\") is needed in a macro argument, you can use\n\\(dq to get it.  You should not use \\(aq for an ordinary apostrophe (as in “can't”) or\n\\-  for  an  ordinary  hyphen (as in “word-aligned”).  Review subsection “Portability”\nabove.\n\n• Do I ever need to use an empty macro argument (\"\")?\nProbably not.  When this seems necessary, often a shorter or  clearer  alternative  is\navailable.\n\nInstead of...               ...should be considered.\n────────────────────────────────────────────────────────────────\n.TP \"\"                         .TP\n────────────────────────────────────────────────────────────────\n.BI \"\" italic-text bold-text   .IB italic-text bold-text\n────────────────────────────────────────────────────────────────\n.TH foo 1 \"\" \"foo 1.2.3\"       .TH foo 1 yyyy-mm-dd \"foo 1.2.3\"\n────────────────────────────────────────────────────────────────\n.IP \"\" 4n                      .IP\n────────────────────────────────────────────────────────────────\n.IP \"\" 4n                      .RS 4n\nparagraph                      .P\n...                            paragraph\n...                            .RE\n────────────────────────────────────────────────────────────────\n.B one two \"\" three            .B one two three\n\nIn  the  title  heading  (.TH), the date of the page's last revision is more important\nthan packaging information; it should not be omitted.  Ideally, a page maintainer will\nkeep both up to date.\n\n.IP is sometimes ill-understood and misused, especially when  no  marker  argument  is\nsupplied—an indentation argument is not required.  By setting an explicit indentation,\nyou  may  be  overriding the reader's preference as set with the -rIN option.  If your\npage renders adequately without one, use the simpler form.  If you need to indent mul‐\ntiple (unmarked) paragraphs, consider setting an inset region with  .RS  and  .RE  in‐\nstead.\n\nIn  the  last example, the empty argument does have a subtly different effect than its\nsuggested replacement: the empty argument causes an additional space character  to  be\ninterpolated  between  the  arguments  “two”  and “three”—but it is a regular breaking\nspace, so it can be discarded at the end of an output line.  It is better  not  to  be\nsubtle, particularly with space, which can be overlooked in source and rendered forms.\n\n• .RS doesn't indent relative to my indented paragraph.\nThe  .RS  macro sets the left margin; that is, the position at which an ordinary para‐\ngraph (.P and its synonyms) will be set.  .IP, .TP, and the  deprecated  .HP  use  the\nsame default indentation.  If not given an argument, .RS moves the left margin by this\nsame  amount.   To create an inset relative to an indented paragraph, call .RS repeat‐\nedly until an acceptable indentation is achieved, or give .RS an indentation  argument\nthat is at least as much as the paragraph's indentation amount relative to an adjacent\n.P paragraph.  See subsection “Horizontal and vertical spacing” above for the values.\n\nAnother  approach  you  can use with tagged paragraphs is to place an .RS call immedi‐\nately after the paragraph tag; this will also force a break regardless of the width of\nthe tag, which some authors prefer.  Follow-up paragraphs under the tag  can  then  be\nset  with  .P  instead  of .IP.  Remember to use .RE to end the indented region before\nstarting the next tagged paragraph (at the appropriate nesting level).\n\n• .RE doesn't move the inset back to the expected level.\n• warning: scaling unit invalid in context\n• warning: register 'an-saved-marginn' not defined\n• warning: register 'an-saved-prevailing-indentn' not defined\nThe .RS macro takes an indentation amount as an argument; the .RE macro's argument  is\na  specific  inset  level.  .RE 1 goes to the level before any .RS macros were called,\n.RE 2 goes to the level of the first .RS call you made, and so forth.  If  you  desire\nsymmetry  in  your  macro calls, simply issue one .RE without an argument for each .RS\nthat precedes it.\n\nAfter calls to the .SH and .SS sectioning macros, all relative insets are cleared  and\ncalls to .RE have no effect until .RS is used again.\n\n• Do I need to keep typing the indentation in a series of .IP calls?\nNot  if you don't want to change it.  Review subsection “Horizontal and vertical spac‐\ning” above.\n\nInstead of...     ...should be considered.\n─────────────────────────────────────────────\n.IP \\(bu 4n         .IP \\(bu 4n\nparagraph           paragraph\n.IP \\(bu 4n         .IP \\(bu\nanother-paragraph   another-paragraph\n─────────────────────────────────────────────\n\n• Why doesn't the package provide a string to insert an ellipsis?\nExamples of ellipsis usage are shown above, in subsection “Command  synopsis  macros”.\nThe  idiomatic  roff ellipsis is three dots (periods) with thin space escape sequences\n\\| internally separating them.  Since dots both begin control lines and are  candidate\nend-of-sentence characters, however, it is sometimes necessary to prefix and/or suffix\nan  ellipsis  with the dummy character escape sequence \\&.  That fact stands even if a\nstring is defined to contain the sequence; further, if the string ends with  \\&,  end-\nof-sentence detection is defeated when you use the string at the end of an actual sen‐\ntence.   (Ending  a sentence with an ellipsis is often poor style, but not always.)  A\nhypothetical string EL that contained an ellipsis, but not the trailing dummy  charac‐\nter \\&, would then need to be suffixed with the latter when not ending a sentence.\n\nInstead of...              ...do this.\n──────────────────────────────────────────────────\n.ds EL \\&.\\|.\\|.         Arguments are\nArguments are            .IR src-file\\~ .\\|.\\|.\\&\n.IR src-file\\~ \\*(EL\\&   .IR dest-dir .\n.IR dest-dir .\n──────────────────────────────────────────────────\n\nThe  first  column  practices  a false economy; the savings in typing is offset by the\ncost of obscuring even the suggestion of an ellipsis to a casual reader of the  source\ndocument,  and  reduced portability to non-roff man page formatters that cannot handle\nstring definitions.\n\nThere is an ellipsis code point in Unicode, and some fonts  have  an  ellipsis  glyph,\nwhich  some  man  pages have accessed in a non-portable way with the font-dependent \\N\nescape sequence.  We discourage the use of these; on terminals,  they  may  crowd  the\ndots into a half-width character cell, and will not render at all if the output device\ndoesn't  have  the glyph.  In syntax synopses, missing ellipses can cause great confu‐\nsion.  Dots and space are universally supported.\n",
            "subsections": []
        },
        "Authors": {
            "content": "The initial GNU implementation of the man macro package was written by James  Clark.   Later,\nWerner Lemberg  supplied the S, LT, and cR registers, the last a 4.3BSD-Reno mdoc(7) feature.\nLarry Kollar added the FT, HY, and SN registers; the HF string; and the PT and BT macros.  G.\nBranden Robinson implemented the AD and MF strings; CS, CT,  and  U  registers;  and  the  MR\nmacro.   Except  for  .SB, the extension macros were written by Lemberg, Eric S. Raymond, and\nRobinson.\n\nThis document was originally written for the Debian GNU/Linux system  by  Susan G. Kleinmann.\nIt  was  corrected and updated by Lemberg and Robinson.  The extension macros were documented\nby Raymond and Robinson.  Raymond also originated the  portability  section,  to  which  Ingo\nSchwarze contributed most of the material on escape sequences.\n\nSee also\ntbl(1), eqn(1), and refer(1) are preprocessors used with man pages.  man(1) describes the man\npage librarian on your system.  groffmdoc(7) details the groff version of the BSD-originated\nalternative macro package for man pages.\n\ngroffman(7), groff(7), groffchar(7), man(7)\n\ngroff 1.23.0                                31 March 2024                         groffmanstyle(7)",
            "subsections": []
        }
    },
    "flags": [],
    "examples": [],
    "see_also": []
}