TROFF(1) User Commands TROFF(1)


troff - typeset or format documents


troff [-a] [-f] [-Fdir] [-i] [-mname] [-nN] [-olist] [-raN]
[-sN] [-Tdest] [-uN] [-z] [filename]...


troff formats text in the filenames for typesetting or laser printing.
Input to troff is expected to consist of text interspersed with
formatting requests and macros. If no filename argument is present, troff
reads standard input. A minus sign (-) as a filename indicates that
standard input should be read at that point in the list of input files.

The output of troff is usually piped through dpost(1) to create a
printable postscript file (see EXAMPLES).


The following options are supported. They may appear in any order, but
all must appear before the first filename.

Send an ASCII approximation of formatted output to standard
output. (Note: a rough ASCII version can also be printed out
on ordinary terminals with an old and rarely used command,

Do not print a trailer after the final page of output or cause
the postprocessor to relinquish control of the device.

Search directory dir for font width or terminal tables instead
of the system default directory.

Read standard input after all input files are exhausted.

Prepend the macro file /usr/share/lib/tmac/name to the input
filenames. Note: most references to macro packages include the
leading m as part of the name; for example, the man(7) macros
reside in /usr/share/lib/tmac/an. The macro directory can be
changed by setting the TROFFMACS environment variable to a
specific path. Be certain to include the trailing '/' (slash)
at the end of the path.

Number the first generated page N.

Print only pages whose page numbers appear in the comma-
separated list of numbers and ranges. A range N-M means pages
N through M; an initial -N means from the beginning to page N;
and a final N- means from N to the end.

Quiet mode in nroff; ignored in troff.

Set register a (one-character names only) to N.

Stop the phototypesetter every N pages. On some devices, troff
produces a trailer so you can change cassettes; resume by
pressing the typesetter's start button.

Prepare output for typesetter dest. The following values can be
supplied for dest:

A PostScript printer; this is the default value. The
output of the -T option must go through dpost(1) before
it is sent to a PostScript printer to obtain the proper

Set the emboldening factor for the font mounted in position 3
to N. If N is missing, then set the emboldening factor to 0.

Suppress formatted output. Only diagnostic messages and
messages output using the .tm request are output.


The following operand is supported:

The file containing text to be processed by troff.


Example 1: Using troff

The following example shows how to print an input text file mytext, coded
with formatting requests and macros. The input file contains equations
and tables and must go through the tbl(1) and eqn(1) preprocessors before
it is formatted by troff with ms macros, processed by dpost(1), and
printed by lp(1):

tbl mytext | eqn | troff -ms | dpost | lp


temporary file

standard macro files

font width tables for alternate mounted troff

terminal driving tables for nroff


checknr(1), col(1), dpost(1), eqn(1), lp(1), man(1), nroff(1), tbl(1),
attributes(7), man(7), me(7), ms(7)


troff is not 8-bit clean because it is by design based on 7-bit ASCII.

Previous documentation incorrectly described the numeric register yr as
being the Last two digits of current year. yr is in actuality the number
of years since 1900. To correctly obtain the last two digits of the
current year through the year 2099, the definition given below of string
register yy may be included in a document and subsequently used to
display a two-digit year. Note that any other available one- or two-
character register name may be substituted for yy.

.\" definition of new string register yy--last two digits of year
.\" use yr (# of years since 1900) if it is < 100
.ie \n(yr<100 .ds yy \n(yr
.el \{ .\" else, subtract 100 from yr, store in ny
.nr ny \n(yr-100
.ie \n(ny>9 \{ .\" use ny if it is two digits
.ds yy \n(ny
.\" remove temporary number register ny
.rr ny \}
.el \{.ds yy 0
.\" if ny is one digit, append it to 0
.as yy \n(ny
.rr ny \} \}

illumos August 24, 2009 TROFF(1)