1GROFF_MM(7)            Miscellaneous Information Manual            GROFF_MM(7)
2
3
4

NAME

6       groff_mm - memorandum macros for GNU roff
7

SYNOPSIS

9       groff -mm [option ...] [file ...]
10       groff -m mm [option ...] [file ...]
11

DESCRIPTION

13       The  groff  mm  macros  are  intended  to be compatible with the DWB mm
14       macros with the following limitations:
15
16       No Bell Labs localisms are implemented.
17
18       The macros OK and PM are not implemented.
19
20       groff mm does not support cut marks.
21
22       mm is intended to support easy localization.  Use mmse  as  an  example
23       how  to  adapt  the  output  format  to a national standard.  Localized
24       strings are collected in the file /usr/share/groff/1.22.4/tmac/xx.tmac,
25       where  xx  denotes  the two-letter code for the language, as defined in
26       the ISO 639 standard.  For Swedish, this is ‘sv.tmac’ – not ‘se’, which
27       is the ISO 3166 two-letter code for the country (as used for the output
28       format localization).
29
30       A file called locale or country_locale is read after the initialization
31       of  the  global  variables.   It  is therefore possible to localize the
32       macros with a different company name and so on.
33
34       In this manual, square brackets are used to show optional arguments.
35
36   Number registers and strings
37       Many macros can be controlled by number registers and strings.  A  num‐
38       ber register is assigned with the nr command:
39
40              .nr XXX [±]n [i]
41
42       XXX  is  the  name  of the register, n is the value to be assigned, and
43       i is the increment value for auto-increment.  n can have a plus or  mi‐
44       nus  sign as a prefix if an increment or decrement of the current value
45       is wanted.  (Auto-increment or auto-decrement occurs if the number reg‐
46       ister is used with a plus or minus sign, \n+[XXX] or \n-[XXX].)
47
48       Strings are defined with ds.
49
50              .ds YYY string
51
52       The  string is assigned everything to the end of the line, even blanks.
53       Initial blanks in  string  should  be  prefixed  with  a  double-quote.
54       (Strings are used in the text as \*[YYY].)
55
56   Special formatting of number registers
57       A  number  register is printed with normal digits if no format has been
58       given.  Set the format with af:
59
60              .af R c
61
62       R is the name of the register, c is the format.
63
64              Form   Sequence
65              1      0, 1, 2, 3, ...
66
67              001    000, 001, 002, 003, ...
68              i      0, i, ii, iii, iv, ...
69              I      0, I, II, III, IV, ...
70              a      0, a, b, c, ..., z, aa, ab, ...
71              A      0, A, B, C, ..., Z, AA, AB, ...
72
73   Fonts
74       In mm, the fonts (or rather, font styles) R (normal), I  (italic),  and
75       B  (bold)  are  hardwired  to font positions 1, 2, and 3, respectively.
76       Internally, font positions are used for backwards compatibility.   From
77       a  practical point of view it doesn't make a big difference – a differ‐
78       ent font family can still be selected with a call to the  .fam  request
79       or  using  groff's  -f  command-line option.  On the other hand, if you
80       want to replace just, say, font B, you have to replace the font at  po‐
81       sition 2 (with a call to ‘.fp 2 ...’).
82
83   Macros
84       )E level text
85              Add heading text text to the table of contents with level, which
86              is either 0 or in the range 1 to 7.  See also .H.  This macro is
87              used for customized tables of contents.
88
89       1C [1] Begin  one-column  processing.   A 1 as an argument disables the
90              page break.  Use wide footnotes, small footnotes  may  be  over‐
91              printed.
92
93       2C     Begin  two-column  processing.   Splits the page in two columns.
94              It is a special case of MC.  See also 1C.
95
96       AE     Abstract end, see AS.
97
98       AF [name-of-firm]
99              Author's firm, should be called before AU, see also COVER.
100
101       AL [type [text-indent [1]]]
102              Start auto-increment list.  Items are  numbered  beginning  with
103              one.  The type argument controls the format of numbers.
104
105                     Arg   Description
106                     1     Arabic (the default)
107                     A     Upper-case letters (A–Z)
108                     a     Lower-case letters (a–z)
109                     I     Upper-case roman
110                     i     Lower-case roman
111
112              text-indent  sets the indentation and overrides Li.  A third ar‐
113              gument prohibits printing of a blank line before each item.
114
115       APP name text
116              Begin an appendix with name name.  Automatic  naming  occurs  if
117              name  is "".  The appendices start with A if automatic naming is
118              used.  A new page is ejected, and a header is also  produced  if
119              the  number variable Aph is non-zero.  This is the default.  The
120              appendix always appears in the ‘List of contents’  with  correct
121              page numbers.  The name ‘APPENDIX’ can be changed by setting the
122              string App to the desired text.  The string Apptxt contains  the
123              current appendix text.
124
125       APPSK name pages text
126              Same  as  .APP,  but  the page number is incremented with pages.
127              This is used when diagrams or other non-formatted documents  are
128              included as appendices.
129
130       AS [arg [indent]]
131              Abstract  start.  Indentation is specified in ‘ens’, but scaling
132              is  allowed.   Argument  arg  controls  where  the  abstract  is
133              printed.
134
135              Arg   Placement
136              0     Abstract  is  printed  on page 1 and on the cover sheet if
137                    used in the released-paper style (MT 4), otherwise  it  is
138                    printed on page 1 without a cover sheet.
139              1     Abstract is only printed on the cover sheet (MT 4 only).
140              2     Abstract is printed only on the cover sheet (other than MT
141                    4 only).  The cover sheet is printed without  a  need  for
142                    CS.
143
144              An  abstract  is  not printed at all in external letters (MT 5).
145              The indent parameter controls the indentation of  both  margins,
146              otherwise normal text indentation is used.
147
148       AST [title]
149              Abstract title.  Default is ‘ABSTRACT’.  Sets the text above the
150              abstract text.
151
152       AT title1 [title2 [...]]
153              Author's title.  AT must appear just after each AU.   The  title
154              shows up after the name in the signature block.
155
156       AU [name [initials [loc [dept [ext [room [arg [arg [arg]]]]]]]]]
157              Author  information.  Specifies the author of the memo or paper,
158              and is printed on the cover sheet and on other  similar  places.
159              AU  must  not appear before TL.  The author information can con‐
160              tain initials, location, department, telephone  extension,  room
161              number or name and up to three extra arguments.
162
163       AV [name [1]]
164              Approval  signature.   Generates an approval line with place for
165              signature and date.  The string ‘APPROVED:’ can be changed  with
166              variable  Letapp; it is replaced with an empty lin if there is a
167              second argument.  The string ‘Date’ can be changed with variable
168              Letdate.
169
170       AVL [name]
171              Letter signature.  Generates a line with place for signature.
172
173       B [bold-text [prev-font-text [bold [...]]]]
174              Begin boldface.  No limit on the number of arguments.  All argu‐
175              ments are concatenated to one word; the first, third and  so  on
176              is printed in boldface.
177
178       B1     Begin  box (as the ms macro).  Draws a box around the text.  The
179              text is indented one character, and  the  right  margin  is  one
180              character shorter.
181
182       B2     End box.  Finishes the box started with B1.
183
184       BE     End bottom block, see BS.
185
186       BI [bold-text [italic-text [bold-text [...]]]]
187              Bold-italic.  No limit on the number of arguments, see B.
188
189       BL [text-indent [1]]
190              Start bullet list.  Initializes a list with a bullet and a space
191              in the beginning of each list item (see LI).  text-indent  over‐
192              rides  the  default  indentation of the list items set by number
193              register Pi.  A third argument prohibits  printing  of  a  blank
194              line before each item.
195
196       BR [bold-text [roman-text [bold-text [...]]]]
197              Bold-roman.  No limit on the number of arguments.
198
199       BS     Bottom block start.  Begins the definition of a text block which
200              is printed at the bottom of each page.  The block ends with BE.
201
202       BVL text-indent [mark-indent [1]]
203              Start of broken variable-item list.  Broken  variable-item  list
204              has  no fixed mark, it assumes that every LI has a mark instead.
205              The text always begins at the next line after the  mark.   text-
206              indent  sets  the  indentation  to the text, and mark-indent the
207              distance from the current indentation to the mark.  A third  ar‐
208              gument prohibits printing of a blank line before each item.
209
210       COVER [arg]
211              Begin  a coversheet definition.  It is important that .COVER ap‐
212              pears before any normal text.  This macro uses arg to build  the
213              filename  /usr/share/groff/1.22.4/tmac/mm/arg.cov.  Therefore it
214              is possible to create unlimited types of cover  sheets.   ms.cov
215              is  supposed to look like the ms cover sheet.  .COVER requires a
216              .COVEND at the end of the cover definition.  Always use this or‐
217              der of the cover macros:
218
219                     .COVER
220                     .TL
221                     .AF
222                     .AU
223                     .AT
224                     .AS
225                     .AE
226                     .COVEND
227
228              However, only .TL and .AU are required.
229
230       COVEND Finish  the  cover  description and print the cover page.  It is
231              defined in the cover file.
232
233       DE     Display end.  Ends a block of text or display that  begins  with
234              DS or DF.
235
236       DF [format [fill [rindent]]]
237              Begin floating display (no nesting allowed).  A floating display
238              is saved in a queue and is printed in the order  entered.   For‐
239              mat, fill, and rindent are the same as in DS.  Floating displays
240              are controlled by the two number registers De and Df.
241
242              De register
243
244                     0   Nothing special, this is the default.
245                     1   A page eject occurs after each printed display,  giv‐
246                         ing  only  one display per page and no text following
247                         it.
248
249              Df register
250
251                     0   Displays are printed at the end of each section (when
252                         section-page  numbering  is  active) or at the end of
253                         the document.
254                     1   A new display is printed on the current page if there
255                         is  enough  space, otherwise it is printed at the end
256                         of the document.
257                     2   One display is printed at the top  of  each  page  or
258                         column (in multi-column mode).
259                     3   Print  one  display  if there is enough space for it,
260                         otherwise it is printed at the top of the  next  page
261                         or column.
262
263
264
265                     4   Print  as  many displays as possible in a new page or
266                         column.  A page break occurs between each display  if
267                         De is not zero.
268                     5   Fill  the current page with displays and the rest be‐
269                         ginning at a new page or column.  (This  is  the  de‐
270                         fault.)   A page break occurs between each display if
271                         De is not zero.
272
273       DL [text-indent [1 [1]]]
274              Dash list start.  Begins a list where each item is printed after
275              a dash.  text-indent changes the default indentation of the list
276              items set by number register Pi.  A second argument prevents  an
277              empty  line  between  each list item.  See LI.  A third argument
278              prohibits printing of a blank line before each item.
279
280       DS [format [fill [rindent]]]
281              Static display start.  Begins collection of text until DE.   The
282              text  is  printed together on the same page, unless it is longer
283              than the height of the page.  DS can be nested arbitrarily.
284
285              format
286
287                     ""     No indentation.
288                     none   No indentation.
289                     L      No indentation.
290                     I      Indent text with the value of number register Si.
291                     C      Center each line.
292                     CB     Center the whole display as a block.
293                     R      Right-adjust the lines.
294                     RB     Right-adjust the whole display as a block.
295
296              The values ‘L’, ‘I’, ‘C’, and ‘CB’ can also be specified as ‘0’,
297              ‘1’, ‘2’, and ‘3’, respectively, for compatibility reasons.
298
299              fill
300
301                     ""     Line-filling turned off.
302                     none   Line-filling turned off.
303                     N      Line-filling turned off.
304                     F      Line-filling turned on.
305
306              ‘N’ and ‘F’ can also be specified as ‘0’ and ‘1’, respectively.
307
308              By  default,  an empty line is printed before and after the dis‐
309              play.  Setting number register Ds to 0 prevents  this.   rindent
310              shortens the line length by that amount.
311
312       EC [title [override [flag [refname]]]]
313              Equation title.  Sets a title for an equation.  The override ar‐
314              gument changes the numbering.
315
316              flag
317
318                     none   override is a prefix to the number.
319                     0      override is a prefix to the number.
320                     1      override is a suffix to the number.
321                     2      override replaces the number.
322
323              EC uses the number register Ec as a counter.  It is possible  to
324              use  .af to change the format of the number.  If number register
325              Of is 1, the format of title uses a dash instead of a dot  after
326              the number.
327
328              The  string  Le controls the title of the List of Equations; de‐
329              fault is ‘LIST OF EQUATIONS’.  The List  of  Equations  is  only
330              printed  if  number  register  Le  is 1.  The default is 0.  The
331              string Liec contains the word ‘Equation’, which is  printed  be‐
332              fore  the  number.  If refname is used, then the equation number
333              is saved with .SETR, and can be retrieved with ‘.GETST refname’.
334
335              Special handling of the title occurs if EC is used inside DS/DE;
336              it is not affected by the format of DS.
337
338       EF [arg]
339              Even-page  footer,  printed just above the normal page footer on
340              even pages.  See PF.
341
342              This macro defines string EOPef.
343
344       EH [arg]
345              Even-page header, printed just below the normal page  header  on
346              even pages.  See PH.
347
348              This macro defines string TPeh.
349
350       EN     Equation end, see EQ.
351
352       EOP    End-of-page user-defined macro.  This macro is called instead of
353              the normal printing of the footer.  The macro is executed  in  a
354              separate environment, without any trap active.  See TP.
355
356              Strings available to EOP
357
358              EOPf    argument of PF
359              EOPef   argument of EF
360              EOPof   argument of OF
361
362       EPIC [-L] width height [name]
363              Draw  a box with the given width and height.  It also prints the
364              text name or a default string if name is not specified.  This is
365              used  to  include  external  pictures; just give the size of the
366              picture.  -L left-adjusts the picture; the default is to center.
367              See PIC.
368
369       EQ [label]
370              Equation  start.  EQ/EN are the delimiters for equations written
371              for eqn(1).  EQ/EN must be inside of a DS/DE pair, except if  EQ
372              is used to set options for eqn only.  The label argument appears
373              at the right margin of the equation, centered vertically  within
374              the DS/DE block, unless number register Eq is 1.  Then the label
375              appears at the left margin.
376
377              If there are multiple EQ/EN blocks within a single  DS/DE  pair,
378              only the last equation label (if any) is printed.
379
380       EX [title [override [flag [refname]]]]
381              Exhibit  title.   The arguments are the same as for EC.  EX uses
382              the number register Ex as a counter.  The string Lx controls the
383              title  of  the  List of Exhibits; default is ‘LIST OF EXHIBITS’.
384              The List of Exhibits is only printed if number register Lx is 1,
385              which  is  the  default.  The string Liex contains the word ‘Ex‐
386              hibit’, which is printed before the number.  If refname is used,
387              the  exhibit  number  is  saved with .SETR, and can be retrieved
388              with ‘.GETST refname’.
389
390              Special handling of the title occurs if EX is used inside DS/DE;
391              it is not affected by the format of DS.
392
393       FC [closing]
394              Print  ‘Yours  very  truly,’  as a formal closing of a letter or
395              memorandum.  The argument replaces the default string.  The  de‐
396              fault is stored in string variable Letfc.
397
398       FD [arg [1]]
399              Footnote  default  format.   Controls  the hyphenation (hyphen),
400              right margin justification (adjust), and indentation of footnote
401              text  (indent).   It  can  also  change  the label justification
402              (ljust).
403
404                     arg   hyphen   adjust   indent   ljust
405                     0     no       yes      yes      left
406                     1     yes      yes      yes      left
407                     2     no       no       yes      left
408                     3     yes      no       yes      left
409                     4     no       yes      no       left
410                     5     yes      yes      no       left
411                     6     no       no       no       left
412                     7     yes      no       no       left
413                     8     no       yes      yes      right
414                     9     yes      yes      yes      right
415                     10    no       no       yes      right
416                     11    yes      no       yes      right
417
418              An argument greater  than  or  equal  to  11  is  considered  as
419              value 0.  Default for mm is 10.
420
421       FE     Footnote end.
422
423       FG [title [override [flag [refname]]]]
424              Figure  title.   The  arguments are the same as for EC.  FG uses
425              the number register Fg as a counter.  The string Lf controls the
426              title of the List of Figures; default is ‘LIST OF FIGURES’.  The
427              List of Figures is only printed if  number  register  Lf  is  1,
428              which  is  the default.  The string Lifg contains the word ‘Fig‐
429              ure’, which is printed before the number.  If refname  is  used,
430              then the figure number is saved with .SETR, and can be retrieved
431              with ‘.GETST refname’.
432
433              Special handling of the title occurs if FG is used inside DS/DE,
434              it is not affected by the format of DS.
435
436       FS [label]
437              Footnote start.  The footnote is ended by FE.  By default, foot‐
438              notes are automatically numbered; the  number  is  available  in
439              string  F.   Just  add  \*F in the text.  By adding label, it is
440              possible to have other number or names on the footnotes.   Foot‐
441              notes  in  displays  are  now possible.  An empty line separates
442              footnotes; the height of the line is controlled by number regis‐
443              ter Fs, default value is 1.
444
445       GETHN refname [varname]
446              Include the header number where the corresponding ‘SETR refname’
447              was placed.  This is displayed  as  ‘X.X.X.’  in  pass  1.   See
448              INITR.   If varname is used, GETHN sets the string variable var‐
449              name to the header number.
450
451       GETPN refname [varname]
452              Include the page number where the corresponding  ‘SETR  refname’
453              was  placed.  This is displayed as ‘9999’ in pass 1.  See INITR.
454              If varname is used, GETPN sets the stringvariable varname to the
455              page number.
456
457       GETR refname
458              Combine  GETHN  and  GETPN with the text ‘chapter’ and ‘, page’.
459              The string Qrf contains the text for the cross reference:
460
461                     .ds Qrf See chapter \\*[Qrfh], page \\*[Qrfp].
462
463              Qrf may be changed to support other languages.  Strings Qrfh and
464              Qrfp are set by GETR and contain the page and header number, re‐
465              spectively.
466
467       GETST refname [varname]
468              Include the string saved with  the  second  argument  to  .SETR.
469              This  is  a  dummy  string in pass 1.  If varname is used, GETST
470              sets it to the saved string.  See INITR.
471
472       H level [heading-text [heading-suffix]]
473              Numbered section heading.  Section headers can have a level  be‐
474              tween  1 and 14; level 1 is the top level.  The text is given in
475              heading-text, and must be surrounded by double quotes if it con‐
476              tains spaces.  heading-suffix is added to the header in the text
477              but not in the table of contents.  This  is  normally  used  for
478              footnote  marks  and  similar things.  Don't use \*F in heading-
479              suffix, it doesn't work.  A manual label must be used, see FS.
480
481              A call to the paragraph macro P directly  after  H  is  ignored.
482              H takes care of spacing and indentation.
483
484              Page ejection before heading
485
486                     Number  register  Ej  controls  page  ejection before the
487                     heading.  By default, a level-one heading gets two  blank
488                     lines  before it; higher levels only get one.  A new page
489                     is ejected before each first-level heading if number reg‐
490                     ister Ej is 1.  All levels below or equal the value of Ej
491                     get a new page.  Default value for Ej is 0.
492
493              Heading break level
494
495                     A line break occurs after  the  heading  if  the  heading
496                     level  is  less  or equal to number register Hb.  Default
497                     value is 2.
498
499              Heading space level
500
501                     A blank line is inserted after the heading if the heading
502                     level  is  less  or equal to number register Hs.  Default
503                     value is 2.
504
505                     Text follows the heading on the same line if the level is
506                     greater than both Hb and Hs.
507
508              Post-heading indent
509
510                     Indentation  of  the text after the heading is controlled
511                     by number register Hi.  Default value is 0.
512
513                     Hi
514
515                     0   The text is left-justified.
516                     1   Indentation of the text follows the value  of  number
517                         register Pt , see P.
518                     2   The text is lined up with the first word of the head‐
519                         ing.
520
521              Centered section headings
522
523                     All headings whose level is equal or below number  regis‐
524                     ter  Hc  and also less than or equal to Hb or Hs are cen‐
525                     tered.
526
527              Font control of the heading
528
529                     The font of each heading level is  controlled  by  string
530                     HF.   It  contains  a  font  number or font name for each
531                     level.  Default value is
532
533                            2 2 2 2 2 2 2 2 2 2 2 2 2 2
534
535                     (all headings in italic).  This could also be written as
536
537                            I I I I I I I I I I I I I I
538
539                     Note that some other implementations use 3 3 2 2 2 2 2 as
540                     the  default  value.   All omitted values are presumed to
541                     have value 1.
542
543              Point size control
544
545                     String HP controls the point size of each heading, in the
546                     same  way  as HF controls the font.  A value of 0 selects
547                     the default point size.  Default value is
548
549                            0 0 0 0 0 0 0 0 0 0 0 0 0 0
550
551                     Beware that only the point size changes, not the vertical
552                     size.  The latter can be controlled by the user-specified
553                     macros HX and/or HZ.
554
555              Heading counters
556
557                     Fourteen number registers named H1 up to H14 contain  the
558                     counter  for  each heading level.  The values are printed
559                     using Arabic numerals; this can be changed with the macro
560                     HM (see below).  All marks are concatenated before print‐
561                     ing.  To avoid this, set number register Ht to  1.   This
562                     only prints the current heading counter at each heading.
563
564              Automatic table of contents
565
566                     All  headings whose level is equal or below number regis‐
567                     ter Cl are saved to be printed in the table of  contents.
568                     Default value is 2.
569
570              Special control of the heading, user-defined macros
571
572                     The  following macros can be defined by the user to get a
573                     finer control of vertical spacing, fonts, or  other  fea‐
574                     tures.   Argument level is the level-argument to H, but 0
575                     for unnumbered headings (see HU).  Argument rlevel is the
576                     real  level;  it  is set to number register Hu for unnum‐
577                     bered headings.  Argument heading-text is the text  argu‐
578                     ment to H and HU.
579
580                     HX level rlevel heading-text
581                            This  macro  is called just before the printing of
582                            the heading.  The following registers  are  avail‐
583                            able  for  HX.  Note that HX may alter }0, }2, and
584                            ;3.
585
586                            }0 (string)
587                                   Contains the heading mark plus  two  spaces
588                                   if rlevel is non-zero, otherwise empty.
589
590                            ;0 (register)
591                                   Contains the position of the text after the
592                                   heading.  0 means that the text should fol‐
593                                   low  the  heading on the same line, 1 means
594                                   that a line break should occur  before  the
595                                   text,  and 2 means that a blank line should
596                                   separate the heading and the text.
597
598                            }2 (string)
599                                   Contains two spaces if register  ;0  is  0.
600                                   It is used to separate the heading from the
601                                   text.  The string is empty if  ;0  is  non-
602                                   zero.
603
604                            ;3 (register)
605                                   Contains  the  needed  space in units after
606                                   the heading.  Default is 2v.  Can  be  used
607                                   to  change things like numbering (}0), ver‐
608                                   tical spacing (}2), and  the  needed  space
609                                   after the heading.
610
611                     HY dlevel rlevel heading-text
612                            This  macro is called after size and font calcula‐
613                            tions and might be used to change indentation.
614
615                     HZ dlevel rlevel heading-text
616                            This macro is called after  the  printing  of  the
617                            heading,  just  before H or HU exits.  Can be used
618                            to change the page header according to the section
619                            heading.
620
621       HC [hyphenation-character]
622              Set  hyphenation  character.   Default value is ‘\%’.  Resets to
623              the default if called  without  argument.   Hyphenation  can  be
624              turned  off  by setting number register Hy to 0 at the beginning
625              of the file.
626
627       HM [arg1 [arg2 [... [arg14]]]]
628              Heading mark style.  Controls the type of marking  for  printing
629              of the heading counters.  Default is 1 for all levels.
630
631              Argument
632
633              1      Arabic numerals.
634              0001   Arabic numerals with leading zeroes, one or more.
635              A      upper-case alphabetic
636              a      lower-case alphabetic
637              I      upper-case roman numerals
638              i      lower-case roman numerals
639              ""     Arabic numerals.
640
641       HU heading-text
642              Unnumbered  section  header.   HU behaves like H at the level in
643              number register Hu.  See H.
644
645       HX dlevel rlevel heading-text
646              User-defined heading exit.   Called  just  before  printing  the
647              header.  See H.
648
649       HY dlevel rlevel heading-text
650              User-defined  heading  exit.   Called  just  before printing the
651              header.  See H.
652
653       HZ dlevel rlevel heading-text
654              User-defined heading  exit.   Called  just  after  printing  the
655              header.  See H.
656
657       I [italic-text [prev-font-text [italic-text [...]]]]
658              Italic.  Changes the font to italic if called without arguments.
659              With one argument it sets the word in italic.   With  two  argu‐
660              ments it concatenates them and sets the first word in italic and
661              the second in the previous font.  There is no limit on the  num‐
662              ber of argument; all are concatenated.
663
664       IA [addressee-name [title]]
665              Begin  specification of the addressee and addressee's address in
666              letter style.  Several names can be specified with empty  IA/IE-
667              pairs, but only one address.  See LT.
668
669       IB [italic-text [bold-text [italic-text [...]]]]
670              Italic-bold.  Even arguments are printed in italic, odd in bold‐
671              face.  See I.
672
673       IE     End the address specification after IA.
674
675       INITI type filename [macro]
676              Initialize the new index system and set the filename to  collect
677              index  lines in with IND.  Argument type selects the type of in‐
678              dex: page number, header marks or both.   The  default  is  page
679              numbers.
680
681              It  is  also  possible to create a macro that is responsible for
682              formatting each row; just add the name of the macro as  a  third
683              argument.   The  macro  is  then  called with the index as argu‐
684              ment(s).
685
686              type
687
688              N   Page numbers
689              H   Header marks
690              B   Both page numbers and header marks,  separated  with  a  tab
691                  character.
692
693       INITR filename
694              Initialize  the  cross  reference  macros.  Cross references are
695              written to stderr and are supposed to be  redirected  into  file
696              filename.qrf.   Requires  two passes with groff; this is handled
697              by a separate program called mmroff(1).  This program exists be‐
698              cause groff(1) by default deactivates the unsafe operations that
699              are required by INITR.  The first pass looks  for  cross  refer‐
700              ences, and the second one includes them.  INITR can be used sev‐
701              eral times, but it is only the first occurrence of INITR that is
702              active.
703
704              See also SETR, GETPN, and GETHN.
705
706       IND arg1 [arg2 [...]]
707              Write  a line in the index file selected by INITI with all argu‐
708              ments and the page number or header mark separated by tabs.
709
710                     Examples
711
712                     arg1\tpage number
713                     arg1\targ2\tpage number
714                     arg1\theader mark
715                     arg1\tpage number\theader mark
716
717       INDP   Print the index by running the command specified by string vari‐
718              able  Indcmd,  which has ‘sort -t\t’ as the default value.  INDP
719              reads the output from the command to form the index, by  default
720              in two columns (this can be changed by defining TYIND).  The in‐
721              dex is printed with string variable Index as header, default  is
722              ‘INDEX’.   One-column  processing is reactivated after the list.
723              INDP calls the user-defined macros TXIND, TYIND,  and  TZIND  if
724              defined.   TXIND  is  called before printing the string ‘INDEX’,
725              TYIND is called instead of printing ‘INDEX’, and TZIND is called
726              after  the  printing and should take care of restoring to normal
727              operation again.
728
729       ISODATE [0]
730              Change the predefined date string in DT to ISO-format, this  is,
731              ‘YYYY-MM-DD’.   This  can  also be done by adding -rIso=1 on the
732              command line.  Reverts to old date format if argument is 0.
733
734       IR [italic-text [roman-text [italic-text [...]]]]
735              Italic-roman.  Even arguments are printed in italic, odd in  ro‐
736              man.  See I.
737
738       LB text-indent mark-indent pad type [mark [LI-space [LB-space]]]
739              List-begin  macro.  This is the common macro used for all lists.
740              text-indent is the number of spaces to indent the text from  the
741              current indentation.
742
743              pad  and mark-indent control where to put the mark.  The mark is
744              placed within the mark area, and mark-indent sets the number  of
745              spaces  before  this  area.   By default it is 0.  The mark area
746              ends where the text begins.  The start of the text is still con‐
747              trolled by text-indent.
748
749              The mark is left-justified within the mark area if pad is 0.  If
750              pad is greater than 0, mark-indent is ignored, and the  mark  is
751              placed  pad  spaces  before  the text.  This right-justifies the
752              mark.
753
754              If type is 0 the list either has a hanging  indentation  or,  if
755              argument mark is given, the string mark as a mark.
756
757              If type is greater than 0 automatic numbering occurs, using ara‐
758              bic numbers if mark is empty.  mark can then be any of ‘1’, ‘A’,
759              ‘a’, ‘I’, or ‘i’.
760
761              type selects one of six possible ways to display the mark.
762
763              type
764
765                     1   x.
766                     2   x)
767                     3   (x)
768                     4   [x]
769                     5   <x>
770                     6   {x}
771
772              Every  item  in the list gets LI-space number of blank lines be‐
773              fore them.  Default is 1.
774
775              LB itself prints LB-space blank lines.  Default is 0.
776
777       LC [list-level]
778              List-status clear.  Terminates all current active lists down  to
779              list-level,  or 0 if no argument is given.  This is used by H to
780              clear any active list.
781
782       LE [1] List end.  Terminates the current list.  LE outputs a blank line
783              if an argument is given.
784
785       LI [mark [1|2]]
786              List  item preceding every item in a list.  Without argument, LI
787              prints the mark determined by the current list type.  By  giving
788              LI  one  argument,  it uses that as the mark instead.  Two argu‐
789              ments to LI makes mark a prefix to the current mark.   There  is
790              no  separating space between the prefix and the mark if the sec‐
791              ond argument is ‘2’ instead of ‘1’.  This behaviour can also  be
792              achieved  by  setting  number  register  Limsp  to zero.  A zero
793              length mark makes a hanging indentation instead.
794
795              A blank line is printed before the list item by  default.   This
796              behaviour  can be controlled by number register Ls.  Pre-spacing
797              occurs for each list level less than or equal  to  Ls.   Default
798              value is 99.  There is no nesting limit.
799
800              The  indentation can be changed through number register Li.  De‐
801              fault is 6.
802
803              All lists begin with a list  initialization  macro,  LB.   There
804              are,  however,  seven predefined list types to make lists easier
805              to use.  They all call LB with different default values.
806
807                     AL    Automatically Incremented List
808                     ML    Marked List
809                     VL    Variable-Item List
810                     BL    Bullet List
811                     DL    Dash List
812                     RL    Reference List
813                     BVL   Broken Variable List.
814
815              These lists are described at other places in this  manual.   See
816              also LB.
817
818       LT [arg]
819              Format a letter in one of four different styles depending on the
820              argument.  Also see section “Internals” below.
821
822                     Arg   Style
823                     BL    Blocked.  Date line, return address,  writer's  ad‐
824                           dress and closing begins at the center of the line.
825                           All other lines begin at the left margin.
826                     SB    Semi-blocked.  Same as  blocked,  except  that  the
827                           first line in every paragraph is indented five spa‐
828                           ces.
829                     FB    Full-blocked.  All lines begin at the left margin.
830                     SP    Simplified.  Almost the same  as  the  full-blocked
831                           style.  Subject and the writer's identification are
832                           printed in all-capital.
833
834       LO type [arg]
835              Specify options in letter (see .LT).  This  is  a  list  of  the
836              standard options:
837
838                     CN   Confidential notation.  Prints ‘CONFIDENTIAL’ on the
839                          second line below the date line.  Any  argument  re‐
840                          places  ‘CONFIDENTIAL’.   See  also  string variable
841                          LetCN.
842                     RN   Reference notation.  Prints ‘In reference  to:’  and
843                          the  argument  two  lines  below the date line.  See
844                          also string variable LetRN.
845                     AT   Attention.  Prints ‘ATTENTION:’ and the argument be‐
846                          low  the  inside  address.  See also string variable
847                          LetAT.
848                     SA   Salutation.  Prints ’To Whom It May Concern:’ or the
849                          argument  if  it  was  present.   The  salutation is
850                          printed two lines below  the  inside  address.   See
851                          also string variable LetSA.
852                     SJ   Subject  line.   Prints the argument as subject pre‐
853                          fixed with ‘SUBJECT:’ two lines below the inside ad‐
854                          dress, except in letter type ‘SP’, where the subject
855                          is printed in all-capital without any  prefix.   See
856                          also string variable LetSJ.
857
858       MC column-size [column-separation]
859              Begin  multiple  columns.  Return to normal with 1C.  MC creates
860              as many columns as the current line length permits.  column-size
861              is  the width of each column, and column-separation is the space
862              between two columns.  Default separation is column-size/15.  See
863              also 1C.
864
865       ML mark [text-indent [1]]
866              Marked  list  start.   The  mark argument is printed before each
867              list item.  text-indent sets the indent  and  overrides  Li.   A
868              third  argument  prohibits  printing of a blank line before each
869              item.
870
871       MT [arg [addressee]]
872              Memorandum type.  The argument arg is  part  of  a  filename  in
873              /usr/share/groff/1.22.4/tmac/mm/*.MT.   Memorandum  types 0 to 5
874              are supported, including type ‘string’  (which  gets  internally
875              mapped  to type 6).  addressee just sets a variable, used in the
876              AT&T macros.
877
878              arg
879
880                     0   Normal memorandum, no type printed.
881                     1   Memorandum with ‘MEMORANDUM FOR FILE’ printed.
882                     2   Memorandum with ‘PROGRAMMER'S NOTES’ printed.
883                     3   Memorandum with ‘ENGINEER'S NOTES’ printed.
884                     4   Released paper style.
885                     5   External letter style.
886
887              See also COVER/COVEND, a more flexible type of front page.
888
889       MOVE y-pos [x-pos [line-length]]
890              Move to a position, setting page  offset  to  x-pos.   If  line-
891              length is not given, the difference between current and new page
892              offset is used.  Use PGFORM without arguments to return to  nor‐
893              mal.
894
895       MULB cw1 space1 [cw2 space2 [cw3 ...]]
896              Begin  a  special multi-column mode.  All columns widths must be
897              specified.  The space between  the  columns  must  be  specified
898              also.  The last column does not need any space definition.  MULB
899              starts a diversion, and MULE ends the diversion and  prints  the
900              columns.  The unit for the width and space arguments is ‘n’, but
901              MULB accepts all normal unit specifications like  ‘c’  and  ‘i’.
902              MULB operates in a separate environment.
903
904       MULN   Begin  the next column.  This is the only way to switch the col‐
905              umn.
906
907       MULE   End the multi-column mode and print the columns.
908
909       nP [type]
910              Print numbered paragraph with header level two.  See .P.
911
912       NCOL   Force printing to the next column.  Don't use this together with
913              the MUL* macros, see 2C.
914
915       NS [arg [1]]
916              Print  different  types  of notations.  The argument selects be‐
917              tween the predefined type of notations.  If the second  argument
918              is available, then the argument becomes the entire notation.  If
919              the argument doesn't select a predefined type, it is printed  as
920              ‘Copy (arg) to’.  It is possible to add more standard notations,
921              see the string variables Letns and Letnsdef.
922
923                     Arg    Notation
924                     none   Copy To
925                     ""     Copy To
926                     1      Copy To (with att.) to
927                     2      Copy To (without att.) to
928
929                     3      Att.
930                     4      Atts.
931                     5      Enc.
932                     6      Encs.
933                     7      Under separate cover
934                     8      Letter to
935                     9      Memorandum to
936                     10     Copy (with atts.) to
937                     11     Copy (without atts.) to
938                     12     Abstract Only to
939                     13     Complete Memorandum to
940                     14     CC
941
942       ND new-date
943              New date.  Overrides the current date.  Date is not  printed  if
944              new-date is an empty string.
945
946       OF [arg]
947              Odd-page  footer,  a  line printed just above the normal footer.
948              See EF and PF.
949
950              This macro defines string EOPof.
951
952       OH [arg]
953              Odd-page header, a line printed just below  the  normal  header.
954              See EH and PH.
955
956              This macro defines string TPoh.
957
958       OP     Make  sure  that  the following text is printed at the top of an
959              odd-numbered page.  Does not output an empty page  if  currently
960              at the top of an odd page.
961
962       P [type]
963              Begin new paragraph.  P without argument produces left-justified
964              text, even the first line of the paragraph.  This is the same as
965              setting type to 0.  If the argument is 1, the first line of text
966              following P is indented by the number of spaces in number regis‐
967              ter Pi, by default 5.
968
969              Instead  of  giving  an  argument to P it is possible to set the
970              paragraph type in number register Pt.  Using 0 and 1 is the same
971              as adding that value to P.  A value of 2 indents all paragraphs,
972              except after headings, lists, and displays (this value can't  be
973              used as an argument to P itself).
974
975              The  space between two paragraphs is controlled by number regis‐
976              ter Ps, and is 1 by default (one blank line).
977
978       PGFORM [linelength [pagelength [pageoffset [1]]]]
979              Set line length, page length, and/or page  offset.   This  macro
980              can be used for special formatting, like letter heads and other.
981              It is normally the first command in a file,  though  it  is  not
982              necessary.  PGFORM can be used without arguments to reset every‐
983              thing after a MOVE call.  A line break is done unless the fourth
984              argument is given.  This can be used to avoid the page number on
985              the first page while setting new width and length.  (It seems as
986              if this macro sometimes doesn't work too well.  Use the command-
987              line arguments to change line length, page length, and page off‐
988              set instead.)
989
990       PGNH   No  header  is printed on the next page.  Used to get rid of the
991              header in letters or other special texts.  This  macro  must  be
992              used  before  any  text  to inhibit the page header on the first
993              page.
994
995       PIC [-B] [-L] [-C] [-R] [-I n] filename [width [height]]
996              Include a PostScript file in the document.  The macro depends on
997              mmroff(1)  and INITR.  The arguments -L, -C, -R, and -I n adjust
998              the picture or indent it.  With no flag the picture is  adjusted
999              to the left.  Adding -B draws a box around the picture.  The op‐
1000              tional width and height can also be given to resize the picture.
1001
1002       PE     Picture end.  Ends a picture for pic(1).
1003
1004       PF [arg]
1005              Page footer.  PF sets the line to be printed at  the  bottom  of
1006              each  page.  Empty by default.  See PH for the argument specifi‐
1007              cation.
1008
1009              This macro defines string EOPf.
1010
1011       PH [arg]
1012              Page header, a line printed at the top of each page.  The  argu‐
1013              ment should be specified as
1014
1015                     "'left-part'center-part'right-part'"
1016
1017              where  left-part,  center-part, and right-part are printed left-
1018              justified, centered, and right justified, respectively.   Within
1019              the  argument to PH, the character ‘%’ is changed to the current
1020              page number.  The default argument is
1021
1022                     "''- % -''"
1023
1024              which gives the page number between two dashes.
1025
1026              This macro defines string TPh.
1027
1028       PS     Picture start (from pic).  Begins a picture for pic(1).
1029
1030       PX     Page header user-defined exit.  This macro is called just  after
1031              the printing of the page header in no-space mode.
1032
1033       R      Roman.  Return to roman font, see also I.
1034
1035       RB [roman-text [bold-text [roman-text [...]]]]
1036              Roman-bold.   Even  arguments are printed in roman, odd in bold‐
1037              face.  See I.
1038
1039       RD [prompt [diversion [string]]]
1040              Read from standard input to diversion and/or string.   The  text
1041              is  saved  in  a  diversion named diversion.  Recall the text by
1042              writing the name of the diversion after a dot on an empty  line.
1043              A  string  is also defined if string is given.  Diversion and/or
1044              prompt can be empty ("").
1045
1046       RF     Reference end.  Ends a reference definition and returns to  nor‐
1047              mal processing.  See RS.
1048
1049       RI [roman-text [italic-text [roman-text [...]]]]
1050              Print even arguments in roman, odd in italic.  See I.
1051
1052       RL [text-indent[1]]
1053              Reference list start.  Begins a list where each item is preceded
1054              with an automatically incremented number between  square  brack‐
1055              ets.  text-indent changes the default indentation.
1056
1057       RP [arg1 [arg2]]
1058              Produce  reference  page.  This macro can be used if a reference
1059              page is wanted somewhere in the document.  It is not  needed  if
1060              TC  is  used to produce a table of contents.  The reference page
1061              is then printed automatically.
1062
1063              The reference counter is not reset if arg1 is 1.
1064
1065              arg2 tells RP whether to eject a page or not.
1066
1067              arg2
1068
1069                     0   The reference page is printed on a separate page.
1070                     1   Do not eject page after the list.
1071                     2   Do not eject page before the list.
1072                     3   Do not eject page before and after the list.
1073
1074              The reference items are separated by a blank line.  Setting num‐
1075              ber register Ls to 0 suppresses the line.
1076
1077              The  string  Rp  contains the reference page title and is set to
1078              ‘REFERENCES’ by default.  The number register Rpe holds the  de‐
1079              fault  value  for the second argument of RP; it is initially set
1080              to 0.
1081
1082       RS [string-name]
1083              Begin an automatically numbered reference definition.   Put  the
1084              string  \*(Rf  where  the reference mark should be and write the
1085              reference between RS/RF at next new  line  after  the  reference
1086              mark.  The reference number is stored in number register :R.  If
1087              string-name is given, a string with that  name  is  defined  and
1088              contains  the  current reference mark.  The string can be refer‐
1089              enced as \*[string-name] later in the text.
1090
1091       S [size [spacing]]
1092              Set point size and vertical spacing.  If any argument  is  equal
1093              to  ‘P’, the previous value is used.  A ‘C’ means current value,
1094              and ‘D’ the default value.  If ‘+’ or ‘-’  is  used  before  the
1095              value,  the current value is incremented or decremented, respec‐
1096              tively.
1097
1098       SA [arg]
1099              Set right-margin justification.  Justification is turned  on  by
1100              default.   No argument or value ‘0’ turns off justification, and
1101              ‘1’ turns on justification.
1102
1103       SETR refname [string]
1104              Remember the current header and page number as  refname.   Saves
1105              string  if  string is defined.  string is retrieved with .GETST.
1106              See INITR.
1107
1108       SG [arg [1]]
1109              Signature line.  Prints the authors  name(s)  after  the  formal
1110              closing.   The  argument  is  appended  to  the  reference data,
1111              printed at either the first or last author.  The reference  data
1112              is  the  location,  department, and initials specified with .AU.
1113              It is printed at the first author  if  the  second  argument  is
1114              given,  otherwise  at the last.  No reference data is printed if
1115              the author(s) is specified through .WA/.WE.  See section “Inter‐
1116              nals” below.
1117
1118       SK [pages]
1119              Skip  pages.   If pages is 0 or omitted, a skip to the next page
1120              occurs unless it is already at the top of a page.  Otherwise  it
1121              skips pages pages.
1122
1123       SM string1 [string2 [string3]]
1124              Make  a  string  smaller.   If string2 is given, string1 is made
1125              smaller and string2 stays  at  normal  size,  concatenated  with
1126              string1.   With three arguments, everything is concatenated, but
1127              only string2 is made smaller.
1128
1129       SP [lines]
1130              Space vertically.  lines can have any scaling factor, like  ‘3i’
1131              or  ‘8v’.   Several SP calls in a line only produces the maximum
1132              number of lines, not the sum.  SP  is  ignored  also  until  the
1133              first  text line in a page.  Add \& before a call to SP to avoid
1134              this.
1135
1136       TAB    Reset tabs to every 5n.  Normally used to reset any previous tab
1137              positions.
1138
1139       TB [title [override [flag [refname]]]]
1140              Table title.  The arguments are the same as for EC.  TB uses the
1141              number register Tb as a counter.  The string Lt controls the ti‐
1142              tle  of  the  List of Tables; default value is ‘LIST OF TABLES’.
1143              The List of Tables is only printed if number register Lt  is  1,
1144              which  is  the  default.  The string Litb contains the word ‘TA‐
1145              BLE’, which is printed before the number.
1146
1147              Special handling of the title occurs if TB is used inside DS/DE,
1148              it is not affected by the format of DS.
1149
1150       TC [slevel [spacing [tlevel [tab [h1 [h2 [h3 [h4 [h5]]]]]]]]]
1151              Table of contents.  This macro is normally used as the last line
1152              of the document.  It generates a table of contents with headings
1153              up  to the level controlled by number register Cl.  Note that Cl
1154              controls the saving of headings, it has nothing to do  with  TC.
1155              Headings  with  a level less than or equal to slevel get spacing
1156              number of lines before them.  Headings with a level less than or
1157              equal  to  tlevel  have  their page numbers right-justified with
1158              dots or spaces separating the text and the page number.   Spaces
1159              are  used  if  tab  is greater than zero, dots otherwise.  Other
1160              headings have the page number directly at the end of the heading
1161              text (ragged-right).
1162
1163              The rest of the arguments is printed, centered, before the table
1164              of contents.
1165
1166              The user-defined macros TX and TY are used if TC is called  with
1167              at most four arguments.  TX is called before the printing of the
1168              string ‘CONTENTS’, and TY is called instead  of  printing  ‘CON‐
1169              TENTS’.
1170
1171              Equivalent  macros  can  be defined for list of figures, tables,
1172              equations and exhibits by defining TXxx or  TYxx,  where  xx  is
1173              ‘Fg’, ‘TB’, ‘EC’, or ‘EX’, respectively.
1174
1175              String  Ci can be set to control the indentations for each head‐
1176              ing-level.  It must be scaled, like
1177
1178                     .ds Ci .25i .5i .75i 1i 1i
1179
1180              By default, the indentation is controlled by the maximum  length
1181              of headings in each level.
1182
1183              The  string  variables Lifg, Litb, Liex, Liec, and Licon contain
1184              ‘Figure’, ‘TABLE’, ‘Exhibit’, ‘Equation’,  and  ‘CONTENTS’,  re‐
1185              spectively.  These can be redefined to other languages.
1186
1187       TE     Table end.  See TS.
1188
1189       TH [N] Table  header.   See TS.  TH ends the header of the table.  This
1190              header is printed again if a page break  occurs.   Argument  ‘N’
1191              isn't implemented yet.
1192
1193       TL [charging-case-number [filing-case-number]]
1194              Begin  title  of  memorandum.  All text up to the next AU is in‐
1195              cluded in the title.  charging-case-number and  filing-case-num‐
1196              ber are saved for use in the front page processing.
1197
1198       TM [num1 [num2 [...]]]
1199              Technical  memorandum  numbers used in .MT.  An unlimited number
1200              of arguments may be given.
1201
1202       TP     Top-of-page user-defined macro.  This macro is called instead of
1203              the  normal page header.  It is possible to get complete control
1204              over the header.  Note  that  the  header  and  the  footer  are
1205              printed  in  a  separate environment.  Line length is preserved,
1206              though.  See EOP.
1207
1208              strings available to TP
1209
1210              TPh    argument of PH
1211              TPeh   argument of EH
1212              TPoh   argument of OH
1213
1214       TS [H] Table start.  This is the start  of  a  table  specification  to
1215              tbl(1).   TS ends with TE.  Argument ‘H’ tells mm that the table
1216              has a header.  See TH.
1217
1218       TX     User-defined table of contents exit.  This macro is called  just
1219              before TC prints the word ‘CONTENTS’.  See TC.
1220
1221       TY     User-defined  table  of contents exit.  This macro is called in‐
1222              stead of printing ‘CONTENTS’.  See TC.
1223
1224       VERBON [flag [point-size [font]]]
1225              Begin verbatim output using Courier font.  Usually for  printing
1226              programs.   All characters have equal width.  The point size can
1227              be changed with the second argument.  By specifying a third  ar‐
1228              gument  it  is  possible to use another font instead of Courier.
1229              flag controls several special features.  Its value is the sum of
1230              all wanted features.
1231
1232                     Arg   Description
1233                     1     Disable the escape character (\).  This is normally
1234                           turned on during verbose output.
1235                     2     Add an empty line before the verbose text.
1236                     4     Add an empty line after the verbose text.
1237                     8     Print the verbose text with numbered  lines.   This
1238                           adds  four  digit-sized  spaces in the beginning of
1239                           each line.  Finer control  is  available  with  the
1240                           string  variable Verbnm.  It contains all arguments
1241                           to the troff(1) command .nm, normally ‘1’.
1242                     16    Indent the verbose text  by  ‘5n’.   This  is  con‐
1243                           trolled by the number-variable Verbin (in units).
1244
1245       VERBOFF
1246              End verbatim output.
1247
1248       VL text-indent [mark-indent [1]]
1249              Variable-item list.  It has no fixed mark, it assumes that every
1250              LI has a mark instead.  text-indent sets the indent to the text,
1251              and mark-indent the distance from the current indentation to the
1252              mark.  A third argument prohibits printing of a blank  line  be‐
1253              fore each item.
1254
1255       VM [-T] [top [bottom]]
1256              Vertical  margin.  Increase the top and bottom margin by top and
1257              bottom, respectively.  If option -T is specified, set those mar‐
1258              gins to top and bottom.  If no argument is given, reset the mar‐
1259              gin to zero, or to the default (‘7v 5v’) if -T is used.   It  is
1260              highly  recommended that macros TP and/or EOP are defined if us‐
1261              ing -T and setting top and/or bottom margin to less than the de‐
1262              fault.
1263
1264       WA [writer-name [title]]
1265              Begin specification of the writer and writer's address.  Several
1266              names can be specified with empty WA/WE pairs, but only one  ad‐
1267              dress.
1268
1269       WE     End the address specification after .WA.
1270
1271       WC [format1] [format2] [...]
1272              Footnote and display width control.
1273
1274              N     Set  default mode which is equal to using the options -WF,
1275                    -FF, -WD, and FB.
1276              WF    Wide footnotes, wide also in two-column mode.
1277              -WF   Normal footnote width, follow column mode.
1278              FF    All footnotes gets the same width as  the  first  footnote
1279                    encountered.
1280              -FF   Normal footnotes, width follows WF and -WF.
1281              WD    Wide displays, wide also in two-column mode.
1282              -WD   Normal display width, follow column mode.
1283              FB    Floating  displays  generates a line break when printed on
1284                    the current page.
1285              -FB   Floating displays does not generate line break.
1286
1287   Strings used in mm
1288       App    A string containing the word ‘APPENDIX’.
1289
1290       Apptxt The current appendix text.
1291
1292       EM     Em dash string
1293
1294       H1txt  Updated by .H and .HU to the current heading text.  Also updated
1295              in table of contents & friends.
1296
1297       HF     Font list for headings, ‘2 2 2 2 2 2 2’ by default.  Non-numeric
1298              font names may also be used.
1299
1300       HP     Point size list for headings.  By default, this is ’0 0 0 0 0  0
1301              0’ which is the same as ‘10 10 10 10 10 10 10’.
1302
1303       Index  Contains the string ‘INDEX’.
1304
1305       Indcmd Contains the index command.  Default value is ‘sort -t\t’.
1306
1307       Lifg   String containing ‘Figure’.
1308
1309       Litb   String containing ‘TABLE’.
1310
1311       Liex   String containing ‘Exhibit’.
1312
1313       Liec   String containing ‘Equation’.
1314
1315       Licon  String containing ‘CONTENTS’.
1316
1317       Lf     Contains the string ‘LIST OF FIGURES’.
1318
1319       Lt     Contains the string ‘LIST OF TABLES’.
1320
1321       Lx     Contains the string ‘LIST OF EXHIBITS’.
1322
1323       Le     Contains the string ‘LIST OF EQUATIONS’.
1324
1325       Letfc  Contains the string ‘Yours very truly,’, used in .FC.
1326
1327       Letapp Contains the string ‘APPROVED:’, used in .AV.
1328
1329       Letdate
1330              Contains the string ‘Date’, used in .AV.
1331
1332       LetCN  Contains the string ‘CONFIDENTIAL’, used in .LO CN.
1333
1334       LetSA  Contains the string ‘To Whom It May Concern:’, used in .LO SA.
1335
1336       LetAT  Contains the string ‘ATTENTION:’, used in .LO AT.
1337
1338       LetSJ  Contains the string ‘SUBJECT:’, used in .LO SJ.
1339
1340       LetRN  Contains the string ‘In reference to:’, used in .LO RN.
1341
1342       Letns  is an array containing the different strings used in .NS.  It is
1343              really a number of string variables prefixed  with  Letns!.   If
1344              the  argument  doesn't  exist,  it  is  included between () with
1345              Letns!copy as a prefix and Letns!to as a  suffix.   Observe  the
1346              space after ‘Copy’ and before ‘to’.
1347
1348                     Name         Value
1349                     Letns!0      Copy to
1350                     Letns!1      Copy (with att.) to
1351                     Letns!2      Copy (without att.) to
1352                     Letns!3      Att.
1353                     Letns!4      Atts.
1354                     Letns!5      Enc.
1355                     Letns!6      Encs.
1356                     Letns!7      Under separate cover
1357                     Letns!8      Letter to
1358                     Letns!9      Memorandum to
1359                     Letns!10     Copy (with atts.) to
1360                     Letns!11     Copy (without atts.) to
1361                     Letns!12     Abstract Only to
1362                     Letns!13     Complete Memorandum to
1363                     Letns!14     CC
1364                     Letns!copy   Copy (with trailing space)
1365                     Letns!to      to (note leading space)
1366
1367       Letnsdef
1368              Define  the  standard notation used when no argument is given to
1369              .NS.  Default is 0.
1370
1371       MO1 – MO12
1372              Strings containing the month names ‘January’ through ‘December’.
1373
1374       Qrf    String containing ‘See chapter \\*[Qrfh], page \\n[Qrfp].’.
1375
1376       Rp     Contains the string ‘REFERENCES’.
1377
1378       Tcst   Contains the current status of the table of contents and list of
1379              figures,  etc.   Empty  outside  of .TC.  Useful in user-defined
1380              macros like .TP.
1381
1382                     Value   Meaning
1383                     co      Table of contents
1384                     fg      List of figures
1385                     tb      List of tables
1386                     ec      List of equations
1387                     ex      List of exhibits
1388                     ap      Appendix
1389
1390       Tm     Contains the string ‘\(tm’, the trade mark symbol.
1391
1392       Verbnm Argument to .nm in the .VERBON command.  Default is 1.
1393
1394   Number variables used in mm
1395       Aph    Print an appendix page for every new appendix   if  this  number
1396              variable  is  non-zero.   No  output  occurs if Aph is zero, but
1397              there is always an appendix entry in the ‘List of contents’.
1398
1399       Cl     Contents level (in the range 0 to 14).  The contents is saved if
1400              a  heading level is lower than or equal to the value of Cl.  De‐
1401              fault is 2.
1402
1403       Cp     Eject page between list of table, list of figure, etc.,  if  the
1404              value of Cp is zero.  Default is 0.
1405
1406       D      Debug  flag.  Values greater than zero produce debug information
1407              of increasing verbosity.  A value of 1 gives  information  about
1408              the progress of formatting.  Default is 0.
1409
1410       De     If  set  to  1, eject after floating display is output.  Default
1411              is 0.
1412
1413       Dsp    If defined, it controls the space output before and after static
1414              displays.  Otherwise the value of Lsp is used.
1415
1416       Df     Control  floating  keep output.  This is a number in the range 0
1417              to 5, with a default value of 5.  See .DF.
1418
1419       Ds     If set to 1, use the amount of space stored in register Lsp  be‐
1420              fore and after display.  Default is 1.
1421
1422       Ej     If  set  to  1, eject page before each first-level heading.  De‐
1423              fault is 0.
1424
1425       Eq     Equation labels are left-adjusted if set to 0 and right-adjusted
1426              if set to 1.  Default is 0.
1427
1428       Fs     Footnote spacing.  Default is 1.
1429
1430       H1 – H7
1431              Heading counters
1432
1433       H1dot  Append  a  dot  after  the  level-one heading number if value is
1434              greater than zero.  Default is 1.
1435
1436       H1h    A copy of number register H1, but it is incremented just  before
1437              the page break.  Useful in user-defined header macros.
1438
1439       Hb     Heading  break level.  A number in the range 0 to 14, with a de‐
1440              fault value of 2.  See .H.
1441
1442       Hc     Heading centering level.  A number in the range 0 to 14, with  a
1443              default value value of 0.  See .H.
1444
1445       Hi     Heading  temporary indent.  A number in the range 0 to 2, with a
1446              default value of 1.
1447
1448                     0   no indentation, left margin
1449                     1   indent to the right, similar to ‘.P 1
1450                     2   indent to line up with text part of preceding heading
1451
1452       Hps    Heading pre-space level.  If the heading level is less  than  or
1453              equal  to  Hps, two lines precede the section heading instead of
1454              one.  Default is first level only.  The real amount of lines  is
1455              controlled by the variables Hps1 and Hps2.
1456
1457       Hps1   Number  of  lines  preceding  .H if the heading level is greater
1458              than Hps.  Value is in units, default is 0.5.
1459
1460       Hps2   Number of lines preceding .H if the heading level is  less  than
1461              or equal to Hps.  Value is in units, default is 1.
1462
1463       Hs     Heading  space level.  A number in the range 0 to 14, with a de‐
1464              fault value of 2.  See .H.
1465
1466       Hss    Number of lines following .H if the heading level is  less  than
1467              or equal to Hs.  Value is in units, default is 1.
1468
1469       Ht     Heading numbering type.
1470
1471                     0   multiple levels (1.1.1, 1.1.2, etc.)
1472                     1   single level
1473
1474              Default is 0.
1475
1476       Hu     Unnumbered heading level.  Default is 2.
1477
1478       Hy     Hyphenation status of text body.
1479
1480                     0   no hyphenation
1481                     1   hyphenation on, set to value 6
1482
1483              Default is 0.
1484
1485       Iso    Set this variable to 1 on the command line to get an ISO-format‐
1486              ted date string (-rIso=1).  Useless inside of a document.
1487
1488       L      Page length, only for command-line settings.
1489
1490       Letwam Maximum lines  in  return-address,  used  in  .WA/.WE.   Default
1491              is 14.
1492
1493       Lf, Lt, Lx, Le
1494              Enable  (1) or disable (0) the printing of List of figures, List
1495              of tables, List of exhibits and List of equations, respectively.
1496              Default values are Lf=1, Lt=1, Lx=1, and Le=0.
1497
1498       Li     List indentation, used by .AL.  Default is 6.
1499
1500       Limsp  A  flag  controlling  the  insertion of space between prefix and
1501              mark in automatic lists (.AL).
1502
1503                     0   no space
1504                     1   emit space
1505
1506       Ls     List space threshold.  If current list level is greater than  Ls
1507              no spacing occurs around lists.  Default is 99.
1508
1509       Lsp    The  vertical  space used by an empty line.  The default is 0.5v
1510              in troff mode and 1v in nroff mode.
1511
1512       N      Page numbering style.
1513
1514                     0   normal header for all pages.
1515                     1   header replaces  footer  on  first  page,  header  is
1516                         empty.
1517                     2   page header is removed on the first page.
1518                     3   ‘section-page’ numbering style enabled.
1519                     4   page header is removed on the first page.
1520                     5   ‘section-page’  and  ‘section-figure’ numbering style
1521                         enabled.
1522
1523              Default is 0.  See also the number registers Sectf and Sectp.
1524
1525       Np     A flag to control whether paragraphs are numbered.
1526
1527                     0   not numbered
1528                     1   numbered in first-level headings.
1529
1530              Default is 0.
1531
1532       O      Page offset, only for command-line settings.
1533
1534       Of     Format of figure, table, exhibit, and equation titles.
1535
1536                     0   ". "
1537                     1   " - "
1538
1539              Default is 0.
1540
1541       P      Current page-number, normally the same as ‘%’  unless  ‘section-
1542              page’ numbering style is enabled.
1543
1544       Pi     Paragraph indentation.  Default is 5.
1545
1546       Pgps   A  flag  to  control whether header and footer point size should
1547              follow the current settings or just change when the  header  and
1548              footer are defined.
1549
1550                     0   Point  size  only changes to the current setting when
1551                         .PH, .PF, .OH, .EH, .OF, or .OE is executed.
1552                     1   Point size changes after every .S.  This is  the  de‐
1553                         fault.
1554
1555       Ps     Paragraph spacing.  Default is 1.
1556
1557       Pt     Paragraph type.
1558
1559                     0   left-justified
1560                     1   indented paragraphs
1561                     2   indented paragraphs except after .H, .DE, or .LE.
1562
1563              Default is 0.
1564
1565       Rpe    Set default value for second argument of .RP.  Default is 0.
1566
1567       Sectf  A  flag  controlling  ‘section-figures’ numbering style.  A non-
1568              zero value enables this.  See also register N.
1569
1570       Sectp  A flag controlling ’section-page’ numbering style.   A  non-zero
1571              value enables this.  See also register N.
1572
1573       Si     Display indentation.  Default is 5.
1574
1575       Verbin Indentation for .VERBON.  Default is 5n.
1576
1577       W      Line length, only for command-line settings.
1578
1579       .mgm   Always 1.
1580

INTERNALS

1582       The letter macros are using different submacros depending on the letter
1583       type.  The name of the submacro has the letter type as suffix.   It  is
1584       therefore possible to define other letter types, either in the national
1585       macro-file, or as local additions.  .LT sets the  number  variables  Pt
1586       and Pi to 0 and 5, respectively.  The following strings and macros must
1587       be defined for a new letter type.
1588
1589       let@init_type
1590              This macro is called directly by .LT.  It is  supposed  to  ini‐
1591              tialize variables and other stuff.
1592
1593       let@head_type
1594              This  macro prints the letter head, and is called instead of the
1595              normal  page  header.   It  is  supposed  to  remove  the  alias
1596              let@header, otherwise it is called for all pages.
1597
1598       let@sg_type name title n flag [arg1 [arg2 [...]]]
1599              .SG is calling this macro only for letters; memorandums have its
1600              own processing.  name and title are specified  through  .WA/.WB.
1601              n  is  the  counter,  1-max, and flag is true for the last name.
1602              Any other argument to .SG is appended.
1603
1604       let@fc_type closing
1605              This macro is called by .FC, and has the formal closing  as  the
1606              argument.
1607
1608       .LO is implemented as a general option-macro.  It demands that a string
1609       named Lettype is defined, where type is the letter type.  .LO then  as‐
1610       signs the argument to the string variable let*lo-type.
1611

FILES

1613       /usr/share/groff/1.22.4/tmac/m.tmac
1614
1615       /usr/share/groff/1.22.4/tmac/mm/*.cov
1616
1617       /usr/share/groff/1.22.4/tmac/mm/*.MT
1618
1619       /usr/share/groff/1.22.4/tmac/mm/locale
1620

AUTHORS

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

SEE ALSO

1626       groff(1), troff(1), tbl(1), pic(1), eqn(1)
1627       groff_mmse(7)
1628
1629
1630
1631groff 1.22.4                    20 January 2022                    GROFF_MM(7)
Impressum