Man Pages

groff_mm(7) - phpMan groff_mm(7) - phpMan

Command: man perldoc info search(apropos)  

GROFF_MM(7)                                                        GROFF_MM(7)

       groff_mm - groff mm macros

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

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

       ?      no Bell Labs localisms implemented.

       ?      the macros OK and PM are not implemented.

       ?      groff mm does not support cut marks

       mm  is  intended to be international.  Therefore it is possible to write short national macrofiles which change
       all english text to the preferred language.  Use mmse as an example.

       A file called locale or lang_locale is read after the initiation of the global variables.  It is therefore pos-
       sible to localize the macros with companyname and so on.

       In this manual square brackets is 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 com-
       .nr XXX [+-]n [i]
       XXX is the name of the register, n is the value to be assigned, and i is increment value for auto-increment.  n
       can  have  a  plus or minus sign as prefix if an increment or decrement of the current value is wanted.  (Auto-
       increment or decrement occurs if the number register is used with a plus or minus sign, \n+[XXX] or  \n-[XXX].)

       Strings is 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 pre-
       fixed 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, ...


       )E level text
              Adds text (heading-text) to the table of contents with level either 0 or  between  1-7.   See  also  .H.
              This macro is used for customized table of contents.

       1C [1] Begin one column processing.  An 1 as argument disables the page-break.  Use wide footnotes, small foot-
              notes 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]
              Authors firm, should be called before AU, see also COVER.

       AL [type [text-indent [1]]]
              Start  autoincrement list.  Items are numbered beginning on one.  The type argument controls the type of
              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 indent and overrides Li.  A third argument will prohibit printing of a  blank  line
              before each item.

       APP name text
              Begin  an appendix with name name.  Automatic naming occurs if name is "".  The appendixes starts with A
              if auto is used.  An 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 appear in the 'List of contents' with correct
              pagenumber.  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 pagenr is incremented with pages.  This is used when diagrams or other non-format-
              ted documents are included as appendixes.

       AS [arg [indent]]
              Abstract start.  Indent is specified in 'ens', but scaling is allowed.  Argument arg controls where  the
              abstract is printed.
              Arg  Placement
              0    Abstract  will  be printed on page 1 and on the cover sheet if used in the released-paper style (MT
                   4), otherwise it will be printed on page 1 without a cover sheet.
              1    Abstract will only be printed on the cover sheet (MT 4 only).
              2    Abstract will be printed only on the cover sheet (other than  MT  4  only).   The  cover  sheet  is
                   printed without need for CS.
              Abstract  is not printed at all in external letters (MT 5).  The indent controls the indentation of both
              margins, otherwise will normal text indent be used.

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

       AT title1 [title2 ...]
              Authors title.  AT must appear just after each AU.  The title will show up after the name in the  signa-
              ture block.

       AU [name [initials [loc [dept [ext [room [arg [arg [arg]]]]]]]]]
              Author  information,  specifies  the author of the memo or paper, and will be printed on the cover sheet
              and on other similar places.  AU must not appear before TL.  The author  information  can  contain  ini-
              tials, 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, and the string Date in 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 will be concatenated to  one  word,
              the first, third and so on will be printed in boldface.

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

       B2     End box.  Finish the box started by 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, initialize 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 will prohibit 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.
              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 will always begin at the next line after the  mark.   Text-indent  sets
              the indent to the text, and mark-indent the distance from the current indent to the mark.  A third argu-
              ment will prohibit printing of a blank line before each item.

       COVER [arg]
              COVER begins a coversheet definition.  It is important that  .COVER  appears  before  any  normal  text.
              .COVER uses arg to build the filename /usr/share/groff/  Therefore it is possi-
              ble to create unlimited types of coversheets.  ms.cov is  supposed  to  look  like  the  ms  coversheet.
              .COVER requires a .COVEND at the end of the coverdefinition.  Always use this order of the covermacros:
              However, only .TL and .AU are required.

       COVEND This finish the cover description and prints the cover-page.  It is defined in the cover file.

       DE     Display end.  Ends a block of text, 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 is 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  will occur 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  will be printed on the current page if there is enough space, otherwise it will be
                   printed at the end of the document.
              2    One display will be 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 will be printed at the top  of  the
                   next page or column.
              4    Print as many displays that will fit in a new page or column.  A page break will occur 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 will occur 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  the  empty
              line  between each list item to be printed.  See LI.  A third argument will prohibit 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 to a unlimited depth (reason-
              ably :-).

              ""   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

              L, I, C and CB can also be specified as 0, 1, 2 or 3 for compatibility reasons.  (Don't use it. :-)

              ""   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 or 1.  An empty line will normally be printed before  and  after  the
              display.   Setting  number register Ds to 0 will prevent this.  Rindent shortens the line length by that

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

              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 counter.  It is possible to use .af to change the format of  the  num-
              ber.   If  number  register Of is 1, then the format of title will use a dash instead of a dot after the
              The string Le controls the title of the List of Equations, default is LIST OF EQUATIONS.   The  List  of
              Equations will only be printed if number register Le is 1, default 0.  The string Liec contains the word
              Equation, wich 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 will occur if EC is used inside DS/DE, it will not be affected by the for-
              mat of DS.

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

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

       EN     Equation end, see EQ.

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

              Strings available to EOP
              EOPf Argument from PF.
              EOPefArgument from EF.
                   Argument from OF.

       EPIC [-L] width height [name]
              EPIC  draws  a box with the given width and height, it will also print 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  pic-
              ture.  -L will leftadjust the picture, the default is to center adjust.  See PIC

       EQ [label]
              Equation  start.  EQ/EN are the delimiters for equations written for eqn.  EQ/EN must be inside a DS/DE-
              pair, except when EQ is only used to set options in eqn.  The label will appear at the right  margin  of
              the equation, unless number register Eq is 1.  Then the label will appear at the left margin.

       EX [title [override [flag [refname]]]]
              Exhibit title, arguments are the same as for EC.  EX uses the number register Ex as counter.  The string
              Lx controls the title of the List of Exhibits, default is LIST OF EXHIBITS.  The List of  Exhibits  will
              only be printed if number register Lx is 1, default 1.  The string Liex contains the word Exhibit, which
              is printed before the number.  If refname is used, then the exhibit number is saved with .SETR, and  can
              be retrieved with .GETST refname.
              Special handling of the title will occur if EX is used inside DS/DE, it will not be affected by the for-
              mat of DS.

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

       FD [arg [1]]
              Footnote default format.  Controls the hyphenation (hyphen), right margin justification (adjust), inden-
              tation 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

              Argument greater than or equal to 11 is considered as arg 0.  Default for mm is 10.

       FE     Footnote end.

       FG [title [override [flag [refname]]]]
              Figure title, arguments are the same as for EC.  FG uses the number register Fg as counter.  The  string
              Lf controls the title of the List of Figures, default is LIST OF FIGURES.  The List of Figures will only
              be printed if number register Lf is 1, default 1.  The string Lifg contains the  word  Figure,  wich  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 will occur if FG is used inside DS/DE, it will not be affected by the for-
              mat of DS.

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

       GETHN refname [varname]
              Includes the headernumber where the corresponding SETR refname was placed.  Will be  X.X.X.  in  pass 1.
              See INITR.  If varname is used, GETHN sets the stringvariable varname to the headernumber.

       GETPN refname [varname]
              Includes  the  pagenumber where the corresponding SETR refname was placed.  Will be 9999 in pass 1.  See
              INITR.  If varname is used, GETPN sets the stringvariable varname to the pagenumber.

       GETR refname
              Combines GETHN and GETPN with the text 'chapter' and ', page'.  The string Qrf  contains  the  text  for
                   .ds Qrf See chapter \\*[Qrfh], page \\*[Qrfp].
              Qrf  may  be changed to support other languages.  Strings Qrfh and Qrfp are set by GETR and contains the
              page and headernumber.

       GETST refname [varname]
              Includes the string saved with the second argument to .SETR.  Will be dummystring in pass 1.  If varname
              is used, GETST sets the stringvariable varname to the saved string.  See INITR.

       H level [heading-text [heading-suffix]]
              Numbered  section  heading.  Section headers can have a level between 1 and 7, level 1 is the top level.
              The text is given in heading-text, and must be surrounded by double quotes if it contains spaces.  Head-
              ing-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 won't work.  A manual  label
              must be used, see FS.

              An eventual paragraph, P, directly after H will be ignored, H is taking care of spacing and indentation.

              Page ejection before heading
              Number register Ej controls page ejection before the heading.  Normally, a level one  heading  gets  two
              blank lines before it, higher levels gets only one.  A new page is ejected before each first-level head-
              ing if number register Ej is 1.  All levels below or equal the value of Ej gets  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 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 2.

              Text will follow 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 0.

              0    The text will be left-justified.
              1    Indentation of the text will follow the value of number register Pt, see P.
              2    The text will be 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 is

              Font control of the heading
              The font of each heading level is controlled by string HF.  It contains a  fontnumber  or  fontname  for
              each level.  Default is 2 2 2 2 2 2 2 (all headings in italic).  Could also be written as 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 be a 1.

              Point size control.
              String HP controls the pointsize 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.   Beware  that  only  the  point  size
              changes, not the vertical size.  That can be controlled by the user specified macro HX and/or HZ.

              Heading counters
              Seven  number  registers,  named H1 thru H7 contains 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.  That will only print the
              current heading counter at each heading.

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

              Special control of the heading, user-defined macros.
              These  macros can be defined by the user to get a finer control of vertical spacing, fonts or other fea-
              tures.  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
              HX is called just before the printing of the heading.  The following register is available for  HX.   HX
              may alter }0, }2 and ;3.
              string }0
                   Contains the heading mark plus two spaces if rlevel is non-zero, otherwise empty.
              register ;0
                   Contains the position of the text after the heading.  0 means that the text should follow the head-
                   ing 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.
              string }2
                   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.
              register ;3
                   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
              HY is called after size and font calculations and might be used to change indentation.

              HZ dlevel rlevel heading-text
              HZ  is called after the printing of the heading, just before H or HU exits.  Could 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 in the beginning of the file.

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

              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
              emptyArabic numerals.

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

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

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

       HZ dlevel rlevel heading-text
              Userdefined 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 will set the word
              in  italic.   With two argument it will concatenate them and set the first word in italic and the second
              in the previous font.  There is no limit on the number of argument, all will be concatenated.

       IA [addressee-name [title]]
              Begins 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 is printed in italic, odd in boldface.  See I.

       IE     Ends the address-specification after IA.

       INITI type filename [macro]
              Initialize  the  new  index system, sets 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 N.

              It is also possible to create a macro that is responsible for formatting each row.  Add the name of  the
              macro as argument 3.  The macro will be called with the index as argument(s).

              N    Page numbers
              H    Header marks
              B    Both page numbers and header marks, tab separated

       INITR filename
              Initialize  the  refencemacros.   References  will be written to stderr and is supposed to be written to
              filename.qrf.  Requires two passes with groff, this is handled by a separate program called mmroff,  the
              reason  is  that groff is often installed without the unsafe operations that INITR requiered.  The first
              pass looks for 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 [...]]
              IND  writes  a line in the index file selected by INITI with all arguments and the page number or header
              mark separated by tabs.
                   arg1\tpage number
                   arg1\targ2\tpage number
                   arg1\theader mark
                   arg1\tpage number\theader mark

       INDP   INDP prints the index by running the command specified by string variable  Indcmd,  normally  sort -t\t.
              INDP  reads  the  output  from the command to form the index, normally in two columns (can be changed by
              defining TYIND).  The index is printed with string variable Index as header, default is INDEX.  One-col-
              umn  processing  is  returned  after  the list.  INDP will call the user-defined macros TXIND, TYIND and
              TZIND if defined.  TXIND is called before printing INDEX, TYIND is called  instead  of  printing  INDEX.
              TZIND is called after the printing and should take care of restoring to normal operation again.

       ISODATE [0]
              ISODATE changes the predefined date string in DT to ISO-format, ie 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 is 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 indent.

              Pad  and mark-indent controls where to put the mark.  The mark is placed within the mark area, and mark-
              indent sets the number of spaces before this area.  It is normally 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 whitin the mark area if pad is 0.  If pad is greater than 0, then mark-indent
              is ignored, and the mark is placed pad spaces before the text.  This will right justify the mark.

              If type is 0 the list will have either a hanging indent or, if argument mark is given, the  string  mark
              as mark.

              If type is greater than 0 automatic numbering will occur, arabic 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.
               1    x.
               2    x)
               3    (x)
               4    [x]
               5    <x>
               6    {x}

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

              LB itself will print 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  argmuent  is
              given.  This is used by H to clear any active list.

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

       LI [mark [1]]
              List item precedes every item in a list.  Without argument LI will print the mark determined by the cur-
              rent list type.  By giving LI one argument, it will use that as the mark instead.  Two arguments  to  LI
              will  make  mark a prefix to the current mark.  There will be 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  num-
              ber register Limsp to zero.  A zero length mark will make a hanging indent instead.

              A  blank line is normally printed before the list item.  This behaviour can be controlled by number reg-
              ister Ls.  Pre-spacing will occur for each list-level less than or equal to Ls.   Default  value  is 99.
              (Nesting of lists is unlimited. :-)

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

              All  lists  begins with a list initialization macro, LB.  There are, however, seven predefined listtypes
              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 Varable List.
              These lists are described at other places in this manual.  See also LB.

       LT [arg]
              Formats a letter in one of four different styles depending on the argument.  See also 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
              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.
                   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
              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.  Then the subject is printed in all-captial without any  prefix.
                   See also string variable LetSJ.

       MC column-size [column-separation]
              Begin  multiple  columns.  Return to normal with 1C.  MC will create 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 the column-size/15.  See also 1C.

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

       MT [arg [addressee]]
              Memorandum type.  The arg is part of a filename in  /usr/share/groff/*.MT.   Memorandum
              type  0  thru  5  are  supported,  including "string".  Addressee just sets a variable, used in the AT&T
              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, pageoffset set to x-pos.  If line-length is not given, the difference  between  cur-
              rent and new pageoffset is used.  Use PGFORM without arguments to return to normal.

       MULB cw1 space1 [cw2 space2 [cw3 ...]]
              Begin  a  special multi-column mode.  Every columns width must be specified.  Also the space between the
              columns must be specified.  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 width and space is 'n', but MULB
              accepts all normal unitspecifications like 'c' and 'i'.  MULB operates in a separate environment.

       MULN   Begin the next column.  This is the only way to switch 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]]
              Prints 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 exist in the predefined, it will be printed as Copy (arg) to.  It is possible to add more  stan-
              dard notations, see the string variable 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
                   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.  Override 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.

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

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

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

              Instead of giving 1 as argument to P it is possible to set the paragraph type  in  number  register  Pt.
              Using  0  and 1  will  be  the same as adding that value to P.  A value of 2 will indent all paragraphs,
              except after headings, lists and displays.

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

       PGFORM [linelength [pagelength [pageoffset [1]]]]
              Sets linelength, pagelength and/or pageoffset.  This macro can be used for special formatting, like let-
              terheads and other.  It is normally the first command in a file, though it's not necessary.  PGFORM  can
              be  used  without  arguments  to  reset everything after a MOVE.  A line-break is done unless the fourth
              argument is given.  This can be used to avoid the pagenumber 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 linelength, pagelength and pageoffset instead.  Sorry.)

       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 pageheader on the first page.

       PIC [-L] [-C] [-R] [-I n] filename [width [height]]
              PIC  includes a Postscript file in the document.  The macro depends on mmroff and INITR.  -L, -C, -R and
              -I n adjusts the picture or indents it.  The optionally width and height can also be given to resize the

       PE     Picture end.  Ends a picture for pic, see the manual for pic.

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

       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-, center- and right-part is printed left-justified, centered
              and right justified.  The character % is changed to the current page number.  The default page-header is
              "''- % -''", the page number between two dashes.

       PS     Picture start (from pic).  Begins a picture for pic, see the manual.

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

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

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

       RD [prompt [diversion [string]]]
              Read from standard input to diversion and/or string.  The text will be saved in a diversion named diver-
              sion.  Recall the text by writing the name of the diversion after a dot on an empty line.  A string will
              also be 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 [...]]]]
              Even arguments are printed in roman, odd in italic.  See I.

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

       RP [arg1 [arg2]]
              Produce  reference page.  RP 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 content.  The reference page will then be  printed  auto-

              The reference counter will not be reset if arg1 is 1.

              Arg2 tells RP whether to eject a page or not.
              0    The reference page will be printed on a separate page.  This is the default.
              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  will be separated by a blank line.  Setting number register Ls to 0 will suppress
              the line.

              The string Rp contains the reference page title and is normally set to REFERENCES.

       RS [string-name]
              RS begins 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 refer-
              ence number is stored in number register :R.  If string-name is given, a string with that name  will  be
              defined  and  contain 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 'P', then the previous value is used.   A
              'C'  means current value, and 'D' default value.  If '+' or '-' is used before the value, then increment
              or decrement of the current value will be done.

       SA [arg]
              Set right-margin justification.  Justification is normally turned on.  No argumenent or 0 turns off jus-
              tification, a 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 will be 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 will be printed at the first author if the second  argu-
              ment  is  given,  otherwise at the last.  No reference data will be printed if the author(s) is specifed
              thru .WA/.WE.  See INTERNALS.

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

       SM string1 [string2 [string3]]
              Make  a  string  smaller.  If string2 is given, string1 will be smaller and string2 normal, concatenated
              with string1.  With three argument, all is concatenated, but only string2 is made smaller.

       SP [lines]
              Space vertically.  lines can have any scalingfactor, like 3i or 8v.  Several SP in a line will only pro-
              duce  the  maximum  number of lines, not the sum.  SP will also be ignored until the first textline in a
              page.  Add a \& before SP to avoid this.

       TAB    reset tabs to every 5n.  Normally used to reset any previous tabpositions.

       TB [title [override [flag [refname]]]]
              Table title, arguments are the same as for EC.  TB uses the number register Tb as counter.   The  string
              Lt controls the title of the List of Tables, default is LIST OF TABLES.  The List of Tables will only be
              printed if number register Lt is 1, default 1.  The string Litb contains the word TABLE, wich is printed
              before the number.
              Special handling of the title will occur if TB is used inside DS/DE, it will not be affected by the for-
              mat of DS.

       TC [slevel [spacing [tlevel [tab [h1 [h2 [h3 [h4 [h5]]]]]]]]]
              Table of contents.  This macro is normally used at 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 level less than or equal to slevel will
              get  spacing  number  of  lines before them.  Headings with level less than or equal to tlevel will have
              their page numbers right justified with dots or spaces separating the text and the page number.   Spaces
              is  used if tab is greater than zero, otherwise dots.  Other headings will have the page number directly
              at the end of the heading text (ragged right).

              The rest of the arguments will be 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 CONTENTS, and TY is called instead of printing CONTENTS.

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

              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.  The indentation is normally controlled by the maxlength of headings in each

              All texts can be redefined, new stringvariables Lifg, Litb, Liex, Liec and Licon contain "Figure",  "TA-
              BLE", "Exhibit", "Equation" and "CONTENTS".  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 will be printed again if a page-
              break occurs.  Argument N isn't implemented yet.

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

       TM [num1 [num2 [...]]]
              Technical memorandumnumbers used in .MT.  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 header and footer is printed in a separate  environ-
              ment.  Linelength is preserved though.

       TS [H] Table  start.  This is the start of a table specification to tbl.  See separate manual for tbl.  TS ends
              with TE.  Argument H tells mm that the table has a header.  See TH.

       TX     Userdefined table of contents exit.  This macro is called just before TC prints the word CONTENTS.   See

       TY     Userdefined  table of contents exit (no "CONTENTS").  This macro is called instead of printing CONTENTS.
              See TC.

       VERBON [flag [pointsize [font]]]
              Begin verbatim output using courier font.  Usually for  printing  programs.   All  character  has  equal
              width.   The  pointsize  can be changed with the second argument.  By specifying the font-argument it is
              possible to use another font instead of courier.  flag controls several special features.   It  contains
              the sum of all wanted features.
              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 digitsized spaces in the beginning of
                   each line.  Finer control is available with the string-variable Verbnm.  It contains all  arguments
                   to the troff-command .nm, normally '1'.
              16   Indent  the  verbose  text  with  five 'n':s.  This is controlled by the number-variable Verbin (in

              End verbatim output.

       VL text-indent [mark-indent [1]]
              Variable-item list has no fixed mark, it assumes that every LI have a mark  instead.   Text-indent  sets
              the indent to the text, and mark-indent the distance from the current indent to the mark.  A third argu-
              ment will prohibit printing of a blank line before each item.

       VM [-T] [top [bottom]]
              Vertical margin. Adds extra vertical top and margin space.  Option -T set the total space  instead.   No
              argument  resets  the margin to zero or the default (7v 5v) if -T was used. It is higly recommended that
              macro TP and/or EOP are defined if using -T and setting top  and/or  bottom  margin  to  less  than  the

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

       WE     Ends the address-specification after .WA.

       WC [format]
              Footnote and display width control.
              N    Set default mode, -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".


       The current appendix text.
              EM Em dash string

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

       HF     Fontlist for headings, normally "2 2 2 2 2 2 2".  Nonnumeric fontnames may also be used.

       HP     Pointsize list for headings.  Normally "0 0 0 0 0 0 0" which is the same as "10 10 10 10 10 10 10".


       Contains INDEX.

       Contains the index command, 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 "LIST OF FIGURES".

       Lt     Contains "LIST OF TABLES".

       Lx     Contains "LIST OF EXHIBITS".

       Le     Contains "LIST OF EQUATIONS".

       Letfc  Contains "Yours very truly,", used in .FC.

       Letapp Contains "APPROVED:", used in .AV.

              Contains "Date", used in .AV.

       LetCN  Contains "CONFIDENTIAL", used in .LO CN.

       LetSA  Contains "To Whom It May Concern:", used in .LO SA.

       LetAT  Contains "ATTENTION:", used in .LO AT.

       LetSJ  Contains "SUBJECT:", used in .LO SJ.

       LetRN  Contains "In reference to:", used in .LO RN.

       Letns  is an array containing the different strings used in .NS.  It is really a number of stringvariables pre-
              fixed with Letns!.  If the argument doesn't exist, it will be included between  ()  with  Letns!copy  as
              prefix and Letns!to as 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

              Defines the standard-notation used when no argument is given to .NS.  Default is 0.

       MO1 - MO12
              Strings containing January thru December.

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

       Rp     Contains "REFERENCES".

       Tcst   Contains  current  status  of  table  of contents and list of XXXX.  Empty outside .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 \(tm, trade mark.

       Verbnm Argument to .nm in .VERBON, default: 1.

       Number variables used in mm:

       Aph    Print an appendix-page for every new appendix if this numbervariable is non-zero.  No output will  occur
              if Aph is zero, but there will always be an appendix-entry in the 'List of contents'.

       Cl     Contents level [0:7], contents saved if heading level <= Cl, default 2.

       Cp     Eject page between LIST OF XXXX if Cp == 0, default 0.

       D      Debugflag,  values  >0  produces  varying  degree  of  debug.   A value of 1 gives information about the
              progress of formatting, default 0.

       De     Eject after floating display is output [0:1], default 0.

       Dsp    Controls the space output before and after static displays if defined.  Otherwise is the  value  of  Lsp

       Df     Floating keep output [0:5], default 5.

       Ds     Lsp space before and after display if == 1 [0:1], default 1.

       Ej     Eject page, default 0.

       Eq     Equation lable adjust 0=left, 1=right.  Default 0.

       Fs     Footnote spacing, default 1.

       H1-H7  Heading counters

       H1dot  Append a dot after the level one heading number if > 0.  Default is 1.


       Copy of number register H1, but it is incremented
              just  before  the  page  break.   Useful  in  user defined header macros.  Hb Heading break level [0:7],
              default 2.

       Hc     Heading centering level, [0:7].  Default 0.

       Hi     Heading temporary indent [0:2], default 1.
              0 -> 0 indent, left margin
              1 -> indent to right , like .P 1
              2 -> indent to line up with text part of preceding heading

       Hps    Numbervariable with the heading pre-space level.  If the heading-level is less than  or  equal  to  Hps,
              then  two lines will 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   This is the number of lines preceding .H when the heading-level is greater than Hps.  Value is in units,
              normally 0.5.

       Hps2   This  is the number of lines preceding .H when the heading-level is less than or equal to Hps.  Value is
              in units, normally 1.

       Hs     Heading space level [0:7], default 2.

       Hss    This is the number of lines that follows .H when the heading-level is less than or equal to  Hs.   Value
              is in units, normally 1.

       Ht     Heading numbering type, default 0.  0 -> multiple (1.1.1 ...)
              1 -> single

       Hu     Unnumbered heading level, default 2.

       Hy     Hyphenation in body, default 1.
              0 -> no hyphenation
              1 -> hyphenation 14 on

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

       L      Page length, only for command line settings.

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

       Lf, Lt, Lx, Le
              Enables (1) or disables (0) the printing of List of figures, List of tables, List of exhibits  and  List
              of equations.  Default: Lf=1, Lt=1, Lx=1, Le=0.

       Li     List indent, used by .AL, default 6.

       Limsp  Flag for space between prefix and mark in automatic lists (.AL).
              0 == no space
              1 == space

       Ls     List space, if current listlevel > Ls then no spacing will occur around lists.  Default 99.

       Lsp    The size of an empty line.  Normally 0.5v, but it is 1v if n is set (.nroff).

       N      Numbering style [0:5], default 0.
              0 == (default) 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 enabled.
              4 == page header is removed on the first page.
              5 == "section-page"  and  "section-figure"  numbering  enabled.   See also the number-register Sectf and

       Np     Numbered paragraphs, default 0.
              0 == not numbered
              1 == numbered in first level headings.

       O      Page offset, only for command line settings.

       Of     Format of figure,table,exhibit,equation titles, default 0.
              0 = ". "
              1 = " - "

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

       Pi     paragraph indent, default 5.

       Pgps   Controls whether header and footer pointsize should follow the current setting or just change  when  the
              header and footer is defined.
              0    Pointsize  will only change to the current setting when .PH, .PF, .OH, .EH, .OF or .OE is executed.
              1    Pointsize will change after every .S.  This is the default.

       Ps     paragraph spacing, default 1.

       Pt     Paragraph type, default 0.
              0 == left-justified
              1 == indented .P
              2 == indented .P except after .H, .DE or .LE.

       Sectf  Flag controlling "section-figures".  A non-zero value enables this.  See also register N.

       Sectp  Flag controlling "section-page-numbers".  A non-zero value enables this.  See also register N.

       Si     Display indent, default 5.

       Verbin Indent for .VERBON, default 5n.

       W      Line length, only for command line settings.

       .mgm   Always 1.

       The letter macros is 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 will set the number variables Pt and Pi to 0 and 5.   The  following  strings
       and macros must be defined for a new letter type:

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

              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 will be called for all pages.

       let@sg_type name title n flag [arg1 [arg2 [...]]]
              .SG is calling this macro only for letters, memorandums has its own processing.  name and title is spec-
              ified thru .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 argument.

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

       Jorgen Hagg, Lund, Sweden <>.





       groff(1), troff(1), tbl(1), pic(1), eqn(1)

Groff Version         11 November 2010                    GROFF_MM(7)