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
44       minus  sign  as  a  prefix  if an increment or decrement of the current
45       value is wanted.  (Auto-increment or auto-decrement occurs if the  num‐
46       ber register 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
81       position 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
113              argument 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
208              argument prohibits printing of a blank line before each item.
209
210       COVER [arg]
211              Begin  a  coversheet  definition.   It  is important that .COVER
212              appears before any normal text.  This macro uses  arg  to  build
213              the filename /usr/share/groff/1.22.4/tmac/mm/arg.cov.  Therefore
214              it is possible  to  create  unlimited  types  of  cover  sheets.
215              ms.cov  is  supposed  to  look  like the ms cover sheet.  .COVER
216              requires a .COVEND at the end of the cover  definition.   Always
217              use this order 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
269                         beginning at a new page  or  column.   (This  is  the
270                         default.)   A  page break occurs between each display
271                         if 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
314              argument 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;
329              default 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
332              before 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
386              ‘Exhibit’, which is printed before the number.   If  refname  is
387              used,  the  exhibit  number  is  saved  with  .SETR,  and can be
388              retrieved 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
396              default 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,
465              respectively.
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
474              between  1  and 14; level 1 is the top level.  The text is given
475              in heading-text, and must be surrounded by double quotes  if  it
476              contains  spaces.   heading-suffix is added to the header in the
477              text but not in the table of contents.  This  is  normally  used
478              for  footnote  marks and similar things.  Don't use \*F in head‐
479              ing-suffix, it doesn't work.  A manual label must be  used,  see
480              FS.
481
482              A  call  to  the  paragraph macro P directly after H is ignored.
483              H takes care of spacing and indentation.
484
485              Page ejection before heading
486
487                     Number register Ej  controls  page  ejection  before  the
488                     heading.   By default, a level-one heading gets two blank
489                     lines before it; higher levels only get one.  A new  page
490                     is ejected before each first-level heading if number reg‐
491                     ister Ej is 1.  All levels below or equal the value of Ej
492                     get a new page.  Default value for Ej is 0.
493
494              Heading break level
495
496                     A  line  break  occurs  after  the heading if the heading
497                     level is less or equal to number  register  Hb.   Default
498                     value is 2.
499
500              Heading space level
501
502                     A blank line is inserted after the heading if the heading
503                     level is less or equal to number  register  Hs.   Default
504                     value is 2.
505
506                     Text follows the heading on the same line if the level is
507                     greater than both Hb and Hs.
508
509              Post-heading indent
510
511                     Indentation of the text after the heading  is  controlled
512                     by number register Hi.  Default value is 0.
513
514                     Hi
515
516                     0   The text is left-justified.
517                     1   Indentation  of  the text follows the value of number
518                         register Pt , see P.
519                     2   The text is lined up with the first word of the head‐
520                         ing.
521
522              Centered section headings
523
524                     All  headings whose level is equal or below number regis‐
525                     ter Hc and also less than or equal to Hb or Hs  are  cen‐
526                     tered.
527
528              Font control of the heading
529
530                     The  font  of  each heading level is controlled by string
531                     HF.  It contains a font number  or  font  name  for  each
532                     level.  Default value is
533
534                            2 2 2 2 2 2 2 2 2 2 2 2 2 2
535
536                     (all headings in italic).  This could also be written as
537
538                            I I I I I I I I I I I I I I
539
540                     Note that some other implementations use 3 3 2 2 2 2 2 as
541                     the default value.  All omitted values  are  presumed  to
542                     have value 1.
543
544              Point size control
545
546                     String HP controls the point size of each heading, in the
547                     same way as HF controls the font.  A value of  0  selects
548                     the default point size.  Default value is
549
550                            0 0 0 0 0 0 0 0 0 0 0 0 0 0
551
552                     Beware that only the point size changes, not the vertical
553                     size.  The latter can be controlled by the user-specified
554                     macros HX and/or HZ.
555
556              Heading counters
557
558                     Fourteen  number registers named H1 up to H14 contain the
559                     counter for each heading level.  The values  are  printed
560                     using Arabic numerals; this can be changed with the macro
561                     HM (see below).  All marks are concatenated before print‐
562                     ing.   To  avoid this, set number register Ht to 1.  This
563                     only prints the current heading counter at each heading.
564
565              Automatic table of contents
566
567                     All headings whose level is equal or below number  regis‐
568                     ter  Cl are saved to be printed in the table of contents.
569                     Default value is 2.
570
571              Special control of the heading, user-defined macros
572
573                     The following macros can be defined by the user to get  a
574                     finer  control  of vertical spacing, fonts, or other fea‐
575                     tures.  Argument level is the level-argument to H, but  0
576                     for unnumbered headings (see HU).  Argument rlevel is the
577                     real level; it is set to number register  Hu  for  unnum‐
578                     bered  headings.  Argument heading-text is the text argu‐
579                     ment to H and HU.
580
581                     HX level rlevel heading-text
582                            This macro is called just before the  printing  of
583                            the  heading.   The following registers are avail‐
584                            able for HX.  Note that HX may alter }0,  }2,  and
585                            ;3.
586
587                            }0 (string)
588                                   Contains  the  heading mark plus two spaces
589                                   if rlevel is non-zero, otherwise empty.
590
591                            ;0 (register)
592                                   Contains the position of the text after the
593                                   heading.  0 means that the text should fol‐
594                                   low the heading on the same line,  1  means
595                                   that  a  line break should occur before the
596                                   text, and 2 means that a blank line  should
597                                   separate the heading and the text.
598
599                            }2 (string)
600                                   Contains  two  spaces  if register ;0 is 0.
601                                   It is used to separate the heading from the
602                                   text.   The  string  is empty if ;0 is non-
603                                   zero.
604
605                            ;3 (register)
606                                   Contains the needed space  in  units  after
607                                   the  heading.   Default is 2v.  Can be used
608                                   to change things like numbering (}0),  ver‐
609                                   tical  spacing  (}2),  and the needed space
610                                   after the heading.
611
612                     HY dlevel rlevel heading-text
613                            This macro is called after size and font  calcula‐
614                            tions and might be used to change indentation.
615
616                     HZ dlevel rlevel heading-text
617                            This  macro  is  called  after the printing of the
618                            heading, just before H or HU exits.  Can  be  used
619                            to change the page header according to the section
620                            heading.
621
622       HC [hyphenation-character]
623              Set hyphenation character.  Default value is  ‘\%’.   Resets  to
624              the  default  if  called  without  argument.  Hyphenation can be
625              turned off by setting number register Hy to 0 at  the  beginning
626              of the file.
627
628       HM [arg1 [arg2 [... [arg14]]]]
629              Heading  mark  style.  Controls the type of marking for printing
630              of the heading counters.  Default is 1 for all levels.
631
632              Argument
633
634              1      Arabic numerals.
635              0001   Arabic numerals with leading zeroes, one or more.
636              A      upper-case alphabetic
637              a      lower-case alphabetic
638              I      upper-case roman numerals
639              i      lower-case roman numerals
640              ""     Arabic numerals.
641
642       HU heading-text
643              Unnumbered section header.  HU behaves like H at  the  level  in
644              number register Hu.  See H.
645
646       HX dlevel rlevel heading-text
647              User-defined  heading  exit.   Called  just  before printing the
648              header.  See H.
649
650       HY dlevel rlevel heading-text
651              User-defined heading exit.   Called  just  before  printing  the
652              header.  See H.
653
654       HZ dlevel rlevel heading-text
655              User-defined  heading  exit.   Called  just  after  printing the
656              header.  See H.
657
658       I [italic-text [prev-font-text [italic-text [...]]]]
659              Italic.  Changes the font to italic if called without arguments.
660              With  one  argument  it sets the word in italic.  With two argu‐
661              ments it concatenates them and sets the first word in italic and
662              the  second in the previous font.  There is no limit on the num‐
663              ber of argument; all are concatenated.
664
665       IA [addressee-name [title]]
666              Begin specification of the addressee and addressee's address  in
667              letter  style.  Several names can be specified with empty IA/IE-
668              pairs, but only one address.  See LT.
669
670       IB [italic-text [bold-text [italic-text [...]]]]
671              Italic-bold.  Even arguments are printed in italic, odd in bold‐
672              face.  See I.
673
674       IE     End the address specification after IA.
675
676       INITI type filename [macro]
677              Initialize  the new index system and set the filename to collect
678              index lines in with IND.  Argument  type  selects  the  type  of
679              index:  page  number, header marks or both.  The default is page
680              numbers.
681
682              It is also possible to create a macro that  is  responsible  for
683              formatting  each  row; just add the name of the macro as a third
684              argument.  The macro is then called  with  the  index  as  argu‐
685              ment(s).
686
687              type
688
689              N   Page numbers
690              H   Header marks
691              B   Both  page  numbers  and  header marks, separated with a tab
692                  character.
693
694       INITR filename
695              Initialize the cross reference  macros.   Cross  references  are
696              written  to  stderr  and are supposed to be redirected into file
697              filename.qrf.  Requires two passes with groff; this  is  handled
698              by  a  separate  program  called mmroff(1).  This program exists
699              because groff(1) by default deactivates  the  unsafe  operations
700              that are required by INITR.  The first pass looks for cross ref‐
701              erences, and the second one includes them.  INITR  can  be  used
702              several times, but it is only the first occurrence of INITR that
703              is active.
704
705              See also SETR, GETPN, and GETHN.
706
707       IND arg1 [arg2 [...]]
708              Write a line in the index file selected by INITI with all  argu‐
709              ments and the page number or header mark separated by tabs.
710
711                     Examples
712
713                     arg1\tpage number
714                     arg1\targ2\tpage number
715                     arg1\theader mark
716                     arg1\tpage number\theader mark
717
718       INDP   Print the index by running the command specified by string vari‐
719              able Indcmd, which has ‘sort -t\t’ as the default  value.   INDP
720              reads  the output from the command to form the index, by default
721              in two columns (this can be changed  by  defining  TYIND).   The
722              index  is  printed with string variable Index as header, default
723              is ‘INDEX’.  One-column  processing  is  reactivated  after  the
724              list.   INDP  calls  the  user-defined  macros TXIND, TYIND, and
725              TZIND if defined.  TXIND is called before  printing  the  string
726              ‘INDEX’,  TYIND is called instead of printing ‘INDEX’, and TZIND
727              is called after the printing and should take care  of  restoring
728              to normal operation again.
729
730       ISODATE [0]
731              Change  the predefined date string in DT to ISO-format, this is,
732              ‘YYYY-MM-DD’.  This can also be done by adding  -rIso=1  on  the
733              command line.  Reverts to old date format if argument is 0.
734
735       IR [italic-text [roman-text [italic-text [...]]]]
736              Italic-roman.   Even  arguments  are  printed  in italic, odd in
737              roman.  See I.
738
739       LB text-indent mark-indent pad type [mark [LI-space [LB-space]]]
740              List-begin macro.  This is the common macro used for all  lists.
741              text-indent  is the number of spaces to indent the text from the
742              current indentation.
743
744              pad and mark-indent control where to put the mark.  The mark  is
745              placed  within the mark area, and mark-indent sets the number of
746              spaces before this area.  By default it is  0.   The  mark  area
747              ends where the text begins.  The start of the text is still con‐
748              trolled by text-indent.
749
750              The mark is left-justified within the mark area if pad is 0.  If
751              pad  is  greater than 0, mark-indent is ignored, and the mark is
752              placed pad spaces before the  text.   This  right-justifies  the
753              mark.
754
755              If  type  is  0 the list either has a hanging indentation or, if
756              argument mark is given, the string mark as a mark.
757
758              If type is greater than 0 automatic numbering occurs, using ara‐
759              bic numbers if mark is empty.  mark can then be any of ‘1’, ‘A’,
760              ‘a’, ‘I’, or ‘i’.
761
762              type selects one of six possible ways to display the mark.
763
764              type
765
766                     1   x.
767                     2   x)
768                     3   (x)
769                     4   [x]
770                     5   <x>
771                     6   {x}
772
773              Every item in the list  gets  LI-space  number  of  blank  lines
774              before them.  Default is 1.
775
776              LB itself prints LB-space blank lines.  Default is 0.
777
778       LC [list-level]
779              List-status  clear.  Terminates all current active lists down to
780              list-level, or 0 if no argument is given.  This is used by H  to
781              clear any active list.
782
783       LE [1] List end.  Terminates the current list.  LE outputs a blank line
784              if an argument is given.
785
786       LI [mark [1|2]]
787              List item preceding every item in a list.  Without argument,  LI
788              prints  the mark determined by the current list type.  By giving
789              LI one argument, it uses that as the mark  instead.   Two  argu‐
790              ments  to  LI makes mark a prefix to the current mark.  There is
791              no separating space between the prefix and the mark if the  sec‐
792              ond  argument is ‘2’ instead of ‘1’.  This behaviour can also be
793              achieved by setting number  register  Limsp  to  zero.   A  zero
794              length mark makes a hanging indentation instead.
795
796              A  blank  line is printed before the list item by default.  This
797              behaviour can be controlled by number register Ls.   Pre-spacing
798              occurs  for  each  list level less than or equal to Ls.  Default
799              value is 99.  There is no nesting limit.
800
801              The indentation can  be  changed  through  number  register  Li.
802              Default is 6.
803
804              All  lists  begin  with  a list initialization macro, LB.  There
805              are, however, seven predefined list types to make  lists  easier
806              to use.  They all call LB with different default values.
807
808                     AL    Automatically Incremented List
809                     ML    Marked List
810                     VL    Variable-Item List
811                     BL    Bullet List
812                     DL    Dash List
813                     RL    Reference List
814                     BVL   Broken Variable List.
815
816              These  lists  are described at other places in this manual.  See
817              also LB.
818
819       LT [arg]
820              Format a letter in one of four different styles depending on the
821              argument.  Also see section “Internals” below.
822
823                     Arg   Style
824                     BL    Blocked.    Date  line,  return  address,  writer's
825                           address and closing begins at  the  center  of  the
826                           line.  All other lines begin at the left margin.
827                     SB    Semi-blocked.   Same  as  blocked,  except that the
828                           first line in every paragraph is indented five spa‐
829                           ces.
830                     FB    Full-blocked.  All lines begin at the left margin.
831                     SP    Simplified.   Almost  the  same as the full-blocked
832                           style.  Subject and the writer's identification are
833                           printed in all-capital.
834
835       LO type [arg]
836              Specify  options  in  letter  (see  .LT).  This is a list of the
837              standard options:
838
839                     CN   Confidential notation.  Prints ‘CONFIDENTIAL’ on the
840                          second  line  below  the  date  line.   Any argument
841                          replaces ‘CONFIDENTIAL’.  See also  string  variable
842                          LetCN.
843                     RN   Reference  notation.   Prints ‘In reference to:’ and
844                          the argument two lines below  the  date  line.   See
845                          also string variable LetRN.
846                     AT   Attention.   Prints  ‘ATTENTION:’  and  the argument
847                          below the inside address.  See also string  variable
848                          LetAT.
849                     SA   Salutation.  Prints ’To Whom It May Concern:’ or the
850                          argument if  it  was  present.   The  salutation  is
851                          printed  two  lines  below  the inside address.  See
852                          also string variable LetSA.
853                     SJ   Subject line.  Prints the argument as  subject  pre‐
854                          fixed  with  ‘SUBJECT:’  two  lines below the inside
855                          address, except in letter type ‘SP’, where the  sub‐
856                          ject  is  printed in all-capital without any prefix.
857                          See also string variable LetSJ.
858
859       MC column-size [column-separation]
860              Begin multiple columns.  Return to normal with 1C.   MC  creates
861              as many columns as the current line length permits.  column-size
862              is the width of each column, and column-separation is the  space
863              between two columns.  Default separation is column-size/15.  See
864              also 1C.
865
866       ML mark [text-indent [1]]
867              Marked list start.  The mark argument  is  printed  before  each
868              list  item.   text-indent  sets  the indent and overrides Li.  A
869              third argument prohibits printing of a blank  line  before  each
870              item.
871
872       MT [arg [addressee]]
873              Memorandum  type.   The  argument  arg  is part of a filename in
874              /usr/share/groff/1.22.4/tmac/mm/*.MT.  Memorandum types 0  to  5
875              are  supported,  including  type ‘string’ (which gets internally
876              mapped to type 6).  addressee just sets a variable, used in  the
877              AT&T macros.
878
879              arg
880
881                     0   Normal memorandum, no type printed.
882                     1   Memorandum with ‘MEMORANDUM FOR FILE’ printed.
883                     2   Memorandum with ‘PROGRAMMER'S NOTES’ printed.
884                     3   Memorandum with ‘ENGINEER'S NOTES’ printed.
885                     4   Released paper style.
886                     5   External letter style.
887
888              See also COVER/COVEND, a more flexible type of front page.
889
890       MOVE y-pos [x-pos [line-length]]
891              Move  to  a  position,  setting  page offset to x-pos.  If line-
892              length is not given, the difference between current and new page
893              offset  is used.  Use PGFORM without arguments to return to nor‐
894              mal.
895
896       MULB cw1 space1 [cw2 space2 [cw3 ...]]
897              Begin a special multi-column mode.  All columns widths  must  be
898              specified.   The  space  between  the  columns must be specified
899              also.  The last column does not need any space definition.  MULB
900              starts  a  diversion, and MULE ends the diversion and prints the
901              columns.  The unit for the width and space arguments is ‘n’, but
902              MULB  accepts  all  normal unit specifications like ‘c’ and ‘i’.
903              MULB operates in a separate environment.
904
905       MULN   Begin the next column.  This is the only way to switch the  col‐
906              umn.
907
908       MULE   End the multi-column mode and print the columns.
909
910       nP [type]
911              Print numbered paragraph with header level two.  See .P.
912
913       NCOL   Force printing to the next column.  Don't use this together with
914              the MUL* macros, see 2C.
915
916       NS [arg [1]]
917              Print  different  types  of  notations.   The  argument  selects
918              between  the  predefined type of notations.  If the second argu‐
919              ment is available, then the argument becomes  the  entire  nota‐
920              tion.   If  the argument doesn't select a predefined type, it is
921              printed as ‘Copy (arg) to’.  It is possible to add more standard
922              notations, see the string variables Letns and Letnsdef.
923
924                     Arg    Notation
925                     none   Copy To
926                     ""     Copy To
927                     1      Copy To (with att.) to
928                     2      Copy To (without att.) to
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
1000              optional  width  and height can also be given to resize the pic‐
1001              ture.
1002
1003       PE     Picture end.  Ends a picture for pic(1).
1004
1005       PF [arg]
1006              Page footer.  PF sets the line to be printed at  the  bottom  of
1007              each  page.  Empty by default.  See PH for the argument specifi‐
1008              cation.
1009
1010              This macro defines string EOPf.
1011
1012       PH [arg]
1013              Page header, a line printed at the top of each page.  The  argu‐
1014              ment should be specified as
1015
1016                     "'left-part'center-part'right-part'"
1017
1018              where  left-part,  center-part, and right-part are printed left-
1019              justified, centered, and right justified, respectively.   Within
1020              the  argument to PH, the character ‘%’ is changed to the current
1021              page number.  The default argument is
1022
1023                     "''- % -''"
1024
1025              which gives the page number between two dashes.
1026
1027              This macro defines string TPh.
1028
1029       PS     Picture start (from pic).  Begins a picture for pic(1).
1030
1031       PX     Page header user-defined exit.  This macro is called just  after
1032              the printing of the page header in no-space mode.
1033
1034       R      Roman.  Return to roman font, see also I.
1035
1036       RB [roman-text [bold-text [roman-text [...]]]]
1037              Roman-bold.   Even  arguments are printed in roman, odd in bold‐
1038              face.  See I.
1039
1040       RD [prompt [diversion [string]]]
1041              Read from standard input to diversion and/or string.   The  text
1042              is  saved  in  a  diversion named diversion.  Recall the text by
1043              writing the name of the diversion after a dot on an empty  line.
1044              A  string  is also defined if string is given.  Diversion and/or
1045              prompt can be empty ("").
1046
1047       RF     Reference end.  Ends a reference definition and returns to  nor‐
1048              mal processing.  See RS.
1049
1050       RI [roman-text [italic-text [roman-text [...]]]]
1051              Print even arguments in roman, odd in italic.  See I.
1052
1053       RL [text-indent[1]]
1054              Reference list start.  Begins a list where each item is preceded
1055              with an automatically incremented number between  square  brack‐
1056              ets.  text-indent changes the default indentation.
1057
1058       RP [arg1 [arg2]]
1059              Produce  reference  page.  This macro can be used if a reference
1060              page is wanted somewhere in the document.  It is not  needed  if
1061              TC  is  used to produce a table of contents.  The reference page
1062              is then printed automatically.
1063
1064              The reference counter is not reset if arg1 is 1.
1065
1066              arg2 tells RP whether to eject a page or not.
1067
1068              arg2
1069
1070                     0   The reference page is printed on a separate page.
1071                     1   Do not eject page after the list.
1072                     2   Do not eject page before the list.
1073                     3   Do not eject page before and after the list.
1074
1075              The reference items are separated by a blank line.  Setting num‐
1076              ber register Ls to 0 suppresses the line.
1077
1078              The  string  Rp  contains the reference page title and is set to
1079              ‘REFERENCES’ by default.  The  number  register  Rpe  holds  the
1080              default value for the second argument of RP; it is initially set
1081              to 0.
1082
1083       RS [string-name]
1084              Begin an automatically numbered reference definition.   Put  the
1085              string  \*(Rf  where  the reference mark should be and write the
1086              reference between RS/RF at next new  line  after  the  reference
1087              mark.  The reference number is stored in number register :R.  If
1088              string-name is given, a string with that  name  is  defined  and
1089              contains  the  current reference mark.  The string can be refer‐
1090              enced as \*[string-name] later in the text.
1091
1092       S [size [spacing]]
1093              Set point size and vertical spacing.  If any argument  is  equal
1094              to  ‘P’, the previous value is used.  A ‘C’ means current value,
1095              and ‘D’ the default value.  If ‘+’ or ‘-’  is  used  before  the
1096              value,  the current value is incremented or decremented, respec‐
1097              tively.
1098
1099       SA [arg]
1100              Set right-margin justification.  Justification is turned  on  by
1101              default.   No argument or value ‘0’ turns off justification, and
1102              ‘1’ turns on justification.
1103
1104       SETR refname [string]
1105              Remember the current header and page number as  refname.   Saves
1106              string  if  string is defined.  string is retrieved with .GETST.
1107              See INITR.
1108
1109       SG [arg [1]]
1110              Signature line.  Prints the authors  name(s)  after  the  formal
1111              closing.   The  argument  is  appended  to  the  reference data,
1112              printed at either the first or last author.  The reference  data
1113              is  the  location,  department, and initials specified with .AU.
1114              It is printed at the first author  if  the  second  argument  is
1115              given,  otherwise  at the last.  No reference data is printed if
1116              the author(s) is specified through .WA/.WE.  See section “Inter‐
1117              nals” below.
1118
1119       SK [pages]
1120              Skip  pages.   If pages is 0 or omitted, a skip to the next page
1121              occurs unless it is already at the top of a page.  Otherwise  it
1122              skips pages pages.
1123
1124       SM string1 [string2 [string3]]
1125              Make  a  string  smaller.   If string2 is given, string1 is made
1126              smaller and string2 stays  at  normal  size,  concatenated  with
1127              string1.   With three arguments, everything is concatenated, but
1128              only string2 is made smaller.
1129
1130       SP [lines]
1131              Space vertically.  lines can have any scaling factor, like  ‘3i’
1132              or  ‘8v’.   Several SP calls in a line only produces the maximum
1133              number of lines, not the sum.  SP  is  ignored  also  until  the
1134              first  text line in a page.  Add \& before a call to SP to avoid
1135              this.
1136
1137       TAB    Reset tabs to every 5n.  Normally used to reset any previous tab
1138              positions.
1139
1140       TB [title [override [flag [refname]]]]
1141              Table title.  The arguments are the same as for EC.  TB uses the
1142              number register Tb as a counter.  The  string  Lt  controls  the
1143              title  of the List of Tables; default value is ‘LIST OF TABLES’.
1144              The List of Tables is only printed if number register Lt  is  1,
1145              which  is  the  default.  The string Litb contains the word ‘TA‐
1146              BLE’, which is printed before the number.
1147
1148              Special handling of the title occurs if TB is used inside DS/DE,
1149              it is not affected by the format of DS.
1150
1151       TC [slevel [spacing [tlevel [tab [h1 [h2 [h3 [h4 [h5]]]]]]]]]
1152              Table of contents.  This macro is normally used as the last line
1153              of the document.  It generates a table of contents with headings
1154              up  to the level controlled by number register Cl.  Note that Cl
1155              controls the saving of headings, it has nothing to do  with  TC.
1156              Headings  with  a level less than or equal to slevel get spacing
1157              number of lines before them.  Headings with a level less than or
1158              equal  to  tlevel  have  their page numbers right-justified with
1159              dots or spaces separating the text and the page number.   Spaces
1160              are  used  if  tab  is greater than zero, dots otherwise.  Other
1161              headings have the page number directly at the end of the heading
1162              text (ragged-right).
1163
1164              The rest of the arguments is printed, centered, before the table
1165              of contents.
1166
1167              The user-defined macros TX and TY are used if TC is called  with
1168              at most four arguments.  TX is called before the printing of the
1169              string ‘CONTENTS’, and TY is called instead  of  printing  ‘CON‐
1170              TENTS’.
1171
1172              Equivalent  macros  can  be defined for list of figures, tables,
1173              equations and exhibits by defining TXxx or  TYxx,  where  xx  is
1174              ‘Fg’, ‘TB’, ‘EC’, or ‘EX’, respectively.
1175
1176              String  Ci can be set to control the indentations for each head‐
1177              ing-level.  It must be scaled, like
1178
1179                     .ds Ci .25i .5i .75i 1i 1i
1180
1181              By default, the indentation is controlled by the maximum  length
1182              of headings in each level.
1183
1184              The  string  variables Lifg, Litb, Liex, Liec, and Licon contain
1185              ‘Figure’,  ‘TABLE’,  ‘Exhibit’,  ‘Equation’,   and   ‘CONTENTS’,
1186              respectively.  These can be redefined to other languages.
1187
1188       TE     Table end.  See TS.
1189
1190       TH [N] Table  header.   See TS.  TH ends the header of the table.  This
1191              header is printed again if a page break  occurs.   Argument  ‘N’
1192              isn't implemented yet.
1193
1194       TL [charging-case-number [filing-case-number]]
1195              Begin  title  of  memorandum.   All  text  up  to the next AU is
1196              included in the title.   charging-case-number  and  filing-case-
1197              number are saved for use in the front page processing.
1198
1199       TM [num1 [num2 [...]]]
1200              Technical  memorandum  numbers used in .MT.  An unlimited number
1201              of arguments may be given.
1202
1203       TP     Top-of-page user-defined macro.  This macro is called instead of
1204              the  normal page header.  It is possible to get complete control
1205              over the header.  Note  that  the  header  and  the  footer  are
1206              printed  in  a  separate environment.  Line length is preserved,
1207              though.  See EOP.
1208
1209              strings available to TP
1210
1211              TPh    argument of PH
1212              TPeh   argument of EH
1213              TPoh   argument of OH
1214
1215       TS [H] Table start.  This is the start  of  a  table  specification  to
1216              tbl(1).   TS ends with TE.  Argument ‘H’ tells mm that the table
1217              has a header.  See TH.
1218
1219       TX     User-defined table of contents exit.  This macro is called  just
1220              before TC prints the word ‘CONTENTS’.  See TC.
1221
1222       TY     User-defined  table  of  contents  exit.   This  macro is called
1223              instead of printing ‘CONTENTS’.  See TC.
1224
1225       VERBON [flag [point-size [font]]]
1226              Begin verbatim output using Courier font.  Usually for  printing
1227              programs.   All characters have equal width.  The point size can
1228              be changed with the second  argument.   By  specifying  a  third
1229              argument  it is possible to use another font instead of Courier.
1230              flag controls several special features.  Its value is the sum of
1231              all wanted features.
1232
1233                     Arg   Description
1234                     1     Disable the escape character (\).  This is normally
1235                           turned on during verbose output.
1236                     2     Add an empty line before the verbose text.
1237                     4     Add an empty line after the verbose text.
1238                     8     Print the verbose text with numbered  lines.   This
1239                           adds  four  digit-sized  spaces in the beginning of
1240                           each line.  Finer control  is  available  with  the
1241                           string  variable Verbnm.  It contains all arguments
1242                           to the troff(1) command .nm, normally ‘1’.
1243
1244
1245                     16    Indent the verbose text  by  ‘5n’.   This  is  con‐
1246                           trolled by the number-variable Verbin (in units).
1247
1248       VERBOFF
1249              End verbatim output.
1250
1251       VL text-indent [mark-indent [1]]
1252              Variable-item list.  It has no fixed mark, it assumes that every
1253              LI has a mark instead.  text-indent sets the indent to the text,
1254              and mark-indent the distance from the current indentation to the
1255              mark.  A third argument  prohibits  printing  of  a  blank  line
1256              before each item.
1257
1258       VM [-T] [top [bottom]]
1259              Vertical  margin.  Increase the top and bottom margin by top and
1260              bottom, respectively.  If option -T is specified, set those mar‐
1261              gins to top and bottom.  If no argument is given, reset the mar‐
1262              gin to zero, or to the default (‘7v 5v’) if -T is used.   It  is
1263              highly  recommended  that  macros  TP  and/or EOP are defined if
1264              using -T and setting top and/or bottom margin to less  than  the
1265              default.
1266
1267       WA [writer-name [title]]
1268              Begin specification of the writer and writer's address.  Several
1269              names can be specified with empty  WA/WE  pairs,  but  only  one
1270              address.
1271
1272       WE     End the address specification after .WA.
1273
1274       WC [format1] [format2] [...]
1275              Footnote and display width control.
1276
1277              N     Set  default mode which is equal to using the options -WF,
1278                    -FF, -WD, and FB.
1279              WF    Wide footnotes, wide also in two-column mode.
1280              -WF   Normal footnote width, follow column mode.
1281              FF    All footnotes gets the same width as  the  first  footnote
1282                    encountered.
1283              -FF   Normal footnotes, width follows WF and -WF.
1284              WD    Wide displays, wide also in two-column mode.
1285              -WD   Normal display width, follow column mode.
1286              FB    Floating  displays  generates a line break when printed on
1287                    the current page.
1288              -FB   Floating displays does not generate line break.
1289
1290   Strings used in mm
1291       App    A string containing the word ‘APPENDIX’.
1292
1293       Apptxt The current appendix text.
1294
1295       EM     Em dash string
1296
1297       H1txt  Updated by .H and .HU to the current heading text.  Also updated
1298              in table of contents & friends.
1299
1300       HF     Font list for headings, ‘2 2 2 2 2 2 2’ by default.  Non-numeric
1301              font names may also be used.
1302
1303       HP     Point size list for headings.  By default, this is ’0 0 0 0 0  0
1304              0’ which is the same as ‘10 10 10 10 10 10 10’.
1305
1306       Index  Contains the string ‘INDEX’.
1307
1308       Indcmd Contains the index command.  Default value is ‘sort -t\t’.
1309
1310       Lifg   String containing ‘Figure’.
1311
1312       Litb   String containing ‘TABLE’.
1313
1314       Liex   String containing ‘Exhibit’.
1315
1316       Liec   String containing ‘Equation’.
1317
1318       Licon  String containing ‘CONTENTS’.
1319
1320       Lf     Contains the string ‘LIST OF FIGURES’.
1321
1322       Lt     Contains the string ‘LIST OF TABLES’.
1323
1324       Lx     Contains the string ‘LIST OF EXHIBITS’.
1325
1326       Le     Contains the string ‘LIST OF EQUATIONS’.
1327
1328       Letfc  Contains the string ‘Yours very truly,’, used in .FC.
1329
1330       Letapp Contains the string ‘APPROVED:’, used in .AV.
1331
1332       Letdate
1333              Contains the string ‘Date’, used in .AV.
1334
1335       LetCN  Contains the string ‘CONFIDENTIAL’, used in .LO CN.
1336
1337       LetSA  Contains the string ‘To Whom It May Concern:’, used in .LO SA.
1338
1339       LetAT  Contains the string ‘ATTENTION:’, used in .LO AT.
1340
1341       LetSJ  Contains the string ‘SUBJECT:’, used in .LO SJ.
1342
1343       LetRN  Contains the string ‘In reference to:’, used in .LO RN.
1344
1345       Letns  is an array containing the different strings used in .NS.  It is
1346              really a number of string variables prefixed  with  Letns!.   If
1347              the  argument  doesn't  exist,  it  is  included between () with
1348              Letns!copy as a prefix and Letns!to as a  suffix.   Observe  the
1349              space after ‘Copy’ and before ‘to’.
1350
1351                     Name         Value
1352                     Letns!0      Copy to
1353                     Letns!1      Copy (with att.) to
1354                     Letns!2      Copy (without att.) to
1355                     Letns!3      Att.
1356                     Letns!4      Atts.
1357                     Letns!5      Enc.
1358                     Letns!6      Encs.
1359                     Letns!7      Under separate cover
1360                     Letns!8      Letter to
1361                     Letns!9      Memorandum to
1362                     Letns!10     Copy (with atts.) to
1363                     Letns!11     Copy (without atts.) to
1364                     Letns!12     Abstract Only to
1365                     Letns!13     Complete Memorandum to
1366                     Letns!14     CC
1367                     Letns!copy   Copy (with trailing space)
1368                     Letns!to      to (note leading space)
1369
1370       Letnsdef
1371              Define  the  standard notation used when no argument is given to
1372              .NS.  Default is 0.
1373
1374       MO1 – MO12
1375              Strings containing the month names ‘January’ through ‘December’.
1376
1377       Qrf    String containing ‘See chapter \\*[Qrfh], page \\n[Qrfp].’.
1378
1379       Rp     Contains the string ‘REFERENCES’.
1380
1381       Tcst   Contains the current status of the table of contents and list of
1382              figures,  etc.   Empty  outside  of .TC.  Useful in user-defined
1383              macros like .TP.
1384
1385                     Value   Meaning
1386                     co      Table of contents
1387                     fg      List of figures
1388                     tb      List of tables
1389                     ec      List of equations
1390                     ex      List of exhibits
1391                     ap      Appendix
1392
1393       Tm     Contains the string ‘\(tm’, the trade mark symbol.
1394
1395       Verbnm Argument to .nm in the .VERBON command.  Default is 1.
1396
1397   Number variables used in mm
1398       Aph    Print an appendix page for every new appendix   if  this  number
1399              variable  is  non-zero.   No  output  occurs if Aph is zero, but
1400              there is always an appendix entry in the ‘List of contents’.
1401
1402       Cl     Contents level (in the range 0 to 14).  The contents is saved if
1403              a  heading  level  is  lower  than  or equal to the value of Cl.
1404              Default is 2.
1405
1406       Cp     Eject page between list of table, list of figure, etc.,  if  the
1407              value of Cp is zero.  Default is 0.
1408
1409       D      Debug  flag.  Values greater than zero produce debug information
1410              of increasing verbosity.  A value of 1 gives  information  about
1411              the progress of formatting.  Default is 0.
1412
1413       De     If  set  to  1, eject after floating display is output.  Default
1414              is 0.
1415
1416       Dsp    If defined, it controls the space output before and after static
1417              displays.  Otherwise the value of Lsp is used.
1418
1419       Df     Control  floating  keep output.  This is a number in the range 0
1420              to 5, with a default value of 5.  See .DF.
1421
1422       Ds     If set to 1, use the amount of  space  stored  in  register  Lsp
1423              before and after display.  Default is 1.
1424
1425       Ej     If  set  to  1,  eject  page  before  each  first-level heading.
1426              Default is 0.
1427
1428       Eq     Equation labels are left-adjusted if set to 0 and right-adjusted
1429              if set to 1.  Default is 0.
1430
1431       Fs     Footnote spacing.  Default is 1.
1432
1433       H1 – H7
1434              Heading counters
1435
1436       H1dot  Append  a  dot  after  the  level-one heading number if value is
1437              greater than zero.  Default is 1.
1438
1439       H1h    A copy of number register H1, but it is incremented just  before
1440              the page break.  Useful in user-defined header macros.
1441
1442       Hb     Heading  break  level.   A  number  in the range 0 to 14, with a
1443              default value of 2.  See .H.
1444
1445       Hc     Heading centering level.  A number in the range 0 to 14, with  a
1446              default value value of 0.  See .H.
1447
1448       Hi     Heading  temporary indent.  A number in the range 0 to 2, with a
1449              default value of 1.
1450
1451                     0   no indentation, left margin
1452                     1   indent to the right, similar to ‘.P 1
1453                     2   indent to line up with text part of preceding heading
1454
1455       Hps    Heading pre-space level.  If the heading level is less  than  or
1456              equal  to  Hps, two lines precede the section heading instead of
1457              one.  Default is first level only.  The real amount of lines  is
1458              controlled by the variables Hps1 and Hps2.
1459
1460       Hps1   Number  of  lines  preceding  .H if the heading level is greater
1461              than Hps.  Value is in units, default is 0.5.
1462
1463       Hps2   Number of lines preceding .H if the heading level is  less  than
1464              or equal to Hps.  Value is in units, default is 1.
1465
1466       Hs     Heading  space  level.   A  number  in the range 0 to 14, with a
1467              default value of 2.  See .H.
1468
1469       Hss    Number of lines following .H if the heading level is  less  than
1470              or equal to Hs.  Value is in units, default is 1.
1471
1472       Ht     Heading numbering type.
1473
1474                     0   multiple levels (1.1.1, 1.1.2, etc.)
1475                     1   single level
1476
1477              Default is 0.
1478
1479       Hu     Unnumbered heading level.  Default is 2.
1480
1481       Hy     Hyphenation status of text body.
1482
1483                     0   no hyphenation
1484                     1   hyphenation on, set to value 6
1485
1486              Default is 0.
1487
1488       Iso    Set this variable to 1 on the command line to get an ISO-format‐
1489              ted date string (-rIso=1).  Useless inside of a document.
1490
1491       L      Page length, only for command-line settings.
1492
1493       Letwam Maximum lines  in  return-address,  used  in  .WA/.WE.   Default
1494              is 14.
1495
1496       Lf, Lt, Lx, Le
1497              Enable  (1) or disable (0) the printing of List of figures, List
1498              of tables, List of exhibits and List of equations, respectively.
1499              Default values are Lf=1, Lt=1, Lx=1, and Le=0.
1500
1501       Li     List indentation, used by .AL.  Default is 6.
1502
1503       Limsp  A  flag  controlling  the  insertion of space between prefix and
1504              mark in automatic lists (.AL).
1505
1506                     0   no space
1507                     1   emit space
1508
1509       Ls     List space threshold.  If current list level is greater than  Ls
1510              no spacing occurs around lists.  Default is 99.
1511
1512       Lsp    The  vertical  space used by an empty line.  The default is 0.5v
1513              in troff mode and 1v in nroff mode.
1514
1515       N      Page numbering style.
1516
1517                     0   normal header for all pages.
1518                     1   header replaces  footer  on  first  page,  header  is
1519                         empty.
1520                     2   page header is removed on the first page.
1521                     3   ‘section-page’ numbering style enabled.
1522                     4   page header is removed on the first page.
1523                     5   ‘section-page’  and  ‘section-figure’ numbering style
1524                         enabled.
1525
1526              Default is 0.  See also the number registers Sectf and Sectp.
1527
1528       Np     A flag to control whether paragraphs are numbered.
1529
1530                     0   not numbered
1531                     1   numbered in first-level headings.
1532
1533              Default is 0.
1534
1535       O      Page offset, only for command-line settings.
1536
1537       Of     Format of figure, table, exhibit, and equation titles.
1538
1539                     0   ". "
1540                     1   " - "
1541
1542              Default is 0.
1543
1544       P      Current page-number, normally the same as ‘%’  unless  ‘section-
1545              page’ numbering style is enabled.
1546
1547       Pi     Paragraph indentation.  Default is 5.
1548
1549       Pgps   A  flag  to  control whether header and footer point size should
1550              follow the current settings or just change when the  header  and
1551              footer are defined.
1552
1553                     0   Point  size  only changes to the current setting when
1554                         .PH, .PF, .OH, .EH, .OF, or .OE is executed.
1555                     1   Point size changes  after  every  .S.   This  is  the
1556                         default.
1557
1558       Ps     Paragraph spacing.  Default is 1.
1559
1560       Pt     Paragraph type.
1561
1562                     0   left-justified
1563                     1   indented paragraphs
1564                     2   indented paragraphs except after .H, .DE, or .LE.
1565
1566              Default is 0.
1567
1568       Rpe    Set default value for second argument of .RP.  Default is 0.
1569
1570       Sectf  A  flag  controlling  ‘section-figures’ numbering style.  A non-
1571              zero value enables this.  See also register N.
1572
1573       Sectp  A flag controlling ’section-page’ numbering style.   A  non-zero
1574              value enables this.  See also register N.
1575
1576       Si     Display indentation.  Default is 5.
1577
1578       Verbin Indentation for .VERBON.  Default is 5n.
1579
1580       W      Line length, only for command-line settings.
1581
1582       .mgm   Always 1.
1583

INTERNALS

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

FILES

1616       /usr/share/groff/1.22.4/tmac/m.tmac
1617
1618       /usr/share/groff/1.22.4/tmac/mm/*.cov
1619
1620       /usr/share/groff/1.22.4/tmac/mm/*.MT
1621
1622       /usr/share/groff/1.22.4/tmac/mm/locale
1623

AUTHORS

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

SEE ALSO

1629       groff(1), troff(1), tbl(1), pic(1), eqn(1)
1630       groff_mmse(7)
1631
1632
1633
1634groff 1.22.4                    3 November 2020                    GROFF_MM(7)
Impressum