Provided by: groff_1.22.3-7_amd64 bug

NAME

       groff_mm - groff mm macros

SYNOPSIS

       groff -mm [ options... ] [ files... ]

DESCRIPTION

       The  groff  mm  macros  are  intended  to  be  compatible  with the DWB mm macros with the
       following limitations:

             No Bell Labs localisms are implemented.

             The macros OK and PM are not implemented.

             groff mm does not support cut marks.

       mm is intended to support easy localization.  Use mmse as an  example  how  to  adapt  the
       output  format  to  a  national  standard.   Localized  strings  are collected in the file
       ‘/usr/share/groff/1.22.3/tmac/xx.tmac’, where xx  denotes  the  two-letter  code  for  the
       language,  as defined in the ISO 639 standard.  For Swedish, this is ‘sv.tmac’ – not ‘se’,
       which is the ISO 3166 two-letter code for the country  (as  used  for  the  output  format
       localization).

       A  file  called  locale  or  country_locale is read after the initialization of the global
       variables.  It is therefore possible to localize the macros with a different company  name
       and so on.

       In this manual, square brackets are used to show optional arguments.

   Number registers and strings
       Many  macros  can  be  controlled  by  number registers and strings.  A number register is
       assigned with the nr command:

              .nr XXX [±]n [i]

       XXX is the name of the register, n is the value to be assigned, and  i  is  the  increment
       value  for auto-increment.  n can have a plus or minus sign as a prefix if an increment or
       decrement of the current value is wanted.  (Auto-increment or auto-decrement occurs if the
       number register is used with a plus or minus sign, \n+[XXX] or \n-[XXX].)

       Strings are defined with ds.

              .ds YYY string

       The  string is assigned everything to the end of the line, even blanks.  Initial blanks in
       string should be prefixed with a double-quote.  (Strings are used in the text as \*[YYY].)

   Special formatting of number registers
       A number register is printed with normal digits if no format  has  been  given.   Set  the
       format with af:

              .af R c

       R is the name of the register, c is the format.

              Form   Sequence
              1      0, 1, 2, 3, ...
              001    000, 001, 002, 003, ...
              i      0, i, ii, iii, iv, ...
              I      0, I, II, III, IV, ...

              a      0, a, b, c, ..., z, aa, ab, ...
              A      0, A, B, C, ..., Z, AA, AB, ...

   Fonts
       In  mm,  the  fonts  (or  rather,  font  styles)  R (normal), I (italic), and B (bold) are
       hardwired to font positions 1, 2, and 3, respectively.   Internally,  font  positions  are
       used  for  backwards  compatibility.  From a practical point of view it doesn't make a big
       difference – a different font family can still be selected with a call to the .fam request
       or  using groff's -f command line option.  On the other hand, if you want to replace just,
       say, font B, you have to replace the font at position 2 (with a call to ‘.fp 2 ...’).

   Macros
       )E level text
              Add heading text text to the table of contents with level, which is either 0 or  in
              the  range  1  to  7.   See  also  .H.  This macro is used for customized tables of
              contents.

       1C [1] Begin one-column processing.  A 1 as an argument disables the page break.  Use wide
              footnotes, small footnotes may be overprinted.

       2C     Begin two-column processing.  Splits the page in two columns.  It is a special case
              of MC.  See also 1C.

       AE     Abstract end, see AS.

       AF [name-of-firm]
              Author's firm, should be called before AU, see also COVER.

       AL [type [text-indent [1]]]
              Start auto-increment list.  Items  are  numbered  beginning  with  one.   The  type
              argument controls the format of numbers.

                     Arg   Description
                     1     Arabic (the default)
                     A     Upper-case letters (A–Z)
                     a     Lower-case letters (a–z)
                     I     Upper-case roman
                     i     Lower-case roman

              text-indent  sets  the  indentation  and  overrides Li.  A third argument prohibits
              printing of a blank line before each item.

       APP name text
              Begin an appendix with name name.  Automatic naming occurs  if  name  is  "".   The
              appendices  start with A if automatic naming is used.  A new page is ejected, and a
              header is also produced if the number  variable  Aph  is  non-zero.   This  is  the
              default.   The  appendix always appears in the ‘List of contents’ with correct page
              numbers.  The name ‘APPENDIX’ can be changed by  setting  the  string  App  to  the
              desired text.  The string Apptxt contains the current appendix text.

       APPSK name pages text
              Same  as  .APP,  but  the page number is incremented with pages.  This is used when
              diagrams or other non-formatted documents are included as appendices.

       AS [arg [indent]]
              Abstract start.  Indentation  is  specified  in  ‘ens’,  but  scaling  is  allowed.
              Argument arg controls where the abstract is printed.

              Arg   Placement
              0     Abstract is printed on page 1 and on the cover sheet if used in the released-
                    paper style (MT 4), otherwise it is printed on page 1 without a cover sheet.
              1     Abstract is only printed on the cover sheet (MT 4 only).
              2     Abstract is printed only on the cover sheet (other  than  MT  4  only).   The
                    cover sheet is printed without a need for CS.

              An abstract is not printed at all in external letters (MT 5).  The indent parameter
              controls the indentation of both margins,  otherwise  normal  text  indentation  is
              used.

       AST [title]
              Abstract title.  Default is ‘ABSTRACT’.  Sets the text above the abstract text.

       AT title1 [title2 [...]]
              Author's  title.   AT must appear just after each AU.  The title shows up after the
              name in the signature block.

       AU [name [initials [loc [dept [ext [room [arg [arg [arg]]]]]]]]]
              Author information.  Specifies the author of the memo or paper, and is  printed  on
              the  cover  sheet  and on other similar places.  AU must not appear before TL.  The
              author information can contain initials, location, department, telephone extension,
              room number or name and up to three extra arguments.

       AV [name [1]]
              Approval  signature.  Generates an approval line with place for signature and date.
              The string ‘APPROVED:’ can be changed with variable Letapp; it is replaced with  an
              empty  lin  if  there  is a second argument.  The string ‘Date’ can be changed with
              variable Letdate.

       AVL [name]
              Letter signature.  Generates a line with place for signature.

       B [bold-text [prev-font-text [bold [...]]]]
              Begin  boldface.   No  limit  on  the  number  of  arguments.   All  arguments  are
              concatenated to one word; the first, third and so on is printed in boldface.

       B1     Begin  box  (as  the ms macro).  Draws a box around the text.  The text is indented
              one character, and the right margin is one character shorter.

       B2     End box.  Finishes the box started with B1.

       BE     End bottom block, see BS.

       BI [bold-text [italic-text [bold-text [...]]]]
              Bold-italic.  No limit on the number of arguments, see B.

       BL [text-indent [1]]
              Start bullet list.  Initializes a list with a bullet and a space in  the  beginning
              of  each  list item (see LI).  text-indent overrides the default indentation of the
              list items set by number register Pi.  A third argument  prohibits  printing  of  a
              blank line before each item.

       BR [bold-text [roman-text [bold-text [...]]]]
              Bold-roman.  No limit on the number of arguments.

       BS     Bottom  block start.  Begins the definition of a text block which is printed at the
              bottom of each page.  The block ends with BE.

       BVL text-indent [mark-indent [1]]
              Start of broken variable-item list.  Broken variable-item list has no  fixed  mark,
              it  assumes  that  every LI has a mark instead.  The text always begins at the next
              line after the mark.  text-indent sets the indentation to the text, and mark-indent
              the  distance from the current indentation to the mark.  A third argument prohibits
              printing of a blank line before each item.

       COVER [arg]
              Begin a coversheet definition.  It is important  that  .COVER  appears  before  any
              normal     text.     This    macro    uses    arg    to    build    the    filename
              ‘/usr/share/groff/1.22.3/tmac/mm/arg.cov’.  Therefore  it  is  possible  to  create
              unlimited  types  of  cover sheets.  ‘ms.cov’ is supposed to look like the ms cover
              sheet.  .COVER requires a .COVEND at the end of the cover definition.   Always  use
              this order of the cover macros:

                     .COVER
                     .TL
                     .AF
                     .AU
                     .AT
                     .AS
                     .AE
                     .COVEND

              However, only .TL and .AU are required.

       COVEND Finish  the cover description and print the cover page.  It is defined in the cover
              file.

       DE     Display end.  Ends a block of text or display that begins with DS or DF.

       DF [format [fill [rindent]]]
              Begin floating display (no nesting allowed).  A floating  display  is  saved  in  a
              queue  and is printed in the order entered.  Format, fill, and rindent are the same
              as in DS.  Floating displays are controlled by the two number registers De and Df.

              De register

                     0   Nothing special, this is the default.
                     1   A page eject occurs after each printed display, giving only one  display
                         per page and no text following it.

              Df register

                     0   Displays  are  printed  at  the  end  of each section (when section-page
                         numbering is active) or at the end of the document.
                     1   A new display is printed on the current page if there is  enough  space,
                         otherwise it is printed at the end of the document.
                     2   One  display  is  printed  at  the top of each page or column (in multi-
                         column mode).
                     3   Print one display if there is enough  space  for  it,  otherwise  it  is
                         printed at the top of the next page or column.
                     4   Print  as  many  displays  as  possible in a new page or column.  A page
                         break occurs between each display if De is not zero.
                     5   Fill the current page with displays and the rest beginning at a new page
                         or  column.   (This  is  the default.)  A page break occurs between each
                         display if De is not zero.

       DL [text-indent [1 [1]]]
              Dash list start.  Begins a list where each item is printed  after  a  dash.   text-
              indent changes the default indentation of the list items set by number register Pi.
              A second argument prevents an empty line between each list item.  See LI.  A  third
              argument prohibits printing of a blank line before each item.

       DS [format [fill [rindent]]]
              Static  display  start.   Begins  collection of text until DE.  The text is printed
              together on the same page, unless it is longer than the height of the page.  DS can
              be nested arbitrarily.

              format

                     ""     No indentation.
                     none   No indentation.
                     L      No indentation.
                     I      Indent text with the value of number register Si.
                     C      Center each line.
                     CB     Center the whole display as a block.
                     R      Right-adjust the lines.
                     RB     Right-adjust the whole display as a block.

              The values ‘L’, ‘I’, ‘C’, and ‘CB’ can also be specified as ‘0’, ‘1’, ‘2’, and ‘3’,
              respectively, for compatibility reasons.

              fill

                     ""     Line-filling turned off.
                     none   Line-filling turned off.
                     N      Line-filling turned off.
                     F      Line-filling turned on.

              ‘N’ and ‘F’ can also be specified as ‘0’ and ‘1’, respectively.

              By default, an empty line is printed before and after the display.  Setting  number
              register Ds to 0 prevents this.  rindent shortens the line length by that amount.

       EC [title [override [flag [refname]]]]
              Equation  title.   Sets a title for an equation.  The override argument changes the
              numbering.

              flag

                     none   override is a prefix to the number.
                     0      override is a prefix to the number.
                     1      override is a suffix to the number.
                     2      override replaces the number.

              EC uses the number register Ec as a counter.  It is possible to use .af  to  change
              the  format  of the number.  If number register Of is 1, the format of title uses a
              dash instead of a dot after the number.

              The string Le controls the title of the List of  Equations;  default  is  ‘LIST  OF
              EQUATIONS’.  The List of Equations is only printed if number register Le is 1.  The
              default is 0.  The string Liec contains  the  word  ‘Equation’,  which  is  printed
              before  the  number.   If  refname  is used, then the equation number is saved with
              .SETR, and can be retrieved with ‘.GETST refname’.

              Special handling of the title occurs if EC is used inside DS/DE; it is not affected
              by the format of DS.

       EF [arg]
              Even-page footer, printed just above the normal page footer on even pages.  See PF.

              This macro defines string EOPef.

       EH [arg]
              Even-page header, printed just below the normal page header on even pages.  See PH.

              This macro defines string TPeh.

       EN     Equation end, see EQ.

       EOP    End-of-page  user-defined  macro.   This  macro  is  called  instead  of the normal
              printing of the footer.  The macro is executed in a separate  environment,  without
              any trap active.  See TP.

              Strings available to EOP

              EOPf    argument of PF
              EOPef   argument of EF
              EOPof   argument of OF

       EPIC [-L] width height [name]
              Draw  a  box  with  the  given width and height.  It also prints the text name or a
              default string if name  is  not  specified.   This  is  used  to  include  external
              pictures;  just  give  the  size  of the picture.  -L left-adjusts the picture; the
              default is to center.  See PIC.

       EQ [label]
              Equation start.  EQ/EN are the delimiters for equations written for eqn(1).   EQ/EN
              must  be  inside of a DS/DE pair, except if EQ is used to set options for eqn only.
              The label argument appears at the right margin of the equation, centered vertically
              within  the DS/DE block, unless number register Eq is 1.  Then the label appears at
              the left margin.

              If there are multiple EQ/EN blocks within  a  single  DS/DE  pair,  only  the  last
              equation label (if any) is printed.

       EX [title [override [flag [refname]]]]
              Exhibit  title.  The arguments are the same as for EC.  EX uses the number register
              Ex as a counter.  The string Lx controls the title of the List of Exhibits; default
              is  ‘LIST OF EXHIBITS’.  The List of Exhibits is only printed if number register Lx
              is 1, which is the default.  The string Liex contains the word ‘Exhibit’, which  is
              printed  before  the  number.  If refname is used, the exhibit number is saved with
              .SETR, and can be retrieved with ‘.GETST refname’.

              Special handling of the title occurs if EX is used inside DS/DE; it is not affected
              by the format of DS.

       FC [closing]
              Print  ‘Yours  very  truly,’  as  a  formal closing of a letter or memorandum.  The
              argument replaces the default string.  The default is  stored  in  string  variable
              Letfc.

       FD [arg [1]]
              Footnote   default   format.   Controls  the  hyphenation  (hyphen),  right  margin
              justification (adjust), and indentation of footnote text  (indent).   It  can  also
              change the label justification (ljust).

                     arg   hyphen   adjust   indent   ljust
                     0     no       yes      yes      left
                     1     yes      yes      yes      left
                     2     no       no       yes      left
                     3     yes      no       yes      left
                     4     no       yes      no       left
                     5     yes      yes      no       left
                     6     no       no       no       left
                     7     yes      no       no       left
                     8     no       yes      yes      right
                     9     yes      yes      yes      right
                     10    no       no       yes      right
                     11    yes      no       yes      right

              An  argument  greater than or equal to 11 is considered as value 0.  Default for mm
              is 10.

       FE     Footnote end.

       FG [title [override [flag [refname]]]]
              Figure title.  The arguments are the same as for EC.  FG uses the  number  register
              Fg  as a counter.  The string Lf controls the title of the List of Figures; default
              is ‘LIST OF FIGURES’.  The List of Figures is only printed if  number  register  Lf
              is  1,  which is the default.  The string Lifg contains the word ‘Figure’, which is
              printed before the number.  If refname is used, then the  figure  number  is  saved
              with .SETR, and can be retrieved with ‘.GETST refname’.

              Special handling of the title occurs if FG is used inside DS/DE, it is not affected
              by the format of DS.

       FS [label]
              Footnote  start.   The  footnote  is  ended  by  FE.   By  default,  footnotes  are
              automatically  numbered;  the number is available in string F.  Just add \*F in the
              text.  By adding label, it is possible  to  have  other  number  or  names  on  the
              footnotes.   Footnotes  in  displays  are  now  possible.   An empty line separates
              footnotes; the height of the line is controlled  by  number  register  Fs,  default
              value is 1.

       GETHN refname [varname]
              Include  the header number where the corresponding ‘SETR refname’ was placed.  This
              is displayed as ‘X.X.X.’ in pass 1.  See INITR.  If varname is used, GETHN sets the
              string variable varname to the header number.

       GETPN refname [varname]
              Include the page number where the corresponding ‘SETR refname’ was placed.  This is
              displayed as ‘9999’ in pass 1.  See INITR.  If varname  is  used,  GETPN  sets  the
              stringvariable varname to the page number.

       GETR refname
              Combine  GETHN  and  GETPN  with  the  text ‘chapter’ and ‘, page’.  The string Qrf
              contains the text for the cross reference:

                     .ds Qrf See chapter \\*[Qrfh], page \\*[Qrfp].

              Qrf may be changed to support other languages.  Strings Qrfh and Qrfp  are  set  by
              GETR and contain the page and header number, respectively.

       GETST refname [varname]
              Include the string saved with the second argument to .SETR.  This is a dummy string
              in pass 1.  If varname is used, GETST sets it to the saved string.  See INITR.

       H level [heading-text [heading-suffix]]
              Numbered section heading.  Section headers can have  a  level  between  1  and  14;
              level  1  is  the  top  level.   The  text  is  given  in heading-text, and must be
              surrounded by double quotes if it contains spaces.  heading-suffix is added to  the
              header  in  the  text  but not in the table of contents.  This is normally used for
              footnote marks and similar things.  Don't use \*F  in  heading-suffix,  it  doesn't
              work.  A manual label must be used, see FS.

              A  call  to  the  paragraph  macro  P directly after H is ignored.  H takes care of
              spacing and indentation.

              Page ejection before heading

                     Number register Ej controls page ejection before the heading.  By default, a
                     level-one  heading  gets  two  blank lines before it; higher levels only get
                     one.  A new page is  ejected  before  each  first-level  heading  if  number
                     register Ej is 1.  All levels below or equal the value of Ej get a new page.
                     Default value for Ej is 0.

              Heading break level

                     A line break occurs after the heading if the heading level is less or  equal
                     to number register Hb.  Default value is 2.

              Heading space level

                     A  blank  line is inserted after the heading if the heading level is less or
                     equal to number register Hs.  Default value is 2.

                     Text follows the heading on the same line if the level is greater than  both
                     Hb and Hs.

              Post-heading indent

                     Indentation  of  the text after the heading is controlled by number register
                     Hi.  Default value is 0.

                     Hi

                     0   The text is left-justified.
                     1   Indentation of the text follows the value of number register Pt , see P.
                     2   The text is lined up with the first word of the heading.

              Centered section headings

                     All headings whose level is equal or below number register Hc and also  less
                     than or equal to Hb or Hs are centered.

              Font control of the heading

                     The  font  of  each heading level is controlled by string HF.  It contains a
                     font number or font name for each level.  Default value is

                            2 2 2 2 2 2 2 2 2 2 2 2 2 2

                     (all headings in italic).  This could also be written as

                            I I I I I I I I I I I I I I

                     Note that some other implementations use 3 3 2 2 2 2 2 as the default value.
                     All omitted values are presumed to have value 1.

              Point size control

                     String  HP  controls  the  point size of each heading, in the same way as HF
                     controls the font.  A value of 0 selects the default  point  size.   Default
                     value is

                            0 0 0 0 0 0 0 0 0 0 0 0 0 0

                     Beware  that only the point size changes, not the vertical size.  The latter
                     can be controlled by the user-specified macros HX and/or HZ.

              Heading counters

                     Fourteen number registers named H1 up to H14 contain the  counter  for  each
                     heading  level.   The  values are printed using Arabic numerals; this can be
                     changed with the macro HM (see below).  All marks  are  concatenated  before
                     printing.  To avoid this, set number register Ht to 1.  This only prints the
                     current heading counter at each heading.

              Automatic table of contents

                     All headings whose level is equal or below number register Cl are  saved  to
                     be printed in the table of contents.  Default value is 2.

              Special control of the heading, user-defined macros

                     The  following  macros  can be defined by the user to get a finer control of
                     vertical spacing, fonts, or other features.  Argument level  is  the  level-
                     argument  to  H, but 0 for unnumbered headings (see HU).  Argument rlevel is
                     the real level; it is set to number register  Hu  for  unnumbered  headings.
                     Argument heading-text is the text argument to H and HU.

                     HX level rlevel heading-text
                            This  macro  is  called just before the printing of the heading.  The
                            following registers are available for HX.  Note that HX may alter }0,
                            }2, and ;3.

                            }0 (string)
                                   Contains  the  heading  mark plus two spaces if rlevel is non-
                                   zero, otherwise empty.

                            ;0 (register)
                                   Contains the position of the text after the heading.  0  means
                                   that  the  text  should  follow  the heading on the same line,
                                   1 means that a line break should occur before  the  text,  and
                                   2  means that a blank line should separate the heading and the
                                   text.

                            }2 (string)
                                   Contains two spaces if register  ;0  is  0.   It  is  used  to
                                   separate the heading from the text.  The string is empty if ;0
                                   is non-zero.

                            ;3 (register)
                                   Contains the needed space in units after the heading.  Default
                                   is  2v.   Can  be  used  to change things like numbering (}0),
                                   vertical spacing (}2), and the needed space after the heading.

                     HY dlevel rlevel heading-text
                            This macro is called after size and font calculations  and  might  be
                            used to change indentation.

                     HZ dlevel rlevel heading-text
                            This macro is called after the printing of the heading, just before H
                            or HU exits.  Can be used to change the page header according to  the
                            section heading.

       HC [hyphenation-character]
              Set hyphenation character.  Default value is ‘\%’.  Resets to the default if called
              without argument.  Hyphenation can be turned off by setting number register Hy to 0
              at the beginning of the file.

       HM [arg1 [arg2 [... [arg14]]]]
              Heading  mark  style.   Controls  the  type  of marking for printing of the heading
              counters.  Default is 1 for all levels.

              Argument

              1      Arabic numerals.
              0001   Arabic numerals with leading zeroes, one or more.
              A      upper-case alphabetic
              a      lower-case alphabetic
              I      upper-case roman numerals
              i      lower-case roman numerals
              ""     Arabic numerals.

       HU heading-text
              Unnumbered section header.  HU behaves like H at the level in number  register  Hu.
              See H.

       HX dlevel rlevel heading-text
              User-defined heading exit.  Called just before printing the header.  See H.

       HY dlevel rlevel heading-text
              User-defined heading exit.  Called just before printing the header.  See H.

       HZ dlevel rlevel heading-text
              User-defined heading exit.  Called just after printing the header.  See H.

       I [italic-text [prev-font-text [italic-text [...]]]]
              Italic.  Changes the font to italic if called without arguments.  With one argument
              it sets the word in italic.  With two arguments it concatenates them and  sets  the
              first word in italic and the second in the previous font.  There is no limit on the
              number of argument; all are concatenated.

       IA [addressee-name [title]]
              Begin specification of the addressee  and  addressee's  address  in  letter  style.
              Several  names  can be specified with empty IA/IE-pairs, but only one address.  See
              LT.

       IB [italic-text [bold-text [italic-text [...]]]]
              Italic-bold.  Even arguments are printed in italic, odd in boldface.  See I.

       IE     End the address specification after IA.

       INITI type filename [macro]
              Initialize the new index system and set the filename to collect index lines in with
              IND.   Argument  type selects the type of index: page number, header marks or both.
              The default is page numbers.

              It is also possible to create a macro that is responsible for formatting each  row;
              just  add the name of the macro as a third argument.  The macro is then called with
              the index as argument(s).

              type

              N   Page numbers
              H   Header marks
              B   Both page numbers and header marks, separated with a tab character.

       INITR filename
              Initialize the cross reference macros.  Cross references are written to stderr  and
              are  supposed  to be redirected into file ‘filename.qrf’.  Requires two passes with
              groff; this is handled by a separate program called mmroff(1).  This program exists
              because  groff(1) by default deactivates the unsafe operations that are required by
              INITR.  The first pass looks for cross references,  and  the  second  one  includes
              them.   INITR  can  be  used  several times, but it is only the first occurrence of
              INITR that is active.

              See also SETR, GETPN, and GETHN.

       IND arg1 [arg2 [...]]
              Write a line in the index file selected by INITI with all arguments  and  the  page
              number or header mark separated by tabs.

                     Examples

                     arg1\tpage number
                     arg1\targ2\tpage number
                     arg1\theader mark
                     arg1\tpage number\theader mark

       INDP   Print  the  index by running the command specified by string variable Indcmd, which
              has ‘sort -t\t’ as the default value.  INDP reads the output from  the  command  to
              form  the index, by default in two columns (this can be changed by defining TYIND).
              The index is printed with string variable Index  as  header,  default  is  ‘INDEX’.
              One-column  processing  is reactivated after the list.  INDP calls the user-defined
              macros TXIND, TYIND, and TZIND if defined.  TXIND is  called  before  printing  the
              string  ‘INDEX’,  TYIND  is called instead of printing ‘INDEX’, and TZIND is called
              after the printing and should take care of restoring to normal operation again.

       ISODATE [0]
              Change the predefined date string in DT to ISO-format, this is, ‘YYYY-MM-DD’.  This
              can also be done by adding -rIso=1 on the command line.  Reverts to old date format
              if argument is 0.

       IR [italic-text [roman-text [italic-text [...]]]]
              Italic-roman.  Even arguments are printed in italic, odd in roman.  See I.

       LB text-indent mark-indent pad type [mark [LI-space [LB-space]]]
              List-begin macro.  This is the common macro used for all lists.  text-indent is the
              number of spaces to indent the text from the current indentation.

              pad  and  mark-indent control where to put the mark.  The mark is placed within the
              mark area, and mark-indent sets the number of spaces before this area.  By  default
              it is 0.  The mark area ends where the text begins.  The start of the text is still
              controlled by text-indent.

              The mark is left-justified within the mark area if pad is 0.   If  pad  is  greater
              than  0, mark-indent is ignored, and the mark is placed pad spaces before the text.
              This right-justifies the mark.

              If type is 0 the list either has a hanging indentation  or,  if  argument  mark  is
              given, the string mark as a mark.

              If  type is greater than 0 automatic numbering occurs, using arabic numbers if mark
              is empty.  mark can then be any of ‘1’, ‘A’, ‘a’, ‘I’, or ‘i’.

              type selects one of six possible ways to display the mark.

              type

                     1   x.
                     2   x)
                     3   (x)
                     4   [x]
                     5   <x>
                     6   {x}

              Every item in the list gets LI-space number of blank lines  before  them.   Default
              is 1.

              LB itself prints LB-space blank lines.  Default is 0.

       LC [list-level]
              List-status clear.  Terminates all current active lists down to list-level, or 0 if
              no argument is given.  This is used by H to clear any active list.

       LE [1] List end.  Terminates the current list.  LE outputs a blank line if an argument  is
              given.

       LI [mark [1|2]]
              List  item  preceding  every  item in a list.  Without argument, LI prints the mark
              determined by the current list type.  By giving LI one argument, it  uses  that  as
              the  mark  instead.   Two  arguments to LI makes mark a prefix to the current mark.
              There is no separating space between the prefix and the mark if the second argument
              is  ‘2’  instead  of  ‘1’.   This  behaviour can also be achieved by setting number
              register Limsp to zero.  A zero length mark makes a hanging indentation instead.

              A blank line is printed before the list item by default.   This  behaviour  can  be
              controlled by number register Ls.  Pre-spacing occurs for each list level less than
              or equal to Ls.  Default value is 99.  There is no nesting limit.

              The indentation can be changed through number register Li.  Default is 6.

              All lists begin with a list initialization macro, LB.  There  are,  however,  seven
              predefined list types to make lists easier to use.  They all call LB with different
              default values.

                     AL    Automatically Incremented List
                     ML    Marked List
                     VL    Variable-Item List
                     BL    Bullet List
                     DL    Dash List
                     RL    Reference List
                     BVL   Broken Variable List.

              These lists are described at other places in this manual.  See also LB.

       LT [arg]
              Format a letter in one of four different styles depending  on  the  argument.   See
              also section INTERNALS.

                     Arg   Style
                     BL    Blocked.   Date  line,  return  address,  writer's address and closing
                           begins at the center of the line.  All other lines begin at  the  left
                           margin.
                     SB    Semi-blocked.   Same  as  blocked, except that the first line in every
                           paragraph is indented five spaces.
                     FB    Full-blocked.  All lines begin at the left margin.
                     SP    Simplified.  Almost the same as the full-blocked style.   Subject  and
                           the writer's identification are printed in all-capital.

       LO type [arg]
              Specify options in letter (see .LT).  This is a list of the standard options:

                     CN   Confidential  notation.  Prints ‘CONFIDENTIAL’ on the second line below
                          the date line.  Any argument replaces ‘CONFIDENTIAL’.  See also  string
                          variable LetCN.

                     RN   Reference  notation.   Prints  ‘In  reference to:’ and the argument two
                          lines below the date line.  See also string variable LetRN.
                     AT   Attention.  Prints ‘ATTENTION:’  and  the  argument  below  the  inside
                          address.  See also string variable LetAT.
                     SA   Salutation.  Prints ’To Whom It May Concern:’ or the argument if it was
                          present.  The salutation is printed two lines below the inside address.
                          See also string variable LetSA.
                     SJ   Subject  line.  Prints the argument as subject prefixed with ‘SUBJECT:’
                          two lines below the inside address, except in letter type  ‘SP’,  where
                          the  subject  is  printed  in all-capital without any prefix.  See also
                          string variable LetSJ.

       MC column-size [column-separation]
              Begin multiple columns.  Return to normal with 1C.  MC creates as many  columns  as
              the  current  line  length  permits.   column-size is the width of each column, and
              column-separation is the space between two columns.  Default separation is  column-
              size/15.  See also 1C.

       ML mark [text-indent [1]]
              Marked  list  start.   The  mark  argument is printed before each list item.  text-
              indent sets the indent and overrides Li.  A third argument prohibits printing of  a
              blank line before each item.

       MT [arg [addressee]]
              Memorandum    type.     The    argument    arg   is   part   of   a   filename   in
              ‘/usr/share/groff/1.22.3/tmac/mm/*.MT’.  Memorandum types 0  to  5  are  supported,
              including  type  ‘string’ (which gets internally mapped to type 6).  addressee just
              sets a variable, used in the AT&T macros.

              arg

                     0   Normal memorandum, no type printed.
                     1   Memorandum with ‘MEMORANDUM FOR FILE’ printed.
                     2   Memorandum with ‘PROGRAMMER'S NOTES’ printed.
                     3   Memorandum with ‘ENGINEER'S NOTES’ printed.
                     4   Released paper style.
                     5   External letter style.

              See also COVER/COVEND, a more flexible type of front page.

       MOVE y-pos [x-pos [line-length]]
              Move to a position, setting page offset to x-pos.  If line-length is not given, the
              difference  between  current  and  new  page  offset  is  used.  Use PGFORM without
              arguments to return to normal.

       MULB cw1 space1 [cw2 space2 [cw3 ...]]
              Begin a special multi-column mode.  All columns  widths  must  be  specified.   The
              space  between  the  columns must be specified also.  The last column does not need
              any space definition.  MULB starts a diversion, and MULE  ends  the  diversion  and
              prints  the  columns.   The unit for the width and space arguments is ‘n’, but MULB
              accepts all normal unit specifications like  ‘c’  and  ‘i’.   MULB  operates  in  a
              separate environment.

       MULN   Begin the next column.  This is the only way to switch the column.

       MULE   End the multi-column mode and print the columns.

       nP [type]
              Print numbered paragraph with header level two.  See .P.

       NCOL   Force  printing  to the next column.  Don't use this together with the MUL* macros,
              see 2C.

       NS [arg [1]]
              Print different types of notations.  The argument selects  between  the  predefined
              type  of notations.  If the second argument is available, then the argument becomes
              the entire notation.  If the argument doesn't  select  a  predefined  type,  it  is
              printed as ‘Copy (arg) to’.  It is possible to add more standard notations, see the
              string variables Letns and Letnsdef.

                     Arg    Notation
                     none   Copy To
                     ""     Copy To
                     1      Copy To (with att.) to
                     2      Copy To (without att.) to
                     3      Att.
                     4      Atts.
                     5      Enc.
                     6      Encs.
                     7      Under separate cover
                     8      Letter to
                     9      Memorandum to
                     10     Copy (with atts.) to
                     11     Copy (without atts.) to
                     12     Abstract Only to
                     13     Complete Memorandum to
                     14     CC

       ND new-date
              New date.  Overrides the current date.  Date is not printed if new-date is an empty
              string.

       OF [arg]
              Odd-page footer, a line printed just above the normal footer.  See EF and PF.

              This macro defines string EOPof.

       OH [arg]
              Odd-page header, a line printed just below the normal header.  See EH and PH.

              This macro defines string TPoh.

       OP     Make  sure  that  the following text is printed at the top of an odd-numbered page.
              Does not output an empty page if currently at the top of an odd page.

       P [type]
              Begin new paragraph.  P without argument produces  left-justified  text,  even  the
              first  line  of  the  paragraph.   This  is  the same as setting type to 0.  If the
              argument is 1, the first line of text following P is  indented  by  the  number  of
              spaces in number register Pi, by default 5.

              Instead  of  giving  an  argument  to P it is possible to set the paragraph type in
              number register Pt.  Using 0 and 1 is the same as adding that value to P.  A  value
              of 2 indents all paragraphs, except after headings, lists, and displays (this value
              can't be used as an argument to P itself).

              The space between two paragraphs is controlled by number register Ps, and is  1  by
              default (one blank line).

       PGFORM [linelength [pagelength [pageoffset [1]]]]
              Set  line  length,  page  length,  and/or  page offset.  This macro can be used for
              special formatting, like letter heads and other.  It is normally the first  command
              in  a  file,  though  it is not necessary.  PGFORM can be used without arguments to
              reset everything after a MOVE call.   A  line  break  is  done  unless  the  fourth
              argument  is  given.   This  can be used to avoid the page number on the first page
              while setting new width and length.  (It seems as if this macro  sometimes  doesn't
              work  too well.  Use the command line arguments to change line length, page length,
              and page offset instead.)

       PGNH   No header is printed on the next page.  Used to get rid of the header in letters or
              other  special  texts.  This macro must be used before any text to inhibit the page
              header on the first page.

       PIC [-B] [-L] [-C] [-R] [-I n] filename [width [height]]
              Include a PostScript file in the document.  The  macro  depends  on  mmroff(1)  and
              INITR.   The  arguments -L, -C, -R, and -I n adjust the picture or indent it.  With
              no flag the picture is adjusted to the left.  Adding -B  draws  a  box  around  the
              picture.  The optional width and height can also be given to resize the picture.

       PE     Picture end.  Ends a picture for pic(@MAN1EXT).

       PF [arg]
              Page  footer.  PF sets the line to be printed at the bottom of each page.  Empty by
              default.  See PH for the argument specification.

              This macro defines string EOPf.

       PH [arg]
              Page header, a line printed at the top  of  each  page.   The  argument  should  be
              specified as

                     "'left-part'center-part'right-part'"

              where  left-part, center-part, and right-part are printed left-justified, centered,
              and right justified, respectively.  Within the argument to PH, the character ‘%’ is
              changed to the current page number.  The default argument is

                     "''- % -''"

              which gives the page number between two dashes.

              This macro defines string TPh.

       PS     Picture start (from pic).  Begins a picture for pic(1).

       PX     Page header user-defined exit.  This macro is called just after the printing of the
              page header in no-space mode.

       R      Roman.  Return to roman font, see also I.

       RB [roman-text [bold-text [roman-text [...]]]]
              Roman-bold.  Even arguments are printed in roman, odd in boldface.  See I.

       RD [prompt [diversion [string]]]
              Read from standard input to diversion and/or  string.   The  text  is  saved  in  a
              diversion  named  diversion.   Recall the text by writing the name of the diversion
              after a dot on an empty line.  A  string  is  also  defined  if  string  is  given.
              Diversion and/or prompt can be empty ("").

       RF     Reference  end.  Ends a reference definition and returns to normal processing.  See
              RS.

       RI [roman-text [italic-text [roman-text [...]]]]
              Print even arguments in roman, odd in italic.  See I.

       RL [text-indent[1]]
              Reference list  start.   Begins  a  list  where  each  item  is  preceded  with  an
              automatically  incremented number between square brackets.  text-indent changes the
              default indentation.

       RP [arg1 [arg2]]
              Produce reference page.  This macro can be used  if  a  reference  page  is  wanted
              somewhere  in  the  document.  It is not needed if TC is used to produce a table of
              contents.  The reference page is then printed automatically.

              The reference counter is not reset if arg1 is 1.

              arg2 tells RP whether to eject a page or not.

              arg2

                     0   The reference page is printed on a separate page.
                     1   Do not eject page after the list.

                     2   Do not eject page before the list.
                     3   Do not eject page before and after the list.

              The reference items are separated by a blank line.  Setting number register Ls to 0
              suppresses the line.

              The  string  Rp  contains  the  reference  page title and is set to ‘REFERENCES’ by
              default.  The number register Rpe holds the default value for the  second  argument
              of RP; it is initially set to 0.

       RS [string-name]
              Begin  an  automatically numbered reference definition.  Put the string \*(Rf where
              the reference mark should be and write the reference between RS/RF at next new line
              after  the  reference  mark.  The reference number is stored in number register :R.
              If string-name is given, a string with  that  name  is  defined  and  contains  the
              current  reference  mark.  The string can be referenced as \*[string-name] later in
              the text.

       S [size [spacing]]
              Set point size and vertical spacing.  If any argument is equal to ‘P’, the previous
              value  is  used.   A ‘C’ means current value, and ‘D’ the default value.  If ‘+’ or
              ‘-’ is used before the value, the current  value  is  incremented  or  decremented,
              respectively.

       SA [arg]
              Set  right-margin  justification.   Justification  is  turned  on  by  default.  No
              argument or value ‘0’ turns off justification, and ‘1’ turns on justification.

       SETR refname [string]
              Remember the current header and page number as refname.  Saves string if string  is
              defined.  string is retrieved with .GETST.  See INITR.

       SG [arg [1]]
              Signature line.  Prints the authors name(s) after the formal closing.  The argument
              is appended to the reference data, printed at either the first or last author.  The
              reference data is the location, department, and initials specified with .AU.  It is
              printed at the first author if the second argument is given, otherwise at the last.
              No  reference  data  is printed if the author(s) is specified through .WA/.WE.  See
              section INTERNALS.

       SK [pages]
              Skip pages.  If pages is 0 or omitted, a skip to the next page occurs unless it  is
              already at the top of a page.  Otherwise it skips pages pages.

       SM string1 [string2 [string3]]
              Make  a  string  smaller.  If string2 is given, string1 is made smaller and string2
              stays at normal size, concatenated with string1.  With three arguments,  everything
              is concatenated, but only string2 is made smaller.

       SP [lines]
              Space  vertically.   lines can have any scaling factor, like ‘3i’ or ‘8v’.  Several
              SP calls in a line only produces the maximum number of lines, not the sum.   SP  is
              ignored  also  until  the first text line in a page.  Add \& before a call to SP to
              avoid this.

       TAB    Reset tabs to every 5n.  Normally used to reset any previous tab positions.

       TB [title [override [flag [refname]]]]
              Table title.  The arguments are the same as for EC.  TB uses the number register Tb
              as  a  counter.   The  string  Lt controls the title of the List of Tables; default
              value is ‘LIST OF TABLES’.  The List of Tables is only printed if  number  register
              Lt is 1, which is the default.  The string Litb contains the word ‘TABLE’, which is
              printed before the number.

              Special handling of the title occurs if TB is used inside DS/DE, it is not affected
              by the format of DS.

       TC [slevel [spacing [tlevel [tab [h1 [h2 [h3 [h4 [h5]]]]]]]]]
              Table  of  contents.  This macro is normally used as the last line of the document.
              It generates a table of contents with headings up to the level controlled by number
              register  Cl.   Note  that Cl controls the saving of headings, it has nothing to do
              with TC.  Headings with a level less than or equal to slevel get spacing number  of
              lines  before  them.  Headings with a level less than or equal to tlevel have their
              page numbers right-justified with dots or spaces separating the text and  the  page
              number.   Spaces  are  used  if  tab  is  greater than zero, dots otherwise.  Other
              headings have the page number directly at the end  of  the  heading  text  (ragged-
              right).

              The rest of the arguments is printed, centered, before the table of contents.

              The  user-defined  macros  TX  and  TY  are  used if TC is called with at most four
              arguments.  TX is called before the printing of the string ‘CONTENTS’,  and  TY  is
              called instead of printing ‘CONTENTS’.

              Equivalent  macros  can  be  defined  for  list  of  figures, tables, equations and
              exhibits by defining TXxx  or  TYxx,  where  xx  is  ‘Fg’,  ‘TB’,  ‘EC’,  or  ‘EX’,
              respectively.

              String  Ci  can be set to control the indentations for each heading-level.  It must
              be scaled, like

                     .ds Ci .25i .5i .75i 1i 1i

              By default, the indentation is controlled by the maximum length of headings in each
              level.

              The  string  variables Lifg, Litb, Liex, Liec, and Licon contain ‘Figure’, ‘TABLE’,
              ‘Exhibit’, ‘Equation’, and ‘CONTENTS’, respectively.  These  can  be  redefined  to
              other languages.

       TE     Table end.  See TS.

       TH [N] Table  header.   See  TS.  TH ends the header of the table.  This header is printed
              again if a page break occurs.  Argument ‘N’ isn't implemented yet.

       TL [charging-case-number [filing-case-number]]
              Begin title of memorandum.  All text up to the next AU is included  in  the  title.
              charging-case-number  and  filing-case-number  are  saved for use in the front page
              processing.

       TM [num1 [num2 [...]]]
              Technical memorandum numbers used in .MT.  An unlimited number of arguments may  be
              given.

       TP     Top-of-page  user-defined  macro.   This macro is called instead of the normal page
              header.  It is possible to get complete control over the  header.   Note  that  the
              header  and  the  footer  are  printed  in  a separate environment.  Line length is
              preserved, though.  See EOP.

              strings available to TP

              TPh    argument of PH
              TPeh   argument of EH
              TPoh   argument of OH

       TS [H] Table start.  This is the start of a table specification to tbl(1).  TS  ends  with
              TE.  Argument ‘H’ tells mm that the table has a header.  See TH.

       TX     User-defined  table  of  contents exit.  This macro is called just before TC prints
              the word ‘CONTENTS’.  See TC.

       TY     User-defined table of contents exit.  This macro  is  called  instead  of  printing
              ‘CONTENTS’.  See TC.

       VERBON [flag [point-size [font]]]
              Begin  verbatim  output  using  Courier  font.  Usually for printing programs.  All
              characters have equal width.  The  point  size  can  be  changed  with  the  second
              argument.   By  specifying  a  third  argument  it  is possible to use another font
              instead of Courier.  flag controls several special features.  Its value is the  sum
              of all wanted features.

                     Arg   Description
                     1     Disable  the  escape character (\).  This is normally turned on during
                           verbose output.
                     2     Add an empty line before the verbose text.
                     4     Add an empty line after the verbose text.
                     8     Print the verbose text with numbered lines.   This  adds  four  digit-
                           sized  spaces  in  the  beginning  of  each  line.   Finer  control is
                           available with the string variable Verbnm.  It contains all  arguments
                           to the troff(1) command .nm, normally ‘1’.
                     16    Indent  the  verbose  text by ‘5n’.  This is controlled by the number-
                           variable Verbin (in units).

       VERBOFF
              End verbatim output.

       VL text-indent [mark-indent [1]]
              Variable-item list.  It has no fixed mark, it assumes that  every  LI  has  a  mark
              instead.   text-indent  sets  the  indent to the text, and mark-indent the distance
              from the current indentation to the mark.  A third argument prohibits printing of a
              blank line before each item.

       VM [-T] [top [bottom]]
              Vertical   margin.   Increase  the  top  and  bottom  margin  by  top  and  bottom,
              respectively.  If option -T is specified, set those margins to top and bottom.   If
              no  argument  is given, reset the margin to zero, or to the default (‘7v 5v’) if -T
              is used.  It is highly recommended that macros TP and/or EOP are defined  if  using
              -T and setting top and/or bottom margin to less than the default.

       WA [writer-name [title]]
              Begin  specification  of  the  writer  and  writer's address.  Several names can be
              specified with empty WA/WE pairs, but only one address.

       WE     End the address specification after .WA.

       WC [format1] [format2] [...]
              Footnote and display width control.

              N     Set default mode which is equal to using the options -WF, -FF, -WD, and FB.
              WF    Wide footnotes, wide also in two-column mode.
              -WF   Normal footnote width, follow column mode.
              FF    All footnotes gets the same width as the first footnote encountered.
              -FF   Normal footnotes, width follows WF and -WF.
              WD    Wide displays, wide also in two-column mode.
              -WD   Normal display width, follow column mode.
              FB    Floating displays generates a line break when printed on the current page.
              -FB   Floating displays does not generate line break.

   Strings used in mm
       App    A string containing the word ‘APPENDIX’.

       Apptxt The current appendix text.

       EM     Em dash string

       H1txt  Updated by .H and .HU to the current  heading  text.   Also  updated  in  table  of
              contents & friends.

       HF     Font  list  for  headings,  ‘2 2 2 2 2 2 2’ by default.  Non-numeric font names may
              also be used.

       HP     Point size list for headings.  By default, this is ’0 0 0 0 0 0  0’  which  is  the
              same as ‘10 10 10 10 10 10 10’.

       Index  Contains the string ‘INDEX’.

       Indcmd Contains the index command.  Default value is ‘sort -t\t’.

       Lifg   String containing ‘Figure’.

       Litb   String containing ‘TABLE’.

       Liex   String containing ‘Exhibit’.

       Liec   String containing ‘Equation’.

       Licon  String containing ‘CONTENTS’.

       Lf     Contains the string ‘LIST OF FIGURES’.

       Lt     Contains the string ‘LIST OF TABLES’.

       Lx     Contains the string ‘LIST OF EXHIBITS’.

       Le     Contains the string ‘LIST OF EQUATIONS’.

       Letfc  Contains the string ‘Yours very truly,’, used in .FC.

       Letapp Contains the string ‘APPROVED:’, used in .AV.

       Letdate
              Contains the string ‘Date’, used in .AV.

       LetCN  Contains the string ‘CONFIDENTIAL’, used in .LO CN.

       LetSA  Contains the string ‘To Whom It May Concern:’, used in .LO SA.

       LetAT  Contains the string ‘ATTENTION:’, used in .LO AT.

       LetSJ  Contains the string ‘SUBJECT:’, used in .LO SJ.

       LetRN  Contains the string ‘In reference to:’, used in .LO RN.

       Letns  is an array containing the different strings used in .NS.  It is really a number of
              string variables prefixed with Letns!.   If  the  argument  doesn't  exist,  it  is
              included  between () with Letns!copy as a prefix and Letns!to as a suffix.  Observe
              the space after ‘Copy’ and before ‘to’.

                     Name         Value
                     Letns!0      Copy to
                     Letns!1      Copy (with att.) to
                     Letns!2      Copy (without att.) to
                     Letns!3      Att.
                     Letns!4      Atts.
                     Letns!5      Enc.
                     Letns!6      Encs.
                     Letns!7      Under separate cover
                     Letns!8      Letter to
                     Letns!9      Memorandum to
                     Letns!10     Copy (with atts.) to
                     Letns!11     Copy (without atts.) to
                     Letns!12     Abstract Only to
                     Letns!13     Complete Memorandum to
                     Letns!14     CC
                     Letns!copy   Copy \"
                     Letns!to     " to

       Letnsdef
              Define the standard notation used when no argument is given to .NS.  Default is 0.

       MO1  MO12
              Strings containing the month names ‘January’ through ‘December’.

       Qrf    String containing ‘See chapter \\*[Qrfh], page \\n[Qrfp].’.

       Rp     Contains the string ‘REFERENCES’.

       Tcst   Contains the current status of the table of contents  and  list  of  figures,  etc.
              Empty outside of .TC.  Useful in user-defined macros like .TP.

                     Value   Meaning
                     co      Table of contents
                     fg      List of figures
                     tb      List of tables
                     ec      List of equations
                     ex      List of exhibits
                     ap      Appendix

       Tm     Contains the string ‘\(tm’, the trade mark symbol.

       Verbnm Argument to .nm in the .VERBON command.  Default is 1.

   Number variables used in mm
       Aph    Print an appendix page for every new appendix  if this number variable is non-zero.
              No output occurs if Aph is zero, but there is always an appendix entry in the ‘List
              of contents’.

       Cl     Contents level (in the range 0 to 14).  The contents is saved if a heading level is
              lower than or equal to the value of Cl.  Default is 2.

       Cp     Eject page between list of table, list of figure, etc., if the value of Cp is zero.
              Default is 0.

       D      Debug  flag.   Values  greater  than  zero  produce debug information of increasing
              verbosity.  A value of 1  gives  information  about  the  progress  of  formatting.
              Default is 0.

       De     If set to 1, eject after floating display is output.  Default is 0.

       Dsp    If  defined,  it  controls  the  space  output  before  and  after static displays.
              Otherwise the value of Lsp is used.

       Df     Control floating keep output.  This is a number in the range 0 to 5, with a default
              value of 5.  See .DF.

       Ds     If  set  to  1,  use  the  amount  of space stored in register Lsp before and after
              display.  Default is 1.

       Ej     If set to 1, eject page before each first-level heading.  Default is 0.

       Eq     Equation labels are left-adjusted if set to 0  and  right-adjusted  if  set  to  1.
              Default is 0.

       Fs     Footnote spacing.  Default is 1.

       H1  H7
              Heading counters

       H1dot  Append  a  dot  after  the  level-one heading number if value is greater than zero.
              Default is 1.

       H1h    A copy of number register H1, but it is incremented just  before  the  page  break.
              Useful in user-defined header macros.

       Hb     Heading  break  level.   A  number in the range 0 to 14, with a default value of 2.
              See .H.

       Hc     Heading centering level.  A number in the range 0 to 14, with a default value value
              of 0.  See .H.

       Hi     Heading temporary indent.  A number in the range 0 to 2, with a default value of 1.

                     0   no indentation, left margin
                     1   indent to the right, similar to ‘.P 1’
                     2   indent to line up with text part of preceding heading

       Hps    Heading  pre-space  level.   If the heading level is less than or equal to Hps, two
              lines precede the section heading instead of one.  Default  is  first  level  only.
              The real amount of lines is controlled by the variables Hps1 and Hps2.

       Hps1   Number of lines preceding .H if the heading level is greater than Hps.  Value is in
              units, default is 0.5.

       Hps2   Number of lines preceding .H if the heading level is less than  or  equal  to  Hps.
              Value is in units, default is 1.

       Hs     Heading  space  level.   A  number in the range 0 to 14, with a default value of 2.
              See .H.

       Hss    Number of lines following .H if the heading level is less  than  or  equal  to  Hs.
              Value is in units, default is 1.

       Ht     Heading numbering type.

                     0   multiple levels (1.1.1, 1.1.2, etc.)
                     1   single level

              Default is 0.

       Hu     Unnumbered heading level.  Default is 2.

       Hy     Hyphenation status of text body.

                     0   no hyphenation
                     1   hyphenation on, set to value 14

              Default is 0.

       Iso    Set  this  variable  to  1  on the command line to get an ISO-formatted date string
              (-rIso=1).  Useless inside of a document.

       L      Page length, only for command line settings.

       Letwam Maximum lines in return-address, used in .WA/.WE.  Default is 14.

       Lf, Lt, Lx, Le
              Enable (1) or disable (0) the printing of List of figures, List of tables, List  of
              exhibits and List of equations, respectively.  Default values are Lf=1, Lt=1, Lx=1,
              and Le=0.

       Li     List indentation, used by .AL.  Default is 6.

       Limsp  A flag controlling the insertion of space between  prefix  and  mark  in  automatic
              lists (.AL).

                     0   no space
                     1   emit space

       Ls     List  space  threshold.  If current list level is greater than Ls no spacing occurs
              around lists.  Default is 99.

       Lsp    The vertical space used by an empty line.  The default is 0.5v in troff mode and 1v
              in nroff mode.

       N      Page numbering style.

                     0   normal header for all pages.
                     1   header replaces footer on first page, header is empty.
                     2   page header is removed on the first page.
                     3   ‘section-page’ numbering style enabled.
                     4   page header is removed on the first page.
                     5   ‘section-page’ and ‘section-figure’ numbering style enabled.

              Default is 0.  See also the number registers Sectf and Sectp.

       Np     A flag to control whether paragraphs are numbered.

                     0   not numbered
                     1   numbered in first-level headings.

              Default is 0.

       O      Page offset, only for command line settings.

       Of     Format of figure, table, exhibit, and equation titles.

                     0   ". "
                     1   " - "

              Default is 0.

       P      Current page-number, normally the same as ‘%’ unless ‘section-page’ numbering style
              is enabled.

       Pi     Paragraph indentation.  Default is 5.

       Pgps   A flag to control whether header and footer point size should  follow  the  current
              settings or just change when the header and footer are defined.

                     0   Point  size only changes to the current setting when .PH, .PF, .OH, .EH,
                         .OF, or .OE is executed.
                     1   Point size changes after every .S.  This is the default.

       Ps     Paragraph spacing.  Default is 1.

       Pt     Paragraph type.

                     0   left-justified
                     1   indented paragraphs
                     2   indented paragraphs except after .H, .DE, or .LE.

              Default is 0.

       Rpe    Set default value for second argument of .RP.  Default is 0.

       Sectf  A flag controlling ‘section-figures’ numbering style.   A  non-zero  value  enables
              this.  See also register N.

       Sectp  A  flag controlling ’section-page’ numbering style.  A non-zero value enables this.
              See also register N.

       Si     Display indentation.  Default is 5.

       Verbin Indentation for .VERBON.  Default is 5n.

       W      Line length, only for command line settings.

       .mgm   Always 1.

INTERNALS

       The letter macros are using different submacros depending on the letter type.  The name of
       the  submacro  has  the  letter  type as suffix.  It is therefore possible to define other
       letter types, either in the national macro-file, or as  local  additions.   .LT  sets  the
       number  variables  Pt  and  Pi to 0 and 5, respectively.  The following strings and macros
       must be defined for a new letter type.

       let@init_type
              This macro is called directly by .LT.  It is supposed to initialize  variables  and
              other stuff.

       let@head_type
              This macro prints the letter head, and is called instead of the normal page header.
              It is supposed to remove the alias let@header,  otherwise  it  is  called  for  all
              pages.

       let@sg_type name title n flag [arg1 [arg2 [...]]]
              .SG  is  calling  this macro only for letters; memorandums have its own processing.
              name and title are specified through .WA/.WB.  n is the counter, 1-max, and flag is
              true for the last name.  Any other argument to .SG is appended.

       let@fc_type closing
              This macro is called by .FC, and has the formal closing as the argument.

       .LO  is  implemented as a general option-macro.  It demands that a string named Lettype is
       defined, where type is the letter type.  .LO then  assigns  the  argument  to  the  string
       variable let*lo-type.

FILES

       /usr/share/groff/1.22.3/tmac/m.tmac

       /usr/share/groff/1.22.3/tmac/mm/*.cov

       /usr/share/groff/1.22.3/tmac/mm/*.MT

       /usr/share/groff/1.22.3/tmac/mm/locale

SEE ALSO

       groff(1), troff(1), tbl(1), pic(1), eqn(1)
       groff_mmse(7) (only in Swedish locales)

COPYING

       Copyright © 1989-2014 Free Software Foundation, Inc.

       Permission is granted to make and distribute verbatim copies of this manual provided the
       copyright notice and this permission notice are preserved on all copies.

       Permission is granted to copy and distribute modified versions of this manual under the
       conditions for verbatim copying, provided that the entire resulting derived work is
       distributed under the terms of a permission notice identical to this one.

       Permission is granted to copy and distribute translations of this manual into another
       language, under the above conditions for modified versions, except that this permission
       notice may be included in translations approved by the Free Software Foundation instead of
       in the original English.

AUTHOR

       Jörgen Hägg, Lund, Sweden ⟨jh@axis.se⟩.