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

NAME

6       groff_mm - groff mm macros
7

SYNOPSIS

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

DESCRIPTION

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

INTERNALS

1616       The letter macros are using different submacros depending on the letter
1617       type.  The name of the submacro has the letter type as suffix.   It  is
1618       therefore possible to define other letter types, either in the national
1619       macro-file, or as local additions.  .LT sets the  number  variables  Pt
1620       and Pi to 0 and 5, respectively.  The following strings and macros must
1621       be defined for a new letter type.
1622
1623       let@init_type
1624              This macro is called directly by .LT.  It is  supposed  to  ini‐
1625              tialize variables and other stuff.
1626
1627       let@head_type
1628              This  macro prints the letter head, and is called instead of the
1629              normal  page  header.   It  is  supposed  to  remove  the  alias
1630              let@header, otherwise it is called for all pages.
1631
1632       let@sg_type name title n flag [arg1 [arg2 [...]]]
1633              .SG is calling this macro only for letters; memorandums have its
1634              own processing.  name and title are specified  through  .WA/.WB.
1635              n  is  the  counter,  1-max, and flag is true for the last name.
1636              Any other argument to .SG is appended.
1637
1638       let@fc_type closing
1639              This macro is called by .FC, and has the formal closing  as  the
1640              argument.
1641
1642       .LO is implemented as a general option-macro.  It demands that a string
1643       named Lettype is defined, where type is  the  letter  type.   .LO  then
1644       assigns the argument to the string variable let*lo-type.
1645

AUTHOR

1647       Jörgen Hägg, Lund, Sweden <jh@axis.se>.
1648

FILES

1650       /usr/share/groff/1.20.1/tmac/m.tmac
1651
1652       /usr/share/groff/1.20.1/tmac/mm/*.cov
1653
1654       /usr/share/groff/1.20.1/tmac/mm/*.MT
1655
1656       /usr/share/groff/1.20.1/tmac/mm/locale
1657

SEE ALSO

1659       groff(1), troff(1), tbl(1), pic(1), eqn(1)
1660       groff_mmse(7)
1661
1662
1663
1664Groff Version 1.20.1            21 January 2011                    GROFF_MM(7)
Impressum