NROFF
Section: Misc. Reference Manual Pages (1
)
Index
Return to Main Contents
NAME
nroff - text processor (Version 1.10p5)
SYNOPSIS
nroff
[
options
]
file
[...]
DESCRIPTION
Nroff
is a text processor and formatter based on the design
provided in "Software Tools" by Kernighan and Plauger.
It has been modified to closely resemble the
nroff
command.
The text and commands found in the
file(s)
are processed to generate formatted text.
Note that one (and only one) of the files can be "-" which reads
input from stdin at that point.
If no files are specified, stdin is read so that
nroff
can act as a filter.
The output always goes to stdout which can be redirected by the shell.
The
-e
option lets you redirect error output to the specified
file rather than stderr.
Output from the
.tm
command also goes to stderr.
Debugging information always goes to the file "nroff.dbg" and is
generally used only for program development.
OPTIONS
The following command line options are available:
- -Tname
-
Use table for
name
to generate proper characters for device
name.
Currently,
nroff
only generates ANSI/vt100 escapes for font changes (\fB, etc)
internally (does not read tabname).
View results with
manpager(1).
- -d
-
Set debug mode.
Debug output to stderr (or error log, if
-e
comes first on the command line).
- -debug
-
Set debug mode.
Debug output goes to file
nroff.dbg.
- -efile
-
Set error log file (default is stderr).
- -h
-
Hold before exit (Atari TOS only).
- -help
-
Print command synopsis.
- -mname
-
Process macro file tmac.name.
Thus
-man
would cause the file tmac.an to be loaded.
Note that files processed in this way should contain only macro definitions,
no immediate output should be generated from this file (see ENVIRONMENT).
- -raN
-
Preset number register
a
(single character) to
N
(decimal integer only).
- -pon
-
Shift output right
n
spaces (like .po).
- -pnn
-
Initial page number to
n
(like .pn).
- -version
-
Prints the version information to stdout.
- +n
-
Causes output to start with page
n.
- -n
-
Causes output to stop after page
n.
- -
-
Input from stdin.
ENVIRONMENT
Nroff
recognizes the following environment variables from the shell:
- TMACDIR
-
An alternate directory to find the files tmac.* ("." for example).
The default is c:\lib\tmac under TOS and /usr/lib/tmac under
Minix or .
- TMPDIR
-
An alternate directory to place any temporary files.
The default is the current directory.
Note that
nroff
does not currently use any temporary files.
COMMANDS
Commands typically are distinguished by a period in column one
of the input
followed by a two character abbreviation for the command funtion.
The abbreviation may then be followed by an optional numeric or
character argument.
The numeric argument may be an absolute value such as setting
the right margin to a particular column, or the argument may be
preceded by a plus sign or a minus sign to indicate that the
parameter should be modified relative to a previous setting.
The following commands are recognized (those marked "extension"
are requests added to the basic set provided by
nroff):
- .ad
-
Begin line adjustment.
If fill mode is not on, adjustment is defered until it is back on.
If a type indicator is present, the adjustment type is changed as follows:
Indicator Type
l adjust left margin only
r adjust right margin only
c center
b or n adjust both margins (default)
absent unchanged
- .af
-
Assign format to number register.
The available formats are:
Format Numbering Sequence
1 0,1,2,3,4,...
001 000,001,002,...
i 0,i,ii,iii,iv,v,...
I 0,I,II,III,IV,V,...
a 0,a,b,...,z,aa,ab,...zz,aaa,...
A 0,A,B,...,Z,AA,AB,...ZZ,AAA,...
The second format above indicates that the field width, i.e. number
of digits, is specified by the number of digits in the format type.
- .bd
-
Ignored by
nroff.
- .bo (extension)
-
Causes the following lines of text to appear in boldface.
The optional argument specifies the number of lines to be typed in boldface.
Boldface and underlining are mutually exclusive features.
The appearance of a boldface command will cause any underlining to cease.
- .bp (extension)
-
Causes succeeding text to appear at the top of a new page.
The optional argument specifies the page number for the new page.
The initial value is one and the default value is one more than
the previous page number.
- .br
-
Causes succeeding text to start on a new line at the current left margin.
There is no numeric argument for this command.
- .bs (extension)
-
Enables or disables the appearance of backspaces in the output text.
Underlining and boldface options are implemented by inserting
character - backspace - character combinations into the output buffer.
This is fine for devices which properly recognize the backspace character.
Some printers, however, do not recognize backspaces, so the option is
provided to overprint one line buffer with another.
The first line buffer is terminated with just a carriage return
rather than the carriage return - linefeed combination.
A zero argument or no argument to the backspace command removes
backspaces from the output.
A non-zero argument leaves them in the output.
The default is to remove backspaces.
- .cc
-
Changes the
nroff
command character to that specified by the
character argument.
If no argument is provided, the default is a period (.).
- .ce
-
Causes the next line of text to appear centered on the output.
The optional argument specifies if more than one line is to be centered.
- .cs
-
Ignored by
nroff.
- .cu
-
Causes the next line(s) of text to be continuously underlined.
Unlike the underline command (see .ul) which underlines only
alphanumerics, continuous underlining underlines all printable characters.
The optional argument specifies the number of lines of text to underlined.
Any normal underlining or boldface commands currently in effect will be
terminated.
- .c2
-
Changes the
nroff
no break character to that specified by the
character argument.
If no argument is provided, the default is a single quote.
- .de
-
Causes all text and commands following to be used to define a macro.
The definition is terminated by a
.en
command or the default
..
terminator.
The first two characters of the argument following the
.de
command become the name of the new command.
It should be noted that upper and lower case arguments are considered different.
Thus, the commands
.PP
and
.pp
could define two different macros.
Care should be exercised since existing commands may be redefined.
A macro may contain up to nine arguments.
In the macro definition, the placement of arguments is designated by the
two character sequences, $1, $2, ... $9.
When the macro is invoked, each argument of the macro command line is
substituted for its corresponding designator in the expansion.
The first argument of the macro command is substituted for the $1
in the expansion, the second argument for the $2, and so forth.
Arguments are typically strings which do not contain blanks or tabs.
If an argument is to contain blanks, then it should be surrounded by
either single or double quotes.
- .ds
-
Define a string.
To initiate the string with a blank or include blanks
in the string, start it with a single or double quite.
The string
can contain other defined strings or number registers as well as normal
text.
Strings are stored on the macro name space.
- .ec
-
Changes the
nroff
escape character to that specified by the
character argument.
If no argument is provided, the default is a backslash.
- .ef (extension)
-
Specifies the text for the footer on even numbered pages.
The format is the same as for the footer command (see
.fo).
- .eh (extension)
-
Specifies the text for the header on even numbered pages.
The format is the same as for the footer command (see
.fo).
- .em
-
Specify an end macro, which is executed after all files are done.
If the end macro does an
.ex,
then the final space to the end of the last page is not printed.
- .en (extension)
-
Designates the end of a macro definition.
- .eo
-
Turn the escape mechanism off.
- .ex
-
Exit
nroff
at this point in the processing.
.ex
forces all files closed and flushes the output.
- .fi
-
Causes the input text to be rearranged or filled to obtain the maximum
word count possible between the previously set left and right margins.
No argument is expected.
- .fl
-
Causes the output buffer to be flushed immediately.
- .fo (extension)
-
Specifies text to be used for a footer.
The footer text contains three strings seperated by a delimiter character.
The first non-blank character following the command is designated
as the delimiter.
The first text string is left justified to the current indentation
value (specified by
.in).
The second string is centered between the current indentation value
and the current right margin value (specified by
.rm).
The third string is right justified to the current right margin value.
The absence of footer text will result in the footer being printed as
one blank line.
The presence of the page number character (set by
.pc)
in the footer
text results in the current page number being inserted at that position.
Multiple occurrances of the page number character are allowed.
- .ft
-
Changes the current font.
The choices are
R
(Times Roman),
I
(Times Italic or underline),
B
(Times Bold), and
P
used to request the previous font.
P
resets the next previous font to be the one just changed, amounting to a swap.
Note that you cannot change to the special font (use \(xx escapes instead).
- .he (extension)
-
Specifies text to be used for a header.
The format is the same as for the footer (see
.fo).
- .hy
-
Turns hyphenation on or off.
If the (required) argument is 0, hyphenation is disabled and if it
is 1, hyphenation is enabled.
The default is hyphenation on.
- .if
-
Execute a command if the condition is true.
Format is:
.if c command
.if !c command
.if N command
.if !N command
.if "str1"str2" command
.if !"str1"str2" command
Here
c
is a single letter:
n
(true if nroff),
t
(true if troff),
e
(true
if even page), or
o
(true if odd page).
N
is a numerical experssion and can include operators +, -, *, /, % (mod),
>, <, >=, <=, = (or ==), & (and), or : (or).
If the result is greater than 0, the condition evaluates true.
Numbers in the expression can be either constants or contents of number
registers.
Strings are tested using delimeter / or " only at this time.
Note that "block" conditionals like:
.if c \{\
...
...
...
\}
are supported, but cannot be nested (and may be buggy).
If using these, place the terminating brace (\}) on a seperate line.
Also the
.ie/.el
forms (ifelse and else) are supported:
.ie c \{\
...
...
...
\}
.el \{\
...
...
...
\}
and must appear in pairs.
The same conditions as the
.if
form are supported by the
.ie
form.
- .in
-
Indents the left margin to the column value specified by the argument.
The default left margin is set to zero.
- .ju (extension)
-
Causes blanks to be inserted between words in a line of
output in order to align or justify the right margin.
The default is to justify.
- .lg
-
Ignored by
nroff.
- .ll
-
Sets the current line length.
The default is eighty.
- .ls
-
Sets the line spacing to the value specified by the argument.
The default is for single spacing.
- .lt
-
Set length of three-part titles.
Line length and title length
are independent.
Indents do not apply to titles but page offsets do.
- .m1 (extension)
-
Specifies the number of lines in the header margin.
This is the space from the physical top of page to and including
the header text.
A value of zero causes the header to not be printed.
A value of one causes the header to appear at the physical top of page.
Larger argument values cause the appropriate number of blank
lines to appear before the header is printed.
- .m2 (extension)
-
Specifies the number of blank lines to be printed between
the header line and the first line of the processed text.
- .m3 (extension)
-
Specifies the number of blank lines to be printed between
the last line of processed text and the footer line.
- .m4 (extension)
-
Specifies the number of lines in the footer margin.
This command affects the footer the same way the
.m1
command affects the header.
- .mc
-
Margin character.
The first argument is the character to use,
the second is the distance to the right of the right margin
to place the margin character.
Useful for change bars.
No arguments turns the capability off.
Note that with this
nroff,
the margin character is always a vertical bar ("|")
and this distance is always 2 spaces (0.2i).
- .na
-
Noadjust.
Ajdustment is turned off; the right margin is ragged.
The adjustment type for
.ad
is not changed.
Output line filling still occurs if fill mode is on.
- .ne
-
Specifies a number of lines which should not be broken across a page boundary.
If the number of lines remaining on a page is less than the
value needed, then a new output page is started.
- .nf
-
Specifies that succeeding text should be printed without
rearrangement, or with no fill.
No argument is expected.
- .nj (extension)
-
Specifies that no attempt should be made to align or justify the right margin.
No argument is expected.
- .nh
-
Turns hyphenation off.
The default is hyphenation on.
- .nr
-
Causes the value of a number register to be set or modified.
A total of twenty-six number registers are available designated
\na through \nz (either upper or lower case is allowed).
When the sequence \nc is imbedded in the text, the current value
of number register c replaces the sequence, thus, such things as
paragraph numbering can be accomplished with relative ease.
- .of (extension)
-
Specifies the text for the footer on odd numbered pages.
The format is the same as the footer command (see
.fo).
- .oh (extension)
-
Specifies the text for the header on odd numbered pages.
The format is the same as the footer command (see
.fo).
- .pc
-
Specifies the page number character to be used in headers and footers.
The occurrance of this character in the header or footer text
results in the current page number being printed.
The default for this character is the percent sign (%).
- .pl
-
Specifies the page length or the number of lines per output page.
The default is 66.
- .pm
-
Print macros.
The names and sizes of the macros are printed to stdout.
This is useful when building a macro package to see how much of the
total namespace is consumed by the package.
- .pn
-
Changes the page number of the current page and all
subsequent pages to its argument.
If no argument is given, the command is ignored.
- .po
-
Specifies a page offset value.
This allows the formatted text to be shifted to the right by
the number of spaces specified.
This feature may also be invoked by a switch on the command line.
- .ps
-
Ignored by
nroff.
- .rr
-
Removes a number register.
- .so
-
Causes input to be retrieved from the file specified
by the command's character string argument.
The contents of the new file are inserted into the output
stream until an EOF is detected.
Processing of the original file is then resumed.
Command nesting is allowed.
- .sp
-
Specifies a number of blank lines to be output before
printing the next line of text.
- .ss
-
Ignored by
nroff.
- .ti
-
Temporarily alters the indentation or left margin value for a single
succeeding input line.
- .tl
-
Specifies text to be used for a page title.
The format is the same as for the header (see
.he).
- .tm
-
The text (supplied as arguments) is written to the terminal (stderr).
- .ul
-
Causes the next line(s) of text to be underlined.
Unlike the
.cu
command, this command causes only alphanumerics
to be underlined, skipping punctuation and white space.
Underline and boldface are mutually exclusive.
The following nroff commands, normally available, are currently
not implemented in this version:
.fp, .mk, .rt, .vs, .sv, .os, .ns, .rs, .am, .as, .rm, .rn,
.di, .da, .wh, .ch, .dt, .it, .ta, .tc, .lc, .fc, .lg, .uf,
.tr, .hc, .hw, .nm, .nn, .ev, .rd, .ex, .nx, .pi, and .ig.
ESCAPE SEQUENCES
Escape sequences are used to access special characters (such as Greek
letters) which may be outside the normal printable ASCII character set.
The are also used to toggle certain actions such as font selection.
The default escape sequences include:
\\ backslash character
\e printable version of escape character
\' accute accent (equivalent to \(aa)
\` grave accent (equivalent to \(ga)
\- minus sign
\. period
\<space> a single, unpaddable space
\0 digit-width space
\| 1/6 em space (zero space in nroff)
\^ 1/12 em space (zero space in nroff)
\& non-printing zero-width character
\" beginning of comment
\% hyphenate (not supported yet but
inserts a hard -- in the text)
\(xx special character named xx
\*x,\*(xx interpolate string x or xx
\fc font change (c = R,I,B,S,P)
\nx interpolate number register x
\sN,\s±N point size change (manpager only)
\t horizontal tab
The Atari ST (TOS) version ofnroffincludes the following special characters.NOTE: THESE ARE NOT AVAILABLE UNDER Minix OR \*(ux(these are used when \fB\-T\fR is \fInot\fR specified)!
\fBEscape Description\fR\(ol\(ol\(ol\(ol\(ol\(ol \(ol\(ol\(ol\(ol\(ol\(ol\(ol\(ol\(ol\(ol\(ol\(co copyright
\(rg registered
\(tm trademark
\(12 1/2
\(14 1/4
\(p2 exponent 2
\(p3 exponent 3
\(pn exponent n
\(aa acute
\(ga grave
\(de degree
\(dg dagger
\(ct cent
\(bu bullet
\(pp paragraph
\(^g ring bell
\(ua up arrow
\(da dn arrow
\(-> rt arrow
\(<- lf arrow
\(di divide
\(sr sq root
\(== ==
\(>= >=
\(<= <=
\(+- +-
\(~= ~=
\(ap approx
\(no not
\(mo memeber
\(ca intersect
\(cu union
\(*a alpha
\(*b beta
\(*g gamma
\(*d delta
\(*s sigma
\(*p pi
\(*m mu
The following escape sequences are recognized and interpreted bynroffif it is given the\-Tswitch:
\fB ASCII\fR\fBCategory Symbol Escape Notes Mapping Description\fR\(ol\(ol\(ol\(ol\(ol\(ol\(ol\(ol \(ol\(ol\(ol\(ol\(ol\(ol \(ol\(ol\(ol\(ol\(ol\(ol \(ol\(ol\(ol\(ol\(ol \(ol\(ol\(ol\(ol\(ol\(ol\(ol \(ol\(ol\(ol\(ol\(ol\(ol\(ol\(ol\(ol\(ol\(olGeneral \(em \\(em 0x2d(-) 3/4 em dashSymbols \(hy \\(hy 0x2c(,) 1/2 em hyphen \(bu \\(bu 0x2a(*) bullet \(sq \\(sq 0xef square \(ci \\(ci 0xee circle \(14 \\(14 0xac 1/4 \(12 \\(12 0xab 1/2 \(34 \\(34 0xad 3/4 \(de \\(de 0xf8 degree \(dg \\(dg 0xbb dagger \(dd \\(dd 0xba double dagger \(ct \\(ct 0x24($) cent \(rg \\(rg 0xbe registered \(co \\(co 0xbd copyright \(tm \\(tm 2 0xbf trademark \(sc \\(sc 0xdd section \(aa \\(aa 0x27(') acute accent \(ga \\(ga 0x60(`) grave accent \(oq \\(oq 1 0x21(!) open quote \(cq \\(cq 1 0x22() close quote \(ru \\(ru 0x5f(_) rule (1 em) \(ol \\(ol 1 0x3b(;) overrule (1 em) \(ul \\(ul 0x5e(^) underrule (1 em) \(r2 \\(r2 1 0x3f(?) thin rule (1 em) \(o2 \\(o2 1 0x40(@) thin overrule (1 em) \(u2 \\(u2 1 0x9d thin underrule (1 em) \(sl \\(sl 0x2f(/) slash \(rh \\(rh 0x9f right hand \(lh \\(lh 0x9e left hand \(PP \\(PP 1 0xbc paragraphGreek \(*a \\(*a 0x61(a) alphaLower \(*b \\(*b 0x62(b) beta \(*g \\(*g 0x67(g) gamma \(*d \\(*d 0x64(d) delta \(*e \\(*e 0x65(e) epsilon \(*z \\(*z 0x7a(z) zeta \(*y \\(*y 0x79(y) eta \(*h \\(*h 0x68(h) theta \(*i \\(*i 0x69(i) iota \(*k \\(*k 0x6b(k) kappa \(*l \\(*l 0x6c(l) lambda \(*m \\(*m 0x6d(m) mu \(*n \\(*n 0x6e(n) nu \(*c \\(*c 0x63(c) xi \(*o \\(*o 0x6f(o) omicron \(*p \\(*p 0x70(p) pi \(*r \\(*r 0x72(r) rho \(*s \\(*s 0x73(s) sigma \(*t \\(*t 0x74(t) tau \(*u \\(*u 0x75(u) upsilon \(*f \\(*f 0x66(f) phi \(*x \\(*x 0x78(x) chi \(*q \\(*q 0x71(q) psi \(*w \\(*w 0x77(w) omegaGreek \(*A \\(*A 0x41(A) alphaUpper \(*B \\(*B 0x42(B) beta \(*G \\(*G 0x47(G) gamma \(*D \\(*D 0x44(D) delta \(*E \\(*E 0x45(E) epsilon \(*Z \\(*Z 0x5a(Z) zeta \(*Y \\(*Y 0x59(Y) eta \(*H \\(*H 0x48(H) theta \(*I \\(*I 0x49(I) iota \(*K \\(*K 0x4b(K) kappa \(*L \\(*L 0x4c(L) lambda \(*M \\(*M 0x4d(M) mu \(*N \\(*N 0x4e(N) nu \(*C \\(*C 0x43(C) xi \(*O \\(*O 0x4f(O) omicron \(*P \\(*P 0x50(P) pi \(*R \\(*R 0x52(R) rho \(*S \\(*S 0x53(S) sigma \(*T \\(*T 0x54(T) tau \(*U \\(*U 0x55(U) upsilon \(*F \\(*F 0x46(F) phi \(*X \\(*X 0x58(X) chi \(*Q \\(*Q 0x51(Q) psi \(*W \\(*W 0x57(W) omegaSubscript \(b0 \\(b0 1 0xa0 subscript 0numbers \(b1 \\(b1 1 0xa1 subscript 1 \(b2 \\(b2 1 0xa2 subscript 2 \(b3 \\(b3 1 0xa3 subscript 3 \(b4 \\(b4 1 0xa4 subscript 4 \(b5 \\(b5 1 0xa5 subscript 5 \(b6 \\(b6 1 0xa6 subscript 6 \(b7 \\(b7 1 0xa7 subscript 7 \(b8 \\(b8 1 0xa8 subscript 8 \(b9 \\(b9 1 0xa9 subscript 9Superscript \(p0 \\(p0 1 0x30 superscript 0numbers \(p1 \\(p1 1 0x31 superscript 1 \(p2 \\(p2 1 0x32 superscript 2 \(p3 \\(p3 1 0x33 superscript 3 \(p4 \\(p4 1 0x34 superscript 4 \(p5 \\(p5 1 0x35 superscript 5 \(p6 \\(p6 1 0x36 superscript 6 \(p7 \\(p7 1 0x37 superscript 7 \(p8 \\(p8 1 0x38 superscript 8 \(p9 \\(p9 1 0x39 superscript 9Math \(rn \\(rn 0xfa root extension (1 em)Symbols \(sr \\(sr 0xfb square root \(>= \\(>= 0xf2 greater or equal \(<= \\(<= 0xf3 less or equal \(== \\(== 0xf0 identically equal \(~= \\(~= 0x28(() approximately equal \(ap \\(ap 0x7e(~) approximately \(pt \\(pt 0x98 proportional to \(!= \\(!= 0x29()) not equal \(>> \\(>> 1 0xaf much greater than \(<< \\(<< 1 0xae much less than \(mu \\(mu 0x23(#) multiply \(di \\(di 0xf6 divide \(pl \\(pl 0x2b(+) plus \(mi \\(mi 0x2d(-) minus (3/4 em) \(eq \\(eq 1 0x3d(=) equals (3/4 em) \(+- \\(+- 0xf1 plus or minus \(cu \\(cu 0x91 cup (union) \(ca \\(ca 0x90 cap (intersection) \(sb \\(sb 0x99 subset of \(sp \\(sp 0x9a superset of \(ib \\(ib 0x94 improper subset \(ip \\(ip 0x95 improper superset \(es \\(es 0x92 empty set \(mo \\(mo 0x96 member of \(if \\(if 0xdf infinity \(pd \\(pd 0x97 partial derivative \(gr \\(gr 0x93 gradient \(is \\(is 0xec integral sign \(i1 \\(i1 1 0xdb large integral, top \(i2 \\(i2 1 0xdb large integral, bottom \(no \\(no 0xaa NOT \(or \\(or 0x9b OR \(m. \\(m. 1 0x2e(.) math dot \(** \\(** 0xf9 math star \(-- \\(-- 1 0x86 division bar (1 em)Arrows \(-> \\(-> 0x83 right arrow \(<- \\(<- 0x84 left arrow \(da \\(da 0x82 down arrow \(ua \\(ua 0x81 up arrow \(>a \\(>a 1 0x85 arrow bar, vertical \(>b \\(>b 1 0x86 arrow bar, horizontal \(>c \\(>c 1 0x87 arrow corner, up&left \(>d \\(>d 1 0x88 arrow corner, up&right \(>e \\(>e 1 0x89 arrow corner, down&left \(>f \\(>f 1 0x8a arrow corner, down&right \(>g \\(>g 1 0x8b arrow tee, down \(>h \\(>h 1 0x8c arrow tee, up \(>i \\(>i 1 0x8d arrow tee, right \(>j \\(>j 1 0x8e arrow tee, left \(>k \\(>k 1 0x8f arrow crossLarge \(lt \\(lt 0xe0 left top, curlyBrackets, \(lb \\(lb 0xe1 left bottom, curlyComposite \(rt \\(rt 0xe2 right top, curly \(rb \\(rb 0xe3 right bottom, curly \(lk \\(lk 0xe4 left center, curly \(rk \\(rk 0xe5 right center, curly \(lf \\(lf 0xe7 left floor, square \(rf \\(rf 0xe8 right floor, square \(lc \\(lc 0xe9 left ceiling, square \(rc \\(rc 0xea right ceiling, square \(bv \\(bv 0xe6 bold vertical \(br \\(br 0x7c(|) box vertical ruleSingle \([[ \\([[ 1 0x5b([) larger left bracketBrackets \(]] \\(]] 1 0x5d(]) larger right bracket \({{ \\({{ 1 0x7b({) larger left curley bracket \(}} \\(}} 1 0x7d(}) larger left curley bracketBoxes, \(La \\(La 1 0xd0 vertical barSingle \(Lb \\(Lb 1 0xd1 horizontal barLine \(Lc \\(Lc 1 0xd2 corner, upper left \(Ld \\(Ld 1 0xd3 corner, upper right \(Le \\(Le 1 0xd4 corner, lower right \(Lf \\(Lf 1 0xd5 corner, lower left \(Lg \\(Lg 1 0xd6 tee, right \(Lh \\(Lh 1 0xd7 tee, left \(Li \\(Li 1 0xd8 cross \(Lj \\(Lj 1 0xd9 tee, upper \(Lk \\(Lk 1 0xda tee, lowerBoxes, \(LA \\(LA 1 0xc0 vertical barDouble \(LB \\(LB 1 0xc1 horizontal barLine \(LC \\(LC 1 0xc2 corner, upper left \(LD \\(LD 1 0xc3 corner, upper right \(LE \\(LE 1 0xc4 corner, lower right \(LF \\(LF 1 0xc5 corner, lower left \(LG \\(LG 1 0xc6 tee, right \(LH \\(LH 1 0xc7 tee, left \(LI \\(LI 1 0xc8 cross \(LJ \\(LJ 1 0xc9 tee, upper \(LK \\(LK 1 0xca tee, lower \(LL \\(LL 1 0xcb single tee, right \(LM \\(LM 1 0xcc single tee, left \(LN \\(LN 1 0xcd single horizontal cross \(LO \\(LO 1 0xce single tee, upper \(LP \\(LP 1 0xcf single tee, lower \(LQ \\(LQ 1 0x80 single vertical crossMisc. \(d1 \\(d1 1 0xdb dither 1 \(d2 \\(d2 1 0xdb dither 2 \(xx \\(xx 3 0xde unknown escape\(--\(--\(--\(--\(--\(--\(--\(--\(--\(--Notes: 1) Extension. Symbol may not exist in \*(ux troff. 2) Not in \*(ux documentation, but it does exist. 3) Any escape not known prints this character.
PREDEFINED GENERAL NUMBER REGISTERSThe following number registers are available for both reading and writing.They are accessed with the \\n(xx and \\nx escape and can be set with\.nr:
5%
current page numberdw
current day of the week (1-7)dy
current day of the month (1-31)hh
current
hours
(0-23)ln
current
line
numbermm
current
minutes
(0-59)mo
current
month
(1-12)ss
current
seconds
(0-59)yr
last
2
digits
of
current
year
The
following
number
registers
are
available
for
reading
only:
+
number
of
args
available
in
current
macro
always
1
in
nroff
available
horizontal
resolution
always
0
in
nroff
available
vertical
resolution
number
of
lines
read
from
current
file
current
font
(1-4)
current
indent
current
line
length
current
page
offset
current
page
length
current
vertical
spacing+cc
NOTESThere
are
several
missing
features,
notably
diversions,
traps,conditionals,
all
the
hard
stuff.This
means
you
can't
use
some
existing
macro
packages
(yet,
I
hope).There
is
no
complete\-msand\-mepackages
as
a
result.The
goal
is
to
make
thisnroffwork
with
all
the
SunOS
macro
packagessometime
before
\*(ux
becomes
obsolete!
When
using
the
\\sN
escape
for
print
size
changes,
note
that
this
iscurrently
only
supported
for
use
withmanpager
(1).If
\\s-N
or
\\sN
where
N<10
and
if
\\s+N
or
\\sN
is
larger
than
10,the
normal
font
is
used.You
can
only
get
the
single
small
font
inmanpager
(1).A
typical
use
might
be:
\\s-2small
text\\s0.
If
you
make
additions
to
this
code,
please
mail
the
changes
to
me
so
Ican
make
formal
distributions.
BUGSUndoubtedly
more
than
I
know
about.Here
are
a
few:
-
- 0.2i\(bu
The
ability
to
perform
numerical
calculations
on
registers
is
notimplemented.
-
- 0.2i\(bu
All
horizontal
dimensional
units
are
in
em's
or
inches
only.
-
- 0.2i\(bu
Lines
with
multiple
string
instances
(i.e.
\\*(xx)
don't
seem
to
work.
-
- 0.2i\(bu
Some
interpolations
don't
work
properly.
-
- 0.2i\(bu
The
block
conditionals,
i.e.
\&.if
condition
\\{\\
commands
\\}
may
be
buggy,
and
cannot
be
nested.
-
- 0.2i\(bu
The
code
uses
statically
allocated
arrays
for
macros,
strings,
and
registers.This
should
be
changed
to
dynamically
allocated
buffers
orwrite
to
intermediate
files
on
small
memory
systems
(i.e.
Minix).
-
- 0.2i\(bu
Terminal
handling
(i.e.
the
\fB\-T\fIname\fR
switch)
is
not
fullyimplements.It
ignoresnameand
uses
an
internal
table
for
special
characters
which
relies
onmanpager
(1).
-
- 0.2i\(bu
The\-ooption
is
not
available.Use
the+
nor-
noptions
and
runnroffa
number
of
times
instead.
-
- 0.2i\(bu
Some
minor
hand
editing
may
be
required.
FILES
|
ned
macros
(see
ENVIRONMENT)
nroff.dbg
debugging
output
stderr
default
error
output
stream
stdout
output
stream
AUTHOR
Adapted
for
Atari
ST
(TOS)
and
Minix
by
Bill
Rosenkranz
11/89
net:
rosenkra@convex.com
CIS:
71460,17
GENIE:
W.ROSENKRANZ
Original
author:
Stephen
L.
Browning
5723
North
Parker
Avenue
Indianapolis,
Indiana
46220
HISTORY
-
- 0.2i
*
Originally
written
in
BDS
C
(by
Stephen
L.
Browning?).
-
- 0.2i
*
Adapted
for
standard
C
by
W.
N.
Paul.
-
- 0.2i
*
Heavily
hacked
up
to
conform
to
the
real
nroff
with
numerous
additions
by
Bill
Rosenkranz
(rosenkra@convex.com)
11/89
to
present.
-
- 0.2i
*
Bug
fixes
(termcap)
and
Minix
1.5.5
compatibility
by
Wim
Baron'
van
Dorst
(wsincc@tuerc3.urc.tue.nl).
RECOMMENDATIONS
I
envisioned
this
rather
limited
version
as
a
way
of
formatting
man
pages
for
my
Atari
ST
system.
It
works
just
fine
for
that.
The
-man
macro
package
is
certainly
adequate
for
that
purpose.
However,
it
would
be
nice
to
have
more.
I
suggest
you
limit
yourself
to
things
which
would
port
easily
to
other
environments.
All
the
man
macros
available
here
should
port
without
effort
to
a
more
complete
environment.
Nroff
as
it
stands
can
certainly
be
useful.
I
recommend
you
don't
use
the
commands
marked
extension.
Study
the
source
for
the
man
pages
here
(
nroff
(1),
ms
(7),
and
man
(7))
as
well
as
the
macro
packages
(tmac.an
and
tmac.s)
and
the
examples
to
find
out
the
quirks.
Some
things
may
not
quite
work
like
they
do
under
,
but
it
is
fairly
close
for
what
is
here.
REFERENCES
This
document
briefly
describes
the
workings
of
nroff
It
is
certainly
not
the
definitive
work
on
text
processing.
I
suggest
you
go
out
and
get
a
good
book
(there
are
several
on
the
market)
or
refer
to
the
manuals
for
more
help.
Nroff
is
just
like
a
compiler
and
is
much
more
complicated
than
(say)
the
C
language
which
only
has
a
handful
of
rules
and
is
much
more
thoroughly
documented.
Good
luck!
VERSION
nroff
v1.10p5
91/2/24
rosenkra
REQUEST
SUMMARY
The
following
table
summarizes
the
nroff
requests
currently
available:
8
+
Request
Form
Initial
Default
Notes
Explanation
olololololololololololololol
ololololololol
ololololololol
ololololololol
olololololololololololololololololololololol
Font
and
Character
Size
Control
.ps
±N
10pt
prev
E
point
size
(ignored)
.ss
N
12/36em
ignored
E
space
size
(ignored)
.cs
F
N
M
off
-
P
constant
space
mode
(ign)
.bd
F
N
off
-
P
embolden
font
F
(ignored)
.bd
S
F
N
off
-
P
embolden
special
font
.ft
F
Roman
prev
E
change
to
font
F
+ne
4
Page
Control
.pl
±N
11in
11in
v
page
length
.bp
±N
N=1
-
B,v
eject
page
.pn
±N
N=1
ignored
-
next
page
number
N
.po
±N
0
prev
v
page
offset
.ne
N
-
N=1V
D,v
need
N
vertical
space
+ne
4
Text
Filling,
Adjusting,
and
Centering
.br
-
-
B
break
.fi
fill
-
B,E
fill
mode
.nf
fill
-
B,E
no
fill
or
adjust
.ad
c
adj,both
adjust
E
adjust
output,
mode
c
.na
adjust
-
E
no
adjust
.ce
N
off
N=1
B,E
center
N
lines
.hy
N
on
-
turn
on/off
hyphenation
.nh
on
-
turn
off
hyphenation
+ne
4
Vertical
Spacing
.ls
N
N=1
prev
E
output
N-1
Vs
.sp
N
-
N=1V
B,v
space
vertical
+ne
4
Line
Length
and
Indenting
.ll
±N
6.5i
prev
E,m
line
length
.in
±N
N=0
prev
B,E,m
indent
.ti
±N
-
ignored
B,E,m
temporary
indent
+ne
4
Macros,
Strings,
Diversions,
and
Position
Traps
.de
xx
yy
-
-
define
macro
xx
.ds
xx
str
-
ignored
-
define
string
xx
.em
xx
-
requred
-
specify
end
macro
xx
+ne
4
Number
Registers
.nr
R
±N
M
-
u
define
and
set
num
reg
.af
R
c
arabic
-
-
assign
format
to
reg
.rr
R
-
-
-
remove
register
+ne
4
I/O
Conventions
and
Character
Translation
.ec
c
-
set
escape
char
.eo
on
-
-
turn
off
escape
mech
.lg
N
-
-
-
ligature
mode
(ignored)
.ul
N
off
N=1
E
underline
N
lines
.cu
N
off
N=1
E
cont.
underline
.cc
c
E
set
control
char
.c2
c
E
set
nobreak
control
char
+ne
4
Three-part
Titles
.tl
'l'c'r'
-
-
three-part
title
.pc
c
%
off
-
page
number
char
.lt
±N
6.5in
prev
E,m
length
of
title
+ne
4
Conditional
Acceptence
of
Input
.if
c
cmd
-
-
if
c
true,
accept
cmd
multi-line
use
\{cmd\}
.if
c
cmd
-
-
if
c
true,
accept
cmd
.if
!c
cmd
-
-
if
c
false,
accept
cmd
.if
N
cmd
-
-
if
N
>
0,
accept
cmd
.if
!N
cmd
-
-
if
N
<=
0,
accept
cmd
.if
s1s2
cmd
-
-
if
strings
same,
accept
cmd
.if
!s1s2
cmd
-
-
if
strings
differ,
accept
cmd
.ie
-
-
-
if
part
of
if/else
.el
-
-
-
else
part
of
if/else
+ne
4
Input/Output
File
Switching
.so
filename
-
-
switch
source
file
+ne
4
Miscellaneous
.mc
c
N
-
off
E,m
margin
char
c,
seperation
N
.pm
t
-
all
-
print
macro
names
.fl
-
-
B
flush
output
buffer
.tm
t
-
-
-
terminal
message
+ne
4
Notes
B
causes
a
break
D
mode
or
parameters
associated
with
current
diversion
level
E
relevant
parameters
are
a
part
of
the
current
environment
O
must
stay
in
effect
until
logical
output
P
mode
must
be
still
or
again
in
effect
at
time
of
output
v,p,m,u
default
scale indicators
+cc
Index
- NAME
-
- SYNOPSIS
-
- DESCRIPTION
-
- OPTIONS
-
- ENVIRONMENT
-
- COMMANDS
-
- ESCAPE SEQUENCES
-
- PREDEFINED GENERAL NUMBER REGISTERSThe following number registers are available for both reading and writing.They are accessed with the \\n(xx and \\nx escape and can be set with\.nr:
5%currentpagenumberdwcurrentdayoftheweek(1-7)dycurrentdayofthemonth(1-31)hhcurrentindicators+cc
-
- NOTESThere
-
- BUGSUndoubtedly
-
- FILES
-
- AUTHOR
-
- HISTORY
-
- RECOMMENDATIONS
-
- REFERENCES
-
- VERSION
-
- REQUEST
-
This document was created by
man2html,
using the manual pages.
Time: 03:58:29 GMT, September 10, 2022