.TH MAN 7
.SH NAME
man \- macros to typeset manual
.SH SYNOPSIS
.B nroff  -man
.I file ...
.PP
.B troff  -man
.I file ...
.SH DESCRIPTION
These macros are used to format pages of this manual.
.PP
Except in
.L .LR
and
.L .RL
requests, any text argument denoted
.I t
in the request summary may be zero to six words.
Quotes
\fL"\fP ... \fL"\fP
may be used to include blanks in a `word'.
If
.I t
is empty,
the special treatment is applied to
the next text input line (the next line that doesn't begin with dot).
In this way, for example,
.B .I
may be used to italicize a line of more than 6 words, or
.B .SM
followed by
.B .B
to make small letters in `bold' font.
.PP
A prevailing indent distance is remembered between
successive indented paragraphs,
and is reset to default value upon reaching a non-indented paragraph.
Default units for indents
.I i
are ens.
.PP
The fonts are
.TP
.B R
roman, the main font, preferred for diagnostics
.PD 0
.TP
.B I
italic, preferred for parameters, short names of commands,
names of manual pages,
and naked function names
.TP
.L B
`bold', actually the constant width font,
preferred for examples, file names, declarations, keywords, names of
.B struct
members, and literals
(numbers are rarely literals)
.TP
.B L
also the constant width font.
In
.I troff
.BR L = B ;
in
.I nroff
arguments of the macros
.BR .L ,
.BR .LR ,
and
.B .RL
are printed in quotes;
preferred only where quotes really help (e.g. lower-case literals and
punctuation).
.PD
.LP
Type font and size are reset to default values
before each paragraph, and after processing
font- or size-setting macros.
.PP
The
.B -man
macros admit equations and tables in the style of
.IR eqn (1)
and
.IR tbl (1),
but do not support arguments on
.B .EQ
and
.B .TS
macros.
.PP
These strings are predefined by
.BR -man :
.TP
.B \e*R
.if t `\*R', `(Reg)' in
.if t .IR nroff .
.if n `(Reg)', trademark symbol in
.if n .IR troff .
.br
.ns
.TP
.B \e*S
Change to default type size.
.SH FILES
.B /sys/lib/tmac/tmac.an
.SH SEE ALSO
.IR troff (1), 
.IR man (1)
.SH REQUESTS
.ta \w'.TH n c x 'u +\w'Cause 'u +\w'Argument\ 'u
.di xx
			\ka
.br
.di
.in \nau
.ti0
Request	Cause	If no	Explanation
.ti0
	Break	Argument
.ti0
\&\fL.B\fR \fIt\fR	no	\fIt\fR=n.t.l.*	Text
.I t
is `bold'.
.ti0
\&\fL.BI\fR \fIt\fR	no	\fIt\fR=n.t.l.	Join
words of
.I t
alternating bold and italic.
.ti0
\&\fL.BR\fR \fIt\fR	no	\fIt\fR=n.t.l.	Join
words of
.I t
alternating bold and Roman.
.ti0
\&\fL.DT\fR	no		Restore default tabs.
.ti0
\&\fL.EE\fR	yes		End displayed example
.ti0
\&\fL.EX\fR	yes		Begin displayed example
.ti0
\&\fL.HP\fR \fIi\fR	yes	\fIi\fR=p.i.*	Set prevailing indent to
.IR i .
Begin paragraph with hanging indent.
.ti0
\&\fL.I\fR \fIt\fR	no	\fIt\fR=n.t.l.	Text
.I t
is italic.
.ti0
\&\fL.IB\fR \fIt\fR	no	\fIt\fR=n.t.l.	Join
words of
.I t
alternating italic and bold.
.ti0
\&\fL.IP\fR \fIx i\fR	yes	\fIx\fR=""	Same as \fL.TP\fP with tag
.IR x .
.ti0
\&\fL.IR\fR \fIt\fR	no	\fIt\fR=n.t.l.	Join
words of
.I t
alternating italic and Roman.
.ti0
\&\fL.L\fR \fIt\fR	no	\fIt\fR=n.t.l.	Text
.I t
is literal.
.ti0
\&\fL.LP\fR	yes		Same as \fL.PP\fP.
.ti0
\&\fL.LR\fR \fIt\fR	no		Join 2
words of
.I t
alternating literal and Roman.
.ti0
\&\fL.PD\fR \fId\fR	no	\fId\fR=\fL.4v\fP	Interparagraph distance is
.IR d .
.ti0
\&\fL.PP\fR	yes		Begin paragraph.
Set prevailing indent to default.
.ti0
\&\fL.RE\fR	yes		End of relative indent.
Set prevailing indent to amount of starting \fL.RS\fP.
.ti0
\&\fL.RI\fR \fIt\fR	no	\fIt\fR=n.t.l.	Join
words of
.I t
alternating Roman and italic.
.ti0
\&\fL.RL\fR \fIt\fR	no		Join 2 or 3
words of
.I t
alternating Roman and literal.
.ti0
\&\fL.RS\fR \fIi\fR	yes	\fIi\fR=p.i.	Start relative indent,
move left margin in distance
.IR i .
Set prevailing indent to default for nested indents.
.ti0
\&\fL.SH\fR \fIt\fR	yes	\fIt\fR=""	Subhead; reset paragraph distance.
.ti0
\&\fL.SM\fR \fIt\fR	no	\fIt\fR=n.t.l.	Text
.I t
is small.
.ti0
\&\fL.SS\fR \fIt\fR	no	\fIt\fR=""	Secondary subhead.
.ti0
\&\fL.TF\fR \fIs\fR	yes		Prevailing indent is wide as
string
.I s
in font 
.BR L ;
paragraph distance is 0.
.ti0
\&\fL.TH\fR \fIn c x\fR	yes		Begin page named
.I n
of chapter
.IR c;
.I x
is extra commentary, e.g. `local', for page head.
Set prevailing indent and tabs to default.
.ti0
\&\fL.TP\fR \fIi\fR	yes	\fIi\fR=p.i.	Set prevailing indent to
.IR i .
Restore default indent if
.IR i =0.
Begin indented paragraph
with hanging tag given by next text line.
If tag doesn't fit, place it on separate line.
.ti0
\&\fL.1C\fR	yes		Equalize columns and return to 1-column output
.ti0
\&\fL.2C\fR	yes		Start 2-column nofill output
.PP
.ti0
* n.t.l. = next text line; p.i. = prevailing indent
.SH BUGS
There's no way to fool
.I troff
into handling literal double quote marks
.B \&"
in font-alternation macros, such as
.LR .BI .
.br
There is no direct way to suppress column widows in 2-column
output; the column lengths may be adjusted by inserting
.L .sp
requests before the closing
.LR .1C .
