 |
|
| |
groff_mm(7) |
FreeBSD Miscellaneous Information Manual |
groff_mm(7) |
groff_mm - memorandum macros for GNU roff
groff -mm |
[option ...] [file ...] |
groff -m mm |
[option ...] [file ...] |
The GNU implementation of the mm macro package is part of
the groff document formatting system. The mm package is
suitable for the composition of letters, memoranda, reports, and books.
Call an mm macro at the beginning of a document to
initialize the package. A simple mm document might use only P
for paragraphing. Set numbered and unnumbered section headings with H
and HU, respectively. Change the style of the typeface with B,
I, and R; you can alternate styles with BI, BR,
IB, IR, RB, and RI. Several nestable list types
are available via AL, BL, BVL, DL, ML,
RL, and VL; each of these begins a list, to which LI
adds an item and LE ends the (nested) list. Customized list
arrangements are supported by LB. DS and DF start
static and floating displays, respectively; either is terminated with
DE.
groff mm is intended to be compatible with the mm
implementation found in the AT&T Documenter's Workbench (DWB), with the
following limitations.
- •
- Omitted features include the logo and company name strings, }Z and
]S, respectively; the encoded company site location addresses
recognized as the third argument to the AU macro; the Pv
(“private” heading) register; and the OK (other
keywords), and PM (proprietary markings) macros.
- •
- The CS (output cover sheet) macro is implemented only for
memorandum type 4.
- •
- The grap preprocessor is not explicitly supported; no G1 and
G2 macros are defined.
- •
- The registers A, C, E, T, and U,
typically set from the troff or nroff command lines with DWB
mm, are not recognized.
- •
- When setting the registers L or W from the command line, use
an explicit scaling unit to avoid surprises.
- •
- DWB mm's nP macro indented the second line of a paragraph to
align it with the start of the text of the first (after the paragraph
number); groff mm's does not.
- •
- Cut marks are not supported.
DWB mm supported only seven levels of heading. As a
compatible extension, groff mm supports fourteen, introducing new
registers H8 through H14, and affecting the interpretation of
the HF and HP strings.
Macro, register, and string descriptions in this page frequently
mention each other; most cross references are to macros. Where a register or
string is referenced, its type is explicitly identified. mm's macro
names are usually in full capitals; registers and strings tend to have
mixed-case names.
groff mm offers three different frameworks for document
organization. COVER/COVEND is a flexible means of preparing
any document requiring a cover page. LT/LO aids preparation of
typical Anglophone correspondence (business letters, for example). The
MT memorandum type mechanism implements a group of formal styles
historically used by AT&T Bell Laboratories. Your document can select at
most one of these approaches; when used, each disables the others.
groff mm is designed to be easily localized. For languages
other than English, strings that can appear in output are collected in the
file /usr/local/share/groff/1.23.0/tmac/xx.tmac, where
xx is an ISO 639 two-letter language identifier. Localization
packages should be loaded after mm; for example, you might format a
Swedish mm document with the command “groff -mm
-msv”.
This package can also be localized by site or territory; for
example, /usr/local/share/groff/1.23.0/tmac/mse.tmac illustrates how
to adapt the output to a national standard using its ISO 3166 territory
code. Such a package can define a string that causes a macro file
/usr/local/share/groff/1.23.0/tmac/mm/territory_locale to be
loaded at package initialization. If this mechanism is not used,
/usr/local/share/groff/1.23.0/tmac/mm/locale is loaded instead. No
diagnostic is produced if these files do not exist.
Much mm behavior can be configured by registers and
strings. A register is assigned with the nr request.
ident is the name of the register, and n is
the value to be assigned. n can be prefixed with a plus or
minus sign if incrementation or decrementation (respectively) of the
register's existing value by n is desired. If assignment of a
(possibly) negative n is required, further prefix it with a
zero or enclose it in parentheses. If i is specified, the
register is automatically modified by i prior to interpolation
if a plus or minus sign is included in the escape sequence as follows.
i can be negative; it combines algebraically with
the sign in the interpolation escape sequence.
Strings are defined with the ds request.
contents consumes everything up to the end of the line,
including trailing spaces. It is a good practice to end contents with
a comment escape sequence (\") so that extraneous spaces do not
intrude during document maintenance. To include leading spaces in
contents, prefix it with a double quote. Strings are interpolated
with the \* escape sequence.
Register and string name spaces are distinct, but strings and
macros share a name space. Defining a string with the same name as an
mm macro is not supported and may cause incorrect rendering, the
emission of diagnostic messages, and an error exit status from
troff.
A register is interpolated using Arabic numerals if no other
format has been assigned to it. Assign a format to a register with the
af request.
R is the name of the register, and
c is the format. If c is a sequence of Arabic
numerals, their quantity defines a zero-padded minimum width for the
interpolated register value.
Form |
Sequence |
1 |
0, 1, 2, 3, ..., 10, ... |
001 |
000, 001, 002, 003, ..., 1000, ... |
i |
0, i, ii, iii, iv, ... |
I |
0, I, II, III, IV, ... |
a |
0, a, b, c, ..., z, aa, ab, ... |
A |
0, A, B, C, ..., Z, AA, AB, ... |
In groff mm, the fonts (or rather, font styles)
R (roman), I (italic), and
B (bold) are mounted at font positions 1, 2,
and 3, respectively. Internally, font positions are used for
backward compatibility. From a practical point of view, it doesn't make a
big difference—a different font family can still be selected by
invoking groff's fam request or using its -f
command-line option. On the other hand, if you want to replace just, for
example, font I with Zapf Chancery Medium italic (available on
groff's pdf and ps output devices), you have to use the
fp request, replacing the font at position 2 with
“.fp 2 ZCMI”). Because the cover sheet,
memorandum type, and refer(1) integration macros explicitly request
fonts named B, I, and R, you will also need to remap
these font names with the ftr request, for instance with
“.ftr I ZCMI”.
An explicitly empty argument may be specified with a pair of
double quotes; to call a macro XX with an empty second argument but
non-empty first and third ones, you could input the following.
Macro names longer than two characters are GNU extensions; some
shorter names were not part of DWB mm's published interface but are
documented aspects of groff mm.
- )E level text
- Add heading text text to the table of contents with level,
which is either 0 or in the range 1 to 7. See also H.
This undocumented DWB mm macro is exposed by groff mm to
enable customized tables of contents.
- 1C [1]
- Format page text in one column. The page is broken. A 1
argument suppresses this break; its use may cause body text and a pending
footnote to overprint. See 2C, MC, and NCOL.
- 2C
- Begin two-column formatting. This is a special case of MC. See
1C and NCOL.
- AE
- Abstract end; stop collecting abstract text. See AS.
- AF [firm-name]
- Specify firm associated with the document. At most one can be declared;
the firm name is used by memorandum types and available to cover sheets.
AF terminates a document title started with TL, and can be
called without an argument for that purpose. See MT and
COVER.
- AL [type [text-indent [1]]]
- Begin an auto-incrementing numbered list. Item numbers start at one. The
type argument assigns the register format (see above) of the list
item enumerators. The default is 1. An explicitly empty
type also indicates the default. A text-indent argument
overrides register Li. A third argument suppresses the blank line
that normally precedes each list item. Use LI to declare list
items, and LE to end the list.
- APP [id [title]]
- Begin an appendix. If the identifier id is omitted, it is
incremented (or initialized, if necessary). The register format used for
id is “A”. The page is broken. The register
Aph determines whether an appendix heading is then formatted. This
heading uses the string App followed by id. Appendices
appear in any table of contents (see TC). The string Apptxt
is set to title if the latter is present, and made empty
otherwise.
- APPSK id
n [title]
- As APP, but increment the page number by n. Use this macro
to “skip pages” when diagrams or other materials not
formatted by troff are included in appendices.
- AS [placement [indentation]]
- Abstract start; begin collecting abstract. Input up to the next AE
call is included in the abstract. placement influences the location
of the abstract on the cover sheet of a memorandum (see MT).
COVER, by contrast, ignores placement by default, but can be
customized to interpret it.
-
placement |
Effect |
0 |
The abstract appears on page 1 and cover sheet if the
document is a “released paper” memorandum (“
".MT 4" ”); otherwise, it appears on page 1
without a cover sheet. |
1 |
The abstract appears only on the cover sheet (“ ".MT
4" ” only). |
- An abstract does not appear at all in external letters (“.MT
5”). A placement of 2 was supported by DWB
mm but is not by groff mm.
- A second argument increases the indentation by indentation and
reduces the line length by twice this amount. A scaling unit of ens is
assumed. The default is 0.
- AST [caption]
- Set the caption above the abstract to caption, or clear it if there
is no argument. The default is “ABSTRACT”.
- AT title ...
- Specify author's title(s). If present, AT must appear just after
the corresponding author's AU. Each title occupies an output
line beneath the author's name in the signature block used by LT
letters (see SG) and in MT memoranda. The ms cover
sheet style also uses it.
- AU [name [initials [loc [dept [ext [room [arg1 [arg2 [arg3]]]]]]]]]
- Specify author. AU terminates a document title started with
TL, and can be called without arguments for that purpose. Author
information is used by cover sheets, MT memoranda, and SG.
Further arguments comprise initials, location, department, telephone
extension, room number or name, and up to three additional items. Repeat
AU to identify multiple authors.
- Use WA/WE instead to identify the author for documents
employing LT.
- AV [name [1]]
- Format approval lines for a handwritten signature and date. Two horizontal
rules are drawn, with the specified name and the text of the string
Letdate beneath them. Above these rules, the text in the string
Letapp is formatted; a second argument replaces this text with a
blank line. See LT.
- AVL [name]
- As AV, but the date, date rule, and approval notation Letapp
are omitted.
- B [bold-text [previous-font-text]] ...
- Join bold-text in boldface with previous-font-text in the
previous font, without space between the arguments. If no arguments,
switch font to bold style.
- B1
- Begin boxed, kept display. The text is indented one character, and the
right margin is one character shorter. This is a GNU extension.
- B2
- End boxed, kept display. This is a GNU extension.
- BE
- End bottom block; see BS.
- BI [bold-text [italic-text]] ...
- Join bold-text in boldface with italic-text in italics,
without space between the arguments.
- BL [text-indent [1]]
- Begin bulleted list. Items are prefixed with a bullet and a space. A
text-indent argument overrides register Pi. A second
argument suppresses blank lines between items. Use LI to declare
list items, and LE to end the list.
- BR [bold-text [roman-text]] ...
- Join bold-text in boldface with roman-text in roman style,
without space between the arguments.
- BS
- Begin bottom block. Input is collected until BE is called, and
output between the footnote area and footer of each page.
- BVL [text-indent [mark-indent [1]]]
- Begin broken variable-item (or “tagged”) list. Each item is
expected to supply its own mark. The line is always broken after the mark;
contrast VL. text-indent sets the indentation of the text,
and mark-indent the distance from the current list indentation to
the mark. A third argument suppresses the blank line that normally
precedes each list item. Use LI to declare list items, and
LE to end the list.
- COVER [style]
- Begin a cover page description. COVER must appear before the body
text (or main matter) of a document. The argument style is used to
construct the file name
/usr/local/share/groff/1.23.0/tmac/mm/style.cov and load it
with the mso request. The default style is ms; the
ms.cov file prepares a cover page resembling those of the ms
package. A .cov file must define a COVEND macro, which a
document must call at the end of the cover description. Use cover
description macros in the following order; only TL and AU
are required.
-
.COVER
.TL
.AF
.AU
.AT
.AS
.AE
.COVEND
- COVEND
- End the cover description.
- DE
- End static or floating display begun with DS or DF.
- DF [format [fill [right-indentation]]]
- Begin floating display. A floating display is saved in a queue and output
in the order entered. Arguments are handled as in DS. Floating
displays cannot be nested. Placement of floating displays is controlled by
the registers De and Df.
- DL [text-indent [1]]
- Begin dashed list. Items are prefixed with an em dash and a space. A
text-indent argument overrides register Pi. A second
argument suppresses blank lines between items. Use LI to declare
list items, and LE to end the list.
- DS [format [fill [right-indentation]]]
- Begin static display. Input until DE is called is collected into a
display. The display is output on a single page unless it is taller than
the height of the page. DS can be nested (contrast with
DF).
-
format |
Effect |
none |
Do not indent the display. |
L |
Do not indent the display. |
I |
Indent text by \n[Si] . |
C |
Center each line. |
CB |
Center the whole display as a block. |
R |
Right-adjust the lines. |
RB |
Right-adjust the whole display as a block. |
- The values “L”, “I”, “C”, and
“CB” can also be specified as “0”,
“1”, “2”, and “3”, respectively,
for compatibility with DWB mm.
-
fill |
Effect |
none |
Disable filling. |
N |
Disable filling. |
F |
Enable filling. |
- “N” and “F” can also be specified as
“0” and “1”, respectively, for compatibility
with DWB mm.
- A third argument reduces the line length by right-indentation.
- mm normally places blank lines before and after the display. Set
register Ds to 0 to suppress these.
- EC [title [override [flag [refname]]]]
- Caption an equation. The caption consists of the string Liec
followed by an automatically incrementing counter stored in the register
Ec, punctuation configured by the register Of, then
title (if any). Use the af request to configure Ec's
number format. override and flag alter the equation number
as follows. Omitting flag and specifying 0 in its place are
equivalent.
-
flag |
Effect |
0 |
Prefix number with override . |
1 |
Suffix number with override . |
2 |
Replace number with override . |
- Equation captions are centered irrespective of the alignment of any
enclosing display.
- refname stores the equation number using SETR; it can be
retreived with “.GETST refname”. This argument
is a GNU extension.
- Captioned equations are listed in a table of contents (see TC) if
the Boolean register Le is true. Such a list uses the string
Le as a heading.
- EF ["'left'center'right'"]
- Define the even-page footer, which is formatted just above the normal page
footer on even-numbered pages. See PF. EF defines the string
EOPef.
- EH ["'left'center'right'"]
- Define the even-page header, which is formatted just below the normal page
header on even-numbered pages. See PH. EH defines the string
TPeh.
- EN
- End equation input preprocessed by eqn(1); see EQ.
- EOP
- If defined, this macro is called in lieu of normal page footer layout.
Headers and footers are formatted in a separate environment. See
TP.
-
Strings available to
EOP |
EOPf |
argument to PF |
EOPef |
argument to EF |
EOPof |
argument to OF |
- EPIC [-L]
width height [name]
- Draw a box with the given width and height. It also prints
the text name or a default string if name is not specified.
This is used to include external pictures; just give the size of the
picture. -L left-aligns the picture; the default is to center. See
PIC.
- EQ [label]
- Start equation input preprocessed by eqn(1). EQ and
EN macro calls bracket an equation region. Such regions must be
contained in displays (DS/DE), except when the region is
used only to configure eqn and not to produce output. If present,
label appears aligned to the right and centered vertically within
the display; see register Eq. If multiple eqn regions occur
within a display, only the last label (if any) is used.
- EX [title [override [flag [refname]]]]
- Caption an exhibit. Arguments are handled analogously to EC. The
register Ex is the exhibit counter. The string Liex precedes
the exhibit number and any title. Exhibit captions are centered
irrespective of the alignment of any enclosing display.
- Captioned exhibits are listed in a table of contents (see TC) if
the Boolean register Lx is true. Such a list uses the string
Lx as a heading.
- FC [closing-text]
- Output the string Letfc, or the specified closing-text, as
the formal closing of a letter.
- FD [arg [1]]
- Configure display of footnotes. The first argument encodes enablement of
automatic hyphenation, adjustment to the right margin, indentation of
footnote text, and left- vs. right-alignment of the footnote label within
the space allocated for it.
-
arg |
Hyphenate? |
Adjust? |
Indent? |
Label alignment |
0 |
no |
yes |
yes |
left |
1 |
yes |
yes |
yes |
left |
2 |
no |
no |
yes |
left |
3 |
yes |
no |
yes |
left |
4 |
no |
yes |
no |
left |
5 |
yes |
yes |
no |
left |
6 |
no |
no |
no |
left |
7 |
yes |
no |
no |
left |
8 |
no |
yes |
yes |
right |
9 |
yes |
yes |
yes |
right |
10 |
no |
no |
yes |
right |
11 |
yes |
no |
yes |
right |
- An arg greater than 11 is treated as 0. mm's
default is 0.
- If a second argument, conventionally 1, is given, footnote
numbering is reset when a first-level heading is encountered. See
FS.
- FE
- End footnote; see FS.
- FG [title [override [flag [refname]]]]
- Caption a figure. Arguments are handled analogously to EC. The
register Fg is the figure counter. The string Lifg precedes
the figure number and any title. Figure captions are centered
irrespective of the alignment of any enclosing display.
- Captioned figures are listed in a table of contents (see TC) if the
Boolean register Lf is true. Such a list uses the string Lf
as a heading.
- FS [label]
- Start footnote. Input until FE is called is collected into a
footnote. By default, footnotes are automatically numbered starting at 1;
the number is available in register :p and, with a trailing period,
in string F. This string precedes the footnote text at the
bottom of the column or page. Footnotes are vertically separated by the
product of registers Fs and Lsp. In groff mm,
footnotes may be used in displays.
- A label argument replaces the contents of the string F; it
need not be numeric. In this event, the footnote marker in the body text
must be explicitly written.
- GETHN refname
[varname]
- Include the heading number where the corresponding “.SETR
refname” was placed. This is displayed as
“X.X.X.” in pass 1. See INITR. If
varname is used, GETHN sets the string varname to the
heading number.
- GETPN refname
[varname]
- Include the page number where the corresponding “.SETR
refname” was placed. This is displayed as
“9999” in pass 1. See INITR. If varname
is used, GETPN sets the string varname to the page
number.
- GETR refname
- Combine GETHN and GETPN with the text
“chapter” and “, page”. The string
Qrf contains the text for the cross reference:
- .ds Qrf See chapter \\*[Qrfh], page \\*[Qrfp].
- Qrf may be changed to support other languages. Strings Qrfh
and Qrfp are set by GETR and contain the page and heading
number, respectively.
- GETST refname
[varname]
- Include the string saved with the second argument to .SETR. This is
a dummy string in pass 1. If varname is used, GETST
sets it to the saved string. See INITR.
- H level [title [suffix]]
- Set a numbered section heading at level. mm produces
numbered heading marks of the form a.b.c...,
with up to fourteen levels of nesting. Each level's number increases
automatically with each H call and is reset to zero when a more
significant level is specified. “1” is
the most significant or coarsest division of the document. Text after an
H call is formatted as a paragraph; calling P is
unnecessary.
- title specifies an optional title; it must be double-quoted if it
contains spaces. mm appends suffix to title in the
body of the document, but omits it from any table of contents (see
TC). This facility can be used to annotate the heading title with a
footnote. suffix should not interpolate the F string;
specify a footnote mark explicitly. See FS.
- Heading behavior is highly configurable. Several registers set a
threshold, where heading levels at or below the threshold value are
handled in one way, and those above it another. For example, a heading
level within the threshold of register Cl is included in the table
of contents (see TC).
- Heading layout. Register Ej sets a threshold for page
breaking (ejection) prior to a heading. If not preceded by a page break, a
heading level below the threshold in register Hps is preceded by
the amount of vertical space in register Hps1, and by the amount in
Hps2 otherwise. The Hb register sets a threshold below which
a break occurs after the heading, and register Hs sets a threshold
below which vertical space follows it. If the heading level is not less
than both of these, a run-in heading is produced; paragraph text
follows on the same output line. Otherwise, register Hi configures
the indentation of text after headings. Threshold register Hc
enables the centering of headings; a heading level below both of the
Hb and Hc thresholds is centered.
- Heading typeface and size. The fonts used for heading numbers and
titles at each level are configured by the HF string. The string
HP likewise assigns a type size to each heading level. The vertical
spacing used by headings may be controlled by the user-definable macros
HX and/or HZ.
- Heading number format. Registers named H1 through H14
store counters for each heading level. Their values are printed using
Arabic numerals by default; see HM. The heading levels are
catenated with dots for formatting; to typeset only the deepest, set the
Ht register. Heading numbers are not suffixed with a trailing dot
except when only the first level is output; to omit a dot in this case as
well, clear the H1dot register.
- Customizing heading behavior. mm calls hook macros to
enable further customization of headings. (DWB mm called these
“exits”.) They can be used to change the heading's
mark (the numbered portion before any heading title), its vertical
spacing, and its vertical space requirements (for instance, to require a
minimum quantity of subsequent output lines). Define hook macros in
expectation of the following parameters. The argument
declared-level is the level argument to H,
or 0 for unnumbered headings (see HU).
actual-level is the same as declared-level for numbered
headings, and the value of register Hu for unnumbered
headings. title is the corresponding argument to H or
HU.
- HX declared-level
actual-level title
- mm calls HX before setting the heading. Your definition may
alter }0, }2, and ;3.
- }0 (string)
- contains the heading mark plus two spaces if declared-level is
non-zero, and otherwise is empty.
- ;0 (register)
- encodes a position for the text after the heading. 0 means that the
heading is to be run in, 1 means that a break is to occur before
the text, and 2 means that vertical space is to separate heading
and text.
- }2 (string)
- is the suffix that separates a run-in heading from the text. It contains
two spaces if register ;0 is 0, and otherwise is empty.
- ;3 (register)
- contains the vertical space required for the heading to be typeset. If
that amount is not available, the page is broken prior to the heading. The
default is 2v.
- HY declared-level
actual-level title
- mm calls HY after determing the heading typeface and size.
It could be used to change indentation.
- HZ declared-level
actual-level title
- mm calls HZ after formatting the heading, just before
H or HU returns. It could be used to change the page header
to include a section heading.
- HC [hyphenation-character]
- Set hyphenation character. Default value is “\%”. Resets to
the default if called without argument. Hyphenation can be turned off by
setting register Hy to 0 at the beginning of the file.
- HM [arg1 [arg2
[... [arg14]]]]
- Set the heading mark style. Each argument assigns the specified register
format (see above) to the corresponding heading level. The default
is 1 for all levels. An explicitly empty argument also
indicates the default.
- HU heading-text
- Set an unnumbered section heading. Except for a heading number, it is
treated as a numbered heading of the level stored in
register Hu; see H.
- I [italic-text [previous-font-text]] ...
- Join italic-text in italics with previous-font-text in the
previous font, without space between the arguments. If no arguments,
switch font to italic style.
- IA [recipient-name [title]]
- Specify the inside address in a letter. Input is collected into the inside
address until IE is called, and then output. You can specify
multiple recipients with empty IA/IE pairs; only the last
address is used. The arguments give each recipient a name and title. See
LT.
- IB [italic-text [bold-text]] ...
- Join italic-text in italics with bold-text in boldface,
without space between the arguments.
- IE
- End the inside address begun with IA.
- IND argument ...
- If the Boolean register Ref is true, write an index entry as a
specially prepared roff comment to the standard error stream, with
each argument separated from its predecessor by a tab character.
The entry's location information is arranged as configured by the most
recent INITI call.
- INDP
- Output the index set up by INITI and populated by IND calls.
By default, INDP calls SK and writes a centered caption
interpolating the string Index. It then disables filling and calls
2C; afterward, it restores filling and calls 1C.
- Define macros to customize this behavior. INDP calls TXIND
before the caption, TYIND instead of writing the caption,
and TZIND after formatting the index.
- INITI location-type
file-name [macro]
- Initialize groff mm's indexing system. Argument
location-type selects how the location of each index entry is
reported. file-name populates an internal string used later by
INDP.
-
location-type |
Entry format |
N |
page number |
H |
heading mark |
B |
page number, tab character, heading mark |
- If macro is specified, it is called for each index entry with the
arguments given to IND.
- INITR id
- Initialize the cross reference macros. Cross references are written to the
standard error stream, which should be redirected into a file named
id.qrf. mmroff(1) handles this and the two formatting passes
it requires. The first pass identifies cross references, and the second
one includes them.
- See SETR, GETPN, and GETHN.
- IR [italic-text [roman-text]] ...
- Join italic-text in italics with roman-text in roman style,
without space between the arguments.
- ISODATE [0]
- Use ISO 8601 format for the date string DT used by some
cover sheet and memorandum types; that is,
YYYY-MM-DD. Must be called before ND to be
effective. If given an argument of 0, the traditional date
format for the groff locale is used; this is also the default.
- LB text-indent
mark-indent pad
type [mark [pre-item-space [pre-list-space]]]
- Begin list. The macros AL, BL, BVL, DL,
ML, RL, and VL call LB in various ways; they
are simpler to use and may be preferred if they suit the desired purpose.
- The nesting level of lists is tracked by mm; the outermost level
is 0. The text of each list item is indented by text-indent;
the default is taken from the Li register (in ens). Each item's
mark is indented by mark-indent; the default is 0n. The mark
is normally left-aligned. If pad is greater than zero,
mark-indent is overridden such that pad ens of space follow
the mark. type selects one of six possible ways to display the
mark.
-
type |
Output for a mark “x” |
1 |
x. |
2 |
x) |
3 |
(x) |
4 |
[x] |
5 |
<x> |
6 |
{x} |
- If type is 0 and mark is unspecified, the items are
set with a hanging indent. Otherwise, mark is interpreted as a
string defining the mark. If type is greater than zero, items are
automatically numbered; mark is interpreted as a register format.
The default type is 0.
- The last two arguments manage vertical space. Unless a list's nesting
level is greater than the value of register Ls, its items are
preceded by pre-item-space multiplied by the register Lsp;
the default is 1. LB precedes the list by
pre-list-space multiplied by the register Lsp; the default
is 0.
- LC [list-level]
- Clear list state. Active lists are terminated as if with LE, either
all (the default) or only those from the current level down to
list-level if specified. H calls LC
automatically.
- LE [1]
- End list. The current list is terminated. An argument of 1
causes vertical space in the amount of register Lsp to follow the
list.
- LI [mark [item-mark-mode]]
- Begin a list item. Input is collected into a list item until the current
list is terminated or LI is called again. By default, the item's
text is preceded by any mark configured by the current list. If only
mark is specified, it replaces the configured mark. A second
argument prefixes mark to the configured mark; an
item-mark-mode value of 1 places an unbreakable space after
mark, while a value of 2 does not (rendering the two
adjacent). Also see register Limsp.
- LO option [value]
- Specify letter options; see LT. Standard options are as follows.
See IA regarding the inside address and string DT regarding
the date.
-
option |
Effect |
AT |
Attention; put contents of string LetAT and value left-aligned after
the inside address. |
CN |
Confidential; put value, or contents of string LetCN , left-aligned
after the date. |
RN |
Reference; put contents of string LetRN and value after the
confidental notation (if any) and the date, aligned with the
latter. |
SA |
Salutation; put value, or contents of string LetSA , left-aligned
after the inside address and the confidental notation (if any). |
SJ |
Subject; put contents of string LetSJ and value left-aligned after
the inside address and the attention and salutation notations (if
any). . In letter type “SP”, LetSJ is ignored and value
is set in full capitals. |
- LT [style]
- Format a letter in the designated style, defaulting to BL
(see below). A letter begins with the writer's address
(WA/WE), followed by the date (ND), the inside
address (IA/IE), the body of the letter (P and other
general-purpose mm macros), the formal closing (FC), the
signature (SG), and notations (NS/NE). Any of these
may be omitted. Letter options specified with LO add further
annotations, which are extensible; see section “Internals”
below.
-
style |
Description |
BL |
Blocked: the writer's address, date, formal closing, and signature
are indented to the center of the line. . Everything else is
left-aligned. |
SB |
Semi-blocked: as BL , but the first line of each paragraph is
indented by 5m . . |
FB |
Fully blocked: everything begins at the left margin. |
SP |
Simplified: as FB , but a formal closing is omitted, and the
signature is set in full capitals. |
- MC column-width [gutter-width]
- Begin multi-column layout. groff mm creates as many columns of
column-width as the line length will permit. gutter-width is
the interior spacing between columns. It defaults to
column-width/15. 1C returns to single-column layout.
MC is a GNU extension. See MULB for an alternative.
- ML mark
[text-indent [1]]
- Start a list with the mark argument preceding each list item.
text-indent overrides the default indentation of the list items set
by register Li. If a third argument, conventionally 1, is
given, the blank line that normally precedes each list item is suppressed.
Use LI to declare list items, and LE to end the list.
- MT [type [addressee]]
- Select memorandum type. These correspond to formats used by AT&T Bell
Laboratories, where the mm package was initially developed,
affecting the document layout. Some of these included a cover page with a
caption categorizing the document. groff mm uses type to
construct the file name
/usr/local/share/groff/1.23.0/tmac/mm/type.MT and load it
with the mso request. Memorandum types 0 to 5 are supported;
any other value of type is mapped to type 6. If type
is omitted, 0 is implied. addressee sets a string analogous
to one used by AT&T cover sheet macros that are not implemented in
groff mm.
-
type |
Description |
0 |
normal memorandum; no caption |
1 |
captioned “MEMORANDUM FOR FILE” |
2 |
captioned “PROGRAMMER'S NOTES” |
3 |
captioned “ENGINEER'S NOTES” |
4 |
released paper |
5 |
external letter |
- See COVER for a more flexible cover sheet mechanism.
- MOVE y-pos
[x-pos [line-length]]
- Move to a position, setting page offset to x-pos. If
line-length is not given, the difference between current and new
page offset is used. Use PGFORM without arguments to return to
normal.
- MULB cw1
space1 [cw2 space2] ... cwn
- Begin alternative multi-column mode. All column widths must be specified,
as must the amount of space between each column pair. The arguments'
default scaling unit is n. MULB uses a diversion and
operates in a separate environment.
- MULN
- Begin next column in alternative column mode.
- MULE
- End alternative multi-column mode and emit the columns.
- NCOL
- Move to the start of the next column (only when using 2C or
MC). Contrast with MULN.
- ND [arg]
- Set the document's date. mm does not interpret arg; it can
be a revision identifier (or empty).
- NE
- End notation begun with NS; filling is enabled.
- nP [type]
- Begin a numbered paragraph at heading level two. See P.
- NS [code [1]]
- Declare notations, typically for letters or memoranda, of the type
specified by code. The text corresponding to code is output,
and filling is disabled until NE is called. Typically, a list of
names or attachments lies within NS/NE. If code is
absent or does not match one of the values listed under the Letns
string description below, each line of notations is formatted as
“Copy (line) to”. If a second argument,
conventionally 1, is given, code becomes the entire notation
and NE is not necessary. In groff mm, you can set up further
notations to be recognized by NS; see the strings Letns and
Letnsdef below.
- OF ["'left'center'right'"]
- Define the odd-page footer, which is formatted just above the normal page
footer on odd-numbered pages. See PF. OF defines the string
EOPof.
- OH ["'left'center'right'"]
- Define the odd-page header, which is formatted just below the normal page
header on odd-numbered pages. See PH. OH defines the string
TPoh.
- OP
- Make sure that the following text is printed at the top of an odd-numbered
page. Does not output an empty page if currently at the top of an odd
page.
- P [type]
- Begin new paragraph. If type is missing or 0,
P sets the paragraph fully left-aligned. A type
of 1 idents the first line by \[Pi] ens. Set the register
Pt to select a default paragraph indentation style. The register
Ps controls the vertical spacing between paragraphs.
- PE
- Picture end; see pic(1).
- PF ["'left'center'right'"]
- Define the page footer. The footer is formatted at the bottom of each
page; the argument is otherwise as described in PH. PF
defines the string EOPf. See EF, OF, and
EOP.
- PGFORM [linelength
[pagelength [pageoffset [1]]]]
- Set line length, page length, and/or page offset. This macro can be used
for letterheads and similar. It is normally the first macro call in a
file, though it is not necessary. PGFORM can be used without
arguments to reset everything after a MOVE call. A line break is
done unless the fourth argument is given. This can be used to avoid the
page number on the first page while setting new width and length. (It
seems as if this macro sometimes doesn't work too well. Use the
command-line arguments to change line length, page length, and page offset
instead.)
- PGNH
- Suppress header on the next page. This macro must be called before any
macros that produce output to affect the layout of the first page.
- PH ["'left'center'right'"]
Define the page header, formatted at the top of each
page, as the argument, where left, center, and right are
aligned to the respective locations on the line. A “ %”
character in arg is replaced by the page number. If the argument is
absent, no page header is set. The default page header is
which centers the page number between hyphens and formats nothing at the upper
left and right. Header macros call PX (if defined) after formatting the
header. PH defines the string TPh. See EH, OH, and
TP.
- PIC [-B] [-C|-I n|-L|-R] file [width [height]]
- Include PostScript document file. The optional -B argument
draws a box around the picture. The optional -L, -C,
-R, and -I n arguments align the picture or
indent it by n (assuming a scaling unit of m). By default,
the picture is left-aligned. Optional width and height
arguments resize the picture. Use of this macro requires two-pass
processing; see INITR and mmroff(1).
- PS
- Picture start; see pic(1).
- PY
- Picture end with flyback. Ends a pic(1) picture, returning the
vertical position to where it was prior to the picture. This is a GNU
extension.
- R [roman-text [previous-font-text]] ...
- Join roman-text in roman style with previous-font-text in
the previous font, without space between the arguments. If no arguments,
switch font to roman style.
- RB [roman-text [bold-text]] ...
- Join roman-text in roman style with bold-text in boldface,
without space between the arguments.
- RD [prompt
[diversion [string]]]
- Read from standard input to diversion and/or string. The text is saved in
a diversion named diversion. Recall the text by writing the name of
the diversion after a dot on an empty line. A string is also defined if
string is given. Diversion and/or prompt can be empty
("").
- RF
- Reference end. Ends a reference definition and returns to normal
processing. See RS.
- RI [roman-text [italic-text]] ...
- Join roman-text in roman style with italic-text in italics,
without space between the arguments.
- RL [text-indent [1]]
- Begin reference list. Each item is preceded by an automatically
incremented number between square brackets; compare AL.
text-indent changes the default indentation. Use LI to
declare list items, and LE to end the list. A second argument,
conventionally 1, suppresses the blank line that normally precedes
each list item.
- RP [suppress-counter-reset [page-ejection-policy]]
- Format a reference page, listing items accumulated within
RS/RF pairs. The reference counter is reset unless the first
argument is 1. Normally, page breaks occur before and after
the references are output; the register Rpe configures this
behavior, and a second argument overrides its value. TC calls
RP automatically if references have accumulated.
- References are list items, and thus are vertically separated (see
LB). Setting register Ls to 0 suppresses this
spacing. The string Rp contains the reference page caption.
- RS [reference-string]
- Begin an automatically numbered reference definition. By default,
references are numbered starting at 1; the number is available in register
:R. Interpolate the string Rf where the reference mark
should be and write the reference between RS/RF on an input
line after the reference mark. If reference-string is specified,
groff ms also stores the reference mark in a string of that name,
which can be interpolated as \*[reference-string]
subsequently.
- S [type-size [vertical-spacing]]
- Set type size and vertical spacing. Each argument is a groff
measurement, using an appropriate scaling unit and an optional + or
- prefix to increment or decrement the current value. An argument
of P restores the previous value, C indicates the current
value, and D requests the default. An empty or omitted argument is
treated as P.
- SA [mode]
- Set or restore the default enablement of adjustment. Specify 0 or
1 as mode to set a document's default explicitly; 1
is assumed by mm. Adjustment can be temporarily suspended with the
na request. When the H or HU macros are used to
format a heading, or when SA is called without a mode
argument, the default adjustment is restored.
- SETR refname
[string]
- Remember the current heading and page numbers as refname. Saves
string if string is defined. string is retrieved with
GETST. See INITR.
- SG [arg [1]]
- Signature line. Prints the authors name(s) after the formal closing. The
argument is appended to the reference data, printed at either the first or
last author. The reference data is the location, department, and initials
specified with AU. It is printed at the first author if the second
argument is given, otherwise at the last. No reference data is printed if
the author(s) is specified through WA/WE. See section
“Internals” below.
- SK [n]
- Skip n pages. If n is 0 or omitted, the page is
broken unless the drawing position is already at the top of a page.
Otherwise, n pages, blank except for any headers and footers, are
printed.
- SM text [post]
- SM pre text
post
- Format text at a smaller type size, joined with any specified
pre and post at normal size.
- SP [lines]
- Space vertically. lines can have any scaling factor, like
“3i” or “8v”. Several SP calls in a
line only produces the maximum number of lines, not the sum. SP is
ignored also until the first text line in a page. Add \& before
a call to SP to avoid this.
- TAB
- Reset tab stops to every 5 ens.
- TB [title [override [flag [refname]]]]
- Caption a table. Arguments are handled analogously to EC. The
register Tb is the table counter. The string Litb precedes
the table number and any title. Table captions are centered
irrespective of the alignment of any enclosing display.
- Captioned tables are listed in a table of contents (see TC) if the
Boolean register Lt is true. Such a list uses the string Lt
as a heading.
- TC [slevel [spacing [tlevel [tab [h1 [h2 [h3 [h4 [h5]]]]]]]]]
- Output table of contents. This macro is normally the last called in the
document. It flushes any pending displays and, if any references are
pending (see RS), calls RP. It then begins a new page with
the contents caption, stored in the string Licon, centered at the
top. The entries follow after three vees of space. Each entry is a saved
section (number and) heading title (see the Cl register), along
with its associated page number. By default, an entry is indented by an
amount corresponding to its heading level and the maximum heading length
encountered at that heading level; if defined, the string Ci
overrides these indentations. Entries at heading levels up to and
including slevel are preceded by spacing vees of space.
Entries at heading levels up to and including tlevel are followed
by a leader and a right-aligned page number. If the Boolean-valued
tab argument is true, the leader is replaced with horizontal motion
in the same amount. For entries above heading level tlevel, the
page number follows the heading text after a word space. Each argument
h1...h5 appears in order on its own line, centered, above
the contents caption. Page numbering restarts at 1, in register format
“i”. If the Oc register is true, numbering of these
pages is suppressed.
- If TC is called with at most four arguments, it calls the
user-defined macro TX (if defined) prior to formatting the contents
caption, and TY (if defined) instead of formatting the
contents caption.
- Analogous handling of lists of figures, tables, equations, and exhibits is
achieved by defining TXxx and TYxx macros,
where xx is “FG”, “TB”,
“EC”, or “EX”, respectively. Similarly, the
strings Lifg, Litb, Liex, and Liec determine
captions for their respective lists.
- TE
- Table end. See TS.
- TH
- End table heading. It is repeated after page breaks within a table. See
TS. The N argument supported by DWB mm is not
implemented by groff mm.
- TL [charging-case-number [filing-case-number]]
- Begin document title. Input is collected into the title until AF or
AU is called, and output as directed by the cover page.
charging-case-number and filing-case-number are saved for
use in memorandum types 0 and 5. See MT.
- TM number ...
- Declare technical memorandum number(s) used by MT.
- TP
- If defined, this macro is called in lieu of normal page header layout.
Headers and footers are formatted in a separate environment. See
EOP.
-
Strings available to
TP |
TPh |
argument to PH |
TPeh |
argument to EH |
TPoh |
argument to OH |
- TS [H]
- Table start. Argument “H” tells mm that the table has
a heading. See TE, TH, and tbl(1).
- VERBON [format [type-size [font]]]
- Begin verbatim display, where characters have equal width. format
controls several parameters. Add up the values of desired features; the
default is 0. On typesetting devices, further arguments
configure the type-size in scaled points, and the face
(font); the default is CR (Courier roman).
-
Value |
Effect |
1 |
Disable the formatter's escape character (\). |
2 |
Vertically space before the display. |
4 |
Vertically space after the display. |
8 |
Number output lines; call formatter's nm request with arguments in
string Verbnm . |
16 |
Indent by the amount stored in register Verbin . |
- VERBOFF
- End verbatim display.
- VL [text-indent [mark-indent [1]]]
- Begin variable-item (or “tagged”) list. Each item should
supply its own mark, or tag. If the mark is wider than mark-indent,
one space separates it from subsequent text; contrast BVL.
text-indent sets the indentation of the text, and
mark-indent the distance from the current list indentation to the
mark. A third argument suppresses the blank line that normally precedes
each list item. Use LI to declare list items, and LE to end
the list.
- VM [-T] [top
[bottom]]
- Vertical margin. Increase the top and bottom margin by top and
bottom, respectively. If option -T is specified, set those
margins to top and bottom. If no argument is given, reset
the margin to zero, or to the default (“7v 5v”) if -T
is used. It is highly recommended that macros TP and/or EOP
are defined if using -T and setting top and/or bottom margin to
less than the default. This undocumented DWB mm macro is exposed by
groff mm to increase user control of page layout.
- WA [writer's-name [title]]
- Specify the writer(s) of an LT letter. Input is collected into the
writer's address until WA is called, and then output. You can
specify multiple writers with empty WA/WE pairs; only the
last address is used. The arguments give each writer a name and
title.
- WC [format ...]
- Control width of footnotes and displays.
format |
Effect |
N |
equivalent to “ "-WF -FF -WD" ” . (default) |
WF |
set footnotes at full line length, even in two-column mode . |
-WF |
set footnotes using column line length |
FF |
apply width of first footnote to encountered to subsequent ones |
-FF |
footnote width determined by WF and -WF |
WD |
set displays at full line length, even in two-column mode . |
-WD |
set displays using column line length |
- WE
- End the writer's address begun with WA.
Many mm strings interpolate predefined, localizable text.
These are presented in quotation marks.
- App
- “APPENDIX”
- Apptxt
- stores the title argument to the last APP call.
- BU
- interpolates a bullet (see BL).
- Ci
- is a list of indentation amounts to use for table of contents heading
levels, overriding their automatic computation. Each word must be a
horizontal measurement (like “1i”) and is mapped
one-to-one to heading levels 1, 2, and so on.
- DT
- The date; set by the ND macro (defaults to the date the document is
formatted). The format is the conventional one for the groff
locale, but see the ISODATE macro and Iso register.
- EM
- interpolates an em dash.
- F
- interpolates an automatically numbered footnote marker; the number is used
by the next FS call without an argument. In troff mode, the
marker is superscripted; in nroff mode, it is surrounded by square
brackets.
- H1txt
- Updated by .H and .HU to the current heading text. Also
updated in table of contents & friends.
- HF
- assigns font identifiers, separated by spaces, to heading levels in
one-to-one correspondence. Each identifier may be a font mounting
position, font name, or style name. Omitted values are assumed to
be 1. The default is “2 2 2 2 2 2 2 2 2 2 2 2 2
2”, which places all headings in italics. DWB mm's
default was “3 3 2 2 2 2 2”.
- HP
- assigns type sizes, separated by spaces, to heading levels in one-to-one
correspondence. Each size is interpreted in scaled points; zero values are
translated to 10. Omitted values are assumed to be 0 (and
are translated accordingly). The default is “0 0 0 0 0 0 0 0 0 0
0 0 0 0”.
- Index
- “INDEX”
- Le
- “LIST OF EQUATIONS”
- Letfc
- “Yours very truly,” (see FC)
- Letapp
- “APPROVED:” (see AV)
- LetAT
- “ATTENTION:” (see LO)
- LetCN
- “CONFIDENTIAL” (see LO)
- Letdate
- “Date” (see AV)
- Letns
- is a group of strings structuring the notations produced by NS. If
the code argument to NS has no corresponding string, the
notation is included between parentheses, prefixed with Letns!copy,
and suffixed with Letns!to. Observe the spaces after
“Copy” and before “to”.
NS code |
String |
Contents |
0 |
Letns!0 |
Copy to |
1 |
Letns!1 |
Copy (with att.) to |
2 |
Letns!2 |
Copy (without att.) to |
3 |
Letns!3 |
Att. |
4 |
Letns!4 |
Atts. |
5 |
Letns!5 |
Enc. |
6 |
Letns!6 |
Encs. |
7 |
Letns!7 |
Under separate cover |
8 |
Letns!8 |
Letter to |
9 |
Letns!9 |
Memorandum to |
10 |
Letns!10 |
Copy (with atts.) to |
11 |
Letns!11 |
Copy (without atts.) to |
12 |
Letns!12 |
Abstract Only to |
13 |
Letns!13 |
Complete Memorandum to |
14 |
Letns!14 |
CC |
— |
Letns!copy |
Copy (with trailing space) |
— |
Letns!to |
to (note leading space) |
- Letnsdef
- Select the notation format used by NS when it is given no argument.
The default is “0”.
- LetRN
- “In reference to:” (see LO)
- LetSA
- “To Whom It May Concern:” (see LO)
- LetSJ
- “SUBJECT:” (see LO)
- Lf
- “LIST OF FIGURES”
- Licon
- “CONTENTS”
- Liec
- “Equation”
- Liex
- “Exhibit”
- Lifg
- “Figure”
- Litb
- “TABLE”
- Lt
- “LIST OF TABLES”
- Lx
- “LIST OF EXHIBITS”
- MO1...MO12
- “January” through “December”
- Qrf
- “See chapter \\*[Qrfh], page \\n[Qrfp].”
- Rf
- interpolates an automatically numbered reference mark; the number is used
by the next RS call. In troff mode, the marker is
superscripted; in nroff mode, it is surrounded by square
brackets.
- Rp
- “REFERENCES”
- Sm
- interpolates ℠, the service mark sign.
- Tcst
- interpolates an indicator of the TC macro's processing status. If
TC is not operating, it is empty. User-defined TP or
EOP macros might condition page headers or footers on its
contents.
-
Value |
Meaning |
co |
Table of contents |
fg |
List of figures |
tb |
List of tables |
ec |
List of equations |
ex |
List of exhibits |
ap |
Appendix |
- Tm
- interpolates ™, the trade mark sign.
- Verbnm
- supplies argument(s) to the nm request employed by the
VERBON macro. The default is “1”.
Default register values, where meaningful, are shown in
parentheses. Many are also marked as Boolean-valued, meaning that they are
considered “true” (on, enabled) when they have a positive
value, and “false” (off, disabled) otherwise.
- .mgm
- indicates that groff mm is in use (Boolean-valued; 1).
- :p
- is an auto-incrementing footnote counter; see FS.
- :R
- is an auto-incrementing reference counter; see RS.
- Aph
- formats an appendix heading (and title, if supplied); see APP
(Boolean-valued; 1).
- Au
- includes supplemental author information (the third and subsequent
arguments to AU) in memorandum “from” information;
see COVER and MT (Boolean-valued; 1).
- Cl
- sets the threshold for inclusion of headings in a table of contents.
Headings at levels above this value are excluded; see H and
TC (2). The Cl register controls whether a heading is
saved for output in the table of contents at the time H or
HU is called; if you change Cl's value immediately prior to
calling TC, you are unlikely to get the result you want.
- Cp
- suppresses page breaks before lists of captioned equations, exhibits,
figures, and tables, and before an index; see EC, EX,
FG, TB, and INDP (Boolean-valued; 0).
- D
- produces debugging information for the mm package on the standard
error stream. A value of 0 outputs nothing; 1 reports
formatting progress. Higher values communicate internal state information
of increasing verbosity (0).
- De
- causes a page break after a floating display is output; see DF
(Boolean-valued; 0).
- Df
- configures the behavior of DF. The following values are recognized;
4 and 5 do not override the De register (5).
-
Value |
Effect |
0 |
Flush pending displays at the end of each section when section-page
numbering is active, otherwise at the end of the document. |
1 |
Flush a pending display on the current page or column if there is
enough space, otherwise at the end of the document. |
2 |
Flush one pending display at the top of each page or column. |
3 |
Flush a pending display on the current page or column if there is
enough space, otherwise at the top of the next. |
4 |
Flush as many pending displays as possible in a new page or
column. |
5 |
Fill columns or pages with flushed displays until none remain. |
- Ds
- puts vertical space in the amount of register Dsp (if defined) or
Lsp before and after each static display; see DS
(Boolean-valued; 1).
- Dsp
- configures the amount of vertical space placed before and after static
displays; see DS and register Ds (undefined).
- Ec
- is an auto-incrementing equation counter; see EC.
- Ej
- sets the threshold for page breaks (ejection) prior to the format of
headings. Headings at levels above this value are set on the same page and
column if possible; see H (0).
- Eq
- aligns an equation label to the left of a display instead of the right
(Boolean-valued; 0).
- Ex
- is an auto-incrementing exhibit counter; see EX.
- Fg
- is an auto-incrementing figure counter; see FG.
- Fs
- is multiplied by register Lsp to vertically separate footnotes; see
FS (1).
- H1...H14
- are auto-incrementing counters corresponding to each heading level; see
H.
- H1dot
- appends a period to the number of a level one heading; see H
(Boolean-valued; 1).
- H1h
- is a copy of A copy of register register H1, but it is
incremented just before a page break. This can be useful in user-defined
macros; see H and HX.
- Hb
- sets the threshold for breaking the line after formatting a heading. Text
after headings at levels above this value are set on the same output line
if possible; see H (2).
- Hc
- sets the threshold for centering a heading. Headings at levels above this
value use the prevailing alignment (that is, they are not centered); see
H (0).
- Hi
- configures the indentation of text after headings. It does not affect
“run-in” headings. The following values are recognized; see
H and P (1).
-
Value |
Effect |
0 |
no indentation |
1 |
indent per the paragraph type |
2 |
indent to align with heading title |
- Hps
- sets the heading level threshold for application of preceding vertical
space; see H. Headings at levels above the value in register
Hps use the amount of space in register Hps1; otherwise that
in Hps2. The value of Hps should be strictly greater than
that of Ej (1).
- Hps1
- configures the amount of vertical space preceding a heading above the
Hps threshold; see H (troff devices: 0.5v;
nroff devices: 1v).
- Hps2
- configures the amount of vertical space preceding a heading at or below
the Hps threshold; see H (troff devices: 1v;
nroff devices: 2v).
- Hs
- sets the heading level threshold for application of succeeding vertical
space. If the heading level is greater than Hs, the heading is
followed by vertical space in the amount of register Hss;
see H (2).
- Hss
- is multiplied by register Lsp to produce vertical space after
headings above the threshold in register Hs; see H
(1).
- Ht
- suppresses output of heading level counters above the lowest when the
heading is formatted; see H (Boolean-valued; 0).
- Hu
- sets the heading level used by unnumbered headings; see HU
(2).
- Hy
- enables automatic hyphenation of words (Boolean-valued; 0).
- Iso
- configures the use of ISO 8601 date format if specified (with any
value) on the command line; see ISODATE. The default is determined
by localization files.
- L
- defines the page length for the document, and must be set from the command
line. A scaling unit should be appended. The default is that of the
selected groff output device.
- Le
- Lf
- Lt
- Lx
- configure the report of lists of equation, figure, table, and exhibit
captions, respectively, after a table of contents; see TC
(Boolean-valued; Le: 0; Lf, Lt,
Lx: 1).
- Letwam
- sets the maximum number of input lines permitted in a writer's address;
see WA and WE (14).
- Li
- configures the amount of indentation in ens applied to list items; see
LI (6).
- Limsp
- inserts a space between the prefix and the mark in automatically numbered
lists; see AL (Boolean-valued; 1).
- Ls
- sets a threshold for placement of vertical space before list items. If the
list nesting level is greater than this value, no such spacing occurs; see
LI (99).
- Lsp
- configures the base amount of vertical space used for separation in the
document. mm applies this spacing to many contexts, sometimes with
multipliers; see DS, FS, H, LI, and P
(troff devices: 0.5v; nroff devices: 1v).
- N
- configures the header and footer placements used by PH. The default
footer is empty. If “section-page” numbering is selected,
the default header becomes empty and the default footer becomes
“x-y”, where x is is the section
number (the number of the current first-level heading) and y
the page number within the section. The following values are recognized;
for finer control, see PH, PF, EH, EF,
OH, and OF, and registers Sectf and Sectp.
Value 5 is a GNU extension (0).
-
Value |
Effect |
0 |
Set header on all pages. |
1 |
Move header to footer on page 1. |
2 |
Omit header on page 1. |
3 |
Use “section-page” numbering style on all pages. |
4 |
Omit header on all pages. |
5 |
Use “section-page” and “section-figure”
numbering style on all pages. |
- Np
- causes paragraphs after first-level headings (only) to be numbered in the
format s.p, where s is is the section number
(the number of the current first-level heading) and p is the
paragraph number, starting at 1; see H and P
(Boolean-valued; 0).
- O
- defines the page offset of the document, and must be set from the command
line. A scaling unit should be appended. The default is .75i
on terminal devices. On typesetters, it is .963i or set to
1i by the papersize.tmac package; see
groff_tmac(5).
- Oc
- suppresses the appearance of page numbers in the table of contents; see
TC (Boolean-valued; 0).
- Of
- selects a separator format within equation, exhibit, figure, and table
captions; see EC, EX, FG, and TB. The
following values are recognized; the spaces shown are unpaddable
(0).
-
Value |
Effect |
0 |
". " |
1 |
" — " |
- P
- interpolates the current page number; it is the same as
register % except when “section-page”
numbering is enabled.
- Pi
- configures the amount of indentation in ens applied to the first line of a
paragraph; see P (5).
- Pgps
- causes the type size and vertical spacing set by S to apply to
headers and footers, overriding the HP string. If not set, S
calls affect headers and footers only when followed by PH,
PF, OH, EH, OF, or OE calls
(Boolean-valued; 1).
- Ps
- is multiplied by register Lsp to vertically separate paragraphs;
see P (1).
- Pt
- determines when a first-line indentation is applied to a paragraph; see
P (0).
-
Value |
Effect |
0 |
never |
1 |
always |
2 |
always, except immediately after H , DE , or LE |
- Ref
- is used internally to control mmroff(1)'s two-pass approach to
index and reference management; see INITI and RS
(Boolean-valued; 0).
- Rpe
- configures the default page ejection policy for reference pages; see
RP (0).
-
Value |
Effect |
0 |
Break the page before and after the list of references. |
1 |
Suppress page break after the list. |
2 |
Suppress page break before the list. |
3 |
Suppress page breaks before and after the list. |
- S
- defines the type size for the document, and must be set from the command
line. A scaling unit should be appended; p is typical
(10p).
- Sectf
- selects the “section-figure” numbering style. Its default
is 0 unless register N is set
to 5 at the command line (Boolean-valued).
- Sectp
- selects the “section-page” numbering style. Its default
is 0 unless register N is set
to 3 or 5 at the command line
(Boolean-valued).
- Si
- configures the amount of display indentation in ens; see DS
(5).
- Tb
- is an auto-incrementing table counter; see TB.
- V
- defines the vertical spacing for the document, and must be set from the
command line. A scaling unit should be appended; p is typical. The
default vertical spacing is 120% of the type size.
- Verbin
- configures the amount of indentation for verbatim displays when
indentation is selected; see VERBON (5n).
- W
- defines the “width” of the document (that is, the length of
an output line with no indentation); it must be set from the command line.
A scaling unit should be appended. The default is 6i or
assigned by the papersize.tmac package; see
groff_tmac(5).
The LT letter macros call further macros depending on the
letter type, with which they are suffixed. It is therefore possible to
define additional letter types, either in the territory-specific macro file,
or as local additions. LT sets the registers Pt and Pi
to 0 and 5, respectively. The following macros must be defined to
support a new letter type.
- let@init_type
- LT calls this macro to initialize any registers and other data
needed by the letter type.
- let@head_type
- formats the letterhead; it is called instead of the usual page header
macro. Its definition should remove the alias let@header unless the
letterhead is desired on subsequent pages.
- let@sg_type name
title n is-final [SG-arg ...]
- SG calls this macro only for letters; MT memoranda have
their own signature processing. name and title are specified
through WA/WE. n is the index of the
nth writer, and is-final is true for the last writer to be
listed. Further SG arguments are appended to the signature
line.
- let@fc_type
closing
- This macro is called by FC, and has the formal closing as the
argument.
LO implements letter options. It requires that a string
named Lettype be defined, where type is the letter
type. LO then assigns its second argument (value) to the
string let*lo-type.
- /usr/local/share/groff/1.23.0/tmac/m.tmac
- is the groff implementation of the memorandum macros.
- /usr/local/share/groff/1.23.0/tmac/mm.tmac
- is wrapper to load m.tmac.
- /usr/local/share/groff/1.23.0/tmac/refer-mm.tmac
- implements refer(1) support for mm.
- /usr/local/share/groff/1.23.0/tmac/mm/ms.cov
- implements an ms-like cover sheet.
- /usr/local/share/groff/1.23.0/tmac/mm/0.MT
- implements memorandum types 0–3 and 6.
- /usr/local/share/groff/1.23.0/tmac/mm/4.MT
- implements memorandum type 4.
- /usr/local/share/groff/1.23.0/tmac/mm/5.MT
- implements memorandum type 5.
- /usr/local/share/groff/1.23.0/tmac/mm/locale
- performs any (further) desired necessary localization; empty by
default.
The GNU version of the mm macro package was written by
Jörgen Hägg of
Lund, Sweden.
MM
- A Macro Package for Generating Documents, the DWB 3.3
mm manual, introduces the package but does not document GNU
extensions.
Groff: The GNU Implementation of troff, by Trent A. Fisher
and Werner Lemberg, is the primary groff manual. You can browse it
interactively with “info groff”.
groff(1), troff(1), tbl(1), pic(1),
eqn(1), refer(1), groff_mmse(7)
Visit the GSP FreeBSD Man Page Interface. Output converted with ManDoc.
|