{
    "content": [
        {
            "type": "text",
            "text": "# groff_mm (man)\n\n## NAME\n\ngroffmm - memorandum macros for GNU roff\n\n## SYNOPSIS\n\ngroff -mm [option ...] [file ...]\ngroff -m mm [option ...] [file ...]\n\n## DESCRIPTION\n\nThe  groff  mm macros are intended to be compatible with the DWB mm macros with the following\nlimitations:\n\n## Sections\n\n- **NAME**\n- **SYNOPSIS**\n- **DESCRIPTION** (13 subsections)\n- **INTERNALS**\n- **FILES**\n- **AUTHORS**\n- **SEE ALSO**\n\nUse structuredContent.sections for detailed options, examples, and full documentation.\n"
        }
    ],
    "structuredContent": {
        "command": "groff_mm",
        "section": "",
        "mode": "man",
        "summary": "groffmm - memorandum macros for GNU roff",
        "synopsis": "groff -mm [option ...] [file ...]\ngroff -m mm [option ...] [file ...]",
        "tldr_summary": null,
        "tldr_examples": [],
        "tldr_source": null,
        "flags": [
            {
                "flag": "-f",
                "long": null,
                "arg": null,
                "description": "have to replace the font at position 2 (with a call to ‘.fp 2 ...’)."
            }
        ],
        "examples": [],
        "see_also": [
            {
                "name": "groff",
                "section": "1",
                "url": "https://www.chedong.com/phpMan.php/man/groff/1/json"
            },
            {
                "name": "troff",
                "section": "1",
                "url": "https://www.chedong.com/phpMan.php/man/troff/1/json"
            },
            {
                "name": "tbl",
                "section": "1",
                "url": "https://www.chedong.com/phpMan.php/man/tbl/1/json"
            },
            {
                "name": "pic",
                "section": "1",
                "url": "https://www.chedong.com/phpMan.php/man/pic/1/json"
            },
            {
                "name": "eqn",
                "section": "1",
                "url": "https://www.chedong.com/phpMan.php/man/eqn/1/json"
            },
            {
                "name": "groffmmse",
                "section": "7",
                "url": "https://www.chedong.com/phpMan.php/man/groffmmse/7/json"
            }
        ],
        "section_outline": [
            {
                "name": "NAME",
                "lines": 2,
                "subsections": []
            },
            {
                "name": "SYNOPSIS",
                "lines": 3,
                "subsections": []
            },
            {
                "name": "DESCRIPTION",
                "lines": 21,
                "subsections": [
                    {
                        "name": "Number registers and strings",
                        "lines": 17
                    },
                    {
                        "name": "Special formatting of number registers",
                        "lines": 16
                    },
                    {
                        "name": "Fonts",
                        "lines": 4
                    },
                    {
                        "name": "-f",
                        "lines": 2,
                        "flag": "-f"
                    },
                    {
                        "name": "Macros",
                        "lines": 438
                    },
                    {
                        "name": "}0 (string)",
                        "lines": 3
                    },
                    {
                        "name": ";0 (register)",
                        "lines": 5
                    },
                    {
                        "name": "}2 (string)",
                        "lines": 4
                    },
                    {
                        "name": ";3 (register)",
                        "lines": 588
                    },
                    {
                        "name": "Strings used in mm",
                        "lines": 41
                    },
                    {
                        "name": "Letdate",
                        "lines": 36
                    },
                    {
                        "name": "Letnsdef",
                        "lines": 24
                    },
                    {
                        "name": "Number variables used in mm",
                        "lines": 176
                    }
                ]
            },
            {
                "name": "INTERNALS",
                "lines": 26,
                "subsections": []
            },
            {
                "name": "FILES",
                "lines": 8,
                "subsections": []
            },
            {
                "name": "AUTHORS",
                "lines": 3,
                "subsections": []
            },
            {
                "name": "SEE ALSO",
                "lines": 6,
                "subsections": []
            }
        ],
        "sections": {
            "NAME": {
                "content": "groffmm - memorandum macros for GNU roff\n",
                "subsections": []
            },
            "SYNOPSIS": {
                "content": "groff -mm [option ...] [file ...]\ngroff -m mm [option ...] [file ...]\n",
                "subsections": []
            },
            "DESCRIPTION": {
                "content": "The  groff  mm macros are intended to be compatible with the DWB mm macros with the following\nlimitations:\n\n••      No Bell Labs localisms are implemented.\n\n••      The macros OK and PM are not implemented.\n\n••      groff mm does not support cut marks.\n\nmm is intended to support easy localization.  Use mmse as an example how to adapt the  output\nformat to a national standard.  Localized strings are collected in the file /usr/share/groff/\n1.22.4/tmac/xx.tmac, where xx denotes the two-letter code for the language, as defined in the\nISO  639 standard.  For Swedish, this is ‘sv.tmac’ – not ‘se’, which is the ISO 3166 two-let‐\nter code for the country (as used for the output format localization).\n\nA file called locale or countrylocale is read after the initialization of the  global  vari‐\nables.   It is therefore possible to localize the macros with a different company name and so\non.\n\nIn this manual, square brackets are used to show optional arguments.\n",
                "subsections": [
                    {
                        "name": "Number registers and strings",
                        "content": "Many macros can be controlled by number registers and strings.  A number register is assigned\nwith the nr command:\n\n.nr XXX [±±]n [i]\n\nXXX  is the name of the register, n is the value to be assigned, and i is the increment value\nfor auto-increment.  n can have a plus or minus sign as a prefix if an increment or decrement\nof  the current value is wanted.  (Auto-increment or auto-decrement occurs if the number reg‐\nister is used with a plus or minus sign, \\n+[XXX] or \\n-[XXX].)\n\nStrings are defined with ds.\n\n.ds YYY string\n\nThe string is assigned everything to the end of the line, even  blanks.   Initial  blanks  in\nstring should be prefixed with a double-quote.  (Strings are used in the text as \\*[YYY].)\n"
                    },
                    {
                        "name": "Special formatting of number registers",
                        "content": "A  number register is printed with normal digits if no format has been given.  Set the format\nwith af:\n\n.af R c\n\nR is the name of the register, c is the format.\n\nForm   Sequence\n1      0, 1, 2, 3, ...\n001    000, 001, 002, 003, ...\ni      0, i, ii, iii, iv, ...\nI      0, I, II, III, IV, ...\na      0, a, b, c, ..., z, aa, ab, ...\n\nA      0, A, B, C, ..., Z, AA, AB, ...\n"
                    },
                    {
                        "name": "Fonts",
                        "content": "In mm, the fonts (or rather, font styles) R (normal), I (italic), and B (bold) are  hardwired\nto  font  positions 1, 2, and 3, respectively.  Internally, font positions are used for back‐\nwards compatibility.  From a practical point of view it doesn't make a  big  difference  –  a\ndifferent  font family can still be selected with a call to the .fam request or using groff's"
                    },
                    {
                        "name": "-f",
                        "content": "have to replace the font at position 2 (with a call to ‘.fp 2 ...’).\n",
                        "flag": "-f"
                    },
                    {
                        "name": "Macros",
                        "content": ")E level text\nAdd heading text text to the table of contents with level, which is either 0 or in the\nrange 1 to 7.  See also .H.  This macro is used for customized tables of contents.\n\n1C [1] Begin one-column processing.  A 1 as an argument disables the page  break.   Use  wide\nfootnotes, small footnotes may be overprinted.\n\n2C     Begin two-column processing.  Splits the page in two columns.  It is a special case of\nMC.  See also 1C.\n\nAE     Abstract end, see AS.\n\nAF [name-of-firm]\nAuthor's firm, should be called before AU, see also COVER.\n\nAL [type [text-indent [1]]]\nStart auto-increment list.  Items are numbered beginning with one.  The type  argument\ncontrols the format of numbers.\n\nArg   Description\n1     Arabic (the default)\nA     Upper-case letters (A–Z)\na     Lower-case letters (a–z)\nI     Upper-case roman\ni     Lower-case roman\n\ntext-indent  sets the indentation and overrides Li.  A third argument prohibits print‐\ning of a blank line before each item.\n\nAPP name text\nBegin an appendix with name name.  Automatic naming occurs if name is \"\".  The  appen‐\ndices  start  with A if automatic naming is used.  A new page is ejected, and a header\nis also produced if the number variable Aph is non-zero.  This is  the  default.   The\nappendix always appears in the ‘List of contents’ with correct page numbers.  The name\n‘APPENDIX’ can be changed by setting the string App to the desired text.   The  string\nApptxt contains the current appendix text.\n\nAPPSK name pages text\nSame  as  .APP, but the page number is incremented with pages.  This is used when dia‐\ngrams or other non-formatted documents are included as appendices.\n\nAS [arg [indent]]\nAbstract start.  Indentation is specified in ‘ens’, but scaling is allowed.   Argument\narg controls where the abstract is printed.\n\nArg   Placement\n0     Abstract is printed on page 1 and on the cover sheet if used in the released-pa‐\nper style (MT 4), otherwise it is printed on page 1 without a cover sheet.\n1     Abstract is only printed on the cover sheet (MT 4 only).\n2     Abstract is printed only on the cover sheet (other than MT 4 only).   The  cover\nsheet is printed without a need for CS.\n\nAn  abstract  is  not printed at all in external letters (MT 5).  The indent parameter\ncontrols the indentation of both margins, otherwise normal text indentation is used.\n\nAST [title]\nAbstract title.  Default is ‘ABSTRACT’.  Sets the text above the abstract text.\n\nAT title1 [title2 [...]]\nAuthor's title.  AT must appear just after each AU.  The title shows up after the name\nin the signature block.\n\nAU [name [initials [loc [dept [ext [room [arg [arg [arg]]]]]]]]]\nAuthor  information.  Specifies the author of the memo or paper, and is printed on the\ncover sheet and on other similar places.  AU must not appear before  TL.   The  author\ninformation can contain initials, location, department, telephone extension, room num‐\nber or name and up to three extra arguments.\n\nAV [name [1]]\nApproval signature.  Generates an approval line with place  for  signature  and  date.\nThe  string  ‘APPROVED:’  can  be changed with variable Letapp; it is replaced with an\nempty lin if there is a second argument.  The string ‘Date’ can be changed with  vari‐\nable Letdate.\n\nAVL [name]\nLetter signature.  Generates a line with place for signature.\n\nB [bold-text [prev-font-text [bold [...]]]]\nBegin  boldface.  No limit on the number of arguments.  All arguments are concatenated\nto one word; the first, third and so on is printed in boldface.\n\nB1     Begin box (as the ms macro).  Draws a box around the text.  The text is  indented  one\ncharacter, and the right margin is one character shorter.\n\nB2     End box.  Finishes the box started with B1.\n\nBE     End bottom block, see BS.\n\nBI [bold-text [italic-text [bold-text [...]]]]\nBold-italic.  No limit on the number of arguments, see B.\n\nBL [text-indent [1]]\nStart  bullet  list.  Initializes a list with a bullet and a space in the beginning of\neach list item (see LI).  text-indent overrides the default indentation  of  the  list\nitems  set by number register Pi.  A third argument prohibits printing of a blank line\nbefore each item.\n\nBR [bold-text [roman-text [bold-text [...]]]]\nBold-roman.  No limit on the number of arguments.\n\nBS     Bottom block start.  Begins the definition of a text block which  is  printed  at  the\nbottom of each page.  The block ends with BE.\n\nBVL text-indent [mark-indent [1]]\nStart  of  broken variable-item list.  Broken variable-item list has no fixed mark, it\nassumes that every LI has a mark instead.  The text always begins at the next line af‐\nter  the mark.  text-indent sets the indentation to the text, and mark-indent the dis‐\ntance from the current indentation to the mark.  A third argument  prohibits  printing\nof a blank line before each item.\n\nCOVER [arg]\nBegin  a coversheet definition.  It is important that .COVER appears before any normal\ntext.      This     macro      uses      arg      to      build      the      filename\n/usr/share/groff/1.22.4/tmac/mm/arg.cov.  Therefore it is possible to create unlimited\ntypes of cover sheets.  ms.cov is supposed to look like the ms  cover  sheet.   .COVER\nrequires  a  .COVEND at the end of the cover definition.  Always use this order of the\ncover macros:\n\n.COVER\n.TL\n.AF\n.AU\n.AT\n.AS\n.AE\n.COVEND\n\nHowever, only .TL and .AU are required.\n\nCOVEND Finish the cover description and print the cover page.  It is  defined  in  the  cover\nfile.\n\nDE     Display end.  Ends a block of text or display that begins with DS or DF.\n\nDF [format [fill [rindent]]]\nBegin  floating  display (no nesting allowed).  A floating display is saved in a queue\nand is printed in the order entered.  Format, fill, and rindent are the same as in DS.\nFloating displays are controlled by the two number registers De and Df.\n\nDe register\n\n0   Nothing special, this is the default.\n1   A page eject occurs after each printed display, giving only one display per\npage and no text following it.\n\nDf register\n\n0   Displays are printed at the end of each section (when section-page  number‐\ning is active) or at the end of the document.\n1   A new display is printed on the current page if there is enough space, oth‐\nerwise it is printed at the end of the document.\n2   One display is printed at the top of each page or column  (in  multi-column\nmode).\n3   Print  one display if there is enough space for it, otherwise it is printed\nat the top of the next page or column.\n4   Print as many displays as possible in a new page or column.  A  page  break\noccurs between each display if De is not zero.\n5   Fill the current page with displays and the rest beginning at a new page or\ncolumn.  (This is the default.)  A page break occurs between  each  display\nif De is not zero.\n\nDL [text-indent [1 [1]]]\nDash  list start.  Begins a list where each item is printed after a dash.  text-indent\nchanges the default indentation of the list items set by number register Pi.  A second\nargument  prevents  an  empty  line between each list item.  See LI.  A third argument\nprohibits printing of a blank line before each item.\n\nDS [format [fill [rindent]]]\nStatic display start.  Begins collection of text until DE.  The text  is  printed  to‐\ngether  on  the same page, unless it is longer than the height of the page.  DS can be\nnested arbitrarily.\n\nformat\n\n\"\"     No indentation.\nnone   No indentation.\nL      No indentation.\nI      Indent text with the value of number register Si.\nC      Center each line.\nCB     Center the whole display as a block.\nR      Right-adjust the lines.\nRB     Right-adjust the whole display as a block.\n\nThe values ‘L’, ‘I’, ‘C’, and ‘CB’ can also be specified as ‘0’, ‘1’,  ‘2’,  and  ‘3’,\nrespectively, for compatibility reasons.\n\nfill\n\n\"\"     Line-filling turned off.\nnone   Line-filling turned off.\nN      Line-filling turned off.\nF      Line-filling turned on.\n\n‘N’ and ‘F’ can also be specified as ‘0’ and ‘1’, respectively.\n\nBy  default,  an  empty  line is printed before and after the display.  Setting number\nregister Ds to 0 prevents this.  rindent shortens the line length by that amount.\n\nEC [title [override [flag [refname]]]]\nEquation title.  Sets a title for an equation.  The override argument changes the num‐\nbering.\n\nflag\n\nnone   override is a prefix to the number.\n0      override is a prefix to the number.\n1      override is a suffix to the number.\n2      override replaces the number.\n\nEC  uses the number register Ec as a counter.  It is possible to use .af to change the\nformat of the number.  If number register Of is 1, the format of title uses a dash in‐\nstead of a dot after the number.\n\nThe  string  Le controls the title of the List of Equations; default is ‘LIST OF EQUA‐\nTIONS’.  The List of Equations is only printed if number register Le is  1.   The  de‐\nfault is 0.  The string Liec contains the word ‘Equation’, which is printed before the\nnumber.  If refname is used, then the equation number is saved with .SETR, and can  be\nretrieved with ‘.GETST refname’.\n\nSpecial handling of the title occurs if EC is used inside DS/DE; it is not affected by\nthe format of DS.\n\nEF [arg]\nEven-page footer, printed just above the normal page footer on even pages.  See PF.\n\nThis macro defines string EOPef.\n\nEH [arg]\nEven-page header, printed just below the normal page header on even pages.  See PH.\n\nThis macro defines string TPeh.\n\nEN     Equation end, see EQ.\n\nEOP    End-of-page user-defined macro.  This macro is called instead of the  normal  printing\nof  the footer.  The macro is executed in a separate environment, without any trap ac‐\ntive.  See TP.\n\nStrings available to EOP\n\nEOPf    argument of PF\nEOPef   argument of EF\nEOPof   argument of OF\n\nEPIC [-L] width height [name]\nDraw a box with the given width and height.  It also prints the text name or a default\nstring if name is not specified.  This is used to include external pictures; just give\nthe size of the picture.  -L left-adjusts the picture; the default is to center.   See\nPIC.\n\nEQ [label]\nEquation  start.   EQ/EN  are  the delimiters for equations written for eqn(1).  EQ/EN\nmust be inside of a DS/DE pair, except if EQ is used to set options for eqn only.  The\nlabel argument appears at the right margin of the equation, centered vertically within\nthe DS/DE block, unless number register Eq is 1.  Then the label appears at  the  left\nmargin.\n\nIf  there are multiple EQ/EN blocks within a single DS/DE pair, only the last equation\nlabel (if any) is printed.\n\nEX [title [override [flag [refname]]]]\nExhibit title.  The arguments are the same as for EC.  EX uses the number register  Ex\nas  a  counter.   The string Lx controls the title of the List of Exhibits; default is\n‘LIST OF EXHIBITS’.  The List of Exhibits is only printed if number register Lx is  1,\nwhich  is  the default.  The string Liex contains the word ‘Exhibit’, which is printed\nbefore the number.  If refname is used, the exhibit number is saved  with  .SETR,  and\ncan be retrieved with ‘.GETST refname’.\n\nSpecial handling of the title occurs if EX is used inside DS/DE; it is not affected by\nthe format of DS.\n\nFC [closing]\nPrint ‘Yours very truly,’ as a formal closing of a letter or memorandum.  The argument\nreplaces the default string.  The default is stored in string variable Letfc.\n\nFD [arg [1]]\nFootnote  default  format.  Controls the hyphenation (hyphen), right margin justifica‐\ntion (adjust), and indentation of footnote text (indent).  It can also change the  la‐\nbel justification (ljust).\n\narg   hyphen   adjust   indent   ljust\n0     no       yes      yes      left\n1     yes      yes      yes      left\n2     no       no       yes      left\n3     yes      no       yes      left\n4     no       yes      no       left\n5     yes      yes      no       left\n6     no       no       no       left\n7     yes      no       no       left\n8     no       yes      yes      right\n9     yes      yes      yes      right\n10    no       no       yes      right\n11    yes      no       yes      right\n\nAn  argument  greater than or equal to 11 is considered as value 0.  Default for mm is\n10.\n\nFE     Footnote end.\n\nFG [title [override [flag [refname]]]]\nFigure title.  The arguments are the same as for EC.  FG uses the number  register  Fg\nas  a  counter.   The  string Lf controls the title of the List of Figures; default is\n‘LIST OF FIGURES’.  The List of Figures is only printed if number register  Lf  is  1,\nwhich  is  the  default.  The string Lifg contains the word ‘Figure’, which is printed\nbefore the number.  If refname is used, then the figure number is  saved  with  .SETR,\nand can be retrieved with ‘.GETST refname’.\n\nSpecial handling of the title occurs if FG is used inside DS/DE, it is not affected by\nthe format of DS.\n\nFS [label]\nFootnote start.  The footnote is ended by FE.  By default, footnotes are automatically\nnumbered;  the  number is available in string F.  Just add \\*F in the text.  By adding\nlabel, it is possible to have other number or names on the  footnotes.   Footnotes  in\ndisplays  are now possible.  An empty line separates footnotes; the height of the line\nis controlled by number register Fs, default value is 1.\n\nGETHN refname [varname]\nInclude the header number where the corresponding ‘SETR refname’ was placed.  This  is\ndisplayed  as  ‘X.X.X.’  in  pass  1.   See INITR.  If varname is used, GETHN sets the\nstring variable varname to the header number.\n\nGETPN refname [varname]\nInclude the page number where the corresponding ‘SETR refname’ was  placed.   This  is\ndisplayed as ‘9999’ in pass 1.  See INITR.  If varname is used, GETPN sets the string‐\nvariable varname to the page number.\n\nGETR refname\nCombine GETHN and GETPN with the text ‘chapter’ and ‘, page’.  The string Qrf contains\nthe text for the cross reference:\n\n.ds Qrf See chapter \\\\*[Qrfh], page \\\\*[Qrfp].\n\nQrf  may be changed to support other languages.  Strings Qrfh and Qrfp are set by GETR\nand contain the page and header number, respectively.\n\nGETST refname [varname]\nInclude the string saved with the second argument to .SETR.  This is a dummy string in\npass 1.  If varname is used, GETST sets it to the saved string.  See INITR.\n\nH level [heading-text [heading-suffix]]\nNumbered  section heading.  Section headers can have a level between 1 and 14; level 1\nis the top level.  The text is given in heading-text, and must be surrounded by double\nquotes  if  it contains spaces.  heading-suffix is added to the header in the text but\nnot in the table of contents.  This is normally used for footnote  marks  and  similar\nthings.   Don't  use  \\*F  in heading-suffix, it doesn't work.  A manual label must be\nused, see FS.\n\nA call to the paragraph macro P directly after H is ignored.  H takes care of  spacing\nand indentation.\n\nPage ejection before heading\n\nNumber  register  Ej  controls page ejection before the heading.  By default, a\nlevel-one heading gets two blank lines before it; higher levels only  get  one.\nA  new  page  is  ejected before each first-level heading if number register Ej\nis 1.  All levels below or equal the value of Ej get a new page.  Default value\nfor Ej is 0.\n\nHeading break level\n\nA  line break occurs after the heading if the heading level is less or equal to\nnumber register Hb.  Default value is 2.\n\nHeading space level\n\nA blank line is inserted after the heading if the  heading  level  is  less  or\nequal to number register Hs.  Default value is 2.\n\nText  follows the heading on the same line if the level is greater than both Hb\nand Hs.\n\nPost-heading indent\n\nIndentation of the text after the heading is controlled by number register  Hi.\nDefault value is 0.\n\nHi\n\n0   The text is left-justified.\n1   Indentation of the text follows the value of number register Pt , see P.\n2   The text is lined up with the first word of the heading.\n\nCentered section headings\n\nAll  headings  whose  level  is equal or below number register Hc and also less\nthan or equal to Hb or Hs are centered.\n\nFont control of the heading\n\nThe font of each heading level is controlled by string HF.  It contains a  font\nnumber or font name for each level.  Default value is\n\n2 2 2 2 2 2 2 2 2 2 2 2 2 2\n\n(all headings in italic).  This could also be written as\n\nI I I I I I I I I I I I I I\n\nNote  that  some  other implementations use 3 3 2 2 2 2 2 as the default value.\nAll omitted values are presumed to have value 1.\n\nPoint size control\n\nString HP controls the point size of each heading, in the same way as  HF  con‐\ntrols the font.  A value of 0 selects the default point size.  Default value is\n\n0 0 0 0 0 0 0 0 0 0 0 0 0 0\n\nBeware that only the point size changes, not the vertical size.  The latter can\nbe controlled by the user-specified macros HX and/or HZ.\n\nHeading counters\n\nFourteen number registers named H1 up to H14 contain the counter for each head‐\ning  level.   The values are printed using Arabic numerals; this can be changed\nwith the macro HM (see below).  All marks are concatenated before printing.  To\navoid  this, set number register Ht to 1.  This only prints the current heading\ncounter at each heading.\n\nAutomatic table of contents\n\nAll headings whose level is equal or below number register Cl are saved  to  be\nprinted in the table of contents.  Default value is 2.\n\nSpecial control of the heading, user-defined macros\n\nThe  following macros can be defined by the user to get a finer control of ver‐\ntical spacing, fonts, or other features.  Argument level is the  level-argument\nto  H,  but  0  for  unnumbered headings (see HU).  Argument rlevel is the real\nlevel; it is set to number register Hu for unnumbered headings.  Argument head‐\ning-text is the text argument to H and HU.\n\nHX level rlevel heading-text\nThis  macro is called just before the printing of the heading.  The fol‐\nlowing registers are available for HX.  Note that HX may alter  }0,  }2,\nand ;3.\n"
                    },
                    {
                        "name": "}0 (string)",
                        "content": "Contains  the heading mark plus two spaces if rlevel is non-zero,\notherwise empty.\n"
                    },
                    {
                        "name": ";0 (register)",
                        "content": "Contains the position of the text after  the  heading.   0  means\nthat the text should follow the heading on the same line, 1 means\nthat a line break should occur before the text, and 2 means  that\na blank line should separate the heading and the text.\n"
                    },
                    {
                        "name": "}2 (string)",
                        "content": "Contains  two spaces if register ;0 is 0.  It is used to separate\nthe heading from the text.  The string is empty  if  ;0  is  non-\nzero.\n"
                    },
                    {
                        "name": ";3 (register)",
                        "content": "Contains the needed space in units after the heading.  Default is\n2v.  Can be used to change things like numbering  (}0),  vertical\nspacing (}2), and the needed space after the heading.\n\nHY dlevel rlevel heading-text\nThis  macro is called after size and font calculations and might be used\nto change indentation.\n\nHZ dlevel rlevel heading-text\nThis macro is called after the printing of the heading, just before H or\nHU  exits.   Can be used to change the page header according to the sec‐\ntion heading.\n\nHC [hyphenation-character]\nSet hyphenation character.  Default value is ‘\\%’.  Resets to the  default  if  called\nwithout argument.  Hyphenation can be turned off by setting number register Hy to 0 at\nthe beginning of the file.\n\nHM [arg1 [arg2 [... [arg14]]]]\nHeading mark style.  Controls the type of marking for printing of  the  heading  coun‐\nters.  Default is 1 for all levels.\n\nArgument\n\n1      Arabic numerals.\n0001   Arabic numerals with leading zeroes, one or more.\nA      upper-case alphabetic\na      lower-case alphabetic\nI      upper-case roman numerals\ni      lower-case roman numerals\n\"\"     Arabic numerals.\n\nHU heading-text\nUnnumbered  section  header.   HU  behaves  like H at the level in number register Hu.\nSee H.\n\nHX dlevel rlevel heading-text\nUser-defined heading exit.  Called just before printing the header.  See H.\n\nHY dlevel rlevel heading-text\nUser-defined heading exit.  Called just before printing the header.  See H.\n\nHZ dlevel rlevel heading-text\nUser-defined heading exit.  Called just after printing the header.  See H.\n\nI [italic-text [prev-font-text [italic-text [...]]]]\nItalic.  Changes the font to italic if called without arguments.  With one argument it\nsets  the  word in italic.  With two arguments it concatenates them and sets the first\nword in italic and the second in the previous font.  There is no limit on  the  number\nof argument; all are concatenated.\n\nIA [addressee-name [title]]\nBegin specification of the addressee and addressee's address in letter style.  Several\nnames can be specified with empty IA/IE-pairs, but only one address.  See LT.\n\nIB [italic-text [bold-text [italic-text [...]]]]\nItalic-bold.  Even arguments are printed in italic, odd in boldface.  See I.\n\nIE     End the address specification after IA.\n\nINITI type filename [macro]\nInitialize the new index system and set the filename to collect index  lines  in  with\nIND.  Argument type selects the type of index: page number, header marks or both.  The\ndefault is page numbers.\n\nIt is also possible to create a macro that is responsible  for  formatting  each  row;\njust add the name of the macro as a third argument.  The macro is then called with the\nindex as argument(s).\n\ntype\n\nN   Page numbers\n\nH   Header marks\nB   Both page numbers and header marks, separated with a tab character.\n\nINITR filename\nInitialize the cross reference macros.  Cross references are written to stderr and are\nsupposed  to  be  redirected  into file filename.qrf.  Requires two passes with groff;\nthis is handled by a separate program called mmroff(1).  This program  exists  because\ngroff(1) by default deactivates the unsafe operations that are required by INITR.  The\nfirst pass looks for cross references, and the second one includes them.  INITR can be\nused several times, but it is only the first occurrence of INITR that is active.\n\nSee also SETR, GETPN, and GETHN.\n\nIND arg1 [arg2 [...]]\nWrite  a line in the index file selected by INITI with all arguments and the page num‐\nber or header mark separated by tabs.\n\nExamples\n\narg1\\tpage number\narg1\\targ2\\tpage number\narg1\\theader mark\narg1\\tpage number\\theader mark\n\nINDP   Print the index by running the command specified by string variable Indcmd, which  has\n‘sort -t\\t’  as the default value.  INDP reads the output from the command to form the\nindex, by default in two columns (this can be changed by defining TYIND).   The  index\nis  printed with string variable Index as header, default is ‘INDEX’.  One-column pro‐\ncessing is reactivated after the list.  INDP  calls  the  user-defined  macros  TXIND,\nTYIND,  and  TZIND  if  defined.   TXIND is called before printing the string ‘INDEX’,\nTYIND is called instead of printing ‘INDEX’, and TZIND is called  after  the  printing\nand should take care of restoring to normal operation again.\n\nISODATE [0]\nChange  the  predefined  date string in DT to ISO-format, this is, ‘YYYY-MM-DD’.  This\ncan also be done by adding -rIso=1 on the command line.  Reverts to old date format if\nargument is 0.\n\nIR [italic-text [roman-text [italic-text [...]]]]\nItalic-roman.  Even arguments are printed in italic, odd in roman.  See I.\n\nLB text-indent mark-indent pad type [mark [LI-space [LB-space]]]\nList-begin  macro.   This  is the common macro used for all lists.  text-indent is the\nnumber of spaces to indent the text from the current indentation.\n\npad and mark-indent control where to put the mark.  The mark is placed within the mark\narea, and mark-indent sets the number of spaces before this area.  By default it is 0.\nThe mark area ends where the text begins.  The start of the text is  still  controlled\nby text-indent.\n\nThe  mark  is  left-justified  within  the  mark  area if pad is 0.  If pad is greater\nthan 0, mark-indent is ignored, and the mark is placed pad  spaces  before  the  text.\nThis right-justifies the mark.\n\nIf  type is 0 the list either has a hanging indentation or, if argument mark is given,\nthe string mark as a mark.\n\nIf type is greater than 0 automatic numbering occurs, using arabic numbers if mark  is\nempty.  mark can then be any of ‘1’, ‘A’, ‘a’, ‘I’, or ‘i’.\n\ntype selects one of six possible ways to display the mark.\n\ntype\n\n1   x.\n2   x)\n3   (x)\n4   [x]\n\n5   <x>\n6   {x}\n\nEvery item in the list gets LI-space number of blank lines before them.  Default is 1.\n\nLB itself prints LB-space blank lines.  Default is 0.\n\nLC [list-level]\nList-status clear.  Terminates all current active lists down to list-level, or 0 if no\nargument is given.  This is used by H to clear any active list.\n\nLE [1] List end.  Terminates the current list.  LE outputs a blank line  if  an  argument  is\ngiven.\n\nLI [mark [1|2]]\nList item preceding every item in a list.  Without argument, LI prints the mark deter‐\nmined by the current list type.  By giving LI one argument, it uses that as  the  mark\ninstead.   Two  arguments  to LI makes mark a prefix to the current mark.  There is no\nseparating space between the prefix and the mark if the second argument is ‘2’ instead\nof ‘1’.  This behaviour can also be achieved by setting number register Limsp to zero.\nA zero length mark makes a hanging indentation instead.\n\nA blank line is printed before the list item by default.  This behaviour can  be  con‐\ntrolled  by  number  register Ls.  Pre-spacing occurs for each list level less than or\nequal to Ls.  Default value is 99.  There is no nesting limit.\n\nThe indentation can be changed through number register Li.  Default is 6.\n\nAll lists begin with a list initialization macro, LB.  There are, however, seven  pre‐\ndefined  list  types to make lists easier to use.  They all call LB with different de‐\nfault values.\n\nAL    Automatically Incremented List\nML    Marked List\nVL    Variable-Item List\nBL    Bullet List\nDL    Dash List\nRL    Reference List\nBVL   Broken Variable List.\n\nThese lists are described at other places in this manual.  See also LB.\n\nLT [arg]\nFormat a letter in one of four different styles depending on the argument.   Also  see\nsection “Internals” below.\n\nArg   Style\nBL    Blocked.   Date line, return address, writer's address and closing begins\nat the center of the line.  All other lines begin at the left margin.\nSB    Semi-blocked.  Same as blocked, except that the first line in every para‐\ngraph is indented five spaces.\nFB    Full-blocked.  All lines begin at the left margin.\nSP    Simplified.   Almost the same as the full-blocked style.  Subject and the\nwriter's identification are printed in all-capital.\n\nLO type [arg]\nSpecify options in letter (see .LT).  This is a list of the standard options:\n\nCN   Confidential notation.  Prints ‘CONFIDENTIAL’ on the second line below the\ndate  line.   Any argument replaces ‘CONFIDENTIAL’.  See also string vari‐\nable LetCN.\nRN   Reference notation.  Prints ‘In reference to:’ and the argument two  lines\nbelow the date line.  See also string variable LetRN.\nAT   Attention.  Prints ‘ATTENTION:’ and the argument below the inside address.\nSee also string variable LetAT.\nSA   Salutation.  Prints ’To Whom It May Concern:’ or the argument  if  it  was\npresent.   The  salutation  is printed two lines below the inside address.\nSee also string variable LetSA.\n\nSJ   Subject line.  Prints the argument as subject prefixed with ‘SUBJECT:’ two\nlines below the inside address, except in letter type ‘SP’, where the sub‐\nject is printed in all-capital without any prefix.  See also string  vari‐\nable LetSJ.\n\nMC column-size [column-separation]\nBegin  multiple columns.  Return to normal with 1C.  MC creates as many columns as the\ncurrent line length permits.  column-size is the width of each column, and column-sep‐\naration  is the space between two columns.  Default separation is column-size/15.  See\nalso 1C.\n\nML mark [text-indent [1]]\nMarked list start.  The mark argument is printed before each list  item.   text-indent\nsets the indent and overrides Li.  A third argument prohibits printing of a blank line\nbefore each item.\n\nMT [arg [addressee]]\nMemorandum   type.    The   argument    arg    is    part    of    a    filename    in\n/usr/share/groff/1.22.4/tmac/mm/*.MT.   Memorandum types 0 to 5 are supported, includ‐\ning type ‘string’ (which gets internally mapped to type 6).   addressee  just  sets  a\nvariable, used in the AT&T macros.\n\narg\n\n0   Normal memorandum, no type printed.\n1   Memorandum with ‘MEMORANDUM FOR FILE’ printed.\n2   Memorandum with ‘PROGRAMMER'S NOTES’ printed.\n3   Memorandum with ‘ENGINEER'S NOTES’ printed.\n4   Released paper style.\n5   External letter style.\n\nSee also COVER/COVEND, a more flexible type of front page.\n\nMOVE y-pos [x-pos [line-length]]\nMove  to  a  position, setting page offset to x-pos.  If line-length is not given, the\ndifference between current and new page offset is used.  Use PGFORM without  arguments\nto return to normal.\n\nMULB cw1 space1 [cw2 space2 [cw3 ...]]\nBegin  a  special multi-column mode.  All columns widths must be specified.  The space\nbetween the columns must be specified also.  The last column does not need  any  space\ndefinition.   MULB starts a diversion, and MULE ends the diversion and prints the col‐\numns.  The unit for the width and space arguments is ‘n’, but MULB accepts all  normal\nunit specifications like ‘c’ and ‘i’.  MULB operates in a separate environment.\n\nMULN   Begin the next column.  This is the only way to switch the column.\n\nMULE   End the multi-column mode and print the columns.\n\nnP [type]\nPrint numbered paragraph with header level two.  See .P.\n\nNCOL   Force  printing to the next column.  Don't use this together with the MUL* macros, see\n2C.\n\nNS [arg [1]]\nPrint different types of notations.  The argument selects between the predefined  type\nof  notations.  If the second argument is available, then the argument becomes the en‐\ntire notation.  If the argument doesn't select a predefined type,  it  is  printed  as\n‘Copy  (arg) to’.  It is possible to add more standard notations, see the string vari‐\nables Letns and Letnsdef.\n\nArg    Notation\nnone   Copy To\n\"\"     Copy To\n1      Copy To (with att.) to\n2      Copy To (without att.) to\n3      Att.\n\n4      Atts.\n5      Enc.\n6      Encs.\n7      Under separate cover\n8      Letter to\n9      Memorandum to\n10     Copy (with atts.) to\n11     Copy (without atts.) to\n12     Abstract Only to\n13     Complete Memorandum to\n14     CC\n\nND new-date\nNew date.  Overrides the current date.  Date is not printed if new-date  is  an  empty\nstring.\n\nOF [arg]\nOdd-page footer, a line printed just above the normal footer.  See EF and PF.\n\nThis macro defines string EOPof.\n\nOH [arg]\nOdd-page header, a line printed just below the normal header.  See EH and PH.\n\nThis macro defines string TPoh.\n\nOP     Make sure that the following text is printed at the top of an odd-numbered page.  Does\nnot output an empty page if currently at the top of an odd page.\n\nP [type]\nBegin new paragraph.  P without argument produces left-justified text, even the  first\nline  of the paragraph.  This is the same as setting type to 0.  If the argument is 1,\nthe first line of text following P is indented by the number of spaces in number  reg‐\nister Pi, by default 5.\n\nInstead  of giving an argument to P it is possible to set the paragraph type in number\nregister Pt.  Using 0 and 1 is the same as adding that value to P.  A value of  2  in‐\ndents  all paragraphs, except after headings, lists, and displays (this value can't be\nused as an argument to P itself).\n\nThe space between two paragraphs is controlled by number register Ps, and is 1 by  de‐\nfault (one blank line).\n\nPGFORM [linelength [pagelength [pageoffset [1]]]]\nSet  line length, page length, and/or page offset.  This macro can be used for special\nformatting, like letter heads and other.  It is normally the first command in a  file,\nthough  it is not necessary.  PGFORM can be used without arguments to reset everything\nafter a MOVE call.  A line break is done unless the fourth argument  is  given.   This\ncan  be  used  to  avoid the page number on the first page while setting new width and\nlength.  (It seems as if this macro sometimes doesn't work too well.  Use the command-\nline arguments to change line length, page length, and page offset instead.)\n\nPGNH   No  header  is  printed on the next page.  Used to get rid of the header in letters or\nother special texts.  This macro must be used before any  text  to  inhibit  the  page\nheader on the first page.\n\nPIC [-B] [-L] [-C] [-R] [-I n] filename [width [height]]\nInclude  a PostScript file in the document.  The macro depends on mmroff(1) and INITR.\nThe arguments -L, -C, -R, and -I n adjust the picture or indent it.  With no flag  the\npicture  is  adjusted to the left.  Adding -B draws a box around the picture.  The op‐\ntional width and height can also be given to resize the picture.\n\nPE     Picture end.  Ends a picture for pic(1).\n\nPF [arg]\nPage footer.  PF sets the line to be printed at the bottom of each page.  Empty by de‐\nfault.  See PH for the argument specification.\n\nThis macro defines string EOPf.\n\nPH [arg]\nPage header, a line printed at the top of each page.  The argument should be specified\nas\n\n\"'left-part'center-part'right-part'\"\n\nwhere left-part, center-part, and right-part are printed left-justified, centered, and\nright  justified,  respectively.   Within  the  argument  to  PH, the character ‘%’ is\nchanged to the current page number.  The default argument is\n\n\"''- % -''\"\n\nwhich gives the page number between two dashes.\n\nThis macro defines string TPh.\n\nPS     Picture start (from pic).  Begins a picture for pic(1).\n\nPX     Page header user-defined exit.  This macro is called just after the  printing  of  the\npage header in no-space mode.\n\nR      Roman.  Return to roman font, see also I.\n\nRB [roman-text [bold-text [roman-text [...]]]]\nRoman-bold.  Even arguments are printed in roman, odd in boldface.  See I.\n\nRD [prompt [diversion [string]]]\nRead from standard input to diversion and/or string.  The text is saved in a diversion\nnamed diversion.  Recall the text by writing the name of the diversion after a dot  on\nan  empty line.  A string is also defined if string is given.  Diversion and/or prompt\ncan be empty (\"\").\n\nRF     Reference end.  Ends a reference definition and returns to normal processing.  See RS.\n\nRI [roman-text [italic-text [roman-text [...]]]]\nPrint even arguments in roman, odd in italic.  See I.\n\nRL [text-indent[1]]\nReference list start.  Begins a list where each item is preceded with an automatically\nincremented  number between square brackets.  text-indent changes the default indenta‐\ntion.\n\nRP [arg1 [arg2]]\nProduce reference page.  This macro can be used if a reference page  is  wanted  some‐\nwhere in the document.  It is not needed if TC is used to produce a table of contents.\nThe reference page is then printed automatically.\n\nThe reference counter is not reset if arg1 is 1.\n\narg2 tells RP whether to eject a page or not.\n\narg2\n\n0   The reference page is printed on a separate page.\n1   Do not eject page after the list.\n2   Do not eject page before the list.\n3   Do not eject page before and after the list.\n\nThe reference items are separated by a blank line.  Setting number register  Ls  to  0\nsuppresses the line.\n\nThe string Rp contains the reference page title and is set to ‘REFERENCES’ by default.\nThe number register Rpe holds the default value for the second argument of RP;  it  is\ninitially set to 0.\n\nRS [string-name]\nBegin  an automatically numbered reference definition.  Put the string \\*(Rf where the\nreference mark should be and write the reference between RS/RF at next new line  after\nthe reference mark.  The reference number is stored in number register :R.  If string-\nname is given, a string with that name is defined and contains the  current  reference\nmark.  The string can be referenced as \\*[string-name] later in the text.\n\nS [size [spacing]]\nSet  point  size  and vertical spacing.  If any argument is equal to ‘P’, the previous\nvalue is used.  A ‘C’ means current value, and ‘D’ the default value.  If ‘+’  or  ‘-’\nis  used  before  the  value, the current value is incremented or decremented, respec‐\ntively.\n\nSA [arg]\nSet right-margin justification.  Justification is turned on by default.   No  argument\nor value ‘0’ turns off justification, and ‘1’ turns on justification.\n\nSETR refname [string]\nRemember the current header and page number as refname.  Saves string if string is de‐\nfined.  string is retrieved with .GETST.  See INITR.\n\nSG [arg [1]]\nSignature line.  Prints the authors name(s) after the formal closing.  The argument is\nappended  to the reference data, printed at either the first or last author.  The ref‐\nerence data is the location, department, and  initials  specified  with  .AU.   It  is\nprinted  at  the  first author if the second argument is given, otherwise at the last.\nNo reference data is printed if the author(s) is specified through .WA/.WE.  See  sec‐\ntion “Internals” below.\n\nSK [pages]\nSkip pages.  If pages is 0 or omitted, a skip to the next page occurs unless it is al‐\nready at the top of a page.  Otherwise it skips pages pages.\n\nSM string1 [string2 [string3]]\nMake a string smaller.  If string2 is given, string1 is made smaller and string2 stays\nat  normal  size, concatenated with string1.  With three arguments, everything is con‐\ncatenated, but only string2 is made smaller.\n\nSP [lines]\nSpace vertically.  lines can have any scaling factor, like ‘3i’ or ‘8v’.   Several  SP\ncalls in a line only produces the maximum number of lines, not the sum.  SP is ignored\nalso until the first text line in a page.  Add \\& before a call to SP to avoid this.\n\nTAB    Reset tabs to every 5n.  Normally used to reset any previous tab positions.\n\nTB [title [override [flag [refname]]]]\nTable title.  The arguments are the same as for EC.  TB uses the number register Tb as\na  counter.   The string Lt controls the title of the List of Tables; default value is\n‘LIST OF TABLES’.  The List of Tables is only printed if  number  register  Lt  is  1,\nwhich is the default.  The string Litb contains the word ‘TABLE’, which is printed be‐\nfore the number.\n\nSpecial handling of the title occurs if TB is used inside DS/DE, it is not affected by\nthe format of DS.\n\nTC [slevel [spacing [tlevel [tab [h1 [h2 [h3 [h4 [h5]]]]]]]]]\nTable  of contents.  This macro is normally used as the last line of the document.  It\ngenerates a table of contents with headings up to the level controlled by number  reg‐\nister Cl.  Note that Cl controls the saving of headings, it has nothing to do with TC.\nHeadings with a level less than or equal to slevel get spacing number of lines  before\nthem.   Headings  with  a  level  less than or equal to tlevel have their page numbers\nright-justified with dots or spaces separating the text and the page  number.   Spaces\nare  used  if  tab is greater than zero, dots otherwise.  Other headings have the page\nnumber directly at the end of the heading text (ragged-right).\n\nThe rest of the arguments is printed, centered, before the table of contents.\n\nThe user-defined macros TX and TY are used if TC is called with  at  most  four  argu‐\nments.   TX  is  called before the printing of the string ‘CONTENTS’, and TY is called\ninstead of printing ‘CONTENTS’.\n\nEquivalent macros can be defined for list of figures, tables, equations  and  exhibits\nby defining TXxx or TYxx, where xx is ‘Fg’, ‘TB’, ‘EC’, or ‘EX’, respectively.\n\nString  Ci  can be set to control the indentations for each heading-level.  It must be\nscaled, like\n\n.ds Ci .25i .5i .75i 1i 1i\n\nBy default, the indentation is controlled by the maximum length of  headings  in  each\nlevel.\n\nThe string variables Lifg, Litb, Liex, Liec, and Licon contain ‘Figure’, ‘TABLE’, ‘Ex‐\nhibit’, ‘Equation’, and ‘CONTENTS’, respectively.  These can  be  redefined  to  other\nlanguages.\n\nTE     Table end.  See TS.\n\nTH [N] Table header.  See TS.  TH ends the header of the table.  This header is printed again\nif a page break occurs.  Argument ‘N’ isn't implemented yet.\n\nTL [charging-case-number [filing-case-number]]\nBegin title of memorandum.  All text up to the next  AU  is  included  in  the  title.\ncharging-case-number  and  filing-case-number are saved for use in the front page pro‐\ncessing.\n\nTM [num1 [num2 [...]]]\nTechnical memorandum numbers used in .MT.  An unlimited number  of  arguments  may  be\ngiven.\n\nTP     Top-of-page  user-defined  macro.   This  macro  is  called instead of the normal page\nheader.  It is possible to get complete control over the header.  Note that the header\nand  the  footer  are  printed  in  a separate environment.  Line length is preserved,\nthough.  See EOP.\n\nstrings available to TP\n\nTPh    argument of PH\nTPeh   argument of EH\nTPoh   argument of OH\n\nTS [H] Table start.  This is the start of a table specification to tbl(1).  TS ends with  TE.\nArgument ‘H’ tells mm that the table has a header.  See TH.\n\nTX     User-defined  table  of contents exit.  This macro is called just before TC prints the\nword ‘CONTENTS’.  See TC.\n\nTY     User-defined table of contents exit.  This macro is called instead of  printing  ‘CON‐\nTENTS’.  See TC.\n\nVERBON [flag [point-size [font]]]\nBegin verbatim output using Courier font.  Usually for printing programs.  All charac‐\nters have equal width.  The point size can be changed with the  second  argument.   By\nspecifying  a  third  argument  it is possible to use another font instead of Courier.\nflag controls several special features.  Its value is the sum of all wanted features.\n\nArg   Description\n1     Disable the escape character (\\).  This is normally turned on during ver‐\nbose output.\n2     Add an empty line before the verbose text.\n4     Add an empty line after the verbose text.\n8     Print  the  verbose text with numbered lines.  This adds four digit-sized\nspaces in the beginning of each line.  Finer control  is  available  with\nthe  string  variable  Verbnm.  It contains all arguments to the troff(1)\ncommand .nm, normally ‘1’.\n16    Indent the verbose text by ‘5n’.  This is controlled by the  number-vari‐\nable Verbin (in units).\n\nVERBOFF\nEnd verbatim output.\n\nVL text-indent [mark-indent [1]]\nVariable-item  list.   It  has  no fixed mark, it assumes that every LI has a mark in‐\nstead.  text-indent sets the indent to the text, and mark-indent the distance from the\ncurrent  indentation to the mark.  A third argument prohibits printing of a blank line\nbefore each item.\n\nVM [-T] [top [bottom]]\nVertical margin.  Increase the top and bottom margin by top and bottom,  respectively.\nIf  option  -T  is  specified, set those margins to top and bottom.  If no argument is\ngiven, reset the margin to zero, or to the default (‘7v 5v’) if -T  is  used.   It  is\nhighly  recommended  that macros TP and/or EOP are defined if using -T and setting top\nand/or bottom margin to less than the default.\n\nWA [writer-name [title]]\nBegin specification of the writer and writer's address.  Several names can  be  speci‐\nfied with empty WA/WE pairs, but only one address.\n\nWE     End the address specification after .WA.\n\nWC [format1] [format2] [...]\nFootnote and display width control.\n\nN     Set default mode which is equal to using the options -WF, -FF, -WD, and FB.\nWF    Wide footnotes, wide also in two-column mode.\n-WF   Normal footnote width, follow column mode.\nFF    All footnotes gets the same width as the first footnote encountered.\n-FF   Normal footnotes, width follows WF and -WF.\nWD    Wide displays, wide also in two-column mode.\n-WD   Normal display width, follow column mode.\nFB    Floating displays generates a line break when printed on the current page.\n-FB   Floating displays does not generate line break.\n"
                    },
                    {
                        "name": "Strings used in mm",
                        "content": "App    A string containing the word ‘APPENDIX’.\n\nApptxt The current appendix text.\n\nEM     Em dash string\n\nH1txt  Updated  by .H and .HU to the current heading text.  Also updated in table of contents\n& friends.\n\nHF     Font list for headings, ‘2 2 2 2 2 2 2’ by default.  Non-numeric font names  may  also\nbe used.\n\nHP     Point  size  list for headings.  By default, this is ’0 0 0 0 0 0 0’ which is the same\nas ‘10 10 10 10 10 10 10’.\n\nIndex  Contains the string ‘INDEX’.\n\nIndcmd Contains the index command.  Default value is ‘sort -t\\t’.\n\nLifg   String containing ‘Figure’.\n\nLitb   String containing ‘TABLE’.\n\nLiex   String containing ‘Exhibit’.\n\nLiec   String containing ‘Equation’.\n\nLicon  String containing ‘CONTENTS’.\n\nLf     Contains the string ‘LIST OF FIGURES’.\n\nLt     Contains the string ‘LIST OF TABLES’.\n\nLx     Contains the string ‘LIST OF EXHIBITS’.\n\nLe     Contains the string ‘LIST OF EQUATIONS’.\n\nLetfc  Contains the string ‘Yours very truly,’, used in .FC.\n\nLetapp Contains the string ‘APPROVED:’, used in .AV.\n"
                    },
                    {
                        "name": "Letdate",
                        "content": "Contains the string ‘Date’, used in .AV.\n\nLetCN  Contains the string ‘CONFIDENTIAL’, used in .LO CN.\n\nLetSA  Contains the string ‘To Whom It May Concern:’, used in .LO SA.\n\nLetAT  Contains the string ‘ATTENTION:’, used in .LO AT.\n\nLetSJ  Contains the string ‘SUBJECT:’, used in .LO SJ.\n\nLetRN  Contains the string ‘In reference to:’, used in .LO RN.\n\nLetns  is an array containing the different strings used in .NS.  It is really  a  number  of\nstring  variables prefixed with Letns!.  If the argument doesn't exist, it is included\nbetween () with Letns!copy as a prefix and Letns!to as a suffix.   Observe  the  space\nafter ‘Copy’ and before ‘to’.\n\nName         Value\nLetns!0      Copy to\nLetns!1      Copy (with att.) to\nLetns!2      Copy (without att.) to\nLetns!3      Att.\nLetns!4      Atts.\nLetns!5      Enc.\nLetns!6      Encs.\nLetns!7      Under separate cover\nLetns!8      Letter to\nLetns!9      Memorandum to\nLetns!10     Copy (with atts.) to\nLetns!11     Copy (without atts.) to\nLetns!12     Abstract Only to\nLetns!13     Complete Memorandum to\nLetns!14     CC\nLetns!copy   Copy (with trailing space)\nLetns!to      to (note leading space)\n"
                    },
                    {
                        "name": "Letnsdef",
                        "content": "Define the standard notation used when no argument is given to .NS.  Default is 0.\n\nMO1 –– MO12\nStrings containing the month names ‘January’ through ‘December’.\n\nQrf    String containing ‘See chapter \\\\*[Qrfh], page \\\\n[Qrfp].’.\n\nRp     Contains the string ‘REFERENCES’.\n\nTcst   Contains  the current status of the table of contents and list of figures, etc.  Empty\noutside of .TC.  Useful in user-defined macros like .TP.\n\nValue   Meaning\nco      Table of contents\nfg      List of figures\ntb      List of tables\nec      List of equations\nex      List of exhibits\nap      Appendix\n\nTm     Contains the string ‘\\(tm’, the trade mark symbol.\n\nVerbnm Argument to .nm in the .VERBON command.  Default is 1.\n"
                    },
                    {
                        "name": "Number variables used in mm",
                        "content": "Aph    Print an appendix page for every new appendix  if this number  variable  is  non-zero.\nNo output occurs if Aph is zero, but there is always an appendix entry in the ‘List of\ncontents’.\n\nCl     Contents level (in the range 0 to 14).  The contents is saved if a  heading  level  is\nlower than or equal to the value of Cl.  Default is 2.\n\nCp     Eject  page  between  list of table, list of figure, etc., if the value of Cp is zero.\nDefault is 0.\n\nD      Debug flag.  Values greater than zero produce debug  information  of  increasing  ver‐\nbosity.   A  value  of  1 gives information about the progress of formatting.  Default\nis 0.\n\nDe     If set to 1, eject after floating display is output.  Default is 0.\n\nDsp    If defined, it controls the space output before and after static displays.   Otherwise\nthe value of Lsp is used.\n\nDf     Control  floating  keep  output.  This is a number in the range 0 to 5, with a default\nvalue of 5.  See .DF.\n\nDs     If set to 1, use the amount of space stored in register Lsp before and after  display.\nDefault is 1.\n\nEj     If set to 1, eject page before each first-level heading.  Default is 0.\n\nEq     Equation labels are left-adjusted if set to 0 and right-adjusted if set to 1.  Default\nis 0.\n\nFs     Footnote spacing.  Default is 1.\n\nH1 –– H7\nHeading counters\n\nH1dot  Append a dot after the level-one heading number if value is greater  than  zero.   De‐\nfault is 1.\n\nH1h    A  copy of number register H1, but it is incremented just before the page break.  Use‐\nful in user-defined header macros.\n\nHb     Heading break level.  A number in the range 0 to  14,  with  a  default  value  of  2.\nSee .H.\n\nHc     Heading  centering  level.   A number in the range 0 to 14, with a default value value\nof 0.  See .H.\n\nHi     Heading temporary indent.  A number in the range 0 to 2, with a default value of 1.\n\n0   no indentation, left margin\n1   indent to the right, similar to ‘.P 1’\n2   indent to line up with text part of preceding heading\n\nHps    Heading pre-space level.  If the heading level is less than or equal to Hps, two lines\nprecede  the  section  heading instead of one.  Default is first level only.  The real\namount of lines is controlled by the variables Hps1 and Hps2.\n\nHps1   Number of lines preceding .H if the heading level is greater than Hps.   Value  is  in\nunits, default is 0.5.\n\nHps2   Number of lines preceding .H if the heading level is less than or equal to Hps.  Value\nis in units, default is 1.\n\nHs     Heading space level.  A number in the range 0 to  14,  with  a  default  value  of  2.\nSee .H.\n\nHss    Number  of lines following .H if the heading level is less than or equal to Hs.  Value\nis in units, default is 1.\n\nHt     Heading numbering type.\n\n0   multiple levels (1.1.1, 1.1.2, etc.)\n1   single level\n\nDefault is 0.\n\nHu     Unnumbered heading level.  Default is 2.\n\nHy     Hyphenation status of text body.\n\n0   no hyphenation\n1   hyphenation on, set to value 6\n\nDefault is 0.\n\nIso    Set this variable to 1 on the  command  line  to  get  an  ISO-formatted  date  string\n(-rIso=1).  Useless inside of a document.\n\nL      Page length, only for command-line settings.\n\nLetwam Maximum lines in return-address, used in .WA/.WE.  Default is 14.\n\nLf, Lt, Lx, Le\nEnable (1) or disable (0) the printing of List of figures, List of tables, List of ex‐\nhibits and List of equations, respectively.  Default values are Lf=1, Lt=1, Lx=1,  and\nLe=0.\n\nLi     List indentation, used by .AL.  Default is 6.\n\nLimsp  A  flag  controlling the insertion of space between prefix and mark in automatic lists\n(.AL).\n\n0   no space\n1   emit space\n\nLs     List space threshold.  If current list level is greater  than  Ls  no  spacing  occurs\naround lists.  Default is 99.\n\nLsp    The vertical space used by an empty line.  The default is 0.5v in troff mode and 1v in\nnroff mode.\n\nN      Page numbering style.\n\n0   normal header for all pages.\n1   header replaces footer on first page, header is empty.\n2   page header is removed on the first page.\n3   ‘section-page’ numbering style enabled.\n4   page header is removed on the first page.\n5   ‘section-page’ and ‘section-figure’ numbering style enabled.\n\nDefault is 0.  See also the number registers Sectf and Sectp.\n\nNp     A flag to control whether paragraphs are numbered.\n\n0   not numbered\n1   numbered in first-level headings.\n\nDefault is 0.\n\nO      Page offset, only for command-line settings.\n\nOf     Format of figure, table, exhibit, and equation titles.\n\n0   \". \"\n1   \" - \"\n\nDefault is 0.\n\nP      Current page-number, normally the same as ‘%’ unless ‘section-page’ numbering style is\nenabled.\n\nPi     Paragraph indentation.  Default is 5.\n\nPgps   A  flag to control whether header and footer point size should follow the current set‐\ntings or just change when the header and footer are defined.\n\n0   Point size only changes to the current setting when  .PH,  .PF,  .OH,  .EH,\n.OF, or .OE is executed.\n1   Point size changes after every .S.  This is the default.\n\nPs     Paragraph spacing.  Default is 1.\n\nPt     Paragraph type.\n\n0   left-justified\n1   indented paragraphs\n2   indented paragraphs except after .H, .DE, or .LE.\n\nDefault is 0.\n\nRpe    Set default value for second argument of .RP.  Default is 0.\n\nSectf  A  flag controlling ‘section-figures’ numbering style.  A non-zero value enables this.\nSee also register N.\n\nSectp  A flag controlling ’section-page’ numbering style.  A  non-zero  value  enables  this.\nSee also register N.\n\nSi     Display indentation.  Default is 5.\n\nVerbin Indentation for .VERBON.  Default is 5n.\n\nW      Line length, only for command-line settings.\n\n.mgm   Always 1.\n"
                    }
                ]
            },
            "INTERNALS": {
                "content": "The  letter  macros  are using different submacros depending on the letter type.  The name of\nthe submacro has the letter type as suffix.  It is therefore possible to define other  letter\ntypes,  either  in the national macro-file, or as local additions.  .LT sets the number vari‐\nables Pt and Pi to 0 and 5, respectively.  The following strings and macros must  be  defined\nfor a new letter type.\n\nlet@inittype\nThis  macro  is  called  directly  by .LT.  It is supposed to initialize variables and\nother stuff.\n\nlet@headtype\nThis macro prints the letter head, and is called instead of the  normal  page  header.\nIt is supposed to remove the alias let@header, otherwise it is called for all pages.\n\nlet@sgtype name title n flag [arg1 [arg2 [...]]]\n.SG is calling this macro only for letters; memorandums have its own processing.  name\nand title are specified through .WA/.WB.  n is the counter, 1-max, and  flag  is  true\nfor the last name.  Any other argument to .SG is appended.\n\nlet@fctype closing\nThis macro is called by .FC, and has the formal closing as the argument.\n\n.LO  is implemented as a general option-macro.  It demands that a string named Lettype is de‐\nfined, where type is the letter type.  .LO then assigns the argument to the  string  variable\nlet*lo-type.\n",
                "subsections": []
            },
            "FILES": {
                "content": "/usr/share/groff/1.22.4/tmac/m.tmac\n\n/usr/share/groff/1.22.4/tmac/mm/*.cov\n\n/usr/share/groff/1.22.4/tmac/mm/*.MT\n\n/usr/share/groff/1.22.4/tmac/mm/locale\n",
                "subsections": []
            },
            "AUTHORS": {
                "content": "The GNU version of the mm macro package was written by Jörgen Hägg ⟨jh@axis.se⟩ of Lund, Swe‐\nden.\n",
                "subsections": []
            },
            "SEE ALSO": {
                "content": "groff(1), troff(1), tbl(1), pic(1), eqn(1)\ngroffmmse(7) (only in Swedish locales)\n\n\n\ngroff 1.22.4                                23 March 2022                                GROFFMM(7)",
                "subsections": []
            }
        }
    }
}