groff_mm(7) 맨 페이지 - 윈디하나의 솔라나라

개요

섹션
맨 페이지 이름
검색(S)

groff_mm(7)

groff_mm(7)            Miscellaneous Information Manual            groff_mm(7)

Name
       groff_mm - memorandum macros for GNU roff

Synopsis
       groff -mm [option ...] [file ...]
       groff -m mm [option ...] [file ...]

Description
       The  GNU  implementation  of  the mm macro package is part of the groff
       document formatting system.  The mm package is suitable for the  compo‐
       sition of letters, memoranda, reports, and books.

       Call an mm macro at the beginning of a document to initialize the pack‐
       age.  A simple mm document might use only P for paragraphing.  Set num‐
       bered  and  unnumbered  section  headings  with H and HU, respectively.
       Change the style of the typeface with B, I, and R;  you  can  alternate
       styles  with  BI,  BR, IB, IR, RB, and RI.  Several nestable list types
       are available via AL, BL, BVL, DL, ML, RL, and VL; each of these begins
       a list, to which LI adds an item and LE ends the (nested)  list.   Cus‐
       tomized  list arrangements are supported by LB.  DS and DF start static
       and floating displays, respectively; either is terminated with DE.

       groff mm is intended to be compatible with the mm implementation  found
       in  the  AT&T  Documenter's Workbench (DWB), with the following limita‐
       tions.

       • Omitted features include the logo and company name  strings,  }Z  and
         ]S,  respectively; the encoded company site location addresses recog‐
         nized as the third argument to the AU macro; the Pv (“private”  head‐
         ing) register; and the OK (other keywords), and PM (proprietary mark‐
         ings) macros.

       • The  CS (output cover sheet) macro is implemented only for memorandum
         type 4.

       • The grap preprocessor is not  explicitly  supported;  no  G1  and  G2
         macros are defined.

       • The  registers  A,  C,  E,  T, and U, typically set from the troff or
         nroff command lines with DWB mm, are not recognized.

       • When setting the registers L or W from the command line, use  an  ex‐
         plicit scaling unit to avoid surprises.

       • DWB mm's nP macro indented the second line of a paragraph to align it
         with the start of the text of the first (after the paragraph number);
         groff mm's does not.

       • Cut marks are not supported.

       DWB  mm supported only seven levels of heading.  As a compatible exten‐
       sion, groff mm supports fourteen, introducing new registers H8  through
       H14, and affecting the interpretation of the HF and HP strings.

       Macro,  register,  and string descriptions in this page frequently men‐
       tion each other; most cross references are to macros.  Where a register
       or string is referenced, its type is explicitly identified.  mm's macro
       names are usually in full capitals; registers and strings tend to  have
       mixed-case names.

   Document styles
       groff  mm  offers three different frameworks for document organization.
       COVER/COVEND is a flexible means of preparing any document requiring  a
       cover  page.   LT/LO  aids preparation of typical Anglophone correspon‐
       dence (business letters, for example).  The MT memorandum  type  mecha‐
       nism implements a group of formal styles historically used by AT&T Bell
       Laboratories.   Your  document  can  select  at  most  one of these ap‐
       proaches; when used, each disables the others.

   Localization
       groff mm is designed to be easily localized.  For languages other  than
       English,  strings  that  can appear in output are collected in the file
       /usr/share/groff/1.23.0/tmac/xx.tmac, where xx is an ISO 639 two-letter
       language identifier.  Localization packages should be loaded after  mm;
       for  example,  you  might format a Swedish mm document with the command
       “groff -mm -msv”.

       This package can also be localized by site or territory;  for  example,
       /usr/share/groff/1.23.0/tmac/mse.tmac illustrates how to adapt the out‐
       put  to  a national standard using its ISO 3166 territory code.  Such a
       package   can   define   a   string   that   causes   a   macro    file
       /usr/share/groff/1.23.0/tmac/mm/territory_locale  to be loaded at pack‐
       age   initialization.     If    this    mechanism    is    not    used,
       /usr/share/groff/1.23.0/tmac/mm/locale  is loaded instead.  No diagnos‐
       tic is produced if these files do not exist.

   Registers and strings
       Much mm behavior can be configured by registers and strings.  A  regis‐
       ter is assigned with the nr request.

              .nr ident [±]n [i]

       ident  is  the name of the register, and n is the value to be assigned.
       n can be prefixed with a plus or minus sign if incrementation or decre‐
       mentation (respectively) of the register's existing value by n  is  de‐
       sired.   If  assignment of a (possibly) negative n is required, further
       prefix it with a zero or enclose it in parentheses.  If i is specified,
       the register is automatically modified by i prior to interpolation if a
       plus or minus sign is included in the escape sequence as follows.

              \n[±][ident]

       i can be negative; it combines algebraically with the sign in  the  in‐
       terpolation escape sequence.

       Strings are defined with the ds request.

              .ds ident contents

       contents  consumes  everything  up  to  the  end of the line, including
       trailing spaces.  It is a good practice to end contents with a  comment
       escape  sequence  (\")  so that extraneous spaces do not intrude during
       document maintenance.  To include leading spaces in contents, prefix it
       with a double quote.  Strings are interpolated with the \*  escape  se‐
       quence.

              \*[ident]

       Register  and  string  name spaces are distinct, but strings and macros
       share a name space.  Defining a string with the  same  name  as  an  mm
       macro  is not supported and may cause incorrect rendering, the emission
       of diagnostic messages, and an error exit status from troff.

   Register format
       A register is interpolated using Arabic numerals if no other format has
       been assigned to it.  Assign a format to a register  with  the  af  re‐
       quest.

              .af R c

       R is the name of the register, and c is the format.  If c is a sequence
       of  Arabic numerals, their quantity defines a zero-padded minimum width
       for the interpolated register value.

              tab(@); lb lb l l.  Form@Sequence 1@0, 1, 2,  3,  ...,  10,  ...
              001@000, 001, 002, 003, ..., 1000, ...  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 groff mm, the fonts (or rather, font styles) R (roman), I  (italic),
       and  B  (bold) are mounted at font positions 1, 2, and 3, respectively.
       Internally, font positions are used for backward compatibility.  From a
       practical point of view, it doesn't make a big  difference—a  different
       font  family  can  still be selected by invoking groff's fam request or
       using its -f command-line option.  On the other hand, if  you  want  to
       replace  just,  for  example,  font  I with Zapf Chancery Medium italic
       (available on groff's pdf and ps output devices), you have to  use  the
       fp  request,  replacing the font at position 2 with “.fp 2 ZCMI”).  Be‐
       cause the cover sheet, memorandum type, and refer(1) integration macros
       explicitly request fonts named B, I, and R, you will also need to remap
       these font names with the ftr request, for instance with “.ftr I ZCMI”.

Macros
       An explicitly empty argument may be specified with  a  pair  of  double
       quotes;  to call a macro XX with an empty second argument but non-empty
       first and third ones, you could input the following.

              .XX foo "" baz

       Macro names longer than two characters are GNU extensions; some shorter
       names were not part of DWB mm's published interface but are  documented
       aspects of groff mm.

       )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 undocu‐
              mented DWB mm macro is exposed by groff mm to enable  customized
              tables of contents.

       1C [1] Format  page text in one column.  The page is broken.  A 1 argu‐
              ment suppresses this break; its use may cause body  text  and  a
              pending footnote to overprint.  See 2C, MC, and NCOL.

       2C     Begin two-column formatting.  This is a special case of MC.  See
              1C and NCOL.

       AE     Abstract end; stop collecting abstract text.  See AS.

       AF [firm-name]
              Specify  firm  associated with the document.  At most one can be
              declared; the firm name is used by memorandum types  and  avail‐
              able  to  cover  sheets.  AF terminates a document title started
              with TL, and can be called without an argument for that purpose.
              See MT and COVER.

       AL [type [text-indent [1]]]
              Begin an auto-incrementing numbered list.  Item numbers start at
              one.  The type argument assigns the register format (see  above)
              of  the list item enumerators.  The default is 1.  An explicitly
              empty type also indicates the default.  A  text-indent  argument
              overrides  register  Li.   A third argument suppresses the blank
              line that normally precedes each list item.  Use LI  to  declare
              list items, and LE to end the list.

       APP [id [title]]
              Begin  an  appendix.  If the identifier id is omitted, it is in‐
              cremented (or initialized, if necessary).  The  register  format
              used  for  id is “A”.  The page is broken.  The register Aph de‐
              termines whether an appendix heading is  then  formatted.   This
              heading  uses  the string App followed by id.  Appendices appear
              in any table of contents (see TC).  The string Apptxt is set  to
              title if the latter is present, and made empty otherwise.

       APPSK id n [title]
              As  APP,  but increment the page number by n.  Use this macro to
              “skip pages” when diagrams or other materials not  formatted  by
              troff are included in appendices.

       AS [placement [indentation]]
              Abstract start; begin collecting abstract.  Input up to the next
              AE  call  is included in the abstract.  placement influences the
              location of the abstract on the cover sheet of a memorandum (see
              MT).  COVER, by contrast, ignores placement by default, but  can
              be customized to interpret it.

              tab(@);  lf(BI) lb l lx.  placement@Effect 0@T{ The abstract ap‐
              pears on page 1 and cover sheet if the document is  a  “released
              paper”  memorandum  (“.MT  4”);  otherwise, it appears on page 1
              without a cover sheet.  T} 1@T{ The abstract appears only on the
              cover sheet (“.MT 4” only).  T}

              An abstract does not appear at all  in  external  letters  (“.MT
              5”).   A  placement  of  2 was supported by DWB mm but is not by
              groff mm.

              A second argument increases the indentation by  indentation  and
              reduces the line length by twice this amount.  A scaling unit of
              ens is assumed.  The default is 0.

       AST [caption]
              Set  the  caption  above the abstract to caption, or clear it if
              there is no argument.  The default is “ABSTRACT”.

       AT title ...
              Specify author's title(s).  If present, AT must appear just  af‐
              ter  the corresponding author's AU.  Each title occupies an out‐
              put line beneath the author's name in the signature  block  used
              by  LT letters (see SG) and in MT memoranda.  The ms cover sheet
              style also uses it.

       AU [name [initials [loc [dept [ext [room [arg1 [arg2 [arg3]]]]]]]]]
              Specify author.  AU terminates a document title started with TL,
              and can be called without arguments for  that  purpose.   Author
              information is used by cover sheets, MT memoranda, and SG.  Fur‐
              ther  arguments  comprise  initials, location, department, tele‐
              phone extension, room number or name, and up to three additional
              items.  Repeat AU to identify multiple authors.

              Use WA/WE instead to identify the author for documents employing
              LT.

       AV [name [1]]
              Format approval lines for a handwritten signature and date.  Two
              horizontal rules are drawn, with the specified name and the text
              of the string Letdate beneath them.  Above these rules, the text
              in the string Letapp is formatted; a  second  argument  replaces
              this text with a blank line.  See LT.

       AVL [name]
              As AV, but the date, date rule, and approval notation Letapp are
              omitted.

       B [bold-text [previous-font-text]] ...
              Join bold-text in boldface with previous-font-text in the previ‐
              ous font, without space between the arguments.  If no arguments,
              switch font to bold style.

       B1     Begin  boxed, kept display.  The text is indented one character,
              and the right margin is one character shorter.  This  is  a  GNU
              extension.

       B2     End boxed, kept display.  This is a GNU extension.

       BE     End bottom block; see BS.

       BI [bold-text [italic-text]] ...
              Join  bold-text in boldface with italic-text in italics, without
              space between the arguments.

       BL [text-indent [1]]
              Begin bulleted list.  Items are prefixed with  a  bullet  and  a
              space.   A text-indent argument overrides register Pi.  A second
              argument suppresses blank lines between items.  Use  LI  to  de‐
              clare list items, and LE to end the list.

       BR [bold-text [roman-text]] ...
              Join bold-text in boldface with roman-text in roman style, with‐
              out space between the arguments.

       BS     Begin  bottom block.  Input is collected until BE is called, and
              output between the footnote area and footer of each page.

       BVL [text-indent [mark-indent [1]]]
              Begin broken variable-item (or “tagged”) list.  Each item is ex‐
              pected to supply its own mark.  The line is always broken  after
              the  mark; contrast VL.  text-indent sets the indentation of the
              text, and mark-indent the distance from the current list  inden‐
              tation  to the mark.  A third argument suppresses the blank line
              that normally precedes each list item.  Use LI to  declare  list
              items, and LE to end the list.

       COVER [style]
              Begin  a  cover  page description.  COVER must appear before the
              body text (or main matter) of a document.  The argument style is
              used to construct the file name /usr/share/groff/1.23.0/tmac/mm/
              style.cov and load it with the mso request.  The  default  style
              is ms; the ms.cov file prepares a cover page resembling those of
              the ms package.  A .cov file must define a COVEND macro, which a
              document  must  call  at  the end of the cover description.  Use
              cover description macros in the following order; only TL and  AU
              are required.

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

       COVEND End the cover description.

       DE     End static or floating display begun with DS or DF.

       DF [format [fill [right-indentation]]]
              Begin  floating display.  A floating display is saved in a queue
              and output in the order entered.  Arguments are  handled  as  in
              DS.   Floating displays cannot be nested.  Placement of floating
              displays is controlled by the registers De and Df.

       DL [text-indent [1]]
              Begin dashed list.  Items are prefixed with an  em  dash  and  a
              space.   A text-indent argument overrides register Pi.  A second
              argument suppresses blank lines between items.  Use  LI  to  de‐
              clare list items, and LE to end the list.

       DS [format [fill [right-indentation]]]
              Begin  static  display.   Input  until DE is called is collected
              into a display.  The display is output on a single  page  unless
              it  is  taller  than  the  height of the page.  DS can be nested
              (contrast with DF).

              tab(@); Lf(BI) Lb L Lx.  format@Effect none@Do  not  indent  the
              display.   L@Do  not  indent  the  display.  I@T{ Indent text by
              \n[Si].  T} 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 with DWB mm.

              tab(@); Lf(BI)  Lb  L  Lx.   fill@Effect  none@Disable  filling.
              N@Disable filling.  F@Enable filling.

              “N”  and “F” can also be specified as “0” and “1”, respectively,
              for compatibility with DWB mm.

              A third argument reduces the line length by right-indentation.

              mm normally places blank lines before  and  after  the  display.
              Set register Ds to 0 to suppress these.

       EC [title [override [flag [refname]]]]
              Caption  an  equation.   The caption consists of the string Liec
              followed by an automatically incrementing counter stored in  the
              register Ec, punctuation configured by the register Of, then ti‐
              tle  (if any).  Use the af request to configure Ec's number for‐
              mat.  override and flag alter the equation  number  as  follows.
              Omitting flag and specifying 0 in its place are equivalent.

              tab(@);  Lf(BI)  Lb  L  Lx.  flag@Effect 0@T{ Prefix number with
              override.  T} 1@T{ Suffix number with override.  T} 2@T{ Replace
              number with override.  T}

              Equation captions are centered irrespective of the alignment  of
              any enclosing display.

              refname  stores  the  equation  number using SETR; it can be re‐
              treived with “.GETST refname”.  This argument is  a  GNU  exten‐
              sion.

              Captioned  equations  are listed in a table of contents (see TC)
              if the Boolean register Le is true.  Such a list uses the string
              Le as a heading.

       EF ["'left'center'right'"]
              Define the even-page footer, which is formatted just  above  the
              normal  page footer on even-numbered pages.  See PF.  EF defines
              the string EOPef.

       EH ["'left'center'right'"]
              Define the even-page header, which is formatted just  below  the
              normal  page header on even-numbered pages.  See PH.  EH defines
              the string TPeh.

       EN     End equation input preprocessed by eqn(1); see EQ.

       EOP    If defined, this macro is called in lieu of normal  page  footer
              layout.   Headers  and footers are formatted in a separate envi‐
              ronment.  See TP.

              tab(@); Cb S Lb L.  Strings available to EOP _ EOPf@argument  to
              PF EOPef@argument to EF EOPof@argument to 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-aligns the picture; the default is to center.
              See PIC.

       EQ [label]
              Start equation input preprocessed by eqn(1).  EQ  and  EN  macro
              calls  bracket  an  equation  region.  Such regions must be con‐
              tained in displays (DS/DE), except when the region is used  only
              to  configure  eqn and not to produce output.  If present, label
              appears aligned to the right and centered vertically within  the
              display;  see register Eq.  If multiple eqn regions occur within
              a display, only the last label (if any) is used.

       EX [title [override [flag [refname]]]]
              Caption an exhibit.  Arguments are handled  analogously  to  EC.
              The  register  Ex  is the exhibit counter.  The string Liex pre‐
              cedes the exhibit number and any title.   Exhibit  captions  are
              centered irrespective of the alignment of any enclosing display.

              Captioned exhibits are listed in a table of contents (see TC) if
              the Boolean register Lx is true.  Such a list uses the string Lx
              as a heading.

       FC [closing-text]
              Output  the  string Letfc, or the specified closing-text, as the
              formal closing of a letter.

       FD [arg [1]]
              Configure display of footnotes.  The first argument encodes  en‐
              ablement  of automatic hyphenation, adjustment to the right mar‐
              gin, indentation of footnote text, and left- vs. right-alignment
              of the footnote label within the space allocated for it.

              tab(@) nokeep; Lf(BI) Lb Lb Lb Lb L L L L L.  arg@Hyphenate?@Ad‐
              just?@Indent?@Label         alignment          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 arg greater than 11 is treated as 0.  mm's default is 0.

              If a second argument, conventionally 1, is given, footnote  num‐
              bering  is reset when a first-level heading is encountered.  See
              FS.

       FE     End footnote; see FS.

       FG [title [override [flag [refname]]]]
              Caption a figure.  Arguments are handled analogously to EC.  The
              register Fg is the figure counter.  The string Lifg precedes the
              figure number and any title.  Figure captions are centered irre‐
              spective of the alignment of any enclosing display.

              Captioned figures are listed in a table of contents (see TC)  if
              the Boolean register Lf is true.  Such a list uses the string Lf
              as a heading.

       FS [label]
              Start  footnote.   Input  until FE is called is collected into a
              footnote.  By  default,  footnotes  are  automatically  numbered
              starting  at 1; the number is available in register :p and, with
              a trailing period, in string F.  This string precedes the  foot‐
              note  text  at  the bottom of the column or page.  Footnotes are
              vertically separated by the product of registers Fs and Lsp.  In
              groff mm, footnotes may be used in displays.

              A label argument replaces the contents of the string F; it  need
              not  be numeric.  In this event, the footnote marker in the body
              text must be explicitly written.

       GETHN refname [varname]
              Include the heading number where the corresponding  “.SETR  ref‐
              name” was placed.  This is displayed as “X.X.X.” in pass 1.  See
              INITR.  If varname is used, GETHN sets the string varname to the
              heading 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 string 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 heading 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 [title [suffix]]
              Set a numbered section heading at level.  mm  produces  numbered
              heading  marks  of the form a.b.c..., with up to fourteen levels
              of nesting.  Each level's number  increases  automatically  with
              each  H  call and is reset to zero when a more significant level
              is specified.  “1” is the most significant or coarsest  division
              of  the  document.  Text after an H call is formatted as a para‐
              graph; calling P is unnecessary.

              title specifies an optional title; it must be  double-quoted  if
              it  contains  spaces.  mm appends suffix to title in the body of
              the document, but omits it from any table of contents (see  TC).
              This  facility  can be used to annotate the heading title with a
              footnote.  suffix should not interpolate the F string; specify a
              footnote mark explicitly.  See FS.

              Heading behavior is highly configurable.  Several registers  set
              a  threshold,  where  heading  levels  at or below the threshold
              value are handled in one way, and those above it  another.   For
              example,  a heading level within the threshold of register Cl is
              included in the table of contents (see TC).

              Heading layout.  Register Ej sets a threshold for page  breaking
              (ejection) prior to a heading.  If not preceded by a page break,
              a  heading level below the threshold in register Hps is preceded
              by the amount of vertical space in register  Hps1,  and  by  the
              amount  in Hps2 otherwise.  The Hb register sets a threshold be‐
              low which a break occurs after the heading, and register Hs sets
              a threshold below which vertical space follows it.  If the head‐
              ing level is not less than both of these, a  run-in  heading  is
              produced;  paragraph text follows on the same output line.  Oth‐
              erwise, register Hi configures the  indentation  of  text  after
              headings.   Threshold register Hc enables the centering of head‐
              ings; a heading level below both of the Hb and Hc thresholds  is
              centered.

              Heading  typeface  and size.  The fonts used for heading numbers
              and titles at each level are configured by the HF  string.   The
              string  HP  likewise  assigns a type size to each heading level.
              The vertical spacing used by headings may be controlled  by  the
              user-definable macros HX and/or HZ.

              Heading  number  format.   Registers  named H1 through H14 store
              counters for each heading level.  Their values are printed using
              Arabic numerals by default; see  HM.   The  heading  levels  are
              catenated with dots for formatting; to typeset only the deepest,
              set  the  Ht  register.  Heading numbers are not suffixed with a
              trailing dot except when only the first level is output; to omit
              a dot in this case as well, clear the H1dot register.

              Customizing heading behavior.  mm calls hook  macros  to  enable
              further  customization  of  headings.  (DWB mm called these “ex‐
              its”.)  They can be used to change the heading's mark (the  num‐
              bered  portion  before any heading title), its vertical spacing,
              and its vertical space requirements (for instance, to require  a
              minimum  quantity  of  subsequent  output  lines).   Define hook
              macros in expectation of the following parameters.  The argument
              declared-level is the level argument to H, or 0  for  unnumbered
              headings  (see  HU).  actual-level is the same as declared-level
              for numbered headings, and the value of register Hu  for  unnum‐
              bered headings.  title is the corresponding argument to H or HU.

              HX declared-level actual-level title
                     mm  calls HX before setting the heading.  Your definition
                     may alter }0, }2, and ;3.

                     }0 (string)
                            contains the heading mark plus two spaces  if  de‐
                            clared-level is non-zero, and otherwise is empty.

                     ;0 (register)
                            encodes a position for the text after the heading.
                            0  means that the heading is to be run in, 1 means
                            that a break is to  occur  before  the  text,  and
                            2 means that vertical space is to separate heading
                            and text.

                     }2 (string)
                            is the suffix that separates a run-in heading from
                            the  text.   It contains two spaces if register ;0
                            is 0, and otherwise is empty.

                     ;3 (register)
                            contains the vertical space required for the head‐
                            ing to be typeset.  If that amount is  not  avail‐
                            able,  the  page  is  broken prior to the heading.
                            The default is 2v.

              HY declared-level actual-level title
                     mm calls HY after  determing  the  heading  typeface  and
                     size.  It could be used to change indentation.

              HZ declared-level actual-level title
                     mm  calls  HZ after formatting the heading, just before H
                     or HU returns.  It could  be  used  to  change  the  page
                     header to include a 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 register Hy to 0 at the beginning of the
              file.

       HM [arg1 [arg2 [... [arg14]]]]
              Set the heading mark style.  Each argument assigns the specified
              register format (see above) to the corresponding heading  level.
              The  default  is 1 for all levels.  An explicitly empty argument
              also indicates the default.

       HU heading-text
              Set an unnumbered section heading.  Except for a heading number,
              it is treated as a numbered heading of the level stored in  reg‐
              ister Hu; see H.

       I [italic-text [previous-font-text]] ...
              Join  italic-text in italics with previous-font-text in the pre‐
              vious font, without space between the arguments.   If  no  argu‐
              ments, switch font to italic style.

       IA [recipient-name [title]]
              Specify the inside address in a letter.  Input is collected into
              the inside address until IE is called, and then output.  You can
              specify  multiple  recipients  with  empty IA/IE pairs; only the
              last address is used.  The arguments give each recipient a  name
              and title.  See LT.

       IB [italic-text [bold-text]] ...
              Join  italic-text in italics with bold-text in boldface, without
              space between the arguments.

       IE     End the inside address begun with IA.

       IND argument ...
              If the Boolean register Ref is true, write an index entry  as  a
              specially  prepared  roff  comment to the standard error stream,
              with each argument separated from its predecessor by a tab char‐
              acter.  The entry's location information is arranged as  config‐
              ured by the most recent INITI call.

       INDP   Output the index set up by INITI and populated by IND calls.  By
              default, INDP calls SK and writes a centered caption interpolat‐
              ing  the  string  Index.  It then disables filling and calls 2C;
              afterward, it restores filling and calls 1C.

              Define macros to customize this behavior.  INDP calls TXIND  be‐
              fore  the  caption,  TYIND  instead  of writing the caption, and
              TZIND after formatting the index.

       INITI location-type file-name [macro]
              Initialize groff mm's indexing system.   Argument  location-type
              selects how the location of each index entry is reported.  file-
              name populates an internal string used later by INDP.

              tab(@);  Lf(BI) Lb L Lx.  location-type@Entry format N@page num‐
              ber H@heading mark B@page number, tab character, heading mark

              If macro is specified, it is called for each  index  entry  with
              the arguments given to IND.

       INITR id
              Initialize  the  cross  reference  macros.  Cross references are
              written to the standard error stream, which should be redirected
              into a file named id.qrf.  mmroff(1) handles this  and  the  two
              formatting  passes it requires.  The first pass identifies cross
              references, and the second one includes them.

              See SETR, GETPN, and GETHN.

       IR [italic-text [roman-text]] ...
              Join italic-text in italics  with  roman-text  in  roman  style,
              without space between the arguments.

       ISODATE [0]
              Use  ISO  8601  format for the date string DT used by some cover
              sheet and memorandum types; that is, YYYY-MM-DD.  Must be called
              before ND to be effective.  If given an argument of 0, the  tra‐
              ditional  date format for the groff locale is used; this is also
              the default.

       LB text-indent mark-indent pad type [mark [pre-item-space [pre-list-
       space]]]
              Begin list.  The macros AL, BL, BVL, DL, ML, RL, and VL call  LB
              in various ways; they are simpler to use and may be preferred if
              they suit the desired purpose.

              The nesting level of lists is tracked by mm; the outermost level
              is  0.   The  text of each list item is indented by text-indent;
              the default is taken from the Li register (in ens).  Each item's
              mark is indented by mark-indent; the default is 0n.  The mark is
              normally left-aligned.  If pad is greater than zero, mark-indent
              is overridden such that pad ens of space follow the mark.   type
              selects one of six possible ways to display the mark.

              tab(@);  Lf(BI)  Lb  L L.  type@Output for a mark “x” 1@x.  2@x)
              3@(x) 4@[x] 5@<x> 6@{x}

              If type is 0 and mark is unspecified, the items are set  with  a
              hanging  indent.   Otherwise,  mark  is  interpreted as a string
              defining the mark.  If type is greater than zero, items are  au‐
              tomatically  numbered; mark is interpreted as a register format.
              The default type is 0.

              The last two arguments manage vertical space.  Unless  a  list's
              nesting  level  is  greater  than  the value of register Ls, its
              items are preceded by pre-item-space multiplied by the  register
              Lsp;  the  default is 1.  LB precedes the list by pre-list-space
              multiplied by the register Lsp; the default is 0.

       LC [list-level]
              Clear list state.  Active lists are terminated as  if  with  LE,
              either  all  (the  default) or only those from the current level
              down to list-level if specified.  H calls LC automatically.

       LE [1] End list.  The current list is terminated.   An  argument  of  1
              causes  vertical  space  in the amount of register Lsp to follow
              the list.

       LI [mark [item-mark-mode]]
              Begin a list item.  Input is collected into a  list  item  until
              the  current  list  is terminated or LI is called again.  By de‐
              fault, the item's text is preceded by any mark configured by the
              current list.  If only mark is specified, it replaces  the  con‐
              figured mark.  A second argument prefixes mark to the configured
              mark;  an  item-mark-mode value of 1 places an unbreakable space
              after mark, while a value of 2 does not (rendering the two adja‐
              cent).  Also see register Limsp.

       LO option [value]
              Specify letter options; see LT.  Standard options  are  as  fol‐
              lows.  See IA regarding the inside address and string DT regard‐
              ing the date.

              tab(@); Lf(BI) Lb L Lx.  option@Effect AT@T{ Attention; put con‐
              tents  of  string  LetAT and value left-aligned after the inside
              address.  T} CN@T{  Confidential;  put  value,  or  contents  of
              string  LetCN, left-aligned after the date.  T} RN@T{ Reference;
              put contents of string LetRN and value after the confidental no‐
              tation (if any) and the date, aligned with the latter.  T} SA@T{
              Salutation; put value, or contents of string LetSA, left-aligned
              after the inside address and the confidental notation (if  any).
              T}  SJ@T{  Subject; put contents of string LetSJ and value left-
              aligned after the inside address and the attention  and  saluta‐
              tion  notations (if any).  In letter type “SP”, LetSJ is ignored
              and value is set in full capitals.  T}

       LT [style]
              Format a letter in the designated style, defaulting to  BL  (see
              below).  A letter begins with the writer's address (WA/WE), fol‐
              lowed  by the date (ND), the inside address (IA/IE), the body of
              the letter (P and other general-purpose mm macros),  the  formal
              closing (FC), the signature (SG), and notations (NS/NE).  Any of
              these may be omitted.  Letter options specified with LO add fur‐
              ther  annotations, which are extensible; see section “Internals”
              below.

              tab(@); Lf(BI) Lb Lb Lx.  style@Description BL@T{  Blocked:  the
              writer's  address,  date,  formal closing, and signature are in‐
              dented to the center of the  line.   Everything  else  is  left-
              aligned.   T}  SB@T{  Semi-blocked: as BL, but the first line of
              each paragraph is indented  by  5m.   T}  FB@T{  Fully  blocked:
              everything  begins  at the left margin.  T} SP@T{ Simplified: as
              FB, but a formal closing is omitted, and the signature is set in
              full capitals.  T}

       MC column-width [gutter-width]
              Begin multi-column layout.  groff mm creates as many columns  of
              column-width  as  the  line length will permit.  gutter-width is
              the interior spacing between columns.  It  defaults  to  column-
              width/15.   1C returns to single-column layout.  MC is a GNU ex‐
              tension.  See MULB for an alternative.

       ML mark [text-indent [1]]
              Start a list with the mark argument preceding  each  list  item.
              text-indent  overrides the default indentation of the list items
              set by register Li.  If a third argument, conventionally  1,  is
              given,  the  blank line that normally precedes each list item is
              suppressed.  Use LI to declare list items, and  LE  to  end  the
              list.

       MT [type [addressee]]
              Select  memorandum  type.   These  correspond to formats used by
              AT&T Bell Laboratories, where the mm package was  initially  de‐
              veloped,  affecting the document layout.  Some of these included
              a cover page with a caption categorizing the document.  groff mm
              uses     type     to      construct      the      file      name
              /usr/share/groff/1.23.0/tmac/mm/type.MT and load it with the mso
              request.  Memorandum types 0 to 5 are supported; any other value
              of  type is mapped to type 6.  If type is omitted, 0 is implied.
              addressee sets a string analogous to  one  used  by  AT&T  cover
              sheet macros that are not implemented in groff mm.

              tab(@); Lf(BI) Lb L L.  type@Description 0@normal memorandum; no
              caption  1@captioned “MEMORANDUM FOR FILE” 2@captioned “PROGRAM‐
              MER'S NOTES” 3@captioned  “ENGINEER'S  NOTES”  4@released  paper
              5@external letter

              See COVER for a more flexible cover sheet mechanism.

       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  nor‐
              mal.

       MULB cw1 space1 [cw2 space2] ... cwn
              Begin  alternative multi-column mode.  All column widths must be
              specified, as must the amount of space between each column pair.
              The arguments' default scaling unit is n.  MULB uses a diversion
              and operates in a separate environment.

       MULN   Begin next column in alternative column mode.

       MULE   End alternative multi-column mode and emit the columns.

       NCOL   Move to the start of the next column (only when using 2C or MC).
              Contrast with MULN.

       ND [arg]
              Set the document's date.  mm does not interpret arg; it can be a
              revision identifier (or empty).

       NE     End notation begun with NS; filling is enabled.

       nP [type]
              Begin a numbered paragraph at heading level two.  See P.

       NS [code [1]]
              Declare notations, typically for letters or  memoranda,  of  the
              type  specified by code.  The text corresponding to code is out‐
              put, and filling is disabled until NE is called.   Typically,  a
              list  of names or attachments lies within NS/NE.  If code is ab‐
              sent or does not match one of the values listed under the  Letns
              string description below, each line of notations is formatted as
              “Copy  (line)  to”.   If a second argument, conventionally 1, is
              given, code becomes the entire notation and NE is not necessary.
              In groff mm, you can set up further notations to  be  recognized
              by NS; see the strings Letns and Letnsdef below.

       OF ["'left'center'right'"]
              Define  the  odd-page  footer, which is formatted just above the
              normal page footer on odd-numbered pages.  See PF.   OF  defines
              the string EOPof.

       OH ["'left'center'right'"]
              Define  the  odd-page  header, which is formatted just below the
              normal page header on odd-numbered pages.  See PH.   OH  defines
              the 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.  If type is missing or  0, P sets the para‐
              graph  fully left-aligned.  A type of 1 idents the first line by
              \[Pi] ens.  Set the register Pt to select  a  default  paragraph
              indentation  style.  The register Ps controls the vertical spac‐
              ing between paragraphs.

       PE     Picture end; see pic(1).

       PF ["'left'center'right'"]
              Define the page footer.  The footer is formatted at  the  bottom
              of  each page; the argument is otherwise as described in PH.  PF
              defines the string EOPf.  See EF, OF, and EOP.

       PGFORM [linelength [pagelength [pageoffset [1]]]]
              Set line length, page length, and/or page  offset.   This  macro
              can  be  used  for  letterheads and similar.  It is normally the
              first macro call 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   Suppress header on the next page.  This macro must be called be‐
              fore any macros that produce output to affect the layout of  the
              first page.

       PH ["'left'center'right'"]
              Define  the  page  header, formatted at the top of each page, as
              the argument, where left, center, and right are aligned  to  the
              respective locations on the line.  A “%” character in arg is re‐
              placed  by  the page number.  If the argument is absent, no page
              header is set.  The default page header is
                     "''- % -''"
              which centers the page number between hyphens and formats  noth‐
              ing  at the upper left and right.  Header macros call PX (if de‐
              fined) after formatting the header.  PH defines the string  TPh.
              See EH, OH, and TP.

       PIC [-B] [-C|-I n|-L|-R] file [width [height]]
              Include  PostScript  document  file.   The  optional -B argument
              draws a box around the picture.  The optional -L,  -C,  -R,  and
              -I  n  arguments align the picture or indent it by n (assuming a
              scaling unit of m).  By default, the  picture  is  left-aligned.
              Optional  width and height arguments resize the picture.  Use of
              this  macro  requires  two-pass  processing;   see   INITR   and
              mmroff(1).

       PS     Picture start; see pic(1).

       PY     Picture  end with flyback.  Ends a pic(1) picture, returning the
              vertical position to where it was prior to the picture.  This is
              a GNU extension.

       R [roman-text [previous-font-text]] ...
              Join roman-text in roman style with  previous-font-text  in  the
              previous font, without space between the arguments.  If no argu‐
              ments, switch font to roman style.

       RB [roman-text [bold-text]] ...
              Join roman-text in roman style with bold-text in boldface, with‐
              out space between the arguments.

       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 nor‐
              mal processing.  See RS.

       RI [roman-text [italic-text]] ...
              Join roman-text in roman  style  with  italic-text  in  italics,
              without space between the arguments.

       RL [text-indent [1]]
              Begin reference list.  Each item is preceded by an automatically
              incremented  number  between square brackets; compare AL.  text-
              indent changes the default indentation.  Use LI to declare  list
              items,  and  LE to end the list.  A second argument, convention‐
              ally 1, suppresses the blank line that  normally  precedes  each
              list item.

       RP [suppress-counter-reset [page-ejection-policy]]
              Format  a reference page, listing items accumulated within RS/RF
              pairs.  The reference counter is reset unless the first argument
              is 1.  Normally, page breaks occur before and after  the  refer‐
              ences are output; the register Rpe configures this behavior, and
              a  second  argument  overrides its value.  TC calls RP automati‐
              cally if references have accumulated.

              References are list items, and  thus  are  vertically  separated
              (see  LB).   Setting  register  Ls to 0 suppresses this spacing.
              The string Rp contains the reference page caption.

       RS [reference-string]
              Begin an automatically numbered reference  definition.   By  de‐
              fault,  references  are  numbered  starting  at 1; the number is
              available in register :R.  Interpolate the string Rf  where  the
              reference  mark  should be and write the reference between RS/RF
              on an input line after the reference mark.  If  reference-string
              is  specified,  groff  ms  also  stores  the reference mark in a
              string of that name, which can be interpolated as  \*[reference-
              string] subsequently.

       S [type-size [vertical-spacing]]
              Set  type  size  and vertical spacing.  Each argument is a groff
              measurement, using an appropriate scaling unit and an optional +
              or - prefix to increment or decrement the current value.  An ar‐
              gument of P restores the previous value, C indicates the current
              value, and D requests the default.  An empty or omitted argument
              is treated as P.

       SA [mode]
              Set or restore the default enablement of adjustment.  Specify  0
              or  1  as  mode to set a document's default explicitly; 1 is as‐
              sumed by mm.  Adjustment can be temporarily suspended  with  the
              na  request.  When the H or HU macros are used to format a head‐
              ing, or when SA is called without a mode argument,  the  default
              adjustment is restored.

       SETR refname [string]
              Remember the current heading and page numbers 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  au‐
              thor(s) is specified through WA/WE.  See section “Internals” be‐
              low.

       SK [n] Skip  n  pages.  If n is 0 or omitted, the page is broken unless
              the drawing position is already at the top of  a  page.   Other‐
              wise,  n  pages,  blank  except for any headers and footers, are
              printed.

       SM text [post]
       SM pre text post
              Format text at a smaller type size, joined  with  any  specified
              pre and post at normal size.

       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 tab stops to every 5 ens.

       TB [title [override [flag [refname]]]]
              Caption  a table.  Arguments are handled analogously to EC.  The
              register Tb is the table counter.  The string Litb precedes  the
              table  number  and any title.  Table captions are centered irre‐
              spective of the alignment of any enclosing display.

              Captioned tables are listed in a table of contents (see  TC)  if
              the Boolean register Lt is true.  Such a list uses the string Lt
              as a heading.

       TC [slevel [spacing [tlevel [tab [h1 [h2 [h3 [h4 [h5]]]]]]]]]
              Output  table  of  contents.   This  macro  is normally the last
              called in the document.  It flushes any pending displays and, if
              any references are pending (see RS), calls RP.  It then begins a
              new page with the contents caption, stored in the string  Licon,
              centered  at  the  top.   The entries follow after three vees of
              space.  Each entry is a saved section (number and) heading title
              (see the Cl register), along with its  associated  page  number.
              By  default,  an entry is indented by an amount corresponding to
              its heading level and the maximum heading length encountered  at
              that  heading  level;  if defined, the string Ci overrides these
              indentations.  Entries at heading levels  up  to  and  including
              slevel  are preceded by spacing vees of space.  Entries at head‐
              ing levels up to and including tlevel are followed by  a  leader
              and  a right-aligned page number.  If the Boolean-valued tab ar‐
              gument is true, the leader is replaced with horizontal motion in
              the same amount.  For entries above heading  level  tlevel,  the
              page  number  follows the heading text after a word space.  Each
              argument h1...h5 appears in order on  its  own  line,  centered,
              above  the  contents  caption.  Page numbering restarts at 1, in
              register format “i”.  If the Oc register is true,  numbering  of
              these pages is suppressed.

              If  TC is called with at most four arguments, it calls the user-
              defined macro TX (if defined) prior to formatting  the  contents
              caption,  and TY (if defined) instead of formatting the contents
              caption.

              Analogous handling of lists of figures, tables,  equations,  and
              exhibits  is achieved by defining TXxx and TYxx macros, where xx
              is “FG”, “TB”, “EC”,  or  “EX”,  respectively.   Similarly,  the
              strings  Lifg, Litb, Liex, and Liec determine captions for their
              respective lists.

       TE     Table end.  See TS.

       TH     End table heading.  It is repeated after page  breaks  within  a
              table.   See  TS.  The N argument supported by DWB mm is not im‐
              plemented by groff mm.

       TL [charging-case-number [filing-case-number]]
              Begin document title.  Input is collected into the  title  until
              AF  or  AU  is called, and output as directed by the cover page.
              charging-case-number and filing-case-number are saved for use in
              memorandum types 0 and 5.  See MT.

       TM number ...
              Declare technical memorandum number(s) used by MT.

       TP     If defined, this macro is called in lieu of normal  page  header
              layout.   Headers  and footers are formatted in a separate envi‐
              ronment.  See EOP.

              tab(@); Cb S Lb L.  Strings available to TP _ TPh@argument to PH
              TPeh@argument to EH TPoh@argument to OH

       TS [H] Table start.  Argument “H” tells mm that the table has  a  head‐
              ing.  See TE, TH, and gtbl(1).

       VERBON [format [type-size [font]]]
              Begin verbatim display, where characters have equal width.  for‐
              mat  controls  several parameters.  Add up the values of desired
              features; the default is 0.  On typesetting devices, further ar‐
              guments configure the type-size in scaled points, and  the  face
              (font); the default is CR (Courier roman).

              tab(@);  lb lb l lx.  Value@Effect 1@Disable the formatter's es‐
              cape character (\).   2@Vertically  space  before  the  display.
              4@Vertically space after the display.  8@T{ Number output lines;
              call formatter's nm request with arguments in string Verbnm.  T}
              16@T{ Indent by the amount stored in register Verbin.  T}

       VERBOFF
              End verbatim display.

       VL [text-indent [mark-indent [1]]]
              Begin variable-item (or “tagged”) list.  Each item should supply
              its  own  mark,  or tag.  If the mark is wider than mark-indent,
              one space separates  it  from  subsequent  text;  contrast  BVL.
              text-indent  sets  the  indentation of the text, and mark-indent
              the distance from the current list indentation to the  mark.   A
              third  argument suppresses the blank line that normally precedes
              each list item.  Use LI to declare list items, and LE to end the
              list.

       VM [-T] [top [bottom]]
              Vertical margin.  Increase the top and bottom margin by top  and
              bottom, respectively.  If option -T is specified, set those mar‐
              gins to top and bottom.  If no argument is given, reset the mar‐
              gin  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  us‐
              ing -T and setting top and/or bottom margin to less than the de‐
              fault.  This undocumented DWB mm macro is exposed by groff mm to
              increase user control of page layout.

       WA [writer's-name [title]]
              Specify  the writer(s) of an LT letter.  Input is collected into
              the writer's address until WA is called, and then  output.   You
              can  specify  multiple  writers with empty WA/WE pairs; only the
              last address is used.  The arguments give each writer a name and
              title.

       WC [format ...]
              Control width of footnotes and displays.

              tab(@); Lf(BI) Lb Lb Lx.  format@Effect N@T{ equivalent to  “-WF
              -FF  -WD”  (default) T} WF@T{ set footnotes at full line length,
              even in two-column mode T} -WF@T{  set  footnotes  using  column
              line  length  T}  FF@T{ apply width of first footnote to encoun‐
              tered to subsequent ones T} -FF@T{ footnote width determined  by
              WF  and  -WF  T} WD@T{ set displays at full line length, even in
              two-column mode T} -WD@T{ set displays using column line  length
              T}

       WE     End the writer's address begun with WA.

Strings
       Many  mm  strings  interpolate predefined, localizable text.  These are
       presented in quotation marks.

       App    “APPENDIX”

       Apptxt stores the title argument to the last APP call.

       BU     interpolates a bullet (see BL).

       Ci     is a list of indentation amounts to use for  table  of  contents
              heading  levels,  overriding  their automatic computation.  Each
              word must be a horizontal measurement (like “1i”) and is  mapped
              one-to-one to heading levels 1, 2, and so on.

       DT     The date; set by the ND macro (defaults to the date the document
              is formatted).  The format is the conventional one for the groff
              locale, but see the ISODATE macro and Iso register.

       EM     interpolates an em dash.

       F      interpolates an automatically numbered footnote marker; the num‐
              ber  is  used by the next FS call without an argument.  In troff
              mode, the marker is superscripted; in nroff  mode,  it  is  sur‐
              rounded by square brackets.

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

       HF     assigns font identifiers, separated by spaces, to heading levels
              in  one-to-one  correspondence.   Each  identifier may be a font
              mounting position, font name, or style name.  Omitted values are
              assumed to be 1.  The default is “2 2 2 2 2 2 2 2 2 2 2 2 2  2”,
              which places all headings in italics.  DWB mm's default was “3 3
              2 2 2 2 2”.

       HP     assigns  type  sizes,  separated by spaces, to heading levels in
              one-to-one correspondence.  Each size is interpreted  in  scaled
              points;  zero  values  are translated to 10.  Omitted values are
              assumed to be 0 (and are translated accordingly).   The  default
              is “0 0 0 0 0 0 0 0 0 0 0 0 0 0”.

       Index  “INDEX”

       Le     “LIST OF EQUATIONS”

       Letfc  “Yours very truly,” (see FC)

       Letapp “APPROVED:” (see AV)

       LetAT  “ATTENTION:” (see LO)

       LetCN  “CONFIDENTIAL” (see LO)

       Letdate
              “Date” (see AV)

       Letns  is  a group of strings structuring the notations produced by NS.
              If the code argument to NS has no corresponding string, the  no‐
              tation   is   included   between   parentheses,   prefixed  with
              Letns!copy, and suffixed with Letns!to.  Observe the spaces  af‐
              ter “Copy” and before “to”.

              tab(@);  Lb Lb Lb L L L.  NS code@String@Contents 0@Letns!0@Copy
              to 1@Letns!1@Copy (with att.) to 2@Letns!2@Copy  (without  att.)
              to      3@Letns!3@Att.       4@Letns!4@Atts.      5@Letns!5@Enc.
              6@Letns!6@Encs.  7@Letns!7@Under separate cover 8@Letns!8@Letter
              to 9@Letns!9@Memorandum  to  10@Letns!10@Copy  (with  atts.)  to
              11@Letns!11@Copy (without atts.) to 12@Letns!12@Abstract Only to
              13@Letns!13@Complete      Memorandum      to      14@Letns!14@CC
              —@Letns!copy@Copy (with trailing  space)  —@Letns!to@  to  (note
              leading space)

       Letnsdef
              Select  the notation format used by NS when it is given no argu‐
              ment.  The default is “0”.

       LetRN  “In reference to:” (see LO)

       LetSA  “To Whom It May Concern:” (see LO)

       LetSJ  “SUBJECT:” (see LO)

       Lf     “LIST OF FIGURES”

       Licon  “CONTENTS”

       Liec   “Equation”

       Liex   “Exhibit”

       Lifg   “Figure”

       Litb   “TABLE”

       Lt     “LIST OF TABLES”

       Lx     “LIST OF EXHIBITS”

       MO1...MO12
              “January” through “December”

       Qrf    “See chapter \\*[Qrfh], page \\n[Qrfp].”

       Rf     interpolates an automatically numbered reference mark; the  num‐
              ber  is  used by the next RS call.  In troff mode, the marker is
              superscripted; in nroff mode, it is surrounded by square  brack‐
              ets.

       Rp     “REFERENCES”

       Sm     interpolates ℠, the service mark sign.

       Tcst   interpolates  an  indicator of the TC macro's processing status.
              If TC is not operating, it is empty.   User-defined  TP  or  EOP
              macros might condition page headers or footers on its contents.

              tab(@);  lb  lb l l.  Value@Meaning co@Table of contents fg@List
              of figures tb@List of tables ec@List of equations ex@List of ex‐
              hibits ap@Appendix

       Tm     interpolates ™, the trade mark sign.

       Verbnm supplies argument(s) to the nm request employed  by  the  VERBON
              macro.  The default is “1”.

Registers
       Default  register  values,  where meaningful, are shown in parentheses.
       Many are also marked as Boolean-valued, meaning that they  are  consid‐
       ered  “true” (on, enabled) when they have a positive value, and “false”
       (off, disabled) otherwise.

       .mgm   indicates that groff mm is in use (Boolean-valued; 1).

       :p     is an auto-incrementing footnote counter; see FS.

       :R     is an auto-incrementing reference counter; see RS.

       Aph    formats an appendix heading (and title, if  supplied);  see  APP
              (Boolean-valued; 1).

       Au     includes  supplemental  author information (the third and subse‐
              quent arguments to AU) in  memorandum  “from”  information;  see
              COVER and MT (Boolean-valued; 1).

       Cl     sets  the threshold for inclusion of headings in a table of con‐
              tents.  Headings at levels above this value are excluded; see  H
              and TC (2).  The Cl register controls whether a heading is saved
              for  output  in  the  table  of  contents at the time H or HU is
              called; if you change Cl's value immediately  prior  to  calling
              TC, you are unlikely to get the result you want.

       Cp     suppresses  page breaks before lists of captioned equations, ex‐
              hibits, figures, and tables, and before an index;  see  EC,  EX,
              FG, TB, and INDP (Boolean-valued; 0).

       D      produces  debugging  information for the mm package on the stan‐
              dard error stream.  A value of 0 outputs nothing; 1 reports for‐
              matting progress.  Higher values communicate internal state  in‐
              formation of increasing verbosity (0).

       De     causes  a  page break after a floating display is output; see DF
              (Boolean-valued; 0).

       Df     configures the behavior of DF.  The following values are  recog‐
              nized; 4 and 5 do not override the De register (5).

              tab(@); Lb Lb L Lx.  Value@Effect 0@T{ Flush pending displays at
              the  end  of each section when section-page numbering is active,
              otherwise at the end of the document.  T} 1@T{ Flush  a  pending
              display  on the current page or column if there is enough space,
              otherwise at the end of the document.  T} 2@T{ Flush one pending
              display at the top of each page or  column.   T}  3@T{  Flush  a
              pending display on the current page or column if there is enough
              space,  otherwise at the top of the next.  T} 4@T{ Flush as many
              pending displays as possible in a new page or column.   T}  5@T{
              Fill  columns  or pages with flushed displays until none remain.
              T}

       Ds     puts vertical space in the amount of register Dsp  (if  defined)
              or  Lsp  before  and after each static display; see DS (Boolean-
              valued; 1).

       Dsp    configures the amount of vertical space placed before and  after
              static displays; see DS and register Ds (undefined).

       Ec     is an auto-incrementing equation counter; see EC.

       Ej     sets  the threshold for page breaks (ejection) prior to the for‐
              mat of headings.  Headings at levels above this value are set on
              the same page and column if possible; see H (0).

       Eq     aligns an equation label to the left of a display instead of the
              right (Boolean-valued; 0).

       Ex     is an auto-incrementing exhibit counter; see EX.

       Fg     is an auto-incrementing figure counter; see FG.

       Fs     is multiplied by register Lsp to vertically separate  footnotes;
              see FS (1).

       H1...H14
              are  auto-incrementing  counters  corresponding  to each heading
              level; see H.

       H1dot  appends a period to the number of a level  one  heading;  see  H
              (Boolean-valued; 1).

       H1h    is  a  copy  of A copy of register register H1, but it is incre‐
              mented just before a page break.  This can be useful in user-de‐
              fined macros; see H and HX.

       Hb     sets the threshold for breaking  the  line  after  formatting  a
              heading.  Text after headings at levels above this value are set
              on the same output line if possible; see H (2).

       Hc     sets  the threshold for centering a heading.  Headings at levels
              above this value use the prevailing alignment (that is, they are
              not centered); see H (0).

       Hi     configures the indentation of text after headings.  It does  not
              affect  “run-in” headings.  The following values are recognized;
              see H and P (1).

              tab(@); Lb Lb L Lx.  Value@Effect 0@no indentation 1@indent  per
              the paragraph type 2@indent to align with heading title

       Hps    sets  the  heading  level threshold for application of preceding
              vertical space; see H.  Headings at levels above  the  value  in
              register Hps use the amount of space in register Hps1; otherwise
              that  in Hps2.  The value of Hps should be strictly greater than
              that of Ej (1).

       Hps1   configures the amount of  vertical  space  preceding  a  heading
              above  the  Hps threshold; see H (troff devices: 0.5v; nroff de‐
              vices: 1v).

       Hps2   configures the amount of vertical space preceding a  heading  at
              or  below the Hps threshold; see H (troff devices: 1v; nroff de‐
              vices: 2v).

       Hs     sets the heading level threshold for application  of  succeeding
              vertical  space.   If  the heading level is greater than Hs, the
              heading is followed by vertical space in the  amount  of  regis‐
              ter Hss; see H (2).

       Hss    is  multiplied  by  register Lsp to produce vertical space after
              headings above the threshold in register Hs; see H (1).

       Ht     suppresses output of heading level  counters  above  the  lowest
              when the heading is formatted; see H (Boolean-valued; 0).

       Hu     sets the heading level used by unnumbered headings; see HU (2).

       Hy     enables automatic hyphenation of words (Boolean-valued; 0).

       Iso    configures  the  use  of ISO 8601 date format if specified (with
              any value) on the command line; see ISODATE.  The default is de‐
              termined by localization files.

       L      defines the page length for the document, and must be  set  from
              the  command  line.  A scaling unit should be appended.  The de‐
              fault is that of the selected groff output device.

       Le
       Lf
       Lt
       Lx     configure the report of lists of equation,  figure,  table,  and
              exhibit  captions,  respectively, after a table of contents; see
              TC (Boolean-valued; Le: 0; Lf, Lt, Lx: 1).

       Letwam sets the maximum number of input lines permitted in  a  writer's
              address; see WA and WE (14).

       Li     configures  the  amount  of  indentation  in ens applied to list
              items; see LI (6).

       Limsp  inserts a space between the prefix and the mark in automatically
              numbered lists; see AL (Boolean-valued; 1).

       Ls     sets a threshold for placement of  vertical  space  before  list
              items.  If the list nesting level is greater than this value, no
              such spacing occurs; see LI (99).

       Lsp    configures the base amount of vertical space used for separation
              in  the  document.   mm  applies  this spacing to many contexts,
              sometimes with multipliers; see DS, FS, H, LI, and P (troff  de‐
              vices: 0.5v; nroff devices: 1v).

       N      configures the header and footer placements used by PH.  The de‐
              fault footer is empty.  If “section-page” numbering is selected,
              the  default header becomes empty and the default footer becomes
              “x-y”, where x is is the section number (the number of the  cur‐
              rent  first-level heading) and y the page number within the sec‐
              tion.  The following values are recognized; for  finer  control,
              see  PH,  PF, EH, EF, OH, and OF, and registers Sectf and Sectp.
              Value 5 is a GNU extension (0).

              tab(@); Lb Lb L Lx.  Value@Effect 0@Set  header  on  all  pages.
              1@Move  header  to  footer  on page 1.  2@Omit header on page 1.
              3@Use “section-page”  numbering  style  on  all  pages.   4@Omit
              header  on all pages.  5@T{ Use “section-page” and “section-fig‐
              ure” numbering style on all pages.  T}

       Np     causes paragraphs after first-level headings (only) to  be  num‐
              bered  in  the format s.p, where s is is the section number (the
              number of the current first-level heading) and p  is  the  para‐
              graph number, starting at 1; see H and P (Boolean-valued; 0).

       O      defines  the  page  offset of the document, and must be set from
              the command line.  A scaling unit should be appended.   The  de‐
              fault  is .75i on terminal devices.  On typesetters, it is .963i
              or set to 1i by the papersize.tmac package; see groff_tmac(5).

       Oc     suppresses the appearance of page numbers in the table  of  con‐
              tents; see TC (Boolean-valued; 0).

       Of     selects a separator format within equation, exhibit, figure, and
              table  captions;  see  EC, EX, FG, and TB.  The following values
              are recognized; the spaces shown are unpaddable (0).

              tab(@); Lb Lb L Lx.  Value@Effect 0@".  " 1@" — "

       P      interpolates the current page number; it is the same  as  regis‐
              ter % except when “section-page” numbering is enabled.

       Pi     configures the amount of indentation in ens applied to the first
              line of a paragraph; see P (5).

       Pgps   causes  the  type size and vertical spacing set by S to apply to
              headers and footers, overriding the HP string.  If  not  set,  S
              calls  affect  headers and footers only when followed by PH, PF,
              OH, EH, OF, or OE calls (Boolean-valued; 1).

       Ps     is multiplied by register Lsp to vertically separate paragraphs;
              see P (1).

       Pt     determines when a first-line indentation is applied to  a  para‐
              graph; see P (0).

              tab(@);  Lb Lb L Lx.  Value@Effect 0@never 1@always 2@T{ always,
              except immediately after H, DE, or LE T}

       Ref    is used internally to control mmroff(1)'s two-pass  approach  to
              index  and  reference management; see INITI and RS (Boolean-val‐
              ued; 0).

       Rpe    configures the default page ejection policy for reference pages;
              see RP (0).

              tab(@); Lb Lb L Lx.  Value@Effect 0@Break the  page  before  and
              after  the  list of references.  1@Suppress page break after the
              list.  2@Suppress page break before the list.   3@Suppress  page
              breaks before and after the list.

       S      defines the type size for the document, and must be set from the
              command  line.   A scaling unit should be appended; p is typical
              (10p).

       Sectf  selects the “section-figure” numbering style.  Its default is  0
              unless  register N is set to 5 at the command line (Boolean-val‐
              ued).

       Sectp  selects the “section-page” numbering style.  Its  default  is  0
              unless register N is set to 3 or 5 at the command line (Boolean-
              valued).

       Si     configures the amount of display indentation in ens; see DS (5).

       Tb     is an auto-incrementing table counter; see TB.

       V      defines  the  vertical spacing for the document, and must be set
              from the command line.  A scaling unit should be appended; p  is
              typical.  The default vertical spacing is 120% of the type size.

       Verbin configures  the amount of indentation for verbatim displays when
              indentation is selected; see VERBON (5n).

       W      defines the “width” of the document (that is, the length  of  an
              output  line  with no indentation); it must be set from the com‐
              mand line.  A scaling unit  should  be  appended.   The  default
              is   6i   or   assigned   by  the  papersize.tmac  package;  see
              groff_tmac(5).

Internals
       The LT letter macros call further macros depending on the letter  type,
       with which they are suffixed.  It is therefore possible to define addi‐
       tional letter types, either in the territory-specific macro file, or as
       local  additions.   LT sets the registers Pt and Pi to 0 and 5, respec‐
       tively.  The following macros must be defined to support a  new  letter
       type.

       let@init_type
              LT  calls  this macro to initialize any registers and other data
              needed by the letter type.

       let@head_type
              formats the letterhead; it is called instead of the  usual  page
              header macro.  Its definition should remove the alias let@header
              unless the letterhead is desired on subsequent pages.

       let@sg_type name title n is-final [SG-arg ...]
              SG  calls  this  macro only for letters; MT memoranda have their
              own signature processing.  name and title are specified  through
              WA/WE.   n  is the index of the nth writer, and is-final is true
              for the last writer to be listed.  Further SG arguments are  ap‐
              pended to the signature line.

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

       LO implements letter options.  It requires that a string named  Lettype
       be  defined, where type is the letter type.  LO then assigns its second
       argument (value) to the string let*lo-type.

Files
       /usr/share/groff/1.23.0/tmac/m.tmac
              is the groff implementation of the memorandum macros.

       /usr/share/groff/1.23.0/tmac/mm.tmac
              is wrapper to load m.tmac.

       /usr/share/groff/1.23.0/tmac/refer-mm.tmac
              implements refer(1) support for mm.

       /usr/share/groff/1.23.0/tmac/mm/ms.cov
              implements an ms-like cover sheet.

       /usr/share/groff/1.23.0/tmac/mm/0.MT
              implements memorandum types 0–3 and 6.

       /usr/share/groff/1.23.0/tmac/mm/4.MT
              implements memorandum type 4.

       /usr/share/groff/1.23.0/tmac/mm/5.MT
              implements memorandum type 5.

       /usr/share/groff/1.23.0/tmac/mm/locale
              performs any (further) desired necessary localization; empty  by
              default.

Authors
       The GNU version of the mm macro package was written by Jörgen Hägg ⟨jh@
       axis.se⟩ of Lund, Sweden.

See also
       MM - A Macro Package for Generating Documents ⟨https://tkurtbond.github
       .io/troff/mm-all.pdf⟩,  the  DWB  3.3 mm manual, introduces the package
       but does not document GNU extensions.

       Groff: The GNU Implementation of troff, by Trent A. Fisher  and  Werner
       Lemberg,  is the primary groff manual.  You can browse it interactively
       with “info groff”.

       groff(1), troff(1), gtbl(1), pic(1), eqn(1), refer(1), groff_mmse(7)



ATTRIBUTES
       See attributes(7) for descriptions of the following attributes:

       box; cbp-1 | cbp-1 l | l .  ATTRIBUTE TYPE ATTRIBUTE VALUE = Availabil‐
       ity   text/groff = Stability Uncommitted

NOTES
       Source code for open source software components in Oracle  Solaris  can
       be found at https://www.oracle.com/downloads/opensource/solaris-source-
       code-downloads.html.

       This software was built from source available at:
       https://github.com/oracle/solaris-userland

       The original community source was downloaded from:
       https://ftp.gnu.org/gnu/groff/groff-1.23.0.tar.gz

       Further information about this software can be found on the open source
       community website at https://www.gnu.org/software/groff.

groff 1.23.0                    1 December 2025                    groff_mm(7)
맨 페이지 내용의 저작권은 맨 페이지 작성자에게 있습니다.
RSS ATOM XHTML 5 CSS3