Formats text for printing on typesetting devices.
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 ... | - ]
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 or 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 may 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.
Three different typefaces are provided in four styles. The following chart shows the relationship between typeface, style, and the name that the troff command uses to access the font.
Note: The fonts in this set are based on the Computer Modern letter forms developed by Donald E Knuth. (Refer to Knuth, Donald: Computer Modern Typefaces. Addison-Wesley, 1986.)
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.
Note: The .tl request cannot be used before the first break-producing request in the input to the troff command.
-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:
|
-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 AIX international extended characters. The default is ibm3816.
|
-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. |
Note: See Macro Packages for Formatting Tools for more inforamtion on the macros.
-z | Prints only messages generated by .tm (workstation message) requests. |
- | Forces input to be read from standard input. |
TYPESETTER | Contains information about a particular printing device. |
The following is an example of the troff command:
troff -Tibm3812 File | ibm3812 | qprt
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:
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 troffcommand. |
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.
Note: The man macro package cannot be used to process the InfoExplorer information bases into manual pages.
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.
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:
| ||||||||||
.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.
| |||||||||||
.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. |
\*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. |
nroff -Tlp -man your.book | qprt -dp
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.
grap group | pic | tbl | troff -Tibm3816 -man \ | ibm3816 | qprt -dp
Notes:
- 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 piccommand since 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.
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:
.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.
The following list contains all macros, strings, and number registers available in the me macros. Selected troff commands, registers, and functions are included.
\(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 footnoter 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). | ||||||
.(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 may 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). | ||||||
\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). | ||||||
\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). | ||||||
\*(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). | ||||||
.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.
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 colcommand for specific requirements.
The mm macros and additional information are summarized under the following headings:
.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 |
.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. |
.P [ {0 1 2} ] | Starts paragraph:
|
.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. |
If the last option [1] is present in the list-start macros, there is no space between items.
.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:
| ||||||||
.LC [Level] | Clears list status up to the Level variable value. |
.DS [{0 1 2 3 }] [{0 1}] [Number]
.DS [{L I C CB}] [{N F}] [Number] | ||||||||||||||||||
Starts static display:
|
.DF [{0 1 2 3 }] [{0 1}] [Number]
.DF [{L I C CB}] [{N F}] [Number] | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Starts floating display:
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
.DE | Ends display. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
.FG [Title] [Override] [0 1 2] | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
The value of the Override variable replaces or enhances the
default numbering. Specifies figure caption:
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
.TS [H] | Starts table:
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
.TH [N] | Must be used when specifying option H to .TS:
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
.TE | Ends table. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
.TB [Title] [Override] [0 1 2] | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
The value of the Override variable replaces or enhances the
default numbering. Specifies table caption:
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
.EX [Title] [Override] [0 1 2] | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
The value of the Override variable replaces or enhances the
default numbering. Specifies exhibit caption:
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
.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:
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
.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:
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. Reset footnote counter on first-level heading.
|
.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. |
.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:
| ||||||||||||||||||||
.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
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).
| ||||||||||||||||||||
.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:
.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. |
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.
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 a normally fatal error. | ||||
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):
| ||||
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). |
Print special strings by using the following escape sequences:
\*x | For strings with single-character names (x) |
\*(xx | For strings with two-character names (xx). |
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. |
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.
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
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.
.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.
Following are external ms macro requests:
.AB [X] | Begins abstract. If X is no, do not label abstract. | ||
.AE | Ends abstract. | ||
.AIName | Author's institution. | ||
.AM | Sets accent mark definitions. | ||
.AUName | Sets author's name. | ||
.B [X] | Puts X in boldface. If no X, switches to boldface. | ||
.B1 | Begins text to be enclosed in a box. | ||
.B2 | Ends boxed text and prints it. | ||
.BT | Prints bottom title at foot of page. | ||
.BX X | Prints word X in a box. | ||
.CM | Cuts mark between pages. | ||
.CT | Indicates chapter title; page number moved to CF (TM).
| ||
.DA [X] | Forces date X at bottom of page. If no X, date is today. | ||
.DE | Ends display (unfilled text) of any kind. | ||
.DS X Y | Begins display with keep. X=I, L, C, B; Y=indent. | ||
.ID Y | Indents display with no keep; Y=indent. | ||
.LD | Sets left display with no keep. | ||
.CD | Centers display with no keep. | ||
.BD | Block display; centers entire block. | ||
.EF X | Sets even page footer X (3 part as for troff command, .tl request). | ||
.EH X | Sets even page header X (3 part as for troff command, .tl request). | ||
.EN | Ends displayed equation produced by eqn command. | ||
.EQ [X] [Y] | Breaks out equation. X=L, I, C; Y is equation number. | ||
.FE | Ends footnote to be placed at bottom of page. | ||
.FP | Numbers footnote paragraph; can be redefined. | ||
FS [X] | Starts footnote; X is optional footnote label. | ||
.HD | Sets optional page header below header margin. | ||
.I [X] | Italicizes X. If no X, equivalent to italics font .ft 2. | ||
.IP X Y | Indents paragraph, with hanging tag X. Y specifies spaces to indent. | ||
.IX X Y | Indexes words such as X and Y, up to five levels. | ||
.KE | Ends keep of any kind. | ||
.KF | Begins floating keep; text fills remainder. | ||
.KS | Begins keep; keeps unit together on a single page. | ||
.LG | Sets larger type size; increases point size by 2. Valid only for the troff command. | ||
.LP | Begins left block paragraph. | ||
.MC X | Sets multiple columns. X is column width. | ||
.ND [X] | Indicates no date in page footer; X is date on cover. | ||
.NH X Y | Sets numbered header: X=level; X=0, resets; X=S, sets to Y. | ||
.NL | Sets point size back to default. Valid for the troff command only. | ||
.OF X | Sets odd page footer X (3 part as for me macro, .tlrequest). | ||
.OH X | Sets odd page header X (3 part as for me macro, .tlrequest). | ||
.P1 | Prints header on first page. | ||
.PP | Indents first line of paragraph. | ||
.PT | Prints page title at head of page. | ||
.PX X | Prints index (table of contents); X=do not suppress title. | ||
.QP | Quotes paragraph (indented and shorter). | ||
.R [X] | Returns to Roman font. Prints in Roman font. If X is missing, equivalent to font .ft1. | ||
.RE | Retreats (end level of relative indentation). Used with the .RS request. | ||
.RP [X] | Prints title page in released paper format; X=no, stops title on first page. | ||
.RS | Right-shifts in one indentation level (start level of relative indentation). Used with the .IP request. | ||
.SG | Sets signature line. | ||
.SH | Sets unnumbered section header (in boldface). | ||
.SM | Sets smaller type size; decrease point size by 2. Valid for the troff command only. | ||
.TA | Sets tabs to 8n, 16n, ... (nroff); 5n, 10n, ... (troff). | ||
.TC X | Prints table of contents at end; X=do not suppress title. | ||
.TE | Ends table processed by tbl command. | ||
.TH | Ends multipage header of table. Must be used with the .TS H request. | ||
.TL | Sets title line (in boldface and 2 points larger). | ||
.TM | Sets UC Berkeley thesis mode. | ||
.TS X | Begins table. If X is H, table prints header on all pages. | ||
.UL X | Underlines X, even for the troff command. | ||
.UX X | Sets UNIX; trademark message first time; X appended. | ||
.XA X Y | Sets another index entry; X=page; X=no, for none. | ||
.XE | Ends index entry or series of .IX request entries. | ||
.XP | Exdents first line of paragraph; others indented. | ||
.XS X Y | Begins index entry; X=page; X=no, for none; Y=indent. | ||
.1C | Begins one-column format, on a new page. | ||
.2C | Begins two-column format. | ||
.]- | Sets beginning of refer command reference. | ||
.[0 | Sets end of unclassifiable type of reference. | ||
.[N | For journal article, N=1 (one). For book, N=2. For book article, N=3. |
Following is a list of number registers and their default values:
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.
\*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.
Notes:
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:
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.
.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). | |
.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. |
Note: The .VW and .SW foils are meant to be 9 inches wide by 7 inches high. However, because the typesetter paper is generally only 8 inches wide, .VW and .SW foils are printed 7 inches wide by 5.4 inches high and have to be enlarged by a factor of 9/7 before use as view graphs.
.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. |
.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. |
.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:
The Tm string produces the trademark symbol.
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. |
The following nroff and troffrequests 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 troffrequests are grouped by function, in the following sections:
For number variables written as +Number, the variable can be expressed as follows:
Note: For all numeric parameters, numbers are expressed using ASCII Arabic numerals only.
The notes at the end of this article are referenced in the specific requests where applicable.
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.
Scale | Number of Basic Units | ||
Indicator | Meaning | troff | nroff |
i | Inch | machine- | 240 |
c | Centimeter | dependent | 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 Measure | Request or Function |
Horizontal | Em (m) | .ll, .in, .ta, .lt, .po, .mc,\h, \l |
Vertical | Vertical line space (v) | .pl, .wh, .ch, .dt, .sp, .sv, .ne, .rt, \v, \x, \L |
Register-oriented or Conditional | Basic unit (u) | .nr, .if, .ie |
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 may need to be appended to prevent an additional inappropriate default scaling. The Number may be specified in decimal-fraction form, but the parameter that is finally stored is rounded to an integer number of basic units.
.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 (normally 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. |
.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. |
.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. |
.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.
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. | |
.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. |
.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. |
.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. |
.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 normally causes a line break similar to the .br request. Calling this request with the control character " ' " (instead of ".") suppresses that break function. |
.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. |
.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 normally contained in the .t Number register. Mode or relevant values are associated with the current diversion level. |
.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. |
.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. |
.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. |
.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. |
.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. |
Indicator | Adjustment Type |
---|---|
k | Turn on kinsoku shori processing (turned off with .ad n, .ad
b, or .ad l).
Normally, 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. |
.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. |
.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 normally causes a line break similar to the .br request. Calling this request with the control character " ' " (instead of ".") suppresses that break function. |
.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 normally causes a line break similar to the .br request. Calling this request with the control character " ' " (instead of ".") suppresses that break function. |
.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. |
.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 normally causes a line break similar to the .br request. Calling this request with the control character " ' " (instead of ".") suppresses that break function. |
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. |
.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 normally causes a break. |
.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. |
.rs | Restores spacing. The no-space mode is turned off. This request normally causes a break. |
.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 normally causes a line break similar to the .br request. Calling this request with the control character "'" (instead of ".") suppresses that break function. |
.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. |
.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. |
.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 normally causes a line break similar to the .br request. Calling this request with the control character " ' " (instead of ".") suppresses that break function. |
.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. |
.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 normally causes a line break similar to the .br request. Calling this request with the control character " ' " (instead of ".") suppresses that break function. |
.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. |
.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. |
.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. |
.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. |
.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. |
.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. |
.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. .ds {c ^A2 41^A"ERROR: (%1$s) input line \ %2$s" ^A\n(.F^B\n(.c 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: ERROR: (paper.doc)input line 123 .ds {c ^A2 41 /* Without optional default message */ .ds {c ^A2 41^A"ERROR: (%1$s) input file \ %2$s" /* Without optional arguments */ 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. .ds DT^A0 0 If the current date were July 10, 1991, in an English U.S. locale, DT would be defined as 7/10/91. .ds DT^A0 0^A"Today is %B %d, %Y" 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. | |
.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. |
.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. |
.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. |
.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. |
.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. |
.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. |
.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. | |||||||||||||||||
.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. |
.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. | ||||||||
.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. | ||||||||
.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 | ||||||||
.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. |
.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. |
.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 .ulrequest in the troff command. Relevant values are part of the current environment. |
.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. |
.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. |
.eo | Turns off the escape mechanism. |
.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. |
.tr Character1Character2Character3Character4 | |
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: .tr aAbBc<C,> .tr aabbcc | |
.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. |
.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. |
.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. |
.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. |
.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). |
.nh | Turns off automatic hyphenation. Relevant values are part of the current environment. |
.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. |
.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. |
.tl 'Left'Center'Right' | The strings represented by the Left, Center, and Rightvariables, 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. |
.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). | |
.nn Number | Suspends line numbering. The specified number of lines are not numbered. Relevant values are part of the current environment. |
The Condition variable specifies one of the following one-character names:
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. |
.ev Environment | Switches to the specified environment. The value specified by the Environmentvariable must be 0, 1, or 2. Switching is done in push-down fashion so that restoring a previous environment must be performed with the .evrequest rather than with a specific reference. |
.ex | Exits from the nroff command or troff command. Text processing is stopped exactly as if all input had ended. |
.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. |
.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. |
.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. |
.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. |
.pi Program | Pipes output to the specified program. This request must occur before any printing occurs. No variables are transmitted to the specified program. |
.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.
Once 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. |
.ab Text | Prints the value specified by the Text variable to the diagnostic output (normally 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 (normally the terminal) and ends without further
processing. If there are no parameters, the message catalog equivalent
to the following:
troff: User Abort, line no. file filename 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. .ab ^A2 42^A"Processing has been terminated \ at line %1$s."^A\n(c. 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: Processing has been terminated at line 123. | |
.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.
.Dt "%A, %B %d, %Y (%T)" provides the following output for an English-speaking locale: Thursday, January 31, 1991 (10:40:00) 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 normally causes a line break similar to the .br request. Calling this request with the control character " ' " (instead of ".") suppresses that break function. |
.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. |
.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. |
.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. |
.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.
.sy date > /tmp/today Today is .so /tmp/today |
.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.
.tm ^A2 23^A"The typesetter is %1$s.On line %2$s."^A\*(.T^B\n(c. 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 typesetter is psc. On line 538. The locale-specific message catalog is found in /usr/lib/nls/msg/$LANG/macros.cat. |
The following notes apply to the nroff and troff requests. They are referenced by number in the requests where they apply.
.sy echo .ds z $TED >x .so x .sy rm x
set the z string register to contain the value of $TED.
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. |
/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. |
The col command, eqn command, grap command, hplj command, ibm3812 command, ibm3816 command, mm command, mmt command, mvt command, neqn command, nroff command, pic command, ptx command, refer command, tbl command, tc command, xpreview command.
The nroff and troff Input file format, troff file format, troff font file format.
The setlocale function, strftime function.
Message Facility Overview for Programming in AIX Version 4.3 General Programming Concepts: Writing and Debugging Programs.
National Language Support Overview for Programming in AIX Version 4.3 General Programming Concepts: Writing and Debugging Programs.