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 GNU implementation of the mm macro package is part of the groff
14 document formatting system. The mm package is suitable for the compo‐
15 sition of letters, memoranda, reports, and books.
16
17 Call an mm macro at the beginning of a document to initialize the pack‐
18 age. A simple mm document might use only P for paragraphing. Set num‐
19 bered and unnumbered section headings with H and HU, respectively.
20 Change the style of the typeface with B, I, and R; you can alternate
21 styles with BI, BR, IB, IR, RB, and RI. Several nestable list types
22 are available via AL, BL, BVL, DL, ML, RL, and VL; each of these begins
23 a list, to which LI adds an item and LE ends the (nested) list. Cus‐
24 tomized list arrangements are supported by LB. DS and DF start static
25 and floating displays, respectively; either is terminated with DE.
26
27 groff mm is intended to be compatible with the mm implementation found
28 in the AT&T Documenter's Workbench (DWB), with the following limita‐
29 tions.
30
31 • Omitted features include the logo and company name strings, }Z and
32 ]S, respectively; the encoded company site location addresses recog‐
33 nized as the third argument to the AU macro; the Pv (“private” head‐
34 ing) register; and the OK (other keywords), and PM (proprietary mark‐
35 ings) macros.
36
37 • The CS (output cover sheet) macro is implemented only for memorandum
38 type 4.
39
40 • The grap preprocessor is not explicitly supported; no G1 and G2
41 macros are defined.
42
43 • The registers A, C, E, T, and U, typically set from the troff or
44 nroff command lines with DWB mm, are not recognized.
45
46 • When setting the registers L or W from the command line, use an ex‐
47 plicit scaling unit to avoid surprises.
48
49 • DWB mm's nP macro indented the second line of a paragraph to align it
50 with the start of the text of the first (after the paragraph number);
51 groff mm's does not.
52
53 • Cut marks are not supported.
54
55 DWB mm supported only seven levels of heading. As a compatible exten‐
56 sion, groff mm supports fourteen, introducing new registers H8 through
57 H14, and affecting the interpretation of the HF and HP strings.
58
59 Macro, register, and string descriptions in this page frequently men‐
60 tion each other; most cross references are to macros. Where a register
61 or string is referenced, its type is explicitly identified. mm's macro
62 names are usually in full capitals; registers and strings tend to have
63 mixed-case names.
64
65 Document styles
66 groff mm offers three different frameworks for document organization.
67 COVER/COVEND is a flexible means of preparing any document requiring a
68 cover page. LT/LO aids preparation of typical Anglophone correspon‐
69 dence (business letters, for example). The MT memorandum type mecha‐
70 nism implements a group of formal styles historically used by AT&T Bell
71 Laboratories. Your document can select at most one of these ap‐
72 proaches; when used, each disables the others.
73
74 Localization
75 groff mm is designed to be easily localized. For languages other than
76 English, strings that can appear in output are collected in the file
77 /usr/share/groff/1.23.0/tmac/xx.tmac, where xx is an ISO 639 two-letter
78 language identifier. Localization packages should be loaded after mm;
79 for example, you might format a Swedish mm document with the command
80 “groff -mm -msv”.
81
82 This package can also be localized by site or territory; for example,
83 /usr/share/groff/1.23.0/tmac/mse.tmac illustrates how to adapt the out‐
84 put to a national standard using its ISO 3166 territory code. Such a
85 package can define a string that causes a macro file /usr/share/groff/
86 1.23.0/tmac/mm/territory_locale to be loaded at package initialization.
87 If this mechanism is not used, /usr/share/groff/1.23.0/tmac/mm/locale
88 is loaded instead. No diagnostic is produced if these files do not ex‐
89 ist.
90
91 Registers and strings
92 Much mm behavior can be configured by registers and strings. A regis‐
93 ter is assigned with the nr request.
94
95 .nr ident [±]n [i]
96
97 ident is the name of the register, and n is the value to be assigned.
98 n can be prefixed with a plus or minus sign if incrementation or decre‐
99 mentation (respectively) of the register's existing value by n is de‐
100 sired. If assignment of a (possibly) negative n is required, further
101 prefix it with a zero or enclose it in parentheses. If i is specified,
102 the register is automatically modified by i prior to interpolation if a
103 plus or minus sign is included in the escape sequence as follows.
104
105 \n[±][ident]
106
107 i can be negative; it combines algebraically with the sign in the in‐
108 terpolation escape sequence.
109
110 Strings are defined with the ds request.
111
112 .ds ident contents
113
114 contents consumes everything up to the end of the line, including
115 trailing spaces. It is a good practice to end contents with a comment
116 escape sequence (\") so that extraneous spaces do not intrude during
117 document maintenance. To include leading spaces in contents, prefix it
118 with a double quote. Strings are interpolated with the \* escape se‐
119 quence.
120
121 \*[ident]
122
123 Register and string name spaces are distinct, but strings and macros
124 share a name space. Defining a string with the same name as an mm
125 macro is not supported and may cause incorrect rendering, the emission
126 of diagnostic messages, and an error exit status from troff.
127
128 Register format
129 A register is interpolated using Arabic numerals if no other format has
130 been assigned to it. Assign a format to a register with the af re‐
131 quest.
132
133 .af R c
134
135 R is the name of the register, and c is the format. If c is a sequence
136 of Arabic numerals, their quantity defines a zero-padded minimum width
137 for the interpolated register value.
138
139 Form Sequence
140 1 0, 1, 2, 3, ..., 10, ...
141 001 000, 001, 002, 003, ..., 1000, ...
142 i 0, i, ii, iii, iv, ...
143 I 0, I, II, III, IV, ...
144 a 0, a, b, c, ..., z, aa, ab, ...
145 A 0, A, B, C, ..., Z, AA, AB, ...
146
147 Fonts
148 In groff mm, the fonts (or rather, font styles) R (roman), I (italic),
149 and B (bold) are mounted at font positions 1, 2, and 3, respectively.
150 Internally, font positions are used for backward compatibility. From a
151 practical point of view, it doesn't make a big difference—a different
152 font family can still be selected by invoking groff's fam request or
153 using its -f command-line option. On the other hand, if you want to
154 replace just, for example, font I with Zapf Chancery Medium italic
155 (available on groff's pdf and ps output devices), you have to use the
156 fp request, replacing the font at position 2 with “.fp 2 ZCMI”). Be‐
157 cause the cover sheet, memorandum type, and refer(1) integration macros
158 explicitly request fonts named B, I, and R, you will also need to remap
159 these font names with the ftr request, for instance with “.ftr I ZCMI”.
160
162 An explicitly empty argument may be specified with a pair of double
163 quotes; to call a macro XX with an empty second argument but non-empty
164 first and third ones, you could input the following.
165
166 .XX foo "" baz
167
168 Macro names longer than two characters are GNU extensions; some shorter
169 names were not part of DWB mm's published interface but are documented
170 aspects of groff mm.
171
172 )E level text
173 Add heading text text to the table of contents with level, which
174 is either 0 or in the range 1 to 7. See also H. This undocu‐
175 mented DWB mm macro is exposed by groff mm to enable customized
176 tables of contents.
177
178 1C [1] Format page text in one column. The page is broken. A 1 argu‐
179 ment suppresses this break; its use may cause body text and a
180 pending footnote to overprint. See 2C, MC, and NCOL.
181
182 2C Begin two-column formatting. This is a special case of MC. See
183 1C and NCOL.
184
185 AE Abstract end; stop collecting abstract text. See AS.
186
187 AF [firm-name]
188 Specify firm associated with the document. At most one can be
189 declared; the firm name is used by memorandum types and avail‐
190 able to cover sheets. AF terminates a document title started
191 with TL, and can be called without an argument for that purpose.
192 See MT and COVER.
193
194 AL [type [text-indent [1]]]
195 Begin an auto-incrementing numbered list. Item numbers start at
196 one. The type argument assigns the register format (see above)
197 of the list item enumerators. The default is 1. An explicitly
198 empty type also indicates the default. A text-indent argument
199 overrides register Li. A third argument suppresses the blank
200 line that normally precedes each list item. Use LI to declare
201 list items, and LE to end the list.
202
203 APP [id [title]]
204 Begin an appendix. If the identifier id is omitted, it is in‐
205 cremented (or initialized, if necessary). The register format
206 used for id is “A”. The page is broken. The register Aph de‐
207 termines whether an appendix heading is then formatted. This
208 heading uses the string App followed by id. Appendices appear
209 in any table of contents (see TC). The string Apptxt is set to
210 title if the latter is present, and made empty otherwise.
211
212 APPSK id n [title]
213 As APP, but increment the page number by n. Use this macro to
214 “skip pages” when diagrams or other materials not formatted by
215 troff are included in appendices.
216
217 AS [placement [indentation]]
218 Abstract start; begin collecting abstract. Input up to the next
219 AE call is included in the abstract. placement influences the
220 location of the abstract on the cover sheet of a memorandum (see
221 MT). COVER, by contrast, ignores placement by default, but can
222 be customized to interpret it.
223
224 placement Effect
225 0 The abstract appears on page 1 and cover sheet if
226 the document is a “released paper” memorandum (“.MT
227 4”); otherwise, it appears on page 1 without a cover
228 sheet.
229 1 The abstract appears only on the cover sheet (“.MT
230 4” only).
231
232 An abstract does not appear at all in external letters (“.MT
233 5”). A placement of 2 was supported by DWB mm but is not by
234 groff mm.
235
236 A second argument increases the indentation by indentation and
237 reduces the line length by twice this amount. A scaling unit of
238 ens is assumed. The default is 0.
239
240 AST [caption]
241 Set the caption above the abstract to caption, or clear it if
242 there is no argument. The default is “ABSTRACT”.
243
244 AT title ...
245 Specify author's title(s). If present, AT must appear just af‐
246 ter the corresponding author's AU. Each title occupies an out‐
247 put line beneath the author's name in the signature block used
248 by LT letters (see SG) and in MT memoranda. The ms cover sheet
249 style also uses it.
250
251 AU [name [initials [loc [dept [ext [room [arg1 [arg2 [arg3]]]]]]]]]
252 Specify author. AU terminates a document title started with TL,
253 and can be called without arguments for that purpose. Author
254 information is used by cover sheets, MT memoranda, and SG. Fur‐
255 ther arguments comprise initials, location, department, tele‐
256 phone extension, room number or name, and up to three additional
257 items. Repeat AU to identify multiple authors.
258
259 Use WA/WE instead to identify the author for documents employing
260 LT.
261
262 AV [name [1]]
263 Format approval lines for a handwritten signature and date. Two
264 horizontal rules are drawn, with the specified name and the text
265 of the string Letdate beneath them. Above these rules, the text
266 in the string Letapp is formatted; a second argument replaces
267 this text with a blank line. See LT.
268
269 AVL [name]
270 As AV, but the date, date rule, and approval notation Letapp are
271 omitted.
272
273 B [bold-text [previous-font-text]] ...
274 Join bold-text in boldface with previous-font-text in the previ‐
275 ous font, without space between the arguments. If no arguments,
276 switch font to bold style.
277
278 B1 Begin boxed, kept display. The text is indented one character,
279 and the right margin is one character shorter. This is a GNU
280 extension.
281
282 B2 End boxed, kept display. This is a GNU extension.
283
284 BE End bottom block; see BS.
285
286 BI [bold-text [italic-text]] ...
287 Join bold-text in boldface with italic-text in italics, without
288 space between the arguments.
289
290 BL [text-indent [1]]
291 Begin bulleted list. Items are prefixed with a bullet and a
292 space. A text-indent argument overrides register Pi. A second
293 argument suppresses blank lines between items. Use LI to de‐
294 clare list items, and LE to end the list.
295
296 BR [bold-text [roman-text]] ...
297 Join bold-text in boldface with roman-text in roman style, with‐
298 out space between the arguments.
299
300 BS Begin bottom block. Input is collected until BE is called, and
301 output between the footnote area and footer of each page.
302
303 BVL [text-indent [mark-indent [1]]]
304 Begin broken variable-item (or “tagged”) list. Each item is ex‐
305 pected to supply its own mark. The line is always broken after
306 the mark; contrast VL. text-indent sets the indentation of the
307 text, and mark-indent the distance from the current list inden‐
308 tation to the mark. A third argument suppresses the blank line
309 that normally precedes each list item. Use LI to declare list
310 items, and LE to end the list.
311
312 COVER [style]
313 Begin a cover page description. COVER must appear before the
314 body text (or main matter) of a document. The argument style is
315 used to construct the file name /usr/share/groff/1.23.0/tmac/mm/
316 style.cov and load it with the mso request. The default style
317 is ms; the ms.cov file prepares a cover page resembling those of
318 the ms package. A .cov file must define a COVEND macro, which a
319 document must call at the end of the cover description. Use
320 cover description macros in the following order; only TL and AU
321 are required.
322
323 .COVER
324 .TL
325 .AF
326 .AU
327 .AT
328 .AS
329 .AE
330 .COVEND
331
332 COVEND End the cover description.
333
334 DE End static or floating display begun with DS or DF.
335
336 DF [format [fill [right-indentation]]]
337 Begin floating display. A floating display is saved in a queue
338 and output in the order entered. Arguments are handled as in
339 DS. Floating displays cannot be nested. Placement of floating
340 displays is controlled by the registers De and Df.
341
342 DL [text-indent [1]]
343 Begin dashed list. Items are prefixed with an em dash and a
344 space. A text-indent argument overrides register Pi. A second
345 argument suppresses blank lines between items. Use LI to de‐
346 clare list items, and LE to end the list.
347
348 DS [format [fill [right-indentation]]]
349 Begin static display. Input until DE is called is collected
350 into a display. The display is output on a single page unless
351 it is taller than the height of the page. DS can be nested
352 (contrast with DF).
353
354 format Effect
355 none Do not indent the display.
356 L Do not indent the display.
357 I Indent text by \n[Si].
358 C Center each line.
359 CB Center the whole display as a block.
360 R Right-adjust the lines.
361 RB Right-adjust the whole display as a block.
362
363 The values “L”, “I”, “C”, and “CB” can also be specified as “0”,
364 “1”, “2”, and “3”, respectively, for compatibility with DWB mm.
365
366 fill Effect
367 none Disable filling.
368 N Disable filling.
369 F Enable filling.
370
371 “N” and “F” can also be specified as “0” and “1”, respectively,
372 for compatibility with DWB mm.
373
374 A third argument reduces the line length by right-indentation.
375
376 mm normally places blank lines before and after the display.
377 Set register Ds to 0 to suppress these.
378
379 EC [title [override [flag [refname]]]]
380 Caption an equation. The caption consists of the string Liec
381 followed by an automatically incrementing counter stored in the
382 register Ec, punctuation configured by the register Of, then ti‐
383 tle (if any). Use the af request to configure Ec's number for‐
384 mat. override and flag alter the equation number as follows.
385 Omitting flag and specifying 0 in its place are equivalent.
386
387 flag Effect
388 0 Prefix number with override.
389 1 Suffix number with override.
390 2 Replace number with override.
391
392 Equation captions are centered irrespective of the alignment of
393 any enclosing display.
394
395 refname stores the equation number using SETR; it can be re‐
396 treived with “.GETST refname”. This argument is a GNU exten‐
397 sion.
398
399 Captioned equations are listed in a table of contents (see TC)
400 if the Boolean register Le is true. Such a list uses the string
401 Le as a heading.
402
403 EF ["'left'center'right'"]
404 Define the even-page footer, which is formatted just above the
405 normal page footer on even-numbered pages. See PF. EF defines
406 the string EOPef.
407
408 EH ["'left'center'right'"]
409 Define the even-page header, which is formatted just below the
410 normal page header on even-numbered pages. See PH. EH defines
411 the string TPeh.
412
413 EN End equation input preprocessed by eqn(1); see EQ.
414
415 EOP If defined, this macro is called in lieu of normal page footer
416 layout. Headers and footers are formatted in a separate envi‐
417 ronment. See TP.
418
419 Strings available to EOP
420 ─────────────────────────
421 EOPf argument to PF
422 EOPef argument to EF
423 EOPof argument to OF
424
425 EPIC [-L] width height [name]
426 Draw a box with the given width and height. It also prints the
427 text name or a default string if name is not specified. This is
428 used to include external pictures; just give the size of the
429 picture. -L left-aligns the picture; the default is to center.
430 See PIC.
431
432 EQ [label]
433 Start equation input preprocessed by eqn(1). EQ and EN macro
434 calls bracket an equation region. Such regions must be con‐
435 tained in displays (DS/DE), except when the region is used only
436 to configure eqn and not to produce output. If present, label
437 appears aligned to the right and centered vertically within the
438 display; see register Eq. If multiple eqn regions occur within
439 a display, only the last label (if any) is used.
440
441 EX [title [override [flag [refname]]]]
442 Caption an exhibit. Arguments are handled analogously to EC.
443 The register Ex is the exhibit counter. The string Liex pre‐
444 cedes the exhibit number and any title. Exhibit captions are
445 centered irrespective of the alignment of any enclosing display.
446
447 Captioned exhibits are listed in a table of contents (see TC) if
448 the Boolean register Lx is true. Such a list uses the string Lx
449 as a heading.
450
451 FC [closing-text]
452 Output the string Letfc, or the specified closing-text, as the
453 formal closing of a letter.
454
455 FD [arg [1]]
456 Configure display of footnotes. The first argument encodes en‐
457 ablement of automatic hyphenation, adjustment to the right mar‐
458 gin, indentation of footnote text, and left- vs. right-alignment
459 of the footnote label within the space allocated for it.
460
461 arg Hyphenate? Adjust? Indent? Label alignment
462 0 no yes yes left
463 1 yes yes yes left
464 2 no no yes left
465 3 yes no yes left
466 4 no yes no left
467 5 yes yes no left
468 6 no no no left
469 7 yes no no left
470 8 no yes yes right
471 9 yes yes yes right
472 10 no no yes right
473 11 yes no yes right
474
475 An arg greater than 11 is treated as 0. mm's default is 0.
476
477 If a second argument, conventionally 1, is given, footnote num‐
478 bering is reset when a first-level heading is encountered. See
479 FS.
480
481 FE End footnote; see FS.
482
483 FG [title [override [flag [refname]]]]
484 Caption a figure. Arguments are handled analogously to EC. The
485 register Fg is the figure counter. The string Lifg precedes the
486 figure number and any title. Figure captions are centered irre‐
487 spective of the alignment of any enclosing display.
488
489 Captioned figures are listed in a table of contents (see TC) if
490 the Boolean register Lf is true. Such a list uses the string Lf
491 as a heading.
492
493 FS [label]
494 Start footnote. Input until FE is called is collected into a
495 footnote. By default, footnotes are automatically numbered
496 starting at 1; the number is available in register :p and, with
497 a trailing period, in string F. This string precedes the foot‐
498 note text at the bottom of the column or page. Footnotes are
499 vertically separated by the product of registers Fs and Lsp. In
500 groff mm, footnotes may be used in displays.
501
502 A label argument replaces the contents of the string F; it need
503 not be numeric. In this event, the footnote marker in the body
504 text must be explicitly written.
505
506 GETHN refname [varname]
507 Include the heading number where the corresponding “.SETR ref‐
508 name” was placed. This is displayed as “X.X.X.” in pass 1. See
509 INITR. If varname is used, GETHN sets the string varname to the
510 heading number.
511
512 GETPN refname [varname]
513 Include the page number where the corresponding “.SETR refname”
514 was placed. This is displayed as “9999” in pass 1. See INITR.
515 If varname is used, GETPN sets the string varname to the page
516 number.
517
518 GETR refname
519 Combine GETHN and GETPN with the text “chapter” and “, page”.
520 The string Qrf contains the text for the cross reference:
521
522 .ds Qrf See chapter \\*[Qrfh], page \\*[Qrfp].
523
524 Qrf may be changed to support other languages. Strings Qrfh and
525 Qrfp are set by GETR and contain the page and heading number,
526 respectively.
527
528 GETST refname [varname]
529 Include the string saved with the second argument to .SETR.
530 This is a dummy string in pass 1. If varname is used, GETST
531 sets it to the saved string. See INITR.
532
533 H level [title [suffix]]
534 Set a numbered section heading at level. mm produces numbered
535 heading marks of the form a.b.c..., with up to fourteen levels
536 of nesting. Each level's number increases automatically with
537 each H call and is reset to zero when a more significant level
538 is specified. “1” is the most significant or coarsest division
539 of the document. Text after an H call is formatted as a para‐
540 graph; calling P is unnecessary.
541
542 title specifies an optional title; it must be double-quoted if
543 it contains spaces. mm appends suffix to title in the body of
544 the document, but omits it from any table of contents (see TC).
545 This facility can be used to annotate the heading title with a
546 footnote. suffix should not interpolate the F string; specify a
547 footnote mark explicitly. See FS.
548
549 Heading behavior is highly configurable. Several registers set
550 a threshold, where heading levels at or below the threshold
551 value are handled in one way, and those above it another. For
552 example, a heading level within the threshold of register Cl is
553 included in the table of contents (see TC).
554
555 Heading layout. Register Ej sets a threshold for page breaking
556 (ejection) prior to a heading. If not preceded by a page break,
557 a heading level below the threshold in register Hps is preceded
558 by the amount of vertical space in register Hps1, and by the
559 amount in Hps2 otherwise. The Hb register sets a threshold be‐
560 low which a break occurs after the heading, and register Hs sets
561 a threshold below which vertical space follows it. If the head‐
562 ing level is not less than both of these, a run-in heading is
563 produced; paragraph text follows on the same output line. Oth‐
564 erwise, register Hi configures the indentation of text after
565 headings. Threshold register Hc enables the centering of head‐
566 ings; a heading level below both of the Hb and Hc thresholds is
567 centered.
568
569 Heading typeface and size. The fonts used for heading numbers
570 and titles at each level are configured by the HF string. The
571 string HP likewise assigns a type size to each heading level.
572 The vertical spacing used by headings may be controlled by the
573 user-definable macros HX and/or HZ.
574
575 Heading number format. Registers named H1 through H14 store
576 counters for each heading level. Their values are printed using
577 Arabic numerals by default; see HM. The heading levels are
578 catenated with dots for formatting; to typeset only the deepest,
579 set the Ht register. Heading numbers are not suffixed with a
580 trailing dot except when only the first level is output; to omit
581 a dot in this case as well, clear the H1dot register.
582
583 Customizing heading behavior. mm calls hook macros to enable
584 further customization of headings. (DWB mm called these “ex‐
585 its”.) They can be used to change the heading's mark (the num‐
586 bered portion before any heading title), its vertical spacing,
587 and its vertical space requirements (for instance, to require a
588 minimum quantity of subsequent output lines). Define hook
589 macros in expectation of the following parameters. The argument
590 declared-level is the level argument to H, or 0 for unnumbered
591 headings (see HU). actual-level is the same as declared-level
592 for numbered headings, and the value of register Hu for unnum‐
593 bered headings. title is the corresponding argument to H or HU.
594
595 HX declared-level actual-level title
596 mm calls HX before setting the heading. Your definition
597 may alter }0, }2, and ;3.
598
599 }0 (string)
600 contains the heading mark plus two spaces if de‐
601 clared-level is non-zero, and otherwise is empty.
602
603 ;0 (register)
604 encodes a position for the text after the heading.
605 0 means that the heading is to be run in, 1 means
606 that a break is to occur before the text, and
607 2 means that vertical space is to separate heading
608 and text.
609
610 }2 (string)
611 is the suffix that separates a run-in heading from
612 the text. It contains two spaces if register ;0
613 is 0, and otherwise is empty.
614
615 ;3 (register)
616 contains the vertical space required for the head‐
617 ing to be typeset. If that amount is not avail‐
618 able, the page is broken prior to the heading.
619 The default is 2v.
620
621 HY declared-level actual-level title
622 mm calls HY after determing the heading typeface and
623 size. It could be used to change indentation.
624
625 HZ declared-level actual-level title
626 mm calls HZ after formatting the heading, just before H
627 or HU returns. It could be used to change the page
628 header to include a section heading.
629
630 HC [hyphenation-character]
631 Set hyphenation character. Default value is “\%”. Resets to
632 the default if called without argument. Hyphenation can be
633 turned off by setting register Hy to 0 at the beginning of the
634 file.
635
636 HM [arg1 [arg2 [... [arg14]]]]
637 Set the heading mark style. Each argument assigns the specified
638 register format (see above) to the corresponding heading level.
639 The default is 1 for all levels. An explicitly empty argument
640 also indicates the default.
641
642 HU heading-text
643 Set an unnumbered section heading. Except for a heading number,
644 it is treated as a numbered heading of the level stored in reg‐
645 ister Hu; see H.
646
647 I [italic-text [previous-font-text]] ...
648 Join italic-text in italics with previous-font-text in the pre‐
649 vious font, without space between the arguments. If no argu‐
650 ments, switch font to italic style.
651
652 IA [recipient-name [title]]
653 Specify the inside address in a letter. Input is collected into
654 the inside address until IE is called, and then output. You can
655 specify multiple recipients with empty IA/IE pairs; only the
656 last address is used. The arguments give each recipient a name
657 and title. See LT.
658
659 IB [italic-text [bold-text]] ...
660 Join italic-text in italics with bold-text in boldface, without
661 space between the arguments.
662
663 IE End the inside address begun with IA.
664
665 IND argument ...
666 If the Boolean register Ref is true, write an index entry as a
667 specially prepared roff comment to the standard error stream,
668 with each argument separated from its predecessor by a tab char‐
669 acter. The entry's location information is arranged as config‐
670 ured by the most recent INITI call.
671
672 INDP Output the index set up by INITI and populated by IND calls. By
673 default, INDP calls SK and writes a centered caption interpolat‐
674 ing the string Index. It then disables filling and calls 2C;
675 afterward, it restores filling and calls 1C.
676
677 Define macros to customize this behavior. INDP calls TXIND be‐
678 fore the caption, TYIND instead of writing the caption, and
679 TZIND after formatting the index.
680
681 INITI location-type file-name [macro]
682 Initialize groff mm's indexing system. Argument location-type
683 selects how the location of each index entry is reported. file-
684 name populates an internal string used later by INDP.
685
686 location-type Entry format
687 N page number
688 H heading mark
689 B page number, tab character, heading mark
690
691 If macro is specified, it is called for each index entry with
692 the arguments given to IND.
693
694 INITR id
695 Initialize the cross reference macros. Cross references are
696 written to the standard error stream, which should be redirected
697 into a file named id.qrf. mmroff(1) handles this and the two
698 formatting passes it requires. The first pass identifies cross
699 references, and the second one includes them.
700
701 See SETR, GETPN, and GETHN.
702
703 IR [italic-text [roman-text]] ...
704 Join italic-text in italics with roman-text in roman style,
705 without space between the arguments.
706
707 ISODATE [0]
708 Use ISO 8601 format for the date string DT used by some cover
709 sheet and memorandum types; that is, YYYY-MM-DD. Must be called
710 before ND to be effective. If given an argument of 0, the tra‐
711 ditional date format for the groff locale is used; this is also
712 the default.
713
714 LB text-indent mark-indent pad type [mark [pre-item-space [pre-list-
715 space]]]
716 Begin list. The macros AL, BL, BVL, DL, ML, RL, and VL call LB
717 in various ways; they are simpler to use and may be preferred if
718 they suit the desired purpose.
719
720 The nesting level of lists is tracked by mm; the outermost level
721 is 0. The text of each list item is indented by text-indent;
722 the default is taken from the Li register (in ens). Each item's
723 mark is indented by mark-indent; the default is 0n. The mark is
724 normally left-aligned. If pad is greater than zero, mark-indent
725 is overridden such that pad ens of space follow the mark. type
726 selects one of six possible ways to display the mark.
727
728 type Output for a mark “x”
729 1 x.
730 2 x)
731 3 (x)
732 4 [x]
733 5 <x>
734 6 {x}
735
736 If type is 0 and mark is unspecified, the items are set with a
737 hanging indent. Otherwise, mark is interpreted as a string
738 defining the mark. If type is greater than zero, items are au‐
739 tomatically numbered; mark is interpreted as a register format.
740 The default type is 0.
741
742 The last two arguments manage vertical space. Unless a list's
743 nesting level is greater than the value of register Ls, its
744 items are preceded by pre-item-space multiplied by the register
745 Lsp; the default is 1. LB precedes the list by pre-list-space
746 multiplied by the register Lsp; the default is 0.
747
748 LC [list-level]
749 Clear list state. Active lists are terminated as if with LE,
750 either all (the default) or only those from the current level
751 down to list-level if specified. H calls LC automatically.
752
753 LE [1] End list. The current list is terminated. An argument of 1
754 causes vertical space in the amount of register Lsp to follow
755 the list.
756
757 LI [mark [item-mark-mode]]
758 Begin a list item. Input is collected into a list item until
759 the current list is terminated or LI is called again. By de‐
760 fault, the item's text is preceded by any mark configured by the
761 current list. If only mark is specified, it replaces the con‐
762 figured mark. A second argument prefixes mark to the configured
763 mark; an item-mark-mode value of 1 places an unbreakable space
764 after mark, while a value of 2 does not (rendering the two adja‐
765 cent). Also see register Limsp.
766
767 LO option [value]
768 Specify letter options; see LT. Standard options are as fol‐
769 lows. See IA regarding the inside address and string DT regard‐
770 ing the date.
771
772 option Effect
773 AT Attention; put contents of string LetAT and value left-
774 aligned after the inside address.
775 CN Confidential; put value, or contents of string LetCN,
776 left-aligned after the date.
777 RN Reference; put contents of string LetRN and value after
778 the confidental notation (if any) and the date, aligned
779 with the latter.
780 SA Salutation; put value, or contents of string LetSA,
781 left-aligned after the inside address and the confiden‐
782 tal notation (if any).
783 SJ Subject; put contents of string LetSJ and value left-
784 aligned after the inside address and the attention and
785 salutation notations (if any). In letter type “SP”,
786 LetSJ is ignored and value is set in full capitals.
787
788 LT [style]
789 Format a letter in the designated style, defaulting to BL (see
790 below). A letter begins with the writer's address (WA/WE), fol‐
791 lowed by the date (ND), the inside address (IA/IE), the body of
792 the letter (P and other general-purpose mm macros), the formal
793 closing (FC), the signature (SG), and notations (NS/NE). Any of
794 these may be omitted. Letter options specified with LO add fur‐
795 ther annotations, which are extensible; see section “Internals”
796 below.
797
798 style Description
799 BL Blocked: the writer's address, date, formal closing, and
800 signature are indented to the center of the line. Ev‐
801 erything else is left-aligned.
802 SB Semi-blocked: as BL, but the first line of each para‐
803 graph is indented by 5m.
804 FB Fully blocked: everything begins at the left margin.
805 SP Simplified: as FB, but a formal closing is omitted, and
806 the signature is set in full capitals.
807
808 MC column-width [gutter-width]
809 Begin multi-column layout. groff mm creates as many columns of
810 column-width as the line length will permit. gutter-width is
811 the interior spacing between columns. It defaults to column-
812 width/15. 1C returns to single-column layout. MC is a GNU ex‐
813 tension. See MULB for an alternative.
814
815 ML mark [text-indent [1]]
816 Start a list with the mark argument preceding each list item.
817 text-indent overrides the default indentation of the list items
818 set by register Li. If a third argument, conventionally 1, is
819 given, the blank line that normally precedes each list item is
820 suppressed. Use LI to declare list items, and LE to end the
821 list.
822
823 MT [type [addressee]]
824 Select memorandum type. These correspond to formats used by
825 AT&T Bell Laboratories, where the mm package was initially de‐
826 veloped, affecting the document layout. Some of these included
827 a cover page with a caption categorizing the document. groff mm
828 uses type to construct the file name /usr/share/groff/1.23.0/
829 tmac/mm/type.MT and load it with the mso request. Memorandum
830 types 0 to 5 are supported; any other value of type is mapped to
831 type 6. If type is omitted, 0 is implied. addressee sets a
832 string analogous to one used by AT&T cover sheet macros that are
833 not implemented in groff mm.
834
835 type Description
836 0 normal memorandum; no caption
837 1 captioned “MEMORANDUM FOR FILE”
838 2 captioned “PROGRAMMER'S NOTES”
839 3 captioned “ENGINEER'S NOTES”
840 4 released paper
841 5 external letter
842
843 See COVER for a more flexible cover sheet mechanism.
844
845 MOVE y-pos [x-pos [line-length]]
846 Move to a position, setting page offset to x-pos. If line-
847 length is not given, the difference between current and new page
848 offset is used. Use PGFORM without arguments to return to nor‐
849 mal.
850
851 MULB cw1 space1 [cw2 space2] ... cwn
852 Begin alternative multi-column mode. All column widths must be
853 specified, as must the amount of space between each column pair.
854 The arguments' default scaling unit is n. MULB uses a diversion
855 and operates in a separate environment.
856
857 MULN Begin next column in alternative column mode.
858
859 MULE End alternative multi-column mode and emit the columns.
860
861 NCOL Move to the start of the next column (only when using 2C or MC).
862 Contrast with MULN.
863
864 ND [arg]
865 Set the document's date. mm does not interpret arg; it can be a
866 revision identifier (or empty).
867
868 NE End notation begun with NS; filling is enabled.
869
870 nP [type]
871 Begin a numbered paragraph at heading level two. See P.
872
873 NS [code [1]]
874 Declare notations, typically for letters or memoranda, of the
875 type specified by code. The text corresponding to code is out‐
876 put, and filling is disabled until NE is called. Typically, a
877 list of names or attachments lies within NS/NE. If code is ab‐
878 sent or does not match one of the values listed under the Letns
879 string description below, each line of notations is formatted as
880 “Copy (line) to”. If a second argument, conventionally 1, is
881 given, code becomes the entire notation and NE is not necessary.
882 In groff mm, you can set up further notations to be recognized
883 by NS; see the strings Letns and Letnsdef below.
884
885 OF ["'left'center'right'"]
886 Define the odd-page footer, which is formatted just above the
887 normal page footer on odd-numbered pages. See PF. OF defines
888 the string EOPof.
889
890 OH ["'left'center'right'"]
891 Define the odd-page header, which is formatted just below the
892 normal page header on odd-numbered pages. See PH. OH defines
893 the string TPoh.
894
895 OP Make sure that the following text is printed at the top of an
896 odd-numbered page. Does not output an empty page if currently
897 at the top of an odd page.
898
899 P [type]
900 Begin new paragraph. If type is missing or 0, P sets the para‐
901 graph fully left-aligned. A type of 1 idents the first line by
902 \[Pi] ens. Set the register Pt to select a default paragraph
903 indentation style. The register Ps controls the vertical spac‐
904 ing between paragraphs.
905
906 PE Picture end; see pic(1).
907
908 PF ["'left'center'right'"]
909 Define the page footer. The footer is formatted at the bottom
910 of each page; the argument is otherwise as described in PH. PF
911 defines the string EOPf. See EF, OF, and EOP.
912
913 PGFORM [linelength [pagelength [pageoffset [1]]]]
914 Set line length, page length, and/or page offset. This macro
915 can be used for letterheads and similar. It is normally the
916 first macro call in a file, though it is not necessary. PGFORM
917 can be used without arguments to reset everything after a MOVE
918 call. A line break is done unless the fourth argument is given.
919 This can be used to avoid the page number on the first page
920 while setting new width and length. (It seems as if this macro
921 sometimes doesn't work too well. Use the command-line arguments
922 to change line length, page length, and page offset instead.)
923
924 PGNH Suppress header on the next page. This macro must be called be‐
925 fore any macros that produce output to affect the layout of the
926 first page.
927
928 PH ["'left'center'right'"]
929 Define the page header, formatted at the top of each page, as
930 the argument, where left, center, and right are aligned to the
931 respective locations on the line. A “%” character in arg is re‐
932 placed by the page number. If the argument is absent, no page
933 header is set. The default page header is
934 "''- % -''"
935 which centers the page number between hyphens and formats noth‐
936 ing at the upper left and right. Header macros call PX (if de‐
937 fined) after formatting the header. PH defines the string TPh.
938 See EH, OH, and TP.
939
940 PIC [-B] [-C|-I n|-L|-R] file [width [height]]
941 Include PostScript document file. The optional -B argument
942 draws a box around the picture. The optional -L, -C, -R, and
943 -I n arguments align the picture or indent it by n (assuming a
944 scaling unit of m). By default, the picture is left-aligned.
945 Optional width and height arguments resize the picture. Use of
946 this macro requires two-pass processing; see INITR and
947 mmroff(1).
948
949 PS Picture start; see pic(1).
950
951 PY Picture end with flyback. Ends a pic(1) picture, returning the
952 vertical position to where it was prior to the picture. This is
953 a GNU extension.
954
955 R [roman-text [previous-font-text]] ...
956 Join roman-text in roman style with previous-font-text in the
957 previous font, without space between the arguments. If no argu‐
958 ments, switch font to roman style.
959
960 RB [roman-text [bold-text]] ...
961 Join roman-text in roman style with bold-text in boldface, with‐
962 out space between the arguments.
963
964 RD [prompt [diversion [string]]]
965 Read from standard input to diversion and/or string. The text
966 is saved in a diversion named diversion. Recall the text by
967 writing the name of the diversion after a dot on an empty line.
968 A string is also defined if string is given. Diversion and/or
969 prompt can be empty ("").
970
971 RF Reference end. Ends a reference definition and returns to nor‐
972 mal processing. See RS.
973
974 RI [roman-text [italic-text]] ...
975 Join roman-text in roman style with italic-text in italics,
976 without space between the arguments.
977
978 RL [text-indent [1]]
979 Begin reference list. Each item is preceded by an automatically
980 incremented number between square brackets; compare AL. text-
981 indent changes the default indentation. Use LI to declare list
982 items, and LE to end the list. A second argument, convention‐
983 ally 1, suppresses the blank line that normally precedes each
984 list item.
985
986 RP [suppress-counter-reset [page-ejection-policy]]
987 Format a reference page, listing items accumulated within RS/RF
988 pairs. The reference counter is reset unless the first argument
989 is 1. Normally, page breaks occur before and after the refer‐
990 ences are output; the register Rpe configures this behavior, and
991 a second argument overrides its value. TC calls RP automati‐
992 cally if references have accumulated.
993
994 References are list items, and thus are vertically separated
995 (see LB). Setting register Ls to 0 suppresses this spacing.
996 The string Rp contains the reference page caption.
997
998 RS [reference-string]
999 Begin an automatically numbered reference definition. By de‐
1000 fault, references are numbered starting at 1; the number is
1001 available in register :R. Interpolate the string Rf where the
1002 reference mark should be and write the reference between RS/RF
1003 on an input line after the reference mark. If reference-string
1004 is specified, groff ms also stores the reference mark in a
1005 string of that name, which can be interpolated as \*[reference-
1006 string] subsequently.
1007
1008 S [type-size [vertical-spacing]]
1009 Set type size and vertical spacing. Each argument is a groff
1010 measurement, using an appropriate scaling unit and an optional +
1011 or - prefix to increment or decrement the current value. An ar‐
1012 gument of P restores the previous value, C indicates the current
1013 value, and D requests the default. An empty or omitted argument
1014 is treated as P.
1015
1016 SA [mode]
1017 Set or restore the default enablement of adjustment. Specify 0
1018 or 1 as mode to set a document's default explicitly; 1 is as‐
1019 sumed by mm. Adjustment can be temporarily suspended with the
1020 na request. When the H or HU macros are used to format a head‐
1021 ing, or when SA is called without a mode argument, the default
1022 adjustment is restored.
1023
1024 SETR refname [string]
1025 Remember the current heading and page numbers as refname. Saves
1026 string if string is defined. string is retrieved with GETST.
1027 See INITR.
1028
1029 SG [arg [1]]
1030 Signature line. Prints the authors name(s) after the formal
1031 closing. The argument is appended to the reference data,
1032 printed at either the first or last author. The reference data
1033 is the location, department, and initials specified with AU. It
1034 is printed at the first author if the second argument is given,
1035 otherwise at the last. No reference data is printed if the au‐
1036 thor(s) is specified through WA/WE. See section “Internals” be‐
1037 low.
1038
1039 SK [n] Skip n pages. If n is 0 or omitted, the page is broken unless
1040 the drawing position is already at the top of a page. Other‐
1041 wise, n pages, blank except for any headers and footers, are
1042 printed.
1043
1044 SM text [post]
1045 SM pre text post
1046 Format text at a smaller type size, joined with any specified
1047 pre and post at normal size.
1048
1049 SP [lines]
1050 Space vertically. lines can have any scaling factor, like “3i”
1051 or “8v”. Several SP calls in a line only produces the maximum
1052 number of lines, not the sum. SP is ignored also until the
1053 first text line in a page. Add \& before a call to SP to avoid
1054 this.
1055
1056 TAB Reset tab stops to every 5 ens.
1057
1058 TB [title [override [flag [refname]]]]
1059 Caption a table. Arguments are handled analogously to EC. The
1060 register Tb is the table counter. The string Litb precedes the
1061 table number and any title. Table captions are centered irre‐
1062 spective of the alignment of any enclosing display.
1063
1064 Captioned tables are listed in a table of contents (see TC) if
1065 the Boolean register Lt is true. Such a list uses the string Lt
1066 as a heading.
1067
1068 TC [slevel [spacing [tlevel [tab [h1 [h2 [h3 [h4 [h5]]]]]]]]]
1069 Output table of contents. This macro is normally the last
1070 called in the document. It flushes any pending displays and, if
1071 any references are pending (see RS), calls RP. It then begins a
1072 new page with the contents caption, stored in the string Licon,
1073 centered at the top. The entries follow after three vees of
1074 space. Each entry is a saved section (number and) heading title
1075 (see the Cl register), along with its associated page number.
1076 By default, an entry is indented by an amount corresponding to
1077 its heading level and the maximum heading length encountered at
1078 that heading level; if defined, the string Ci overrides these
1079 indentations. Entries at heading levels up to and including
1080 slevel are preceded by spacing vees of space. Entries at head‐
1081 ing levels up to and including tlevel are followed by a leader
1082 and a right-aligned page number. If the Boolean-valued tab ar‐
1083 gument is true, the leader is replaced with horizontal motion in
1084 the same amount. For entries above heading level tlevel, the
1085 page number follows the heading text after a word space. Each
1086 argument h1...h5 appears in order on its own line, centered,
1087 above the contents caption. Page numbering restarts at 1, in
1088 register format “i”. If the Oc register is true, numbering of
1089 these pages is suppressed.
1090
1091 If TC is called with at most four arguments, it calls the user-
1092 defined macro TX (if defined) prior to formatting the contents
1093 caption, and TY (if defined) instead of formatting the contents
1094 caption.
1095
1096 Analogous handling of lists of figures, tables, equations, and
1097 exhibits is achieved by defining TXxx and TYxx macros, where xx
1098 is “FG”, “TB”, “EC”, or “EX”, respectively. Similarly, the
1099 strings Lifg, Litb, Liex, and Liec determine captions for their
1100 respective lists.
1101
1102 TE Table end. See TS.
1103
1104 TH End table heading. It is repeated after page breaks within a
1105 table. See TS. The N argument supported by DWB mm is not im‐
1106 plemented by groff mm.
1107
1108 TL [charging-case-number [filing-case-number]]
1109 Begin document title. Input is collected into the title until
1110 AF or AU is called, and output as directed by the cover page.
1111 charging-case-number and filing-case-number are saved for use in
1112 memorandum types 0 and 5. See MT.
1113
1114 TM number ...
1115 Declare technical memorandum number(s) used by MT.
1116
1117 TP If defined, this macro is called in lieu of normal page header
1118 layout. Headers and footers are formatted in a separate envi‐
1119 ronment. See EOP.
1120
1121 Strings available to TP
1122 ────────────────────────
1123 TPh argument to PH
1124 TPeh argument to EH
1125 TPoh argument to OH
1126
1127 TS [H] Table start. Argument “H” tells mm that the table has a head‐
1128 ing. See TE, TH, and tbl(1).
1129
1130 VERBON [format [type-size [font]]]
1131 Begin verbatim display, where characters have equal width. for‐
1132 mat controls several parameters. Add up the values of desired
1133 features; the default is 0. On typesetting devices, further ar‐
1134 guments configure the type-size in scaled points, and the face
1135 (font); the default is CR (Courier roman).
1136
1137 Value Effect
1138 1 Disable the formatter's escape character (\).
1139 2 Vertically space before the display.
1140 4 Vertically space after the display.
1141 8 Number output lines; call formatter's nm request with
1142 arguments in string Verbnm.
1143 16 Indent by the amount stored in register Verbin.
1144
1145 VERBOFF
1146 End verbatim display.
1147
1148 VL [text-indent [mark-indent [1]]]
1149 Begin variable-item (or “tagged”) list. Each item should supply
1150 its own mark, or tag. If the mark is wider than mark-indent,
1151 one space separates it from subsequent text; contrast BVL.
1152 text-indent sets the indentation of the text, and mark-indent
1153 the distance from the current list indentation to the mark. A
1154 third argument suppresses the blank line that normally precedes
1155 each list item. Use LI to declare list items, and LE to end the
1156 list.
1157
1158 VM [-T] [top [bottom]]
1159 Vertical margin. Increase the top and bottom margin by top and
1160 bottom, respectively. If option -T is specified, set those mar‐
1161 gins to top and bottom. If no argument is given, reset the mar‐
1162 gin to zero, or to the default (“7v 5v”) if -T is used. It is
1163 highly recommended that macros TP and/or EOP are defined if us‐
1164 ing -T and setting top and/or bottom margin to less than the de‐
1165 fault. This undocumented DWB mm macro is exposed by groff mm to
1166 increase user control of page layout.
1167
1168 WA [writer's-name [title]]
1169 Specify the writer(s) of an LT letter. Input is collected into
1170 the writer's address until WA is called, and then output. You
1171 can specify multiple writers with empty WA/WE pairs; only the
1172 last address is used. The arguments give each writer a name and
1173 title.
1174
1175 WC [format ...]
1176 Control width of footnotes and displays.
1177
1178 format Effect
1179 N equivalent to “-WF -FF -WD” (default)
1180 WF set footnotes at full line length, even in two-column
1181 mode
1182 -WF set footnotes using column line length
1183 FF apply width of first footnote to encountered to subse‐
1184 quent ones
1185 -FF footnote width determined by WF and -WF
1186 WD set displays at full line length, even in two-column
1187 mode
1188 -WD set displays using column line length
1189
1190 WE End the writer's address begun with WA.
1191
1193 Many mm strings interpolate predefined, localizable text. These are
1194 presented in quotation marks.
1195
1196 App “APPENDIX”
1197
1198 Apptxt stores the title argument to the last APP call.
1199
1200 BU interpolates a bullet (see BL).
1201
1202 Ci is a list of indentation amounts to use for table of contents
1203 heading levels, overriding their automatic computation. Each
1204 word must be a horizontal measurement (like “1i”) and is mapped
1205 one-to-one to heading levels 1, 2, and so on.
1206
1207 DT The date; set by the ND macro (defaults to the date the document
1208 is formatted). The format is the conventional one for the groff
1209 locale, but see the ISODATE macro and Iso register.
1210
1211 EM interpolates an em dash.
1212
1213 F interpolates an automatically numbered footnote marker; the num‐
1214 ber is used by the next FS call without an argument. In troff
1215 mode, the marker is superscripted; in nroff mode, it is sur‐
1216 rounded by square brackets.
1217
1218 H1txt Updated by .H and .HU to the current heading text. Also updated
1219 in table of contents & friends.
1220
1221 HF assigns font identifiers, separated by spaces, to heading levels
1222 in one-to-one correspondence. Each identifier may be a font
1223 mounting position, font name, or style name. Omitted values are
1224 assumed to be 1. The default is “2 2 2 2 2 2 2 2 2 2 2 2 2 2”,
1225 which places all headings in italics. DWB mm's default was “3 3
1226 2 2 2 2 2”.
1227
1228 HP assigns type sizes, separated by spaces, to heading levels in
1229 one-to-one correspondence. Each size is interpreted in scaled
1230 points; zero values are translated to 10. Omitted values are
1231 assumed to be 0 (and are translated accordingly). The default
1232 is “0 0 0 0 0 0 0 0 0 0 0 0 0 0”.
1233
1234 Index “INDEX”
1235
1236 Le “LIST OF EQUATIONS”
1237
1238 Letfc “Yours very truly,” (see FC)
1239
1240 Letapp “APPROVED:” (see AV)
1241
1242 LetAT “ATTENTION:” (see LO)
1243
1244 LetCN “CONFIDENTIAL” (see LO)
1245
1246 Letdate
1247 “Date” (see AV)
1248
1249 Letns is a group of strings structuring the notations produced by NS.
1250 If the code argument to NS has no corresponding string, the no‐
1251 tation is included between parentheses, prefixed with
1252 Letns!copy, and suffixed with Letns!to. Observe the spaces af‐
1253 ter “Copy” and before “to”.
1254
1255 NS code String Contents
1256 0 Letns!0 Copy to
1257 1 Letns!1 Copy (with att.) to
1258 2 Letns!2 Copy (without att.) to
1259 3 Letns!3 Att.
1260 4 Letns!4 Atts.
1261 5 Letns!5 Enc.
1262 6 Letns!6 Encs.
1263 7 Letns!7 Under separate cover
1264 8 Letns!8 Letter to
1265 9 Letns!9 Memorandum to
1266 10 Letns!10 Copy (with atts.) to
1267 11 Letns!11 Copy (without atts.) to
1268 12 Letns!12 Abstract Only to
1269 13 Letns!13 Complete Memorandum to
1270 14 Letns!14 CC
1271 — Letns!copy Copy (with trailing space)
1272 — Letns!to to (note leading space)
1273
1274 Letnsdef
1275 Select the notation format used by NS when it is given no argu‐
1276 ment. The default is “0”.
1277
1278 LetRN “In reference to:” (see LO)
1279
1280 LetSA “To Whom It May Concern:” (see LO)
1281
1282 LetSJ “SUBJECT:” (see LO)
1283
1284 Lf “LIST OF FIGURES”
1285
1286 Licon “CONTENTS”
1287
1288 Liec “Equation”
1289
1290 Liex “Exhibit”
1291
1292 Lifg “Figure”
1293
1294 Litb “TABLE”
1295
1296 Lt “LIST OF TABLES”
1297
1298 Lx “LIST OF EXHIBITS”
1299
1300 MO1...MO12
1301 “January” through “December”
1302
1303 Qrf “See chapter \\*[Qrfh], page \\n[Qrfp].”
1304
1305 Rf interpolates an automatically numbered reference mark; the num‐
1306 ber is used by the next RS call. In troff mode, the marker is
1307 superscripted; in nroff mode, it is surrounded by square brack‐
1308 ets.
1309
1310 Rp “REFERENCES”
1311
1312 Sm interpolates ℠, the service mark sign.
1313
1314 Tcst interpolates an indicator of the TC macro's processing status.
1315 If TC is not operating, it is empty. User-defined TP or EOP
1316 macros might condition page headers or footers on its contents.
1317
1318 Value Meaning
1319 co Table of contents
1320 fg List of figures
1321 tb List of tables
1322 ec List of equations
1323 ex List of exhibits
1324 ap Appendix
1325
1326 Tm interpolates ™, the trade mark sign.
1327
1328 Verbnm supplies argument(s) to the nm request employed by the VERBON
1329 macro. The default is “1”.
1330
1332 Default register values, where meaningful, are shown in parentheses.
1333 Many are also marked as Boolean-valued, meaning that they are consid‐
1334 ered “true” (on, enabled) when they have a positive value, and “false”
1335 (off, disabled) otherwise.
1336
1337 .mgm indicates that groff mm is in use (Boolean-valued; 1).
1338
1339 :p is an auto-incrementing footnote counter; see FS.
1340
1341 :R is an auto-incrementing reference counter; see RS.
1342
1343 Aph formats an appendix heading (and title, if supplied); see APP
1344 (Boolean-valued; 1).
1345
1346 Au includes supplemental author information (the third and subse‐
1347 quent arguments to AU) in memorandum “from” information; see
1348 COVER and MT (Boolean-valued; 1).
1349
1350 Cl sets the threshold for inclusion of headings in a table of con‐
1351 tents. Headings at levels above this value are excluded; see H
1352 and TC (2). The Cl register controls whether a heading is saved
1353 for output in the table of contents at the time H or HU is
1354 called; if you change Cl's value immediately prior to calling
1355 TC, you are unlikely to get the result you want.
1356
1357 Cp suppresses page breaks before lists of captioned equations, ex‐
1358 hibits, figures, and tables, and before an index; see EC, EX,
1359 FG, TB, and INDP (Boolean-valued; 0).
1360
1361 D produces debugging information for the mm package on the stan‐
1362 dard error stream. A value of 0 outputs nothing; 1 reports for‐
1363 matting progress. Higher values communicate internal state in‐
1364 formation of increasing verbosity (0).
1365
1366 De causes a page break after a floating display is output; see DF
1367 (Boolean-valued; 0).
1368
1369 Df configures the behavior of DF. The following values are recog‐
1370 nized; 4 and 5 do not override the De register (5).
1371
1372 Value Effect
1373 0 Flush pending displays at the end of each section when
1374 section-page numbering is active, otherwise at the end
1375 of the document.
1376 1 Flush a pending display on the current page or column if
1377 there is enough space, otherwise at the end of the docu‐
1378 ment.
1379 2 Flush one pending display at the top of each page or
1380 column.
1381 3 Flush a pending display on the current page or column if
1382 there is enough space, otherwise at the top of the next.
1383 4 Flush as many pending displays as possible in a new page
1384 or column.
1385 5 Fill columns or pages with flushed displays until none
1386 remain.
1387
1388 Ds puts vertical space in the amount of register Dsp (if defined)
1389 or Lsp before and after each static display; see DS (Boolean-
1390 valued; 1).
1391
1392 Dsp configures the amount of vertical space placed before and after
1393 static displays; see DS and register Ds (undefined).
1394
1395 Ec is an auto-incrementing equation counter; see EC.
1396
1397 Ej sets the threshold for page breaks (ejection) prior to the for‐
1398 mat of headings. Headings at levels above this value are set on
1399 the same page and column if possible; see H (0).
1400
1401 Eq aligns an equation label to the left of a display instead of the
1402 right (Boolean-valued; 0).
1403
1404 Ex is an auto-incrementing exhibit counter; see EX.
1405
1406 Fg is an auto-incrementing figure counter; see FG.
1407
1408 Fs is multiplied by register Lsp to vertically separate footnotes;
1409 see FS (1).
1410
1411 H1...H14
1412 are auto-incrementing counters corresponding to each heading
1413 level; see H.
1414
1415 H1dot appends a period to the number of a level one heading; see H
1416 (Boolean-valued; 1).
1417
1418 H1h is a copy of A copy of register register H1, but it is incre‐
1419 mented just before a page break. This can be useful in user-de‐
1420 fined macros; see H and HX.
1421
1422 Hb sets the threshold for breaking the line after formatting a
1423 heading. Text after headings at levels above this value are set
1424 on the same output line if possible; see H (2).
1425
1426 Hc sets the threshold for centering a heading. Headings at levels
1427 above this value use the prevailing alignment (that is, they are
1428 not centered); see H (0).
1429
1430 Hi configures the indentation of text after headings. It does not
1431 affect “run-in” headings. The following values are recognized;
1432 see H and P (1).
1433
1434 Value Effect
1435 0 no indentation
1436 1 indent per the paragraph type
1437 2 indent to align with heading title
1438
1439 Hps sets the heading level threshold for application of preceding
1440 vertical space; see H. Headings at levels above the value in
1441 register Hps use the amount of space in register Hps1; otherwise
1442 that in Hps2. The value of Hps should be strictly greater than
1443 that of Ej (1).
1444
1445 Hps1 configures the amount of vertical space preceding a heading
1446 above the Hps threshold; see H (troff devices: 0.5v; nroff de‐
1447 vices: 1v).
1448
1449 Hps2 configures the amount of vertical space preceding a heading at
1450 or below the Hps threshold; see H (troff devices: 1v; nroff de‐
1451 vices: 2v).
1452
1453 Hs sets the heading level threshold for application of succeeding
1454 vertical space. If the heading level is greater than Hs, the
1455 heading is followed by vertical space in the amount of regis‐
1456 ter Hss; see H (2).
1457
1458 Hss is multiplied by register Lsp to produce vertical space after
1459 headings above the threshold in register Hs; see H (1).
1460
1461 Ht suppresses output of heading level counters above the lowest
1462 when the heading is formatted; see H (Boolean-valued; 0).
1463
1464 Hu sets the heading level used by unnumbered headings; see HU (2).
1465
1466 Hy enables automatic hyphenation of words (Boolean-valued; 0).
1467
1468 Iso configures the use of ISO 8601 date format if specified (with
1469 any value) on the command line; see ISODATE. The default is de‐
1470 termined by localization files.
1471
1472 L defines the page length for the document, and must be set from
1473 the command line. A scaling unit should be appended. The de‐
1474 fault is that of the selected groff output device.
1475
1476 Le
1477 Lf
1478 Lt
1479 Lx configure the report of lists of equation, figure, table, and
1480 exhibit captions, respectively, after a table of contents; see
1481 TC (Boolean-valued; Le: 0; Lf, Lt, Lx: 1).
1482
1483 Letwam sets the maximum number of input lines permitted in a writer's
1484 address; see WA and WE (14).
1485
1486 Li configures the amount of indentation in ens applied to list
1487 items; see LI (6).
1488
1489 Limsp inserts a space between the prefix and the mark in automatically
1490 numbered lists; see AL (Boolean-valued; 1).
1491
1492 Ls sets a threshold for placement of vertical space before list
1493 items. If the list nesting level is greater than this value, no
1494 such spacing occurs; see LI (99).
1495
1496 Lsp configures the base amount of vertical space used for separation
1497 in the document. mm applies this spacing to many contexts,
1498 sometimes with multipliers; see DS, FS, H, LI, and P (troff de‐
1499 vices: 0.5v; nroff devices: 1v).
1500
1501 N configures the header and footer placements used by PH. The de‐
1502 fault footer is empty. If “section-page” numbering is selected,
1503 the default header becomes empty and the default footer becomes
1504 “x-y”, where x is is the section number (the number of the cur‐
1505 rent first-level heading) and y the page number within the sec‐
1506 tion. The following values are recognized; for finer control,
1507 see PH, PF, EH, EF, OH, and OF, and registers Sectf and Sectp.
1508 Value 5 is a GNU extension (0).
1509
1510 Value Effect
1511 0 Set header on all pages.
1512 1 Move header to footer on page 1.
1513 2 Omit header on page 1.
1514 3 Use “section-page” numbering style on all pages.
1515 4 Omit header on all pages.
1516 5 Use “section-page” and “section-figure” numbering style
1517 on all pages.
1518
1519 Np causes paragraphs after first-level headings (only) to be num‐
1520 bered in the format s.p, where s is is the section number (the
1521 number of the current first-level heading) and p is the para‐
1522 graph number, starting at 1; see H and P (Boolean-valued; 0).
1523
1524 O defines the page offset of the document, and must be set from
1525 the command line. A scaling unit should be appended. The de‐
1526 fault is .75i on terminal devices. On typesetters, it is .963i
1527 or set to 1i by the papersize.tmac package; see groff_tmac(5).
1528
1529 Oc suppresses the appearance of page numbers in the table of con‐
1530 tents; see TC (Boolean-valued; 0).
1531
1532 Of selects a separator format within equation, exhibit, figure, and
1533 table captions; see EC, EX, FG, and TB. The following values
1534 are recognized; the spaces shown are unpaddable (0).
1535
1536 Value Effect
1537 0 ". "
1538 1 " — "
1539
1540 P interpolates the current page number; it is the same as regis‐
1541 ter % except when “section-page” numbering is enabled.
1542
1543 Pi configures the amount of indentation in ens applied to the first
1544 line of a paragraph; see P (5).
1545
1546 Pgps causes the type size and vertical spacing set by S to apply to
1547 headers and footers, overriding the HP string. If not set, S
1548 calls affect headers and footers only when followed by PH, PF,
1549 OH, EH, OF, or OE calls (Boolean-valued; 1).
1550
1551 Ps is multiplied by register Lsp to vertically separate paragraphs;
1552 see P (1).
1553
1554 Pt determines when a first-line indentation is applied to a para‐
1555 graph; see P (0).
1556
1557 Value Effect
1558 0 never
1559 1 always
1560 2 always, except immediately after H, DE, or LE
1561
1562 Ref is used internally to control mmroff(1)'s two-pass approach to
1563 index and reference management; see INITI and RS (Boolean-val‐
1564 ued; 0).
1565
1566 Rpe configures the default page ejection policy for reference pages;
1567 see RP (0).
1568
1569 Value Effect
1570 0 Break the page before and after the list of references.
1571
1572 1 Suppress page break after the list.
1573 2 Suppress page break before the list.
1574 3 Suppress page breaks before and after the list.
1575
1576 S defines the type size for the document, and must be set from the
1577 command line. A scaling unit should be appended; p is typical
1578 (10p).
1579
1580 Sectf selects the “section-figure” numbering style. Its default is 0
1581 unless register N is set to 5 at the command line (Boolean-val‐
1582 ued).
1583
1584 Sectp selects the “section-page” numbering style. Its default is 0
1585 unless register N is set to 3 or 5 at the command line (Boolean-
1586 valued).
1587
1588 Si configures the amount of display indentation in ens; see DS (5).
1589
1590 Tb is an auto-incrementing table counter; see TB.
1591
1592 V defines the vertical spacing for the document, and must be set
1593 from the command line. A scaling unit should be appended; p is
1594 typical. The default vertical spacing is 120% of the type size.
1595
1596 Verbin configures the amount of indentation for verbatim displays when
1597 indentation is selected; see VERBON (5n).
1598
1599 W defines the “width” of the document (that is, the length of an
1600 output line with no indentation); it must be set from the com‐
1601 mand line. A scaling unit should be appended. The default
1602 is 6i or assigned by the papersize.tmac package; see
1603 groff_tmac(5).
1604
1606 The LT letter macros call further macros depending on the letter type,
1607 with which they are suffixed. It is therefore possible to define addi‐
1608 tional letter types, either in the territory-specific macro file, or as
1609 local additions. LT sets the registers Pt and Pi to 0 and 5, respec‐
1610 tively. The following macros must be defined to support a new letter
1611 type.
1612
1613 let@init_type
1614 LT calls this macro to initialize any registers and other data
1615 needed by the letter type.
1616
1617 let@head_type
1618 formats the letterhead; it is called instead of the usual page
1619 header macro. Its definition should remove the alias let@header
1620 unless the letterhead is desired on subsequent pages.
1621
1622 let@sg_type name title n is-final [SG-arg ...]
1623 SG calls this macro only for letters; MT memoranda have their
1624 own signature processing. name and title are specified through
1625 WA/WE. n is the index of the nth writer, and is-final is true
1626 for the last writer to be listed. Further SG arguments are ap‐
1627 pended to the signature line.
1628
1629 let@fc_type closing
1630 This macro is called by FC, and has the formal closing as the
1631 argument.
1632
1633 LO implements letter options. It requires that a string named Lettype
1634 be defined, where type is the letter type. LO then assigns its second
1635 argument (value) to the string let*lo-type.
1636
1638 /usr/share/groff/1.23.0/tmac/m.tmac
1639 is the groff implementation of the memorandum macros.
1640
1641 /usr/share/groff/1.23.0/tmac/mm.tmac
1642 is wrapper to load m.tmac.
1643
1644 /usr/share/groff/1.23.0/tmac/refer-mm.tmac
1645 implements refer(1) support for mm.
1646
1647 /usr/share/groff/1.23.0/tmac/mm/ms.cov
1648 implements an ms-like cover sheet.
1649
1650 /usr/share/groff/1.23.0/tmac/mm/0.MT
1651 implements memorandum types 0–3 and 6.
1652
1653 /usr/share/groff/1.23.0/tmac/mm/4.MT
1654 implements memorandum type 4.
1655
1656 /usr/share/groff/1.23.0/tmac/mm/5.MT
1657 implements memorandum type 5.
1658
1659 /usr/share/groff/1.23.0/tmac/mm/locale
1660 performs any (further) desired necessary localization; empty by
1661 default.
1662
1664 The GNU version of the mm macro package was written by Jörgen Hägg ⟨jh@
1665 axis.se⟩ of Lund, Sweden.
1666
1668 MM - A Macro Package for Generating Documents ⟨https://tkurtbond.github
1669 .io/troff/mm-all.pdf⟩, the DWB 3.3 mm manual, introduces the package
1670 but does not document GNU extensions.
1671
1672 Groff: The GNU Implementation of troff, by Trent A. Fisher and Werner
1673 Lemberg, is the primary groff manual. You can browse it interactively
1674 with “info groff”.
1675
1676 groff(1), troff(1), tbl(1), pic(1), eqn(1), refer(1), groff_mmse(7)
1677
1678
1679
1680groff 1.23.0 2 November 2023 groff_mm(7)