Command: roff - text formatter
Syntax: roff [-hs] [+n] [-n] file ...
Flags: -h Expand tabs to spaces in output
-s Stop before each page; continue on DEL
+n Start printing with page n
-n Stop after page n
Examples: roff file # Run off file
roff +5 file # Run off file starting at page 5
Roff is a text formatter. Its input consists of the text to be
output, intermixed with formatting commands. A formatting command is a
line containing the control character followed by a two character
command name, and possibly one or more arguments. The control character
is initially '.' (dot). The formatted output is produced on standard
The formatting commands are listed below, with n being a number, c
being a character, and t being a title. A + before n means it may be
signed, indicating a positive or negative change from the current value.
Initial values for n, where relevant, are given in parentheses.
.ad Adjust right margin.
.ar Arabic page numbers.
.br Line break. Subsequent text will begin on a new line.
.bl n Insert n blank lines.
.bp +n Begin new page and number it n. No n means +1.
.cc c Control character is set to c.
.ce n Center the next n input lines.
.de zz Define a macro called zz. A line with '..' ends definition.
.ds Double space the output. Same as .ls 2.
.ef t Even page footer title is set to t.
.eh t Even page header title is set to t.
.fi Begin filling output lines as full as possible.
.fo t Footer titles (even and odd) are set to t.
.hc c The character c (e.g., %) tells roff where hyphens are
.he t Header titles (even and odd) are set to t.
.hx Header titles are suppressed.
.hy n Hyphenation is done if n is 1, suppressed if it is 0.
Default is 1.
.ig Ignore input lines until a line beginning with '..' is
.in n Indent n spaces from the left margin; force line break.
.ix n Same as .in but continue filling output on current line.
.li n Literal text on next n lines. Copy to output unmodified.
.ll +n Line length (including indent) is set to n (65).
.ls +n Line spacing: n (1) is 1 for single spacing, 2 for double,
.m1 n Insert n (2) blank lines between top of page and header.
.m2 n Insert n (2) blank lines between header and start of text.
.m3 n Insert n (1) blank lines between end of text and footer.
.m4 n Insert n (3) blank lines between footer and end of page.
.na No adjustment of the right margin.
.ne n Need n lines. If fewer are left, go to next page.
.nn +n The next n output lines are not numbered.
.n1 Number output lines in left margin starting at 1.
.n2 n Number output lines starting at n. If 0, stop numbering.
.ni +n Indent line numbers by n (0) spaces.
.nf No more filling of lines.
.nx f Switch input to file f.
.of t Odd page footer title is set to t.
.oh t Odd page header title is set to t.
.pa +n Page adjust by n (1). Same as .bp
.pl +n Paper length is n (66) lines.
.po +n Page offset. Each line is started with n (0) spaces.
.ro Page numbers are printed in Roman numerals.
.sk n Skip n pages (i.e., make them blank), starting with next
.sp n Insert n blank lines, except at top of page.
.ss Single spacing. Equivalent to .ls 1.
.ta Set tab stops, e.g., .ta 9 17 25 33 41 49 57 65 73
.tc c Tabs are expanded into c. Default is space.
.ti n Indent next line n spaces; then go back to previous indent.
.tr ab Translate a into b on output.
.ul n Underline the letters and numbers in the next n lines.