troff Command
Purpose
Formats text for printing on typesetting devices.
Syntax
troff [ -a ] [ -i ] [ -q ] [ -z ] [ -F Directory ] [ -n Number ] [ -o List ] [ -r ANumber ] [ -s Number ] [ -T Name ] [ -mm | -me | -mptx | -ms | -man | -mv ] [ -M Media ] [ File ... | - ]
Description
The troff command reads one or more files and formats the text for printing on a phototypesetter or comparable device. A postprocessor is then required to post process the output of the troff command to the target device. See the accompanying example.
If no file is specified oroh.. the - (minus) flag is not the last parameter, standard input is read by default.
For the 3812, 3816, and Hewlett-Packard LaserJet Series II printer, the default fonts are the native fonts for the printer. Additional fonts also are available for these printers, which can be loaded through the use of the troff .fp directive. These fonts are stored on the host in the directory /usr/lib/font/devPrinter/bitmaps, and downloaded to the printer as necessary.
Typefaces
Typeface Regular Italic Bold Italic
Roman cr cR Cr CR
Sans Serif cs cS Cs CS
Typewriter ct cT Ct CT
troff special sp
These fonts are all provided in the standard 15 troff sizes: 6, 7, 8, 9, 10, 11, 12, 14, 16, 28, 20, 22, 24, 28, and 36 points.
For example, .fp 1 Cr loads the Roman bold font into position 1.
Flags
Item | Description |
---|---|
-a | Sends a printable ASCII approximation of the results to standard output. |
-FDirectory | Accesses font information from the Directory/devName directory instead of the default /usr/lib/font/devName directory (where Name is specified by the -T flag). |
-i | Reads standard input after there are no more files. |
-M Media | Specifies a paper size in order to determine the amount of
imageable area on the paper. Valid values for the Media variable
are:
Note: The Media variable is not case-sensitive.
|
-nNumber | Numbers the first printed page with the value specified by the Number variable. |
-oList | Prints only pages specified by the List variable, which
consists of a comma-separated list of page numbers and ranges:
|
-q | Calls the simultaneous input and output mode of the .rd request. |
-rANumber | Sets the register specified by the A variable to the specified number. The A variable value must have a one-character ASCII name. |
-sNumber | Generates output to make the typesetter stop every specified number of pages. |
-TName | Prepares the output for the specified printing device. Phototypesetters
or comparable printing devices use the following Name variables
for operating system international extended characters. The default
is ibm3816. Note: You get a message that reads bad point size if
your device does not support the point size that you specified. The troff command
uses the closest valid point size to continue formatting.
Note: You also can set the TYPESETTER environment
variable to one of the preceding values instead of using the -TName flag
of the troff command.
|
-man | Selects the man macro processing package. |
-me | Selects the me macro processing package. |
-mm | Selects the mm macro processing package. |
-mptx | Selects the mptx macro processing package. |
-ms | Selects the ms macro processing package. |
-mv | Selects the mv macro processing package. |
See Macro Packages for Formatting Tools for more information on the macros.
Item | Description |
---|---|
-z | Prints only messages generated by .tm (workstation message) requests. |
- | Forces input to be read from standard input. |
Environment Variables
Item | Description |
---|---|
TYPESETTER | Contains information about a particular printing device. |
Examples
The following is an example of the troff command:
troff -Tibm3812 File | ibm3812 | qprt
Macro Packages for Formatting Tools
The following macro packages are part of the Formatting Tools in the Text Formatting System and are described in more detail on the next pages:
Item | Description |
---|---|
man | Enables you to create your own manual pages from online manual pages. |
me | Provides macros for formatting papers. |
mm | Formats documents with nroff and troff formatters. |
mptx | Formats a permuted index. |
ms | Provides a formatting facility for various styles of articles, theses, and books. |
mv | Typesets English-language view graphs and slides by using the troff command. |
man Macro Package for the nroff and troff Commands
The man macro package is provided to enable users to create their own manual pages from online manual pages that have been processed with either the nroff command or troff command. The man macro package is used with either the nroff command or the troff command.
Special macros, strings, and number registers exist, internal to the man macro package, in addition to the following lists of format macros, strings, and registers. Except for the names predefined by the troff command and the d, m, and y number registers, all such internal names are of the form SymbolAlpha, where Symbol is one of ), ], or }, and Alphais any alphanumeric character.
The man macro package uses only the Roman font. If the input text of an entry contains requests for other fonts (for example, the .I format macro, .RB request, or \fI request) the corresponding fonts must be mounted.
Format Macros
The following macros are used to alter the characteristics of manual pages that are formatted using the manmacro package.
Type font and size are reset to default values before each paragraph and after processing font- and size-setting macros (for example, the .I format macro, .SM format macro, and .B format macro).
Tab stops are neither used nor set by any of the format macros except the .DT format macro and the .TH format macro.
- .B [Text]
- Makes text bold.
The Text variable represent up to six words; use “ ” (double quotation marks) to include character spaces in a word. If the variable is empty, this treatment is applied to the next input text line that contains text to be printed. For example, use the .I format macro to italicize an entire line, or use the .SM and .B format macros to produce an entire line of small-bold text. By default, hyphenation is turned off for the nroff command, but remains on for the troff command.
- .DT
- Restores default tab settings every 5 ens for the nroff command and every 7.2 ens for the troff command.
- .HP [Indent]
- Begins a paragraph with a hanging indent as specified by the Indentvariable.
If the Indent variable is omitted, the previous Indent value is used. This value is set to its default (5 ens for the nroff command and 7.2 ens for the troff command) by the .TH format macro, .P format macro, and .RS format macro, and restored by the .RE format macro. The default unit for Indent is ens.
- .I [Text]
- Makes text italic.
The Text variable represent up to six words; use “ ” (double quotation marks) to include character spaces in a word. If the variable is empty, this treatment is applied to the next input text line that contains text to be printed. For example, use the .I format macro to italicize an entire line, or use the .SM and .B format macros to produce an entire line of small-bold text. By default, hyphenation is turned off for the nroff command, but remains on for the troff command.
- .IP [Tag] [Indent]
- Same as the .TP Indent macro with the Tag variable;
if the value of the Tag variable is NULL, begin indented
paragraph. This macro is often used to get an indented paragraph without
a tag.
If the Indent variable is omitted, the previous Indent value is used. This value is set to its default (5 ens for the nroff command and 7.2 ens for the troff command) by the .TH format macro, .P format macro, and .RS format macro, and restored by the .RE format macro. The default unit for Indent is ens.
- .P
- Begins paragraph with normal font, point size, and indent. The .PP macro is a synonym for the mm macro package .P macro.
- .PD [Number]
- Sets inter-paragraph distance the number of vertical spaces specified by the Number parameter. The default Number variable value is 0.4v for the troff command and 1v for the nroff command.
- .PM [Indicator]
- Sets proprietary marking as follows:
Indicator Marking P PRIVATE N NOTICE No Indicator specified Turns off proprietary marking. - .RE [Number]
- Ends relative indent (.RS) at indent level position specified by the Number variable. If the Number variable value is omitted, return to the most recent lower indent level.
- .RI Character1Character2...
- Concatenates the Roman Character1 with the italic Character2; alternate these two fonts up to six sets of Character1Character2. Similar macros alternate between any two of Roman, italic, and bold: the .IR, .RB, .BR, .IB, and .BI macros.
- .RS [Indent]
- Increases relative indent (initially zero). Indent all output
an extra number of units from the left margin as specified by the Indent variable.
If the Indent variable is omitted, the previous Indent value is used. This value is set to its default (5 ens for the nroff command and 7.2 ens for the troff command) by the .TH format macro, .P format macro, and .RS format macro, and restored by the .RE format macro. The default unit for Indent is ens.
- .SH [Text]
- Places subhead text.
The Text variable represent up to six words; use “ ” (double quotation marks) to include character spaces in a word. If the variable is empty, this treatment is applied to the next input text line that contains text to be printed. For example, use the .I format macro to italicize an entire line, or use the .SM and .B format macros to produce an entire line of small-bold text. By default, hyphenation is turned off for the nroff command, but remains on for the troff command.
- .SM [Text]
- Makes text one point smaller than default point size.
The Text variable represent up to six words; use “ ” (double quotation marks) to include character spaces in a word. If the variable is empty, this treatment is applied to the next input text line that contains text to be printed. For example, use the .I format macro to italicize an entire line, or use the .SM and .B format macros to produce an entire line of small-bold text. By default, hyphenation is turned off for the nroff command, but remains on for the troff command.
- .SS [Text]
- Places sub-subhead text.
The Text variable represent up to six words; use “ ” (double quotation marks) to include character spaces in a word. If the variable is empty, this treatment is applied to the next input text line that contains text to be printed. For example, use the .I format macro to italicize an entire line, or use the .SM and .B format macros to produce an entire line of small-bold text. By default, hyphenation is turned off for the nroff command, but remains on for the troff command.
- .TH [Title][Section][Commentary][Name]
- Sets the title and entry heading. This macro calls the .DT format macro.
Variable Marking Title Title Section Section number Commentary Extra commentary Name New manual name. Note: If the .TH format macro values contain character spaces that are not enclosed in “ ” (double quotation marks), irregular dots are displayed on the output. - .TP [Indent]
- Begins indented paragraph with hanging tag. The next input line
that contains text is the tag. If the tag does not fit, it is printed
on a separate line.
If the Indent variable is omitted, the previous Indent value is used. This value is set to its default (5 ens for the nroff command and 7.2 ens for the troff command) by the .TH format macro, .P format macro, and .RS format macro, and restored by the .RE format macro. The default unit for Indent is ens.
Strings
Item | Description |
---|---|
\*R | Adds trademark, (Reg.) for the nroff command and the registered trademark symbol for the troff command. |
\*S | Changes to default type size. |
\*(Tm | Adds trademark indicator. |
Registers
Item | Description |
---|---|
IN | Indent left margin relative to subheads. The default is 7.2 ens for the troff command and 5 ens for the nroff command. |
LL | Line length including the value specified by the IN register. |
PD | Current inter-paragraph distance. |
Flags
Item | Description |
---|---|
-rs1 | Reduces default page size of 8.5 inches by 11 inches with a 6.5-inch by 10-inch text area to a 6-inch by 9-inch page size with a 4.75-inch by 8.375-inch text area. This flag also reduces the default type size from 10-point to 9-point and the vertical line spacing from 12-point to 10-point. |
Examples
- To process the file your.book and pipe the formatted
output to the local line printer, qprt, type:
nroff -Tlp -man your.book | qprt -dp
- To process the files my.book and dept.book,
which contain tables, and pipe the formatted output to the local line
printer, qprt, type:
tbl my.book dept.book | nroff -Tlp -man | col -Tlp | qprt -dp
Note: Before the output is sent to qprt, it is first filtered through the col command to process reverse linefeeds used by the tbl command. - To process the file group, which contains pictures, graphs,
and tables, and prepare the formatted output for processing on the IBM® 3816 printer, enter:
grap group | pic | tbl | troff -Tibm3816 -man \ | ibm3816 | qprt -dp
- If manual pages created with the man macro package are intended for an online facility, components requiring the troff command, such as the grap or pic command, should be avoided.
- The grap command precedes the pic command because it is a preprocessor to the pic command; the reverse does not format correctly.
- The col command is not required as a filter to the tbl command; typeset documents do not require reverse linefeeds.
me Macro Package for the nroff and troff Commands
The me package of the nroff and troff command macro definitions provides a formatting facility for technical papers in various formats. The col command may be required to postprocess nroff output in certain cases.
The macro requests are defined in the following section, in me Requests. Many nroff/troff requests can have unpredictable results in conjunction with this package. However, the following requests can be used after the first .pp request:
Item | Description |
---|---|
.bp | Begins new page. |
.br | Breaks output line here. |
.ce [Number] | Centers next specified number of lines. Default is 1 (one). |
.ls [Number] | Sets line spacing. Text is single-spaced if Number is set to 1 (one); double-spaced if the value is set to 2. |
.na | Leaves right margin unjustified. |
.sp [Number] | Inserts the specified number of spacing lines. |
.sz [+]Number | Adds the specified number to point size. |
.ul [Number] | Underlines next specified number of lines. Default is 1 (one). |
Output of the eqn, neqn, refer, and tbl commands preprocessors for equations and tables can be used as input.
me Requests
The following list contains all macros, strings, and number registers available in the me macros. Selected troff commands, registers, and functions are included.
Item | Description |
---|---|
\(space) | Defines unpaddable space (troff command built-in function). |
\“ | Comments to end of line (troff command built-in function). |
\*# | Indicates optional delayed text tag string. |
\$Number | Interpolates the value specified by the Number variable (troff command built-in function). |
\n($0 | Defines section depth (number register). |
.$0 | Started after section title printed (user-definable macro). |
\n($1 | Defines first section number (number register). |
.$1 | Started before printing depth 1 (one) section (user-definable macro). |
\n($2 | Defines second section number (number register). |
.$2 | Started before printing depth 2 section (user-definable macro). |
\n($3 | Defines third section number (number register). |
.$3 | Started before printing depth 3 section (user-definable macro). |
\n($4 | Defines fourth section number (number register). |
.$4 | Started before printing depth 4 section (user-definable macro). |
\n($5 | Defines fifth section number (number register). |
.$5 | Started before printing depth 5 section (user-definable macro). |
\n($6 | Defines sixth section number (number register). |
.$6 | Started before printing depth 6 section (user-definable macro). |
.$C | Called at beginning of chapter (user-definable macro). |
.$H | Indicates text header (user-definable macro). |
\n($R | Defines relative vertical spacing in displays (number register defined by default; changing is not recommended). |
\n($c | Defines current column header (number register). |
.$c | Prints chapter title (macro defined by default; changing is not recommended). |
\n($d | Indicates delayed text number (number register). |
\n($f | Indicates footnote number (number register). |
.$f | Prints footer (macro defined by default; changing is not recommended). |
.$h | Prints header (macro defined by default; changing is not recommended). |
\n($i | Defines paragraph base indent (number register). |
\n($l | Defines column width (number register). |
\n($m | Indicates number of columns in effect (number register). |
\*($n | Indicates section name (string). |
\n($p | Defines numbered paragraph number (number register). |
.$p | Prints section heading (macro defined by default; changing is not recommended). |
\n($r | Defines relative vertical spacing in text (number register defined by default; changing is not recommended). |
\n($s | Defines column indent (number register). |
.$s | Separates footnotes from text (macro defined by default; changing is not recommended). |
\n% | Defines current page number (number register defined by default; changing is not recommended). |
\& | Indicates zero-width character; useful for hiding controls (troff command built-in function). |
\(XX | Interpolates special character specified by the XX variable (troff command built-in function). |
.(b | Begins block (macro). |
.(c | Begins centered block (macro). |
Item | Description |
---|---|
.(d | Begins delayed text (macro). |
.(f | Begins footnote (macro). |
.(l | Begins list (macro). |
.(q | Begins quote (macro). |
.(xIndex | Begins indexed item in the specified index (macro). |
.(z | Begins floating keep (macro). |
.)b | Ends block (macro). |
.)c | Ends centered block (macro). |
.)d | Ends delayed text (macro). |
.)f | Ends footnote (macro). |
.)l | Ends list (macro). |
.)q | Ends quote (macro). |
.)x | Ends index entry (macro). |
.)z | Ends floating keep (macro). |
\*String | Interpolates the value specified by the String variable (troff command built-in function). |
\*String1String2 | Interpolates the value specified by the String1String2 variable (troff command built-in function). |
\** | Indicates optional footnote tag string. |
.++mH | Macro to define paper section. The value specified by the m variable
defines the part of the paper. The m variable can have the
following values:
The H parameter defines the new header. If there are any spaces in it, the entire header must be quoted. If you want the header to have the chapter number in it, use the string \\\n(ch. For example, to number appendixes A.1, A.2, ..., type: .++ RA '''\\\n(ch.%'. Each section (such as chapters and appendixes) should be preceded by the .+c request. |
.+cTitle | Begins chapter (or appendix, for instance, as set by the .++ macro). The value specified by the Title variable is the chapter title (macro). |
\*, | Indicates cedilla (string). |
\- | Indicates minus sign (troff command built-in function). |
\*- | Indicates 3/4 em dash (string). |
\0 | Defines unpaddable digit-width space (troff command built-in function). |
.1c | Reverts to single-column output (macro). |
.2c | Begins two-column output (macro). |
\*: | Indicates umlaut (string). |
\*< | Begins subscript (string). |
\*> | Ends subscript (string). |
.EN | Ends equation. Space after equation produced by the eqn command or neqn command (macro). |
.EQXY | Begins equation; breaks out and adds space. The value specified
by the Y variable is the equation number. The optional X variable
value might be any of the following:
|
\L'Distance' | Indicates vertical line-drawing function for the specified distance (troff command built-in function). |
.PE | Ends pic picture (macro). |
.PF | Ends pic picture with flyback (macro). |
.PS | Starts pic picture (macro). |
.TE | Ends table (macro). |
.TH | Ends header of table (macro). |
.TS X | Begins table. If the value of the X variable is H, the table has a repeated heading (macro). |
\*[ | Begins superscript (string). |
\n(.$ | Defines number of options to macro (number register defined by default; changing is not recommended). |
\n(.i | Indicates current indent (number register defined by default; changing is not recommended). |
\n(.l | Indicates current line length (number register defined by default; changing is not recommended). |
Item | Description |
---|---|
\n(.s | Indicates current point size (number register defined by default; changing is not recommended). |
\*(4 | Indicates acute accent (string). |
\*(` | Indicates grave accent (string). |
\(4 | Indicates acute accent (troff command built-in function). |
\(` | Indicates grave accent (troff command built-in function). |
\*] | Ends superscript (string). |
\^ | Indicates 1/12 em narrow space (troff command built-in function). |
\*^ | Indicates caret (string). |
.acAuthorNumber | Sets up for ACM-style output. The Author variable specifies the author name or names. The Number variable specifies the total number of pages. Must be used before the first initialization (macro). |
.ad | Sets text adjustment (macro). |
.af | Assigns format to register (macro). |
.am | Appends to macro (macro). |
.ar | Sets page numbers in Arabic (macro). |
.as | Appends to string (macro). |
.b X | Prints in boldface the value specified by the X variable. If the X variable is omitted, boldface text follows (macro). |
.ba +Number | Augments the base indent by the specified Number value. Sets the indent on regular text such as paragraphs (macro). |
.bc | Begins new column (macro). |
.bi X | Prints in bold italic the value specified by the X parameter, in no-fill mode only. If the X parameter is not used, bold italic text follows (macro). |
\n(bi | Displays block indent (number register). |
.bl | Requests blank lines, even at top of page (macro). |
\n(bm | Sets bottom title margin (number register). |
.bp | Begins page (macro). |
.br | Sets break; starts new line (macro). |
\n(bs | Displays block pre- or post-spacing (number register). |
\n(bt | Blocks keep threshold (number register). |
.bu | Begins bulleted paragraph (macro). |
.bx X | Prints in no-fill mode only the value specified by the X variable in box (macro). |
\c | Continues input (troff command built-in function). |
.ce | Centers lines (macro). |
\n(ch | Defines current chapter number (number register). |
.de | Defines macro (macro). |
\n(df | Displays font (number register). |
.ds | Defines string (macro). |
\n(dw | Defines current day of week (number register). |
\*(dw | Defines current day of week (string). |
\n(dy | Defines current day of month (number register). |
\e | Indicates printable version of \ (backslash) (troff command built-in function). |
.ef'X'Y'Z' | Sets even-page footer to the values specified by the XYZ variables (macro). |
.eh'X'Y'Z' | Sets even-page header to the values specified by the XYZ variables (macro). |
.el | Specifies the else part of an if/else conditional (macro). |
.ep | Ends page (macro). |
Item | Description |
---|---|
\n(es | Indicates equation pre- or post-space (number register). |
\fFont | Sets inline font change to the specified Font variable value (troff command built-in function). |
\f(Fontf | Sets inline font change to the specified Fontf variable value (troff command built-in function). |
.fc | Sets field characters (macro). |
\n(ff | Sets footnote font (number register). |
.fi | Fills output lines (macro). |
\n(fi | Indicates footnote indent, first line only (number register). |
\n(fm | Sets footer margin (number register). |
.fo 'X'Y'Z' | Sets footer to the values specified by the XYZ variables (macro). |
\n(fp | Sets footnote point size (number register). |
\n(fs | Sets footnote pre-space (number register). |
\n(fu | Sets footnote indent from right margin (number register). |
\h'Distance' | Sets local horizontal motion for the specified distance (troff command built-in function). |
.hc | Sets hyphenation character (macro). |
.he 'X'Y'Z' | Sets header to the values specified by the XYZ variables (macro). |
.hl | Draws horizontal line (macro). |
\n(hm | Sets header margin (number register). |
.hx | Suppresses headers and footers on next page (macro). |
.hy | Sets hyphenation mode (macro). |
.i X | Italicizes the value specified by the X variable. If the Xvariable is omitted, italic text follows (macro). |
.ie | Specifies the else part of an if/else conditional (macro). |
.if | Designates a conditional (macro). |
\n(ii | Sets indented paragraph indent (number register). |
.in | Indents (transient); use the .ba macro if pervasive (macro). |
.ip X Y | Starts indented paragraph, with hanging tag specified by the X variable. Indentation is the en value specified by the Y variable. Default is 5 (macro). |
.ix | Indents, no break (macro). |
\l'Distance' | Starts horizontal line-drawing function for the specified distance (troff command built-in function). |
.lc | Sets leader repetition character (macro). |
.lh | Interpolates local letterhead (macro). |
.ll | Sets line length (macro). |
.lo | Reads in a file of local macros of the form .*x. Must be used before initialization (macro). |
.lp | Begins left-justified paragraph (macro). |
\*(lq | Designates left quotation marks (string). |
.ls | Sets multi-line spacing (macro). |
.m1 | Sets space from top of page to header (macro). |
.m2 | Sets space from header to text (macro). |
.m3 | Sets space from text to footer (macro). |
.m4 | Sets space from footer to bottom of page (macro). |
.mc | Inserts margin character (macro). |
.mk | Marks vertical position (macro). |
\n(mo | Defines month of year (number register). |
Item | Description |
---|---|
\*(mo | Defines current month (string). |
\nX | Interpolates number register specified by the X variable value (number register). |
\n(XX | Interpolates number register specified by the XX variable (number register). |
.n1 | Sets number lines in margin (macro). |
.n2 | Sets number lines in margin (macro). |
.na | Turns off text adjustment (macro). |
.neNumber | Sets the specified number of lines of vertical space (macro). |
.nf | Leaves output lines unfilled (macro). |
.nh | Turns off hyphenation (macro). |
.np | Begins numbered paragraph (macro). |
.nr | Sets number register (macro). |
.ns | Indicates no-space mode (macro). |
\*o | Indicates superscript circle (such as for Norse A; string). |
.of'X'Y'Z' | Sets odd footer to the values specified by the XYZ variables (macro). |
.oh'X'Y'Z' | Sets odd header to the values specified by the XYZ variables (macro). |
.pa | Begins page (macro). |
.pd | Prints delayed text (macro). |
\n(pf | Indicates paragraph font (number register). |
\n(pi | Indicates paragraph indent (number register). |
.pl | Sets page length (macro). |
.pn | Sets next page number (macro). |
.po | Sets page offset (macro). |
\n(po | Simulates page offset (number register). |
.pp | Begins paragraph, first line indented (macro). |
\n(pp | Sets paragraph point size (number register). |
\n(ps | Sets paragraph pre-space (number register). |
.q | Indicates quoted (macro). |
\*(qa | For all (string). |
\*qe | There exists (string). |
\n(qi | Sets quotation indent; also shortens line (number register). |
\n(qp | Sets quotation point size (number register). |
\n(qs | Sets quotation pre- or post-space (number register). |
.r | Sets Roman text to follow (macro). |
.rb | Sets real bold font (macro). |
.re | Resets tabs to default values (macro). |
.rm | Removes macro or string (macro). |
.rn | Renames macro or string (macro). |
.ro | Sets page numbers in Roman (macro). |
\*(rq | Indicates right quotation marks (string). |
.rr | Removes register (macro). |
.rs | Restores register (macro). |
Item | Description |
---|---|
.rt | Returns to vertical position (macro). |
\sSize | Changes inline size to specified size (troff command built-in function). |
.sc | Reads in a file of special characters and diacritical marks. Must be used before initialization (macro). |
\n(sf | Sets section title font (number register). |
.shLevelTitle | Indicates section head to follow; font automatically bold. The Level variable specifies the level of section. The Title variable specifies the title of section (macro). |
\n(si | Sets relative base indent-per-section depth (number register). |
.sk | Leaves the next page blank. Only one page is remembered ahead (macro). |
.smX | Sets, in a smaller point size, the value specified by the X variable (macro). |
.so | Indicates source input file (macro). |
\n(so | Sets additional section title offset (number register). |
.sp | Indicates vertical space (macro). |
\n(sp | Indicates section title point size (number register). |
\n(ss | Indicates section prespace (number register). |
.sx | Changes section depth (macro). |
.sz +Number | Augments point size by the specified number of points (macro). |
.ta | Sets tab stops (macro). |
.tc | Sets tab repetition character (macro). |
\*(td | Sets today's date (string). |
n(tf | Indicates title font (number register). |
.th | Produces paper in thesis format. Must be used before initialization (macro). |
.ti | Indicates temporary indent, next line only (macro). |
.tl | Indicates 3-part title (macro). |
\n(tm | Sets top title margin (number register). |
.tp | Begins title page (macro). |
\n(tp | Sets title point size (number register). |
.tr | Translates (macro). |
.u X | Underlines the value specified by the X variable, even in the troff command. No-fill mode only (macro). |
.uh | Sets section head to follow; font automatically bold. Similar to the .sh macro, but unnumbered (macro). |
.ul | Underlines next line (macro). |
\v'Distance' | Local vertical motion for the specified distance (troff command built-in function). |
\*v | Inverts v for Czech e (string). |
\w'String' | Returns width of the specified string (troff command built-in function). |
.xl | Sets local line length (macro). |
.xpIndex | Prints the specified index (macro). |
\n(xs | Sets index entry prespace (number register). |
\n(xu | Sets index indent, from right margin (number register). |
\n(yr | Indicates year, last two digits only (number register). |
\n(zs | Sets floating keep pre- or post-space (number register). |
\{ | Begins conditional group (troff command built-in function). |
\| | 1/6 em, narrow space (troff command built-in function). |
\} | Ends conditional group (troff command built-in function). |
\*~ | Indicates tilde (string). |
For further information, see the -ME Reference Manual by E. P. Allman.
mm Macro Package for the mm, mmt, nroff, and troff Commands
The mm macro package provides macros to format text in a wide variety of document forms, such as memos, letters, and reports. The manner in which you type and edit a document is essentially independent of whether the document is later formatted at a terminal or phototypeset.
The col command may be required to postprocess nroff output. See the col command for specific requirements.
The mm macros and additional information are summarized under the following headings:
- Beginning Macros for Formal Memoranda
- Business Letter Macros
- Ending Macros (Trailing Information)
- Paragraphs
- Section Headings
- Lists
- Displays, Tables, Equations, and Footnotes
- Page Headers and Footers
- Miscellaneous Macros
- mm Registers
- mm Strings
- String Names
- Reserved Names.
Beginning Macros for Formal Memoranda
Item | Description |
---|---|
.ND Date | Sets new date. |
.TL [ChgNumber] [FileNumber] | Sets title information. Text on the following line is used as the title of the document. |
.AF [CompanyName] | Specifies author's company name. |
.AU Name [Initials] [Loc] [Dept] [Ext] [Room] [Option...] | Sets author information. |
.AT AuthorTitle [...] | Specifies title to follow signer's name (up to nine options). |
.TM [Number] | Sets technical memorandum number. |
.AS [ 0 | 1 | 2 ] [Indent] | Starts abstract, for technical memorandum and released paper
only:
|
.AE | Ends abstract. |
.NS | Starts notation, allowed on memorandum for file cover sheets following an .AS 2/.AE macro pair (see ”Ending Macros“). |
.NE | Ends notation, allowed on memorandum for file cover sheets following an .AS 2/.AE macro pair (see ”Ending Macros“). |
.OK [Keyword ...] | Specifies other keywords (up to nine options). |
.MT [type] [title] | Sets document type:
|
Title | User-supplied text prefixed to page number |
Business Letter Macros
Item | Description |
---|---|
.WA | Starts writer's address. |
.WE | Ends writer's address. |
.LO CN [Notation] | Specifies confidential notation. |
.LO RN [Notation] | Specifies reference notation. |
.IA | Starts inside (recipient's) address. |
.IE | Ends inside (recipient's) address. |
.LO AT [Notation] | Specifies attention line. |
.LO SA [Notation] | Specifies salutation. |
.LO SJ [Notation] | Specifies subject line. |
.LT [ { none BL SB FB SP} ] | Specifies business letter type:
|
Ending Macros (Trailing Information)
Item | Description |
---|---|
.FC [Closing] | Prints formal closing. |
.SG [Initials] [1] | Prints signature line. |
.NS [{” “0 1 2 3 4 5 6 7 8 9 10 11 12 13 String}] | Starts notation:
|
.NE | Ends notation. |
.AV Name [1] | Prints approval signature. |
.CS [Pgs] [Other] [Tot] [Figs] [Tbls] [Ref] | Prints cover sheet. |
.TX | Calls user exit for table-of-contents titles. |
.TY | Calls user exit for table-of-contents header. |
.TC [Slev] [Spacing] [Tlev] [Tab] [H1] [H2] [H3] [H4] [H5] | Prints table of contents. |
Paragraphs
Item | Description |
---|---|
.P [ {0 1 2} ] | Starts paragraph:
|
Section Headings
Item | Description |
---|---|
.H {1 2 3 4 5 6 7} [HeadingText] [FootnoteMark] | Specifies numbered headings. |
.HU HeadingText | Specifies unnumbered headings. |
.HM {1 0001 A a I i}... | Specifies heading mark style:
|
.HX [Dlev] [Rlev] [HeadingText] | Calls user-defined exit macro before headings. |
.HY [Dlev] [Rlev] [HeadingText] | Calls user-defined exit macro in the middle of headings. |
.HZ [Dlev] [Rlev] [HeadingText] | Calls user-defined exit macro after headings. |
Lists
If the last option [1] is present in the list-start macros, there is no space between items.
Item | Description |
---|---|
.AL [ {1 A a I i} ] [TextIndent] [1] | Starts automatically incremented list (1). |
.BL [TextIndent] [1] | Starts a bullet list. |
.DL [TextIndent] [1] | Starts a dash list. |
.ML Mark [TextIndent] [1] | Starts a list in which each list item is tagged with a specified mark. If the value of the TextIndent is NULL or omitted, it is set to [Mark - width + 1]. If the 3rd argument is specified, no blank lines separate items in the list. |
.RL [TextIndent] [1] | Starts a reference list. |
.VL TextIndent [MarkIndent] [1] | Starts a variable tag list. |
.LI [Mark] [1] | Starts list item; 1 means that the Mark variable value is to be prefixed to the current mark. |
.LE [1] | Ends list item; 1 means to output a blank line after list. The default is no blank line. |
.LB TextIndent MarkIndent Pad Type [Mark] [{0 1}] [{0 1}] | Begins list: The value of the Type variable is:
Sixth option:
Seventh option:
|
.LC [Level] | Clears list status up to the Level variable value. |
Displays, Tables, Equations, and Footnotes
.DS [{0 1 2 3 }] [{0 1}] [Number]
- .DS [{L I C CB}] [{N F}] [Number]
- Starts static display:
- 0 or L
- No indent
- 1 or I
- Indent from left
- 2 or C
- Center each line
- 3 or CB
- Center as a block
- 0 or N
- No-fill
- 1 or F
- Fill.
- Number
- Indent from right the number of spaces specified by the Number parameter.
.DF [{0 1 2 3 }] [{0 1}] [Number]
- .DF [{L I C CB}] [{N F}] [Number]
- Starts floating display:
- 0 or L
- No indent
- 1 or I
- Indent from left
- 2 or C
- Center each line
- 3 or CB
- Center as a block
- 0 or N
- No-fill
- 1 or F
- Fill.
- Number
- Indent from right the number of spaces specified by the Number parameter.
- .DE
- Ends display.
- .FG [Title] [Override] [0 1 2]
- The value of the Override variable replaces or enhances
the default numbering. Specifies figure caption:
- 0
- Override value is used as a prefix.
- 1
- Override value becomes a suffix.
- 2
- Replace Override value becomes a replacement.
- .TS [H]
- Starts table:
- H
- Multipage table.
- .TH [N]
- Must be used when specifying option H to .TS:
- N
- Suppresses table headers unless on top of new page.
- .TE
- Ends table.
- .TB [Title] [Override] [0 1 2]
- The value of the Override variable replaces or enhances
the default numbering. Specifies table caption:
- 0
- Override value is used as a prefix.
- 1
- Override value becomes a suffix.
- 2
- Replace Override value becomes a replacement.
- .EX [Title] [Override] [0 1 2]
- The value of the Override variable replaces or enhances
the default numbering. Specifies exhibit caption:
- 0
- Override value is used as a prefix.
- 1
- Override value becomes a suffix.
- 2
- Replace Override value becomes a replacement.
- .EQ [Label]
- Starts equation display using the specified label.
- .EN
- Ends equation display.
- .EC [Title] [Override] [0 1 2]
- The value of the Override variable replaces or enhances
the default numbering. Specifies equation caption:
- 0
- Override value is used as a prefix.
- 1
- Override value becomes a suffix.
- 2
- Replace Override value becomes a replacement.
- .FS [Label]
- Starts footnote using the specified label as an indicator. Default is numbered footnote.
- .FE
- Ends footnote.
- .FD [{0 1 2 3 4 ... 11}] [1]
- Sets footnote format:
First option:
Set up formatting style for footnote text. Default is 0 for mmt command. Default is 10 for mm command. See the following table for the value.
Second option:
Reset footnote counter on first-level heading.
.FD Arg. Format 0 - Hyphens
- .nh
- Adjusted
- .ad
- Text Indented
- Yes
- Label Justified
- Left
1 - Hyphens
- .hy
- Adjusted
- .ad
- Text Indented
- Yes
- Label Justified
- Left
2 - Hyphens
- .nh
- Adjusted
- .na
- Text Indented
- Yes
- Label Justified
- Left
3 - Hyphens
- .hy
- Adjusted
- .na
- Text Indented
- Yes
- Label Justified
- Left
4 - Hyphens
- .nh
- Adjusted
- .ad
- Text Indented
- No
- Label Justified
- Left
5 - Hyphens
- .hy
- Adjusted
- .ad
- Text Indented
- No
- Label Justified
- Left
6 - Hyphens
- .nh
- Adjusted
- .na
- Text Indented
- No
- Label Justified
- Left
7 - Hyphens
- .hy
- Adjusted
- .na
- Text Indented
- No
- Label Justified
- Left
8 - Hyphens
- .nh
- Adjusted
- .ad
- Text Indented
- Yes
- Label Justified
- Right
9 - Hyphens
- .hy
- Adjusted
- .ad
- Text Indented
- Yes
- Label Justified
- Right
10 - Hyphens
- .nh
- Adjusted
- .na
- Text Indented
- Yes
- Label Justified
- Right
11 - Hyphens
- .hy
- Adjusted
- .na
- Text Indented
- Yes
- Label Justified
- Right
Page Headers and Footers
Item | Description |
---|---|
.PH ”'Left'Center'Right'“ | Specifies page header. |
.OH ”'Left'Center'Right'“ | Specifies odd-page header. |
.EH ”'Left'Center'Right'“ | Specifies even-page header. |
.PF ”'Left'Center'Right'“ | Specifies page footer. |
.OF ”'Left'Center'Right'“ | Specifies odd-page footer. |
.EF ”'Left'Center'Right'“ | Specifies even-page footer. |
.BS | Starts bottom-block. |
.BE | Ends bottom-block. |
.PX | Calls user exit for page-header. |
.TP | Calls top of page macro. |
Miscellaneous Macros
Item | Description |
---|---|
.B [Option] [Prev-Font-option] | Prints in bold (up to six options). |
.I [Option] [Prev-Font-option] | Prints in italics (up to six options); underlines with the nroff command. |
.R | Returns to Roman font. |
.PM [Option] | Sets proprietary marking. If you do not give the .PM macro an option, you turn off proprietary markings. The /usr/lib/macros/string.mm file contains some proprietary markings. This file should be edited to meet the user's needs. |
.RD [Prompt] [Diversion] [String] | Stops code macro. The Prompt variable should be a user-defined string without spaces. The Diversion variable allows the typed-in text to be saved. The String variable contains the first line typed following the prompt. |
.RP [{0 1 }] [{0 1 2 3}] | Produces reference page: First option:
Second option:
|
.RS/.RF | Numbers references automatically. |
.WC [{N WF -WF FF -FF WD -WD FB -FB}] | Controls width for footnotes and displays when
using two columns:
|
.SP [Lines] | Skips lines down. |
.SK [Number] | Skips the specified number of pages. (The default is 1.) |
.OP | Breaks to an odd page. |
.2C | Prints output in two columns. |
.1C | Prints output in one column (normal line width restored). |
.SA [Option] | Sets right-margin justification Options:
If no option is specified, macro reverts to current default. |
.SM String1 [String2] [String3] | Reduces size of the String1 variable value by 1 point if the String3 variable value is omitted; otherwise, reduces size of the String2 variable value by one point. |
.HC Character | Sets hyphenation character to the Character variable value. |
.S [PointSize] [VerticalSpacing] | Sets point size and vertical spacing (the troff command
only). Defaults: Point size = 10p Vertical spacing = 12p Options 1 and 2:
|
.VM [Top] [Bottom] | Sets variable vertical margins. |
.nP | Starts double-line indent on paragraph. |
The following macros are for alternating fonts and all take one to six options:
Item | Description |
---|---|
.IB | Alternates italics (underlines for nroff) and bold. |
.BI | Alternates bold and italics. |
.RI | Alternates Roman and italics. |
.IR | Alternates italics (underlines for nroff) and Roman. |
.RB | Alternates Roman and bold. |
.BR | Alternates bold and Roman. |
mm Registers
If an * (asterisk) follows a register name, that register can be set one of two ways: from the command line (see the example in the mm command) or before the formatter reads mm macro definitions. In the following list, the number shown in parentheses is the default value.
Item | Description |
---|---|
A * | Handle preprinted forms. |
Au | Inhibit author information on first page (1). |
C * | Copy type (such as Original and Draft) (0). |
Cl | Contents level (2). |
Cp | Placement of figures, tables, equations, and exhibits (1). |
D * | Debug flag (0). If set to 1, the mm command continues even if it encounters an error that is usually fatal. |
De | Eject page after floating displays (0). |
Df | If set to 1, format register for floating displays (5). |
Ds | Static display pre- and post-space (1). |
E * | Control font of the Subject/Date/From fields (0): 0 = bold;
1 = Roman.
|
Ec | Equation counter. |
Ej | Page-ejection flag for headings (0). |
Eq | Equation label placement (0). |
Ex | Exhibit counter. |
Fg | Figure counter. |
Fs | Vertical footnote separation (1). |
H1...H7 | Heading counters. |
Hb | Heading break level (after .H and .HU) (2). |
Hc | Heading centering level for .H and .HU (0). |
Hi | Heading temporary indent (after .H and .HU) (1). |
Hs | Heading space level (after .H and .HU) (2). |
Ht | Heading type:
|
Hu | Heading level for unnumbered heading (2). |
Hy | Hyphenation control:
|
L * | Length of page (66v). |
Le | List of equations following table of contents (0):
|
Lf | List of figures following table of contents (0):
|
Li | List indent (5, troff command); (6, nroff command). |
Ls | List level down to which there is spacing between items (6). |
Lt | List of tables following table of contents (0):
|
Lx | List of exhibits following table of contents (1):
|
Item | Description |
---|---|
N * | Numbering style (0). |
Np | Numbered paragraphs:
|
O * | Offset of page. |
Oc | Page numbering style for table of contents:
|
Of | Figure caption style (0). |
P | Page number; managed by the mm command (0). The register accepts a value of 0, or positive integers. |
Pi | Paragraph indent (5). |
Ps | Paragraph spacing (1). |
Pt | Paragraph type (0). |
Pv | PRIVATE header:
|
2 | On all pages (0). |
Rf | Reference counter; used by .RS macro. |
S * | The troff command's default point size (10). |
Si | Display indent (5). |
T * | Type of the nroff command output device (0). |
Tb | Table counter. |
U * | Underlining style (the nroff command) for .H and .HU (0). |
W * | Width of page (line and title length). |
mm Strings
Print special strings by using the following escape sequences:
Item | Description |
---|---|
\*x | For strings with single-character names (x) |
\*(xx | For strings with two-character names (xx). |
String Names
Item | Description |
---|---|
BU | Bullet. |
Ci | Indent of heading levels in the table of contents. |
DT | Current date. The locale-specific date format specified by the locale setting for the LC_TIME category is used as the default setting. This corresponds to the %x format specifier of the strftime subroutine. Use the .ND macro to change the current date. |
EM | Em dash. |
F | Footnote numbering. |
HF | Heading level font string:
|
HP | Point sizes of the various heading levels. |
Le | Title of the list of equations. |
Lf | Title of the list of figures. |
Lt | Title of the list of tables. |
Lx | Title of the list of exhibits. |
RE | SCCS SID of mm macros. |
Rf | Reference numberer. |
Rp | Title of the reference page. |
Tm | Trademark. |
` | Grave accent. |
' | Acute accent. |
^ | Circumflex. |
~ | Tilde. |
: | Lowercase umlaut. |
; | Uppercase umlaut. |
, | Cedilla. |
Reserved Names
If you define your own strings, macros, and registers, use only names that consist of either a single lowercase letter, or a lowercase letter followed by any character other than a lowercase letter. The names c2 and nP are exceptions to this; they are reserved.
mptx Macro Package for the nroff and troff Commands
The mptx macro package provides a definition for the .xx macro that is used for formatting a permuted index produced by the ptx command. The mptx macro package does not provide any other formatting capabilities, such as headers and footers. Use the mptx macro package in conjunction with the mm macro package if such capabilities are required. In this case, call the -mptx option after the -mm call, as follows:
nroff -mm -mptx File... | Printer
ms Macro Package for the nroff and troff Commands
The ms macro package of nroff and troff command macro definitions provides a formatting facility for various styles of articles, theses, and books. In certain cases, the col command may be required to postprocess output.
The macro requests are defined in the ms Requests section. Many nroff and troff command requests can have unpredictable results in conjunction with this package. However, the first 4 requests in the following list can be used after initialization, and the last 2 requests can be used before initialization.
Item | Description |
---|---|
.bp | Begins new page. |
.br | Breaks output line. |
.ce [Number] | Centers the next specified number of lines. |
.ls [Number] | Sets line spacing. Set the value of the Number variable to 1 (one) to single-space text; and to 2 to double-space text. |
.na | Turns off alignment of right margin. |
.sp [Number] | Inserts the specified number of spacing lines. |
Font and point-size changes with the\f and \s macros are also allowed. For example, \fIword\fR italicizes word. Output of the tbl, eqn, and refer command preprocessors for equations, tables, and references is acceptable as input.
Formatting distances can be controlled in ms macros by means of built-in number registers. For example, the following number register sets the line length to 6.5 inches:
.nr LL 6.5i
For more information on ms macro registers, see ms Registers.
ms Requests
Following are external ms macro requests:
Item | Description |
---|---|
.AB [X] | Begins abstract. If X is no, do not label abstract. Initial Value: - Break: yes |
.AE | Ends abstract. Break: yesInitial Value: - Break: yes |
.AIName | Author's institution. Initial Value: - Break: yes |
.AM | Sets accent mark definitions. Initial Value: - Break: no |
.AUName | Sets author's name. Initial Value: - Break: yes |
.B [X] | Puts X in boldface. If no X, switches to boldface.
Initial Value: - Break: no |
.B1 | Begins text to be enclosed in a box. Initial Value: - Break: yes |
.B2 | Ends boxed text and prints it. Initial Value: - Break: yes |
.BT | Prints bottom title at foot of page. Initial Value: date Break: no |
.BX X | Prints word X in a box. Initial Value: - Break: no |
.CM | Cuts mark between pages. Initial Value: if t Break: no |
.CT | Indicates chapter title; page number moved to CF (TM). Initial Value: - Break: yes Reset: yes |
.DA [X] | Forces date X at bottom of page. If no X, date
is today. Initial Value: if n Break: no |
.DE | Ends display (unfilled text) of any kind. Initial Value: - Break: yes |
.DS X Y | Begins display with keep. X=I, L, C, B; Y=indent.
Initial Value: I Break: yes |
.ID Y | Indents display with no keep; Y=indent. Initial Value: 8n, .5i Break: yes |
.LD | Sets left display with no keep. Initial Value: - Break: yes |
.CD | Centers display with no keep. Initial Value: - Break: yes |
.BD | Block display; centers entire block. Initial Value: - Break: yes |
.EF X | Sets even page footer X (3 part as for troff command, .tl request).
Initial Value: - Break: no |
.EH X | Sets even page header X (3 part as for troff command, .tl request).
Initial Value: - Break: no |
.EN | Ends displayed equation produced by eqn command. Initial Value: - Break: yes |
.EQ [X] [Y] | Breaks out equation. X=L, I, C; Y is equation
number. Initial Value: - Break: yes |
.FE | Ends footnote to be placed at bottom of page. Initial Value: - Break: no |
.FP | Numbers footnote paragraph; can be redefined. Initial Value: - Break: no |
FS [X] | Starts footnote; X is optional footnote label. Initial Value: - Break: no |
.HD | Sets optional page header below header margin. Initial Value: undef Break: no |
.I [X] | Italicizes X. If no X, equivalent to italics
font .ft 2. Initial Value: - Break: no |
.IP X Y | Indents paragraph, with hanging tag X. Y specifies
spaces to indent. Initial Value: - Break: yes Reset: yes |
.IX X Y | Indexes words such as X and Y, up to five levels.
Initial Value: - Break: yes |
.KE | Ends keep of any kind. Initial Value: - Break: no |
.KF | Begins floating keep; text fills remainder. Initial Value: - Break: no |
.KS | Begins keep; keeps unit together on a single page. Initial Value: - Break: yes |
Item | Description |
---|---|
.LG | Sets larger type size; increases point size by 2. Valid only
for the troff command. Initial Value: - Break: no |
.LP | Begins left block paragraph. Initial Value: - Break: yes Reset: yes |
.MC X | Sets multiple columns. X is column width. Initial Value: - Break: yes Reset: yes |
.ND [X] | Indicates no date in page footer; X is date on cover.
Initial Value: if t Break: no |
.NH X Y | Sets numbered header: X=level; X=0, resets; X=S,
sets to Y. Initial Value: - Break: yes Reset: yes |
.NL | Sets point size back to default. Valid for the troff command
only. Initial Value: 10p Break: no |
.OF X | Sets odd page footer X (3 part as for me macro, .tl request).
Initial Value: - Break: no |
.OH X | Sets odd page header X (3 part as for me macro, .tl request).
Initial Value: - Break: no |
.P1 | Prints header on first page. Initial Value: if TM Break: no |
.PP | Indents first line of paragraph. Initial Value: - Break: yes Reset: yes |
.PT | Prints page title at head of page. Initial Value: % Break: no |
.PX X | Prints index (table of contents); X=do not suppress
title. Initial Value: - Break: yes |
.QP | Quotes paragraph (indented and shorter). Initial Value: - Break: yes Reset: yes |
.R [X] | Returns to Roman font. Prints in Roman font. If X is
missing, equivalent to font .ft1. Initial Value: on Break: no |
.RE | Retreats (end level of relative indentation). Used with the .RS request.
Initial Value: 5n Break: yes Reset: yes |
.RP [X] | Prints title page in released paper format; X=no, stops
title on first page. Initial Value: - Break: no |
.RS | Right-shifts in one indentation level (start level of relative
indentation). Used with the .IP request. Initial Value: 5n Break: yes Reset: yes |
.SG | Sets signature line. |
.SH | Sets unnumbered section header (in boldface). Initial Value: - Break: yes Reset: yes |
.SM | Sets smaller type size; decrease point size by 2. Valid for
the troff command only. Initial Value: - Break: no |
.TA | Sets tabs to 8n, 16n, ... (nroff); 5n, 10n, ... (troff).
Initial Value: 8n, 5n Break: no |
.TC X | Prints table of contents at end; X=do not suppress title.
Initial Value: - Break: yes |
.TE | Ends table processed by tbl command. Initial Value: - Break: yes |
.TH | Ends multipage header of table. Must be used with the .TS H
request. Initial Value: - Break: yes |
.TL | Sets title line (in boldface and 2 points larger). Initial Value: - Break: yes |
.TM | Sets UC Berkeley thesis mode. Initial Value: off Break: no |
.TS X | Begins table. If X is H, table prints header on all
pages. Initial Value: - Break: yes Reset: yes |
.UL X | Underlines X, even for the troff command. Initial Value: - Break: no |
.UX X | Sets UNIX; trademark
message first time; X appended. Initial Value: - Break: no |
.XA X Y | Sets another index entry; X=page; X=no, for none.
Initial Value: - Break: yes |
.XE | Ends index entry or series of .IX request entries. Initial Value: - Break: yes |
.XP | Exdents first line of paragraph; others indented. Initial Value: - Break: yes Reset: yes |
.XS X Y | Begins index entry; X=page; X=no, for none; Y=indent.
Initial Value: - Break: yes |
.1C | Begins one-column format, on a new page. Initial Value: on Break: yes Reset: yes |
.2C | Begins two-column format. Initial Value: - Break: yes Reset: yes |
.]- | Sets beginning of refer command reference. Initial Value: - Break: no |
.[0 | Sets end of unclassifiable type of reference. Initial Value: - Break: no |
.[N | For journal article, N=1 (one). For book, N=2.
For book article, N=3. Initial Value: - Break: no |
ms Registers
Following is a list of number registers and their default values:
Item | Description |
---|---|
PS | Sets point size. Takes effect for paragraph. Default is 10. |
VS | Sets vertical spacing. Takes effect for paragraph. Default is 12. |
LL | Sets line length. Takes effect for paragraph. Default is 6i. |
LT | Sets title length. Takes effect on next page. Defaults to the LL register value. |
FL | Sets footnote length. Takes effect at next .FS request. Default is 5.5i. |
PD | Sets paragraph distance. Takes effect for paragraph. Default is 1v (in nroff), .3v (in troff). |
DD | Sets display distance. Takes effect for displays. Default is 1v (in nroff), .5v (in troff). |
PI | Sets paragraph indent. Takes effect for paragraph. Default is 5n. |
QI | Sets quotation indent. Takes effect at next .QP request. Default is 5n. |
FI | Sets footnote indent. Takes effect at next .FS request. Default is 2n. |
PO | Sets page offset. Takes effect on next page. Default is 0 (zero) (in nroff), 1i (in troff). |
HM | Sets header margin. Takes effect on next page. Default is 1i. |
FM | Sets footer margin. Takes effect on next page. Default is 1i. |
FF | Sets footnote format. Takes effect at next .FS request. Default is 0 (zero) (1, 2, 3 available). |
When resetting number register values, make sure to specify the appropriate units. Set the line length to 7i instead of just 7, which would result in output with one character per line. Setting the FF register to 1 (one) suppresses footnote superscripting. Setting it to 2 also suppresses indentation of the first line. Setting the FF register to 3 produces a footnote paragraph like the .IP request.
Following is a list of string registers available in the ms macros. These string registers can be used anywhere in the text.
Item | Description |
---|---|
\*Q | Open quotation marks (” in nroff; ` ` in troff) |
\*U | Close quotation marks (“ in nroff; ' ' introff) |
\*- | Dash (— in nroff; - in troff) |
\*(MO | Month of year |
\*(DY | Day (current date) |
\** | Automatically numbered footnote |
\*' | Acute accent (before letter) |
\*` | Grave accent (before letter) |
\*^ | Circumflex accent (before letter) |
\*, | Cedilla (before letter) |
\*: | Umlaut (before letter) |
\*~ | Tilde (before letter). |
When using the extended accent mark definitions available with the .AM request, these strings should come after, rather than before, the letter to be accented.
- It is important to note that floating keeps and regular keeps are diverted to the same space, so they cannot be mixed.
- The date format is restricted to U.S. English format.
mv Macro Package for the mvt and troff Commands
This package simplifies the typesetting of view graphs and projection slides in a variety of sizes. Although a few macros accomplish most of the formatting tasks needed in making transparencies, the entire facilities of the troff, tbl, pic, and grap commands are available for more difficult tasks.
The output can be previewed on most terminals, in particular the Tektronix 4014. For this device, specify the -rX1 flag (which is automatically specified by the mvt command when that command is called with the -D4014 flag). To preview output on other terminals, specify the -a flag.
The mv macros are summarized under the following headings:
Foil-Start Macros
For the following nine macros, the first character of the name (V or S) distinguishes between view graphs and slides, respectively, while the second character indicates whether the foil is square (S), small wide (w), small high (h), big wide (W), or big high (H). Slides are narrower than the corresponding view graphs. The ratio of the longer dimension to the shorter one is larger for slides than for view graphs. As a result, slide foils can be used for view graphs, but view graphs cannot be used for slide foils. On the other hand, view graphs can accommodate a bit more text.
Item | Description |
---|---|
.VS [FoilNumber] [FoilID] [Date] | Starts a square view graph. Foil size is to be 7 inches by 7 inches. The foil-start macro resets all variables (such as indent and point size) to initial default values, except for the values of the FoilID and Date variables inherited from a previous foil-start macro. The .VSmacro also calls the .A macro. |
.Vw, .Vh,.VW, .VH, .Sw, .Sh, .SW, .SH | Same as the .VS macro, except that these
macros start view graphs (V) or slides (S) that are
small wide (w), small high (h), large wide (W),
or large high (H). The following macros are recommended:
|
.Vw [FoilNumber] [FoilID] [Date] | Same as the .VS macro, except that foil size is 7 inches wide by 5 inches high. |
.Vh [FoilNumber] [FoilID] [Date] | Same as the .VS macro, except that foil size is 5 inches wide by 7 inches high. |
.VW [FoilNumber] [FoilID] [Date] | Same as the .VS macro, except that foil size is 7 inches wide by 5.4 inches high. |
.VH [FoilNumber] [FoilID] [Date] | Same as the .VS macro, except that foil size is 7 inches wide by 9 inches high. |
.Sw [FoilNumber] [FoilID] [Date] | Same as the .VS macro, except that foil size is 7 inches wide by 5 inches high. |
.Sh [FoilNumber] [FoilID] [Date] | Same as the .VS macro, except that foil size is 5 inches wide by 7 inches high. |
.SW [FoilNumber] [FoilID] [Date] | Same as the .VS macro, except that foil size is 7 inches wide by 5.4 inches high. |
.SH [FoilNumber] [FoilID] [Date] | Same as the .VS macro, except that foil size is 7 inches wide by 9 inches high. |
Level Macros
Item | Description |
---|---|
.A [X] | Places text that follows at the first indentation level (left margin). The presence of the X variable suppresses the half-line spacing from the preceding text. |
.B [Mark [Size]] | Places text that follows at the second indentation level. Text is preceded by a specified mark (default is a large bullet). The Size variable is the increment or decrement to the point size of the mark with respect to the prevailing point size (default is 0). A value of 100 for the Size variable makes the point size of the mark equal to the default value of the Mark variable. |
.C [Mark [Size]] | Same as the .B macro, but for the third indentation level. The default value of the Mark variable is an em dash. |
.D [Mark [Size]] | Same as the .B macro, but for the fourth indentation level. The default value of the Mark variable is a small bullet. |
Text-Control Macros
Item | Description |
---|---|
.I [+/-] [Indentation] [A[X]] | Changes the current text indent (does not affect titles). The specified indentation is in inches unless dimensioned. The default is 0. If the Indentation variable is signed, it is an increment or decrement. The presence of the A variable calls the .A macro and passes the X variable (if any) to it. |
.S [Size] [Length] | Sets the point size and the line length. The value specified in the Size variable is the point size (default is previous). If the Size variable value is 100, the point size reverts to the initial default for the current foil-start macro. If the Size variable is signed, it is an increment or decrement (default is 18 for the .VS, .VH, and .SH macros, and 14 for the other foil-start macros). The Lengthvariable specifies the line length (in inches unless dimensioned; the default is 4.2 inches for the .Vh macro, 3.8 inches for the .Sh macro, 5 inches for the .SH macro, and 6 inches for the other foil-start macros). |
.T String | Prints the String variable value as a centered, enlarged title. |
.U String1[String2] | Underlines the String1 variable value and concatenates the String2 variable value (if any) to it. Using this operation is not recommended. |
Default-Setting Macros
Item | Description |
---|---|
.DF [Number Name]... | Sets font positions. It cannot be displayed within foil input text; that is, it must follow the input text for a foil, but it must precede the next foil-start macro. The specified number is the position of the font specified by the Name variable. The .DF macro takes up to four pairs of Number Name variables, such as 1 H. The first Name variable specifies the prevailing font. For example: .DF 1 H 2 I 3 B 4 S. |
.DV [A] [B] [C] [D] | Alters the vertical spacing between indentation levels. The value specified by the A, B, C, or D variable is the spacing for the .A, .B, .C, or .D macro, respectively. All non-null parameters must be dimensioned. Null parameters leave the corresponding spacing unaffected. The default setting is: .DV .5v .5v .5v 0v. |
The .S, .DF, .DV, and .U macros do not cause a break. The .I macro causes a break only if it is called with more than one variable. All the other macros cause a break.
The mv macro package also recognizes the following uppercase synonyms for the following corresponding lowercase troff command requests:
- .AD
- .BR
- .CE
- .FI
- .HY
- .NA
- .NF
- .NH
- .NX
- .SO
- .SP
- .TA
- .TI
The Tm string produces the trademark symbol.
Environment Variable
Item | Description |
---|---|
LANG | Determines the locale's equivalent of y for yes or no queries. The allowed affirmative responses are defined in the locale variable YESSTR. If LANG is not set, or if it is set to an empty string, the YESSTR from the default C locale is used. |
nroff and troff Requests for the nroff and troff Commands
The following nroff and troff requests are included in a specified working file or in standard input. The nroff and troff requests control the characteristics of the formatted output when the file or standard input is processed with the nroff or troff commands. The nroff and troff requests are grouped by function, in the following sections:
- Numerical Parameter Input
- Font and Character Size Control
- Page Control
- Text Filling, Adjusting, and Centering
- Vertical Spacing
- Line Length and Indenting
- Macros, Strings, Diversions, and Position Traps
- Number Registers
- Tabs, Leaders, and Fields
- Input and Output Conventions and Character Translations
- Hyphenation
- Three-Part Titles
- Output Line Numbering
- Conditional Acceptance of Input
- Environment Switching
- Insertions from Standard Input
- Input and Output File Switching
- Miscellaneous
For number variables written as +Number, the variable can be expressed as follows:
- The Number variable by itself is an absolute value.
- The +Number variable increases the currently set value.
- The -Number variable decreases the variable
relative to its current value. Note: For all numeric parameters, numbers are expressed using ASCII Arabic numerals only.
The notes at the end of this command are referenced in the specific requests where applicable.
Numerical Parameter Input
Both nroff and troff requests accept numerical input with the appended scale indicators shown in the following table, where S is the current type size in points, V is the current vertical line spacing in basic units, and C is a nominal character width in basic units.
Indicator | Meaning | Number of Basic nroff Units |
---|---|---|
i | Inch (machine-dependent for troff) | 240 |
c | Centimeter | 240x50/127 |
P | Pica = 1/6 inch | 240/6 |
m | Em = S points | C |
n | En = Em/2 | C (same as Em) |
p | Point = 1/72 inch | 240/72 |
u | Basic unit | 1 |
v | Vertical line space | V |
k | Width single-width kana | C |
K | Width double-width kanji | Two Cs |
none | Default |
- If a non-kanji output device is selected, an en-width is used instead.
- If a non-kanji output device is selected, an em-width is used instead.
In the nroff request, both the em and the en are taken to be equal to the C, which is output-device dependent; frequent values are 1/10 and 1/12 inch. Actual character widths in the nroff request need not be all the same, and characters constructed with predefined strings such as - > are often extra wide.
Japanese Language Support: In the output from the nroff command, all double-width Japanese characters such as all kanji and some katakana characters have a fixed width equal to two Cs. All single-width Japanese characters such as some katakana characters have a fixed width equal to C.
The scaling for horizontally-oriented control characters, vertically-oriented control characters, and the requests .nr, .if, and .ie are as follows:
Orientation Default Request or Function
Measure
Horizontal Em (m) .ll, .in, .ta, .lt,
.po, .mc, \h, \l
Vertical Vertical line .pl, .wh, .ch, .dt,
space (v) .sp, .sv, .ne, .rt, \v
\x, \L
Register-oriented Basic unit (u) .nr, .if. .ie
or Conditional
Miscellaneous Point (p) .ps, .vs, \H, \s
All other requests ignore scale indicators. When a number register containing an already appropriately scaled number is interpreted to provide numerical input, the unit scale indicator u might need to be appended to prevent an additional inappropriate default scaling. The Number might be specified in decimal-fraction form, but the parameter that is finally stored is rounded to an integer number of basic units.
Font and Character Size Control
Item | Description |
---|---|
.bd Font Number | Makes the characters in the specified font artificially bold
by overstriking them the specified number of times when using nroff,
or by printing each character twice separated by Number -1
basic units when using troff. If the Number variable
is not specified, the bold mode is turned off. The Font value
must be an ASCII font name or font position. For the nroff command,
the default setting of the .bd request is 3 3, specifying that
characters on the font mounted at position 3 (usually bold) are to
be overstruck 3 times (that is, printed in place a total of 4 times).
The font name itself can be substituted for the font position; for example, .bd I 3. The Number variable is functionally identical to the -u flag of the nroff command. (The bold mode must be in effect when the characters are physically printed.) This request can affect the contents of the .b general-number register. The bold mode still must be in effect, or restarted at the time of physical output. You cannot turn off the bold mode in the nroff command if it is being controlled locally by the printing device as with, for example, a DASI 300. Initial Value: Off If No Value Specified: - |
.bd S Font Number | Makes the characters in the special font bold whenever the
specified font is the current font. The mode must be in effect when
the characters are physically printed. The Font value must
be an ASCII font name or font position. The mode still must be in
effect, or again so, at the time of physical output. Initial Value: Off If No Value Specified: - |
.cs Font Number M | Sets constant character space (width) mode to the Font variable
value (if mounted). The width of every character is taken to be the
value specified in the Number variable divided by 36 ems. If
the M variable is not specified, the em width is that of the
character's point size; if the M variable is given, the width
is the value specified by the M variable minus points. All
affected characters are centered in this space, including those with
an actual width larger than this space. Special font characters occurring
while the specified font is the current font are also so treated.
The Font value must be an ASCII font name or font position.
If the Number variable is absent, the mode is turned off. The
mode must be in effect when the characters are physically printed.
This request is ignored by the nroff command. Relevant values
are part of the current environment. The mode still must be in effect,
or again so, at the time of physical output. Initial Value: Off If No Value Specified: - |
.fp Font Number[ File ] | Specifies the font position. This is a statement
that the specified font is mounted on the position specified by the Number variable.
The Font variable must be a one- or two-character ASCII font
name. Attention: It is an irrecoverable error if the Font variable
is not specified.
The .fp request accepts a third optional variable, the File variable, which is the actual path name of the file containing the specified font. The File variable value can be any legal file name and can contain extended characters. Japanese Language Support: The Filevalue can be any legal file name. Values are typesetter- or printer-dependent. Initial Value: - If No Value Specified: Ignored |
.ft Font | Changes the font style to the specified font, or if Font value
is numeric, to the font mounted on that position. Alternatively, embed \fFont command.
The font name P is reserved to mean the previous font. The Font variable
value must be an ASCII font name or font position. If using a font name consisting of two characters, use the alternative form of .ft, \f. Relevant values are part of the current environment. Values are typesetter or printer-dependent. Initial Value: Roman If No Value Specified: Previous |
.ps [+/-][Number] | Sets the point size to that specified by the +/-Number variable.
Although any positive size value can be requested, an invalid size
results in the nearest valid size being used. Size 0 refers to the
previous size. Alternatively, \sNumber or \s+/-Number;
if the Number value is two digits, use \s(Number or \s+/-(Number.
For compatibility with older versions of the troff command,
the form is valid for two-digit values of n = 10, 11, 12, 14, 16, 18, 20, 22, 24, 28,
and 36. This request is ignored by the nroff command. Relevant values are part of the current environment. Initial Value: 10 point If No Value Specified: Previous |
.ss Number | Sets space-character size to the specified number divided by
36 ems. This size is the minimum word spacing in adjusted text. This
request is ignored by the nroff command. Relevant values are
part of the current environment. Initial Value: 12/36 em If No Value Specified: Ignored |
Page Control
Item | Description |
---|---|
.bp [+/-][Number] | Specifies a break page. The current page is ejected and a new
page is begun. If the +/-Number variable is specified, its
value becomes the new page number. Also refer to the .ns request. This request usually causes a line break similar to the .br request. Calling this request with the control character ” ' “ (instead of ”.“) suppresses that break function. Initial Value: Number=1 If No Value Specified: - |
.mk Register | Marks the current vertical place (or a place in the current
diversion) in an internal register (associated with the current diversion
level) or in the specified register, if given. The Register variable
is the ASCII name of a number register. Mode or relevant values are
associated with the current diversion level. For more information,
refer to the .rt request.
Initial Value: None If No Value Specified: Internal |
.ne Number D | Indicates a need for the specified vertical space. If the page
space needed (Number) is greater than the distance to the next
trap (D), a forward vertical space of size D occurs,
which springs the trap. If there are no remaining traps on the page,
the size specified by the D variable is the distance to the
bottom of the page. If the distance to the next trap (D) is
less than one vertical line space (v), another line could still
be output before the trap is sprung. In a diversion, the size specified
by D is the distance to the diversion trap, if any, or is very
large. The value of D is also usually contained in the .t Number register. Mode or relevant values are associated with the current diversion level. Initial Value: Number=1V If No Value Specified: - |
.pl [+/-][Number] | Sets page length to the +/-Number variable value. The
internal limitation is approximately 136 inches in the nroff command,
but varies with the device type in the troff command. A good
working maximum for the troff command is 75 inches. The current
page length is available in the .p register. Initial Value: 11 inches If No Value Specified: 11 inches |
.pn [+/-][Number] | Specifies that the next page (when it occurs) has the page
number specified by the +/-Number variable. A .pn request
must occur either before text is initially printed or before a break
occurs to affect the page number of the first page. The current page
number is in the % register. Initial Value: Number=1 If No Value Specified: Ignored |
.po [+/-][Number] | Specifies a page offset. The current left margin is set to
the +/-Numbervariable value. The initial troff command
value provides 1 inch of left margin. For more information, refer
to ”Line Length and Indenting“.
The current page offset is available in the .o register. Initial Value: 0 for the nroff command; 1 for the troff command. If No Value Specified: Previous |
.rt [+/-][Number] | Returns upward only to a marked vertical place in the current
diversion. If the +/-Number variable value (relative to the
current place) is given, the place is the value specified by the +/-Number variable
from the top of the page or diversion. If the Number variable
is not specified, the place is marked by a previous .mk request.
Mode or relevant values are associated with the current diversion
level. The .sp request can be used in all cases, instead of the .rt request, by spacing to the absolute place stored in an explicit register as, for example, when using the sequence .mk Register . . . .sp|\nRu. Initial Value: None If No Value Specified: Internal |
Text Filling, Adjusting, and Centering
Item | Description |
---|---|
.ad Indicator | Begins line adjustment. If the fill mode is not on, adjustment
is deferred until the fill mode is back on. If the Indicator variable
is present, the adjustment type is changed as shown in the following
list:
The adjustment indicator can also be a number obtained from the .j register. |
Japanese Language Support:
Indicator | Adjustment Type |
---|---|
k | Turn on kinsoku shori processing (turned off with .ad n, .ad
b, or .ad l). Usually, lines of Japanese text are filled to the margins without regard for the characters beginning or ending lines. When kinsoku shori processing is enabled, lines are prevented from ending with an open bracket character or from beginning with a close bracket or punctuation character. If a line ends with an open bracket, the line is left short and the bracket begins the next line. If a line begins with a close bracket or punctuation character, the preceding line is extended and the character ends the preceding line. Requesting Japanese kinsoku shori processing on an output device that does not support kanji characters has no effect. Relevant values are part of the current environment. Initial Value: Adjust, both If No Value Specified: Adjust |
Item | Description |
---|---|
.br | Specifies a break. The filling of the line currently being
collected is stopped and the line is output without adjustment. Text
lines beginning with space characters and empty text lines (blank
lines) also cause a break. Initial Value: - If No Value Specified: - |
.ce [Number] | Centers the next specified number of input text lines within
the current line length, minus indent. If the Number variable
equals 0, any residual count is cleared. A break occurs after each
of the Number variable input lines. If the input line is too
long, it is left adjusted. Relevant values are part of the current
environment. This request usually causes a line break similar to the .br request.
Calling this request with the control character ” ' “ (instead
of ”.“) suppresses that break function. Initial Value: Off If No Value Specified: Number=1 |
.fi | Fills subsequent output lines. The .u register has a
value of 1 (one) in fill mode and a value of 0 (zero) in no-fill mode.
Relevant values are part of the current environment. This request
usually causes a line break similar to the .br request. Calling
this request with the control character ” ' “ (instead of ”.“)
suppresses that break function. Initial Value: Fill If No Value Specified: - |
.na | Specifies no-adjust mode. Adjustment is turned off; the right
margin is ragged. The adjustment type for the .ad request is
not changed. Output-line filling still occurs if the fill mode is
on. Relevant values are part of the current environment. Initial Value: None If No Value Specified: - |
.nf | Specifies no-fill mode. Subsequent output lines are neither
filled nor adjusted. Input-text lines are copied directly to output
lines without regard for the current line length. Relevant values
are part of the current environment. This request usually causes a
line break similar to the .br request. Calling this request
with the control character ” ' “ (instead of ”.“) suppresses
that break function. Initial Value: Fill If No Value Specified: - |
Vertical Spacing
Item | Description |
---|---|
Blank text line | Causes a break and outputs a blank line exactly like an .sp 1 request. |
.ls Number | Sets line spacing to the value specified by the +/-Number variable.
The Number -1 Vs (blank lines) variable
values are appended to each output-text line. Appended blank lines
are omitted if the text or previous appended blank line reached a
trap position. Relevant values are part of the current environment.
Initial Value: 1 If No Value Specified: Previous |
.ns | Turns on no-space mode. When on, the no-space mode inhibits .sp and .bp requests
without a next page number. The no-space mode is turned off when a
line of output occurs or with the .rs request. This request
usually causes a break. Initial Value: Space If No Value Specified: - |
.os | Outputs saved vertical space. The no-space mode has no effect.
Used to output a block of vertical space requested by the previous .sv request.
Initial Value: - If No Value Specified: - |
.rs | Restores spacing. The no-space mode is turned off. This request
usually causes a break. Initial Value: None If No Value Specified: - |
.sp Number | Spaces vertically in either direction. If the Number variable
value is negative, the motion is backward (upward) and is limited
to the distance to the top of the page. Forward (downward) motion
is truncated to the distance to the nearest trap. If the no-space
mode is on, no spacing occurs. Refer to the .ns and .rs requests. This request
usually causes a line break similar to the .br request. Calling
this request with the control character ”'“ (instead of ”.“) suppresses
that break function. Initial Value: - If No Value Specified: 1V |
.sv Number | Saves a contiguous vertical block of the specified size. If
the distance to the next trap is greater than the Number variable
value, the specified vertical space is output. The no-space mode has
no effect. If this distance is less than the specified vertical space,
no vertical space is immediately output, but is remembered for later
output (refer to the .os request).
Subsequent .sv requests overwrite any still-remembered Number variable
value. Initial Value: - If No Value Specified: Number=1V |
.vs Number | Sets vertical base-line spacing size V to the Number variable.
Transient extra vertical space can be specified by \x N.
Relevant values are part of the current environment. Initial Value: The Number variable equals 1/16 inch for the nroff command and 12 points for the troff command. If No Value Specified: Previous |
Line Length and Indenting
Item | Description |
---|---|
.in [+/-]Number | Sets indent to the +/-Number variable value. The indent
is prepended to each output line. Relevant values are part of the
current environment. This request usually causes a line break similar
to the .br request. Calling this request with the control character
” ' “ (instead of ”.“) suppresses that break function.
Initial Value: Number=0 If No Value Specified: Previous |
.ll [+/-]Number | Sets line length to the +/-Number variable value. In
the troff command, the maximum line length plus page offset
is device-dependent. Relevant values are part of the current environment.
Initial Value: 6.5 inches If No Value Specified: Previous |
.ti [+/-]Number | Specifies a temporary indent. The next output text line is
indented a distance of the value specified by the +/-Number variable
with respect to the current indent. A negative value for the Number variable
can result in spacing backward over the current indent, so that the
resulting total indent can be a value of 0 (zero) (equal to current
page offset), but cannot be less than the current page offset. The
temporary indent applies only for the one output line following the
request; the value of the current indent, which is stored in the .i register,
is not changed. Relevant values are part of the current environment. This request usually causes a line break similar to the .br request. Calling this request with the control character ” ' “ (instead of ”.“) suppresses that break function. Initial Value: - If No Value Specified: Ignored |
Macros, Strings, Diversions, and Position Traps
Item | Description |
---|---|
.am Macro1 [Macro2] | Appends to Macro 1; appends version of the .de request. Both the Macro1 and Macro2 variables
must be either one or two ASCII characters. Macro2 is a termination
sequence to end the diversion. Initial Value: - If No Value Specified: .Macro2=.. |
.as StringName String | Appends the specified string to the value specified by the StringName variable;
appended version of the .ds request.
The StringName variable value must be one or two ASCII characters.
Initial Value: - If No Value Specified: Ignored |
.ch Macro [Number] | Changes the trap position for the specified macro to the value
specified by the Number variable. In the absence of the Number variable,
the trap, if any, is removed. The Macro variable value must
be one or two ASCII characters. Initial Value: - If No Value Specified: - |
.da [Macro] | Diverts, appending to the specified macro and appends version
of the .di request.
The Macro variable must be one or two ASCII characters. Mode
or relevant values are associated with the current diversion level.
Initial Value: - If No Value Specified: End current diversion |
.de Macro1 [Macro2] | Defines or redefines the value specified by the Macro1 variable.
The contents of the macro begins on the next input line. Input lines
are copied in copy mode until the definition is stopped by a line
beginning with .Macro2. In the absence of the Macro2 variable,
the definition is stopped by a line beginning with ”..“. A
macro can contain .de requests, provided the stopping macros
differ or the contained definition terminator is concealed. The ”..“
can be concealed as ”\\ .“, which copies as ”\...“ and
is reread as ”..“. The Macro1 and Macro2variables
must each be one or two ASCII characters. Initial Value: - If No Value Specified: .Macro2=.. |
.di [Macro] | Diverts output to the specified macro. Normal text processing
occurs during diversion except that page offsetting is not performed.
The diversion ends when the .di or .da request is encountered
without a variable. Extraneous requests of this type should not be
displayed when nested diversions are being used. The Macro variable
must be one or two ASCII characters. Mode or relevant values are associated
with the current diversion level. Initial Value: - If No Value Specified: End |
.ds StringName String | Defines a string specified by the StringName variable to contain the value specified by the String variable. Any initial double-quote in String is stripped off to permit initial blanks. The StringName variable must be one or two ASCII characters. |
.ds StringName ^A <SetNumber> <MessageNumber> [^A”<DefaultMessage> “] [^A<Argument> ^B<Argument> ^B <Argument>...] | Provides an alternate .ds syntax that
allows the use of a message catalog for language-independent string
definitions. Based on the message SetNumber and the MessageNumber within the locale-specific catalog, the message catalog is read in copy mode and the corresponding message is placed into the StringName variable. The initial sequence specifying the message set and message number can be omitted for backward compatibility. The ASCII code Control-A (^A) delimits message identification, default message and optional argument list. The ASCII code Control-B (^B) delimits an individual optional argument list. In the following example,
2 is the message set number. 41 is the message number. text within quotes (”. . .“) is the default message. \n(.F is the name of the current input file. \n(.c is the number of lines read from the input file. If you assume the troff command runs with these conditions:
then the string {c would be defined as:
Other examples are:
|
If both the set number and the message number are set to zero, then the current date is returned in the current local's format. A user defined date format string can be defined in the default message field. The user defined format string must conform to the conversion specifications outlined by the strftime function in Technical Reference: Base Operating System and Extensions. In the following examples:
If the current date were July 10, 1991, in an English U.S. locale, DT would be defined as 7/10/91.
If the current date were July 10, 1991, in an English U.S. locale, DT would be defined as Today is July 10, 1991. The second syntax method is not intended for general use. It is used in the nroff and troff macro files supplied with the system to facilitate internationalization of internally generated messages. Initial Value: - If No Value Specified: Ignored |
|
.dt Number Macro | Installs a diversion trap at the position specified by the Number variable
in the current diversion to start the specified macro. Another .dt request
redefines the diversion trap. If no variables are given, the diversion
trap is removed. The Macro variable must be one or two ASCII
characters. Mode or relevant values are associated with the current
diversion level. Initial Value: - If No Value Specified: Off |
.em Macro | Calls the specified macro when all input has ended. The effect
is the same as if the contents of the specified macro had been at
the end of the last file processed. The specified macro must be one
or two ASCII characters. Initial Value: None If No Value Specified: None |
.it Number Macro | Sets an input-line-count trap to call the specified macro after
the number of lines of text input specified by the Number variable
have been read (control or request lines are not counted). The text
can be inline text or text provided by macros called explicitly (through
inline calls) or implicitly (through traps). The Macro variable
must be one or two ASCII characters. Relevant values are part of the
current environment. Initial Value: - If No Value Specified: Off |
.rm Name | Removes the specified request, macro, or string. The Name variable
value is removed from the name list and any related storage space
is freed. Subsequent references have no effect. The Name variable
must be one or two ASCII characters. Initial Value: - If No Value Specified: Ignored |
.rn Name1 Name2 | Renames the request, macro, or string value specified by the Name1variable
to the value specified by the Name2 variable. The Name1and Name2 variable
values must each be one or two ASCII characters. Initial Value: Ignored If No Value Specified: - |
.wh Number Macro | Installs a trap to call the specified macro at the page position
specified by the Number variable. A negative Number variable
value is interpreted with respect to the page bottom. Any macro previously
planted at the page position specified by the Number variable
is replaced by the Macro variable value. A Number variable
value of 0 refers to the top of a page. In the absence of the Macro variable,
the first trap found at the page position specified by the Number variable,
if any, is removed. The Macro variable must be one or two ASCII
characters. Initial Value: - If No Value Specified: - |
Number Registers
Item | Description |
---|---|
.af Register Indicator | Assigns the format as specified by the Indicator variable
to the specified register. The Register variable must be one
or two ASCII characters. The available format Indicator variable
values are as follows:
An Arabic format indicator having N digits (for example, 000000001) indicates a field width of N digits. The read-only registers and the width function are always Arabic. Japanese Language Support: The following value specifies the character width for formatting Japanese numeric output in kanji:
|
.nr Register +/-Number1 Number2 | Assigns the specified register the value specified
by the +/-Number variable with respect to the previous value,
if any. The increment for auto-incrementing is set to the Number2 variable
value. The Register variable must be one or two ASCII characters.
Initial Value: - If No Value Specified: - |
.rr Register | Removes the specified register. If many registers are being
created dynamically, it can become necessary to remove registers that
are not needed to recapture internal storage space for new registers.
The Register variable must be one or two ASCII characters.
Initial Value: - If No Value Specified: - |
Tabs, Leaders, and Fields
Item | Description |
---|---|
.fc Delimiter Indicator | Sets the field delimiter to the specified delimiter; the padding
indicator is set to the space character or to the specified indicator.
In the absence of variables, the field mechanism is turned off. The Delimiter variable
value and the Indicator variable value must be ASCII characters.
Initial Value: Off If No Value Specified: Off |
.lc Character | Sets the leader repetition character to the specified character,
or removes specifying motion. The Character variable value
must be an ASCII character. Relevant values are part of the current
environment. Initial Value: . If No Value Specified: None |
.ta Stop [Type]... | Sets tab stops. Default tab stops are set at every eight
characters for the nroff command and every half inch for the troff command.
Multiple StopType pairs can be specified by separating them
with spaces; a value preceded by + (plus sign) is treated as
an increment to the previous stop value. The specified type determines how the text is adjusted at the tab stops. The Type variable values are as follows:
Relevant values are part of the current environment. Initial Value: 8 ens for the nroff command and 0.5 inch for the troff command If No Value Specified: None |
.tc Character | Sets the tab repetition character to the specified character,
or removes specifying motion. The Character variable value
must be an ASCII character. Relevant values are part of the current
environment. Initial Value: None If No Value Specified: None |
Input/Output Conventions and Character Translations
Item | Description |
---|---|
.cc Character | Sets the basic control character to the specified character,
or resets to ”.“. The Character variable value must
be an ASCII character. Relevant values are part of the current environment.
Initial Value: . If No Value Specified: . |
.cu [Number] | A variant of the .ul request that causes every character
to be underlined and causes no line breaks to occur in the affected
input lines. That is, each output space following a .cu request
is similar to an unpaddable space. The .cu request is identical
to the .ul request in the troff command. Relevant values
are part of the current environment. Initial Value: Off If No Value Specified: Number=1 |
.c2 Character | Sets the no-break control character to the specified character
or resets to ” ' “. The Character variable value must
be an ASCII character. Relevant values are part of the current environment.
Initial Value: ' If No Value Specified: ' |
.ec Character | Sets the escape character to \ (backslash) or to the
value specified by the Character variable, if given. The Character variable
value must be an ASCII character. Initial Value: \ If No Value Specified: \ |
.eo | Turns off the escape mechanism. Initial Value: On If No Value Specified: - |
.lg [Number] | Turns on the ligature mode if the Number variable value
is absent or nonzero; turns off ligature mode if the Number variable
value is 0. If the Number variable value is 2, only the two-character
ligatures are automatically called. The ligature mode is inhibited
for request, macro, string, register, or file names, and in the copy
mode. This request has no effect in the nroff command. Initial Value: On, for the troff command If No Value Specified: On |
.tr Character1 Character2 Character3 Character4 | Translates, among other things, the character
value specified by the Character1 variable into the Character2 variable
value, the character value specified by the Character3 variable
into the Character4variable value. If an odd number of characters
is given, the last one is mapped into the space character. To be consistent,
a particular translation must stay in effect from input to output
time. All specified characters must be ASCII characters. To reset
the .tr request, follow the request with previous variables
given in duplicate. For example, the following .tr request:
can be reset by entering:
It must stay in effect until logical output. Initial Value: None If No Value Specified: - |
.ul [Number] | Underlines in the nroff command (or italicizes in the troffcommand)
the number of input-text lines specified by the Numbervariable.
Actually switches to underline font, saving the current font for later
restoration. Other font changes within the span of a .ul request
take effect, but the restoration undoes the last change. Output generated
by the .tl request is affected by the font change, but does
not decrement the Number variable value. For more information,
refer to the section ”Three-Part Titles“.
If the specified number is greater than 1, there is the risk that
a trap-called macro can provide text lines within the span; environment
switching can prevent this. Relevant values are part of the current environment. Initial Value: Off If No Value Specified: Number=1 |
.uf Font | Underlines the font set to the value specified by the Font variable.
In the nroff command, the Font variable cannot be on
position 1 (initially Times Roman). The Font variable value
must be an ASCII font name. Initial Value: Italic If No Value Specified: Italic |
Hyphenation
Item | Description |
---|---|
.hc Character | Sets the hyphenation indicator character to the value specified
by the Character variable or to the default. The indicator
is not displayed in the output. The Character variable value
must be an ASCII character. Relevant values are part of the current
environment. Initial Value: \% If No Value Specified: \% |
.hw Word1... | Specifies hyphenation points in words with embedded minus signs.
Versions of a word with a terminal s are implied; that is, dig-it implies dig-its.
This list is examined initially and after each suffix stripping. The
space available is 1024 characters, or about 50 to 100 words. Initial Value: If No Value Specified: Ignored |
.hy Number | Turns on automatic hyphenation if the specified number is equal
to or greater than 1; turns it off if the specified number is equal
to 0 (equal to the .nh request). If the specified number is
2, the last lines (ones that cause a trap) are not hyphenated. If
the specified number is 4 or 8, the last or first two characters,
respectively, of a word are not split off. These values are additive;
for example, a value of 14 calls all three restrictions (number equal
to 2, number equal to 4, and number equal to 8). Relevant values are part of the current environment. Initial Value: No hyphenation If No Value Specified: Hyphenate |
.nh | Turns off automatic hyphenation. Relevant values are part of
the current environment. Initial Value: No hyphenation If No Value Specified: - |
Three-Part Titles
Item | Description |
---|---|
.lt [+/-][Number] | Sets the length of title value specified by the +/-Number variable.
The line length and the title length are independent. Indents do not
apply to titles, although page offsets do. Relevant values are part
of the current environment. Initial Value: 6.5 inches If No Value Specified: Previous |
.pc Character | Sets the page number character to the specified character or
removes it. The page-number register remains %. The Character variable
value must be an ASCII character. Initial Value: % If No Value Specified: Off |
.tl 'Left'Center'Right' | The strings represented by the Left, Center,
and Right variables, respectively, are left-adjusted, centered,
and right-adjusted in the current title length. Any of the strings
can be empty, and overlapping is permitted. If the page-number character
(initially %) is found within any of the fields, it is replaced
by the current page number having the format assigned to the % register.
Any ASCII character that is not displayed in the strings can be used
as the string delimiter. Initial Value: - If No Value Specified: - |
Output-Line Numbering
Item | Description |
---|---|
.nm [+/-] [Number] [M] [S] [I] | Turns on line-number mode. If the M variable
is specified, only those line numbers that are multiples of the M variable
value are to be printed. Every line number is printed if the M variable
is absent (default is M=1). When line-number mode is
in effect, a three-digit Arabic number plus a digit space are prepended
to output text lines. The text lines are thus offset by four digit
spaces, but otherwise retain their line length. If the S variable
is given, it specifies the number of digit spaces to be displayed
between the line number and the text (default is S=1).
If the I variable is given, it specifies the number of digit
spaces to indent before the line number (default is I=0).
Relevant values are part of the current environment. Initial Value: - If No Value Specified: Off |
.nn Number | Suspends line numbering. The specified number of lines are
not numbered. Relevant values are part of the current environment.
Initial Value: - If No Value Specified: Number=1 |
Conditional Acceptance of Input
The Condition variable specifies one of the following one-character names:
Item | Description |
---|---|
o | If the current page number is odd. |
e | If the current page number is even. |
t | If the formatter is the troff command. |
n | If the formatter is the nroff command. |
.if Condition Anything | If the value specified by the Condition variable is true, accepts the value specified by the Anything variable as input; in multiline case, uses \{Anything\}. |
.if !Condition Anything | If the value specified by the Condition variable is false, accepts the value specified by the Anything variable as input. |
.if Number Anything | If the expression states that the Number variable value is greater than 0, accept the value specified by the Anything variable as input. |
.if !Number Anything | If the expression states that the Number variable value is less than or equal to 0, accepts the value specified by the Anything variable as input. |
.if 'String1'String2' Anything | If the String1 variable value is identical to the String2 variable value, accepts the value specified by the Anything variable as input. Any nonblank ASCII character not in the String1 and String2 variables can be used as the delimiter. |
.if !'String1'String2' Anything | If the String1 variable value is not identical to the String2variable value, accepts the value specified by the Anything variable as input. Any nonblank ASCII character not in the String1 and String2 variables can be used as the delimiter. |
.el Anything | Specifies the else portion of an if/else conditional. |
.ie Condition Anything | Specifies the if portion of an if/else conditional dependent on the value of the Condition variable. Can be used with any of the preceding forms of the .if request. |
Environment Switching
Item | Description |
---|---|
.ev Environment | Switches to the specified environment. The value specified
by the Environment variable must be 0, 1, or 2. Switching is
done in push-down fashion so that restoring a previous environment
must be performed with the .ev request rather than with a specific
reference. Initial Value: Environment=0 If No Value Specified: Previous |
Insertions from Standard Input
Item | Description |
---|---|
.ex | Exits from the nroff command or troff command.
Text processing is stopped exactly as if all input had ended. Initial Value: - If No Value Specified: - |
.rd Prompt | Reads insertion from standard input until two newline characters
in a row are found. If the standard input is the user's keyboard,
the specified prompt (or the ASCII BEL character) is written onto
the user's terminal. The .rd request behaves like a macro,
and additional variables can be placed after the Prompt variable.
Initial Value: - If No Value Specified: Prompt=the ASCII BEL character |
Input and Output File Switching
Item | Description |
---|---|
.cf File | Copies the contents of the specified file, uninterrupted, into
the troff command output file at this point. Problems occur
unless the motions in the file restore the current horizontal and
vertical position. Initial Value: - If No Value Specified: - |
.lf Number File | Corrects the troff command interpretation of the current
line number (as specified by the Number variable) and the current
file (as specified by the File variable) for use in error messages.
Initial Value: - If No Value Specified: - |
.nx File | Uses the specified file as the input file. The current file
is considered ended and the input is immediately switched to the specified
file. Initial Value: - If No Value Specified: End of file |
.pi Program | Pipes output to the specified program. This request must occur
before any printing occurs. No variables are transmitted to the specified
program. Initial Value: - If No Value Specified: - |
.so File | Switches the source file. The top input (file-reading) level
is switched to the specified file. When this file ends, input is again
taken from the original file. The .so request can be nested.
When a .so request is encountered, the processing of the specified file is immediate. Processing of the original file (for example, a macro that is still active) is suspended. A file should be preprocessed, if necessary, before being called by the .so request. The eqn, tbl, pic, and grap commands do not reach through a .so request to process an object file. Initial Value: - If No Value Specified: - |
Miscellaneous
Item | Description |
---|---|
.ab Text | Prints the value specified by the Text variable to the diagnostic output (usually the terminal) and ends without further processing. If text is missing, the message User Abort is printed and the output buffer is flushed. This request is used in interactive debugging to force output. |
.ab ^A<SetNumber> <MessageNumber> [^A”<Default> “] [^A<Argument> ^B<Argument> ^B<Argument>...] | Provides alternate syntax to allow use of a
message catalog for language-independent abort messages. Prints the
appropriate message specified by the parameter on the diagnostic output
(usually the terminal) and ends without further processing. If there
are no parameters, the message catalog equivalent to the following:
is output. The output buffer is flushed. This request is used in interactive debugging to force output. Based on the message SetNumber and the MessageNumber variables within the locale-specific catalog, the message catalog is read in copy mode and the corresponding message is written to the user's terminal. The initial sequence specifying the message set and message number can be omitted for backward compatibility. The ASCII code Control-A (^A) delimits message identification, default message, and optional argument list. The ASCII code Control-B (^B) delimits individual optional argument list. In the following example:
2 is the message set number. 42 is the message number. Text within quotes ”...“ is the default message. \n(c. is the number of lines read from the input file. If you assume the troff command runs with the following conditions:
then the following would be displayed on the user's terminal:
Initial Value: - If No Value Specified: User cancel |
.Dt Parameter | Defines the format for returning the date within the nroff or troff request.
By default, without the optional Parameter, the locale-specific
date format specified by the current locale setting for the LC_TIME category is used. This corresponds
to the ”%x“ format specifier of strftime. Parameter is
a format string identical to the format string used with the strftime function in Technical Reference: Base Operating System and Extensions. Reference this
function for a complete list of the format specifiers. For example,
provides the following output for an English-speaking locale:
The %A format is replaced by the locale-specific weekday name. The %B format is replaced by the locale-specific month name. The %d format is replaced by the day of the month in a two-digit format. The %Y format is replaced by the year with the century as a decimal number. The %T format is replaced by the time in hours (24-hour clock), minutes, and seconds in decimal numbers. This format provides for leap seconds and double leap seconds. |
.fl | Flushes output buffer. This request usually causes a line break
similar to the .br request. Calling this request with the control
character ” ' “ (instead of ”.“) suppresses that break
function. Initial Value: - If No Value Specified: - |
.ig Macro | Ignores input lines. The .ig request works exactly like
the .de request, except that the input is discarded. For more
information, refer to ”Macros, Strings,
Diversions, and Position Traps“. The input is read in copy
mode, and any auto-incremented registers are affected. The Macro variable
must be one or two ASCII characters. Initial Value: - If No Value Specified: .Macro=.. |
.mc [Character] [N] | Uses the specified character as the margin character to display
the specified distance (N) to the right of the margin after
each non-empty text line (except those produced by the .tl request).
If the output line is too long (as can happen in no-fill mode), the
character is appended to the line. If the N variable is not
given, the previous N variable is used. The first N variable
is 0.2 inches in the nroff command and 1 em in the troff command.
Relevant values are part of the current environment. Initial Value: .2 inches in nroff; 1 em in troff If No Value Specified: Off |
.pm [Character] | Prints macros. The names and sizes of all of the defined macros
and strings are printed on the user's terminal. If any ASCII alphanumeric
character is given as a variable, only the total of the sizes is printed.
The size is given in blocks of 128 characters. Initial Value: - If No Value Specified: All |
.sy Command [Flags] | The specified command is run but its output is not captured
at this point. The standard input for the specified command is closed.
Output must be explicitly saved in an output file for later processing.
Often the .sy directive is followed by a subsequent .so directive
to include the results of the previous command. For example:
Initial Value: - If No Value Specified: - |
.tm String | The specified string is written to the user's terminal. |
.tm ^A<SetNumber> <MessageNumber> [^A”<DefaultMessage> “] [^A<Argument> ^B <Argument> ^B<Argument> ...] | Based on the message set number and the message
number within the locale-specific catalog, the message catalog is
read in copy mode and the corresponding message is written to the
user's terminal. The initial sequence specifying the message set and
message number can be omitted for backward compatibility. The ASCII
code Control-A ^A delimits message identification, default
message, and optional argument list. The ASCII code Control-B ^B delimits
individual optional argument list. In the following example:
2 is the message set number. 23 is the message number. Text within quotes ”...“ is the default message. \*(.T is the first argument in troff for value of -T. \n(c. is the number of lines read from the input file. If you assume the troff command runs with the following conditions:
Then the following would be displayed on the user's terminal:
The locale-specific message catalog is found in /usr/lib/nls/msg/$LANG/macros.cat. Initial Value: - If No Value Specified: Newline |
The following notes apply to the nroff and troff requests. They are referenced by number in the requests where they apply.
- The .L string register contains the current program locale value of all the categories.
- The .m string register contains the locale value of the LC_MESSAGES category.
- The .t string register contains the locale value for the LC_TIME category.
- While the .L, .t, and .mstring
registers provide access to some environment values, a more general
technique can be used to access any other environment variable. For
example, if the TED environment variable is exported, the following troff commands:
.sy echo .ds z $TED >x .so x .sy rm x
set the z string register to contain the value of $TED.
Environment Variables
Item | Description |
---|---|
LC_ALL | Specifies the locale to be used for all the locale categories. It overrides any setting of the other locale environment variables. |
LC_MESSAGES | Specifies the locale value for the LC_MESSAGES category. This is used if the LC_ALL environment variable is not set. |
LC_TIME | Specifies the locale value for the LC_TIME category. This is used if the LC_ALL environment variable is not set. |
LANG | Specifies the locale value to be used for all the locale categories. This is used if none of the above environment variables are set. This is the most often used environment variable to specify the locale. |
Files
Item | Description |
---|---|
/usr/share/lib/tmac/tmac.* | Contains the pointers to standard macro files. |
/usr/share/lib/macros/* | Denotes standard macro files. |
/usr/share/lib/tmac/tmac.an | Contains the pointer to the man macro package. |
/usr/share/lib/macros/an | Contains the man macro package. |
/usr/share/lib/tmac/tmac.e file | Contains the me macro definition file. |
/usr/share/lib/me directory | Contains the macro definition files. |
/usr/share/lib/tmac/tmac.m | Contains the pointer to the mm macro package. |
/usr/share/lib/macros/mmn | Contains the mm macro package. |
/usr/share/lib/macros/mmt | Contains the mm macro package. |
/usr/share/lib/tmac/tmac.ptx | Points to the macro package. |
/usr/share/lib/macros/ptx | Contains the macro package. |
/usr/share/lib/tmac/tmac.x | Contains the macro definition files. |
/usr/share/lib/ms | Contains the ms macro definitions. |
/usr/share/lib/tmac/tmac.v | Contains macro definitions. |
/usr/share/lib/macros/vmca | Contains macro definitions. |
/usr/lib/nls/msg/$LANG/macros.cat | Contains locale-specific message catalog for the mm, me, ms, and mv macro packages. |
/usr/lib/font/dev*/* | Contains the font width tables. |
/var/tmp/trtmp* | Denotes a temporary file. |