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