4.4BSD/usr/share/tmac/tmac.doc
.\" Copyright (c) 1991, 1993
.\" The Regents of the University of California. All rights reserved.
.\"
.\" Redistribution and use in source and binary forms, with or without
.\" modification, are permitted provided that the following conditions
.\" are met:
.\" 1. Redistributions of source code must retain the above copyright
.\" notice, this list of conditions and the following disclaimer.
.\" 2. Redistributions in binary form must reproduce the above copyright
.\" notice, this list of conditions and the following disclaimer in the
.\" documentation and/or other materials provided with the distribution.
.\" 3. All advertising materials mentioning features or use of this software
.\" must display the following acknowledgement:
.\" This product includes software developed by the University of
.\" California, Berkeley and its contributors.
.\" 4. Neither the name of the University nor the names of its contributors
.\" may be used to endorse or promote products derived from this software
.\" without specific prior written permission.
.\"
.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
.\" SUCH DAMAGE.
.\"
.\" @(#)doc 8.1 (Berkeley) 6/8/93
.\"
.\" .mdoc-parse - attempt to parse troff request arguments
.\" This version has had comments stripped; an unstripped version is available.
.if \n(.g \{\
.cp 0
.ftr C CR
.\}
.if t \{\
. so /usr/share/tmac/tmac.doc-ditroff
.\}
.if n \{\
. so /usr/share/tmac/tmac.doc-nroff
.\}
.so /usr/share/tmac/tmac.doc-common
.so /usr/share/tmac/tmac.doc-syms
.nr Db 0
.de Db
.ie \\n(.$==0 \{\
. ie \\n(Db==0 \{\
.tm DEBUGGING ON
. nr Db 1
. \}
. el \{\
.tm DEBUGGING OFF
. nr Db 0
. \}
.\}
.el \{\
. if "\\$1"on" \{\
.tm DEBUGGING ON
. nr Db 1
. \}
. if "\\$1"off" \{\
.tm DEBUGGING OFF
. nr Db 0
. \}
.\}
..
.de aV
.nr aC \\n(aC+1
.ie "\\$1"|" \{\
. if "\\*(mN"Op" .ds A\\n(aC \fR\\$1\fP
. if "\\*(mN"Ar" .ds A\\n(aC \fR\\$1\fP
. if "\\*(mN"Fl" .ds A\\n(aC \fR\\$1\fP
. if "\\*(mN"Cm" .ds A\\n(aC \fR\\$1\fP
. if "\\*(mN"It" .ds A\\n(aC \fR\\$1\fP
.\}
.el .ds A\\n(aC \\$1
.aU \\n(aC
.nr C\\n(aC \\n(aT
.s\\n(aT
.if \\n(Db \{\
. if \\n(aT==1 .ds yU Executable
. if \\n(aT==2 .ds yU String
. if \\n(aT==3 .ds yU Closing Punctuation or suffix
. if \\n(aT==4 .ds yU Opening Punctuation or prefix
. if \\n(iN==1 \{\
. br
. nr iI \\n(.iu
. in -\\n(iIu
. if \\n(aC==1 \{\
\&\fBDEBUG(argv) MACRO:\fP `.\\*(mN' \fBLine #:\fP \\n(.c
. \}
\&\t\fBArgc:\fP \\n(aC \fBArgv:\fP `\\*(A\\n(aC' \fBLength:\fP \\n(sW
\&\t\fBSpace:\fP `\\*(S\\n(aC' \fBClass:\fP \\*(yU
. \}
. if \\n(iN==0 \{\
. if \\n(aC==1 \{\
. tm DEBUG(argv) MACRO: `.\\*(mN' Line #: \\n(.c
. \}
. tm \tArgc: \\n(aC Argv: `\\*(A\\n(aC' Length: \\n(sW
. tm \tSpace: `\\*(S\\n(aC' Class: \\*(yU
. \}
.\}
.ie \\n(.$==1 \{\
. nr aP 0
. ie \\n(dZ==1 \{\
. if \\n(oM>1 .as b1 \\*(S0
. \}
. el \{\
. if \\n(oM>0 \{\
. if \\n(fC==0 .as b1 \\*(S0
. \}
. \}
. ds S0 \\*(S\\n(aC
. if \\n(Db \{\
. if \\n(iN==1 \{\
\&MACRO REQUEST: \t.\\*(mN \\*(A1 \\*(A2 \\*(A3 \\*(A4 \\*(A5 \\*(A6 \\*(A7 \\*(A8 \\*(A9
. br
. in \\n(iIu
. \}
. if \\n(iN==0 \{\
.tm \tMACRO REQUEST: .\\*(mN \\*(A1 \\*(A2 \\*(A3 \\*(A4 \\*(A5 \\*(A6 \\*(A7 \\*(A8 \\*(A9
. \}
. \}
.\}
.el .aV \\$2 \\$3 \\$4 \\$5 \\$6 \\$7 \\$8 \\$9
..
.de fV
.nr aC \\n(aC+1
.if "\\*(A\\n(aC"|" \{\
. if "\\*(mN"Op" .ds A\\n(aC \fR\\*(A\\n(aC\fP
. if "\\*(mN"Ar" .ds A\\n(aC \fR\\*(A\\n(aC\fP
. if "\\*(mN"Fl" .ds A\\n(aC \fR\&\\*(A\\n(aC\fP
. if "\\*(mN"Cm" .ds A\\n(aC \fR\\*(A\\n(aC\fP
. if "\\*(mN"It" .ds A\\n(aC \fR\\*(A\\n(aC\fP
.\}
.aU \\n(aC
.nr C\\n(aC \\n(aT
.s\\n(aT
.if \\n(Db \{\
. if \\n(aT==1 .ds yU Executable
. if \\n(aT==2 .ds yU String
. if \\n(aT==3 .ds yU Closing Punctuation or suffix
. if \\n(aT==4 .ds yU Opening Punctuation or prefix
. if \\n(iN==1 \{\
. br
. nr iI \\n(.iu
. in -\\n(iIu
. if \\n(aC==1 \{\
\&\fBDEBUG(fargv) MACRO:\fP `.\\*(mN' \fBLine #:\fP \\n(.c
. \}
\&\t\fBArgc:\fP \\n(aC \fBArgv:\fP `\\*(A\\n(aC' \fBLength:\fP \\n(sW
\&\t\fBSpace:\fP `\\*(S\\n(aC' \fBClass:\fP \\*(yU
. \}
. if \\n(iN==0 \{\
. if \\n(aC==1 \{\
. tm DEBUG(fargv) MACRO: `.\\*(mN' Line #: \\n(.c
. \}
. tm \tArgc: \\n(aC Argv: `\\*(A\\n(aC' Length: \\n(sW
. tm \tSpace: `\\*(S\\n(aC' Class: \\*(yU
. \}
.\}
.ie \\n(fV==1 \{\
. nr aP 0
. ie \\n(dZ==1 \{\
. if \\n(oM>1 .as b1 \\*(S0
. \}
. el \{\
. if \\n(oM>0 \{\
. if \\n(fC==0 .as b1 \\*(S0
. \}
. \}
. ds S0 \\*(S\\n(aC
. nr fV 0
. if \\n(Db \{\
. ie \\n(iN \{\
\&\tMACRO REQUEST: .\\*(mN \\*(A1 \\*(A2 \\*(A3 \\*(A4 \\*(A5 \\*(A6 \\*(A7 \\*(A8 \\*(A9
. br
. in \\n(iIu
. \}
. el \{\
.tm \tMACRO REQUEST: .\\*(mN \\*(A1 \\*(A2 \\*(A3 \\*(A4 \\*(A5 \\*(A6 \\*(A7 \\*(A8 \\*(A9
. \}
. \}
.\}
.el \{\
. nr fV \\n(fV-1
. fV
.\}
..
.de aX
.nr aP \\n(aP+1
.as b1 \&\\*(A\\n(aP
.ie \\n(fV==1 \{\
. nr aP 0
. nr fV 0
.\}
.el \{\
. as b1 \&\\*(sV
. nr fV \\n(fV-1
. aX
.\}
..
.de aI
.ie \\n(aC<9 \{\
. nr aC \\n(aC+1
. ds A\\n(aC \\$1
. nr C\\n(aC \\$2
. s\\$2
. ds xV S\\n(aC
.\}
.el \{\
. tm Usage: Too many arguments (maximum of 8 accepted) (#\\n(.c)
. tm \\*(A1 \\*(A2 \\*(A3 \\*(A4 \\*(A5 \\*(A6 \\*(A7 \\*(A8 \\*(A9
.\}
..
.de aZ
.pB
.aY
..
.de aY
.rm C0 C1 C2 C3 C4 C5 C6 C7 C8 C9
.rm A0 A1 A2 A3 A4 A5 A6 A7 A8 A9
.rm S1 S2 S3 S4 S5 S6 S7 S8 S9
.nr aC 0
.nr aP 0
..
.de pB
.ie \\n(dZ==1 \{\
. if \\n(oM==1 \{\&\\*(b1
. rm S0
. ds b1
. \}
. if \\n(oM==0 \{\
. x2
. \}
.\}
.el \{\
. ie \\n(oM==0 \{\&\\*(b1
. rm S0
. ds b1
. \}
. el \{\
. if ((\\n(sM==1)&(\\n(tP==0)) \{\
. x1
. \}
. \}
.\}
.hy
..
.de x1
.nr dZ \\n(dZ+1
.ds b2 \\*(b1
.ds b1
.nr lK \\n(.c
.ev 2
.fi
.di eB
..
.de x2
.br
.di
.ev
.ie (\\n(.c-\\n(lK>1) \{\
. ds b0 \&\\*(eB\\
. ds b1 \\*(b2\\*(b0\\*(b1
.\}
.el .ds b1 \\*(b2\\*(b1
\&\\*(b1
.rm eB b2 b0 b1
.nr dZ \\n(dZ-1
..
.de Fl
.as b1 \&\\*(fL
.if \\n(aC==0 \{\
. ie \\n(.$==0 \{\
. as b1 \&\|\-\|\fP\s0
. pB
. \}
. el \{\
. ds mN Fl
. aV \\$1 \\$2 \\$3 \\$4 \\$5 \\$6 \\$7 \\$8 \\$9
. \}
.\}
.if \\n(aC>0 \{\
. ie (\\n(aC-\\n(aP)==0 \{\
. as b1 \&\|\-\fP\s0
. aZ
. \}
. el \{\
. nr aP \\n(aP+1
. ie \\n(C\\n(aP==1 \{\
. as b1 \&\|\-\fP\s0
. \\*(A\\n(aP
. \}
. el \{\
. nr cF \\n(.f
. nr cZ \\n(.s
. if \\n(C\\n(aP==3 \{\
. as b1 \&\|\-\|
. \}
. fR
. \}
. \}
.\}
..
.de fR
.hy 0
.nr jM \\n(C\\n(aP
.ie \\n(jM==1 \{\
. as b1 \&\fP\s0
. \\*(A\\n(aP
.\}
.el \{\
. nr jN \\n(aP
. ie \\n(jM==2 \{\
. ie !"\\*(A\\n(aP"\\*(Ba" \{\
. ie !"\\*(A\\n(aP"\fR|\fP" \{\
. ie "\\*(A\\n(aP"-" .as b1 \&\|\-\^\-\|
. el .as b1 \&\|\-\\*(A\\n(aP
. \}
. el .as b1 \&\\*(A\\n(aP
. \}
. el .as b1 \&\\*(A\\n(aP
. \}
. el .as b1 \&\f\\n(cF\s\\n(cZ\\*(A\\n(aP\fP\s0
. ie \\n(aC==\\n(aP \{\
. if \\n(jM==4 .as b1 \&\|\-
. as b1 \&\fP\s0
. aZ
. \}
. el \{\
. nr aP \\n(aP+1
. ie ((\\n(C\\n(aP==3)&(\\n(C\\n(jN==4)) .as b1 \&\|\-
. el .as b1 \&\\*(S\\n(jN
. fR \\$2 \\$3 \\$4 \\$5 \\$6 \\$7 \\$8 \\$9
. \}
.\}
.rr jM jN
..
.de nR
.hy 0
.nr jM \\n(C\\n(aP
.ie \\n(jM==1 \{\
. as b1 \&\f\\n(cF\s\\n(cZ
. \\*(A\\n(aP
.\}
.el \{\
. nr jN \\n(aP
. ie \\n(jM==2 .as b1 \&\\*(A\\n(aP
. el .as b1 \&\f\\n(cF\s\\n(cZ\\*(A\\n(aP\fP\s0
. ie \\n(aC==\\n(aP \{\
. as b1 \&\f\\n(cF\s\\n(cZ
. aZ
. \}
. el \{\
. nr aP \\n(aP+1
. as b1 \&\\*(S\\n(jN
. nR
. \}
.\}
.rr jM jN
..
.de Ar
.as b1 \\*(aR
.if \\n(aC==0 \{\
. ie \\n(.$==0 \{\
. as b1 file\ ...\fP\s0
. pB
. \}
. el \{\
. ds mN Ar
. aV \\$1 \\$2 \\$3 \\$4 \\$5 \\$6 \\$7 \\$8 \\$9
. \}
.\}
.if \\n(aC>0 \{\
. ie (\\n(aC-\\n(aP)==0 \{\
. as b1 \&file\ ...\fP\s0
. aZ
. \}
. el \{\
. nr aP \\n(aP+1
. ie \\n(C\\n(aP==1 \{\
. as b1 \&file\ ...\fP\s0
. \\*(A\\n(aP
. \}
. el \{\
. nr cF \\n(.f
. nr cZ \\n(.s
. if \\n(C\\n(aP==3 \{\
. as b1 \&file\ ...
. \}
. nR
. \}
. \}
.\}
..
.de Ad
.if \\n(aC==0 \{\
. ie \\n(.$==0 .tm Usage: .Ad address ... \\*(Pu (#\\n(.c)
. el \{\
. ds mN Ad
. aV \\$1 \\$2 \\$3 \\$4 \\$5 \\$6 \\$7 \\$8 \\$9
. \}
.\}
.if \\n(aC>\\n(aP \{\
. as b1 \\*(aD
. nr aP \\n(aP+1
. nr cF \\n(.f
. nr cZ \\n(.s
. nR
.\}
..
.de Cd
.if \\n(aC==0 \{\
. ie \\n(.$==0 .tm Usage: .Cd Configuration file declaration (#\\n(.c)
. el \{\
. ds mN Cd
. ds A1 \\$1
. ds A2 \\$2
. ds A3 \\$3
. ds A4 \\$4
. ds A5 \\$5
. ds A6 \\$6
. ds A7 \\$7
. ds A8 \\$8
. ds A9 \\$9
. nr fV \\n(.$
. fV
. \}
.\}
.br
.if \\n(aC>\\n(aP \{\
. as b1 \\*(nM
. nr aP \\n(aP+1
. nr cF \\n(.f
. nr cZ \\n(.s
. ie \\n(nS \{\
. if "\\*(mN"Cd" \{\
. rs
. ie \\n(nS>1 .br
. el \{\
. if \\n(iS==0 .nr iS \\n(Dsu
. \}
. in +\\n(iSu
. ti -\\n(iSu
. nr nS \\n(nS+1
. \}
. nR
. in -\\n(iSu
. \}
. el .nR
.\}
..
.de Cm
.if \\n(aC==0 \{\
. ie \\n(.$==0 .tm Usage: .Cm Interactive command modifier ... \\*(Pu (#\\n(.c)
. el \{\
. ds mN Cm
. ds A1 \\$1
. ds A2 \\$2
. ds A3 \\$3
. ds A4 \\$4
. ds A5 \\$5
. ds A6 \\$6
. ds A7 \\$7
. ds A8 \\$8
. ds A9 \\$9
. nr fV \\n(.$
. fV
. \}
.\}
.if \\n(aC>\\n(aP \{\
. as b1 \\*(cM
. nr aP \\n(aP+1
. nr cF \\n(.f
. nr cZ \\n(.s
. nR
.\}
..
.de Dv
.if \\n(aC==0 \{\
. ie \\n(.$==0 .tm Usage: .Dv define_variable ... \\*(Pu (#\\n(.c)
. el \{\
. ds mN Dv
. aV \\$1 \\$2 \\$3 \\$4 \\$5 \\$6 \\$7 \\$8 \\$9
. \}
.\}
.if \\n(aC>\\n(aP \{\
. as b1 \\*(eR
. nr aP \\n(aP+1
. nr cF \\n(.f
. nr cZ \\n(.s
. nR
.\}
..
.de Em
.if \\n(aC==0 \{\
. ie \\n(.$==0 \{\
. tm Usage: .Em text ... \\*(Pu (#\\n(.c)
. \}
. el \{\
. ds mN Em
. ds A1 \\$1
. ds A2 \\$2
. ds A3 \\$3
. ds A4 \\$4
. ds A5 \\$5
. ds A6 \\$6
. ds A7 \\$7
. ds A8 \\$8
. ds A9 \\$9
. nr fV \\n(.$
. fV
. \}
.\}
.if \\n(aC>\\n(aP \{\
. as b1 \\*(eM
. nr aP \\n(aP+1
. nr cF \\n(.f
. nr cZ \\n(.s
. nR
.\}
..
.de Er
.if \\n(aC==0 \{\
. ie \\n(.$==0 .tm Usage: .Er ERRNOTYPE ... \\*(Pu (#\\n(.c)
. el \{\
. ds mN Er
. aV \\$1 \\$2 \\$3 \\$4 \\$5 \\$6 \\$7 \\$8 \\$9
. \}
.\}
.if \\n(aC>\\n(aP \{\
. as b1 \\*(eR
. nr aP \\n(aP+1
. nr cF \\n(.f
. nr cZ \\n(.s
. nR
.\}
..
.de Ev
.if \\n(aC==0 \{\
. ie \\n(.$==0 .tm Usage: .Ev ENVIRONMENT_VARIABLE ... \\*(Pu (#\\n(.c)
. el \{\
. ds mN Ev
. aV \\$1 \\$2 \\$3 \\$4 \\$5 \\$6 \\$7 \\$8 \\$9
. \}
.\}
.if \\n(aC>\\n(aP \{\
. as b1 \\*(eV
. nr aP \\n(aP+1
. nr cF \\n(.f
. nr cZ \\n(.s
. nR
.\}
..
.de Fd
.ds mN Fd
.if \\n(nS>0 \{\
. if \\n(fX>0 \{\
. Pp
. nr fX 0
. \}
. if \\n(fZ>0 \{\
. ie \\n(fD==0 \{\
. Pp
. rs
. \}
. el .br
. \}
. nr fD \\n(fD+1
.\}
.nr cF \\n(.f
.nr cZ \\n(.s
\&\\*(fD\\$1 \\$2 \\$3 \\$4 \\$5 \\$6 \\$7 \\$8 \\$9
.br
.ft \\n(cF
.fs \\n(cZ
..
.de Fr
.if \\n(aC==0 \{\
. ie \\n(.$==0 .tm Usage: .Fr Function_return_value... \\*(Pu (#\\n(.c)
. el \{\
. ds mN Fr
. aV \\$1 \\$2 \\$3 \\$4 \\$5 \\$6 \\$7 \\$8 \\$9
. \}
.\}
.if \\n(aC>\\n(aP \{\
. as b1 \\*(aR
. nr aP \\n(aP+1
. nr cF \\n(.f
. nr cZ \\n(.s
. nR
.\}
..
.de Ic
.if \\n(aC==0 \{\
. ie \\n(.$==0 .tm Usage: .Ic Interactive command ... \\*(Pu (#\\n(.c)
. el \{\
. ds mN Ic
. aV \\$1 \\$2 \\$3 \\$4 \\$5 \\$6 \\$7 \\$8 \\$9
. \}
.\}
.if \\n(aC>\\n(aP \{\
. as b1 \\*(iC
. nr aP \\n(aP+1
. nr cF \\n(.f
. nr cZ \\n(.s
. nR
.\}
..
.de Li
.if \\n(aC==0 \{\
. ie \\n(.$==0 .tm Usage .Li argument ... \\*(Pu (#\\n(.c)
. el \{\
. ds mN Li
. ds A1 \\$1
. ds A2 \\$2
. ds A3 \\$3
. ds A4 \\$4
. ds A5 \\$5
. ds A6 \\$6
. ds A7 \\$7
. ds A8 \\$8
. ds A9 \\$9
. nr fV \\n(.$
. fV
. \}
.\}
.if \\n(aC>\\n(aP \{\
. as b1 \\*(lI
. nr aP \\n(aP+1
. nr cF \\n(.f
. nr cZ \\n(.s
. nR
.\}
..
.de Or
.if \\n(aC==0 \{\
. ie \\n(.$==0 .tm Usage: .Or ... \\*(Pu (#\\n(.c)
. el \{\
. ds mN Or
. aV \\$1 \\$2 \\$3 \\$4 \\$5 \\$6 \\$7 \\$8 \\$9
. \}
.\}
.if \\n(aC>\\n(aP \{\
. as b1 \\*(iC
. nr aP \\n(aP+1
. nr cF \\n(.f
. nr cZ \\n(.s
. nR
.\}
..
.de Ms
.if \\n(aC==0 \{\
. ie \\n(.$==0 .tm Usage: .Ms Math symbol ... \\*(Pu (#\\n(.c)
. el \{\
. ds mN Ms
. aV \\$1 \\$2 \\$3 \\$4 \\$5 \\$6 \\$7 \\$8 \\$9
. \}
.\}
.if \\n(aC>\\n(aP \{\
. as b1 \\*(sY
. nr aP \\n(aP+1
. nr cF \\n(.f
. nr cZ \\n(.s
. nR
.\}
..
.de Nm
.if \\n(aC==0 \{\
. ie \\n(.$==0 \{\
. ie "\\*(n1"" .tm Usage: .Nm Name(s) ... \\*(Pu (#\\n(.c)
. el \&\\*(nM\\*(n1\fP\s0
. \}
. el \{\
. ds mN Nm
. ds A1 \\$1
. ds A2 \\$2
. ds A3 \\$3
. ds A4 \\$4
. ds A5 \\$5
. ds A6 \\$6
. ds A7 \\$7
. ds A8 \\$8
. ds A9 \\$9
. nr fV \\n(.$
. fV
. \}
.\}
.if \\n(aC>0 \{\
. ie \\n(aC==\\n(aP \{\
. as b1 \&\\*(nM\\*(n1\fP\s0
. aZ
. \}
. el \{\
. as b1 \\*(nM
. nr aP \\n(aP+1
. ie \\n(C\\n(aP==1 \{\
. as b1 \&\\*(n1\fP\s0
. \\*(A\\n(aP
. \}
. el \{\
. nr cF \\n(.f
. nr cZ \\n(.s
. if \\n(nS \{\
. if "\\*(mN"Nm" \{\
. rs
. in -\\n(iSu
. ie \\n(nS>1 .br
. el \{\
. if \\n(iS==0 \{\
. sw \\$1
. nr iS ((\\n(sWu+1)*\\n(fW)u
. \}
. \}
. in +\\n(iSu
. ti -\\n(iSu
. nr nS \\n(nS+1
. \}
. \}
. if "\\*(n1"" .ds n1 \\*(A\\n(aP
. nR
. \}
. \}
.\}
..
.de Pa
.if \\n(aC==0 \{\
. ie \\n(.$==0 \&\\*(pA~\fP\s0
. el \{\
. ds mN Pa
. aV \\$1 \\$2 \\$3 \\$4 \\$5 \\$6 \\$7 \\$8 \\$9
. \}
.\}
.if \\n(aC>\\n(aP \{\
. as b1 \\*(pA
. nr aP \\n(aP+1
. nr cF \\n(.f
. nr cZ \\n(.s
. nR
.\}
..
.de Sy
.if \\n(aC==0 \{\
. ie \\n(.$==0 .tm Usage: .Sy symbolic_text ... \\*(Pu (#\\n(.c)
. el \{\
. ds mN Sy
. ds A1 \\$1
. ds A2 \\$2
. ds A3 \\$3
. ds A4 \\$4
. ds A5 \\$5
. ds A6 \\$6
. ds A7 \\$7
. ds A8 \\$8
. ds A9 \\$9
. nr fV \\n(.$
. fV
. \}
.\}
.if \\n(aC>\\n(aP \{\
. as b1 \\*(sY
. nr aP \\n(aP+1
. nr cF \\n(.f
. nr cZ \\n(.s
. nR
.\}
..
.de Tn
.if \\n(aC==0 \{\
. ie \\n(.$==0 .tm Usage: .Tn Trade_name(s) ... \\*(Pu (#\\n(.c)
. el \{\
. ds mN Tn
. aV \\$1 \\$2 \\$3 \\$4 \\$5 \\$6 \\$7 \\$8 \\$9
. \}
.\}
.if \\n(aC>\\n(aP \{\
. as b1 \\*(tN\\*(tF
. nr aP \\n(aP+1
. nr cF \\n(.f
. nr cZ \\n(.s
. nR
.\}
..
.de nN
.if \\n(aC==0 \{\
. ie \\n(.$==0 .tm Usage: .Tn Trade_name(s) ... \\*(Pu (#\\n(.c)
. el \{\
. ds mN Tn
. aV \\$1 \\$2 \\$3 \\$4 \\$5 \\$6 \\$7 \\$8 \\$9
. \}
.\}
.if \\n(aC>\\n(aP \{\
. as b1 \\*(tN
. nr aP \\n(aP+1
. nr cF \\n(.f
. nr cZ \\n(.s
. rR
.\}
..
.de Va
.if \\n(aC==0 \{\
. ie \\n(.$==0 .tm Usage: .Va variable_name(s) ... \\*(Pu (#\\n(.c)
. el \{\
. ds mN Va
. aV \\$1 \\$2 \\$3 \\$4 \\$5 \\$6 \\$7 \\$8 \\$9
. \}
.\}
.if \\n(aC>\\n(aP \{\
. as b1 \\*(vA
. nr aP \\n(aP+1
. nr cF \\n(.f
. nr cZ \\n(.s
. nR
.\}
..
.de No
.as b1 \\*(nO
.if \\n(aC==0 \{\
. ie \\n(.$==0 .tm Usage: .No must be called with arguments (#\\n(.c)
. el \{\
. ds mN No
. aV \\$1 \\$2 \\$3 \\$4 \\$5 \\$6 \\$7 \\$8 \\$9
. \}
.\}
.if \\n(aC>\\n(aP \{\
. nr aP \\n(aP+1
. ie \\n(C\\n(aP==1 \{\
. \\*(A\\n(aP
. \}
. el \{\
. nr cF \\n(.f
. nr cZ \\n(.s
. nR
. \}
.\}
..
.de Op
.if \\n(aC==0 \{\
. ds mN Op
.\}
.ds qL \&\\*(lB
.ds qR \&\\*(rB
.En \\$1 \\$2 \\$3 \\$4 \\$5 \\$6 \\$7 \\$8
..
.de Aq
.if \\n(aC==0 .ds mN Aq
.ds qL \&<
.ds qR \&>
.En \\$1 \\$2 \\$3 \\$4 \\$5 \\$6 \\$7 \\$8 \\$9
..
.de Bq
.if \\n(aC==0 .ds mN Bq
.ds qL \&\\*(lB
.ds qR \&\\*(rB
.En \\$1 \\$2 \\$3 \\$4 \\$5 \\$6 \\$7 \\$8 \\$9
..
.de Dq
.if \\n(aC==0 .ds mN Dq
.ds qL \&\\*(Lq
.ds qR \&\\*(Rq
.En \\$1 \\$2 \\$3 \\$4 \\$5 \\$6 \\$7 \\$8 \\$9
..
.de Eq
.if \\n(aC==0 .ds mN Eq
.ds qL \\$1
.ds qR \\$2
.En \\$3 \\$4 \\$5 \\$6 \\$7 \\$8 \\$9
..
.de Pq
.if \\n(aC==0 .ds mN Pq
.ds qL \&\\*(lP
.ds qR \&\\*(rP
.En \\$1 \\$2 \\$3 \\$4 \\$5 \\$6 \\$7 \\$8 \\$9
..
.de Qq
.if \\n(aC==0 .ds mN Qq
.ds qL \&\\*q
.ds qR \&\\*q
.En \\$1 \\$2 \\$3 \\$4 \\$5 \\$6 \\$7 \\$8 \\$9
..
.de Sq
.if \\n(aC==0 .ds mN Sq
.ds qL \&\\*(sL
.ds qR \&\\*(sR
.En \\$1 \\$2 \\$3 \\$4 \\$5 \\$6 \\$7 \\$8 \\$9
..
.de Es
.if \\n(aC==0 \{\
. ie \\n(.$>2 .aV \\$1 \\$2 \\$3 \\$4 \\$5 \\$6 \\$7 \\$8 \\$9
. el \{\
. ds qL \\$1
. ds qR \\$2
. \}
.\}
.if \\n(aC>\\n(aP \{\
. nr aP \\n(aP+1
. ds qL \\*(A\\n(aP
. nr aP \\n(aP+1
. ds qR \\*(A\\n(aP
. ie \\n(aC>\\n(aP .c\\n(C\\n(aP
. el .aZ
.\}
..
.de En
.ie \\n(aC==0 \{\
. ie \\n(.$==0 \{\
. as b1 \&\\*(qL\\*(qR
. pB
. \}
. el \{\
. aV \\$1 \\$2 \\$3 \\$4 \\$5 \\$6 \\$7 \\$8 \\$9
. as b1 \&\\*(qL
. \}
.\}
.el \{\
. as b1 \&\\*(qL
.\}
.if \\n(aC>0 \{\
. ie (\\n(aC-\\n(aP)==0 \{\
. as b1 \&\\*(qR
. aZ
. \}
. el \{\
. ie \\n(C\\n(aC==3 \{\
. nr aJ \\n(aC-1
. vR
. nr aJ \\n(aJ+1
. ds A\\n(aJ \&\\*(qR\\*(A\\n(aJ
. nr aJ 0
. \}
. el .aI \&\\*(qR 3
. nr aP \\n(aP+1
. if \\n(C\\n(aP==1 .\\*(A\\n(aP
. if \\n(C\\n(aP>1 \{\
. nr aP \\n(aP-1
. No
. \}
. \}
.\}
..
.de vR
.if \\n(C\\n(aJ==3 \{\
. nr aJ \\n(aJ-1
. vR
.\}
..
.de Ao
.if \\n(aC==0 .ds mN Ao
.ds qL \&<
.eO \\$1 \\$2 \\$3 \\$4 \\$5 \\$6 \\$7 \\$8 \\$9
..
.de Ac
.if \\n(aC==0 .ds mN Ac
.ds qR \&>
.eC \\$1 \\$2 \\$3 \\$4 \\$5 \\$6 \\$7 \\$8 \\$9
..
.de Bo
.if \\n(aC==0 .ds mN Bo
.ds qL \&[
.eO \\$1 \\$2 \\$3 \\$4 \\$5 \\$6 \\$7 \\$8 \\$9
..
.de Bc
.if \\n(aC==0 .ds mN Bc
.ds qR \&]
.eC \\$1 \\$2 \\$3 \\$4 \\$5 \\$6 \\$7 \\$8 \\$9
..
.de Do
.if \\n(aC==0 .ds mN Do
.ds qL \&\\*(Lq
.eO \\$1 \\$2 \\$3 \\$4 \\$5 \\$6 \\$7 \\$8 \\$9
..
.de Dc
.if \\n(aC==0 .ds mN Dc
.ds qR \&\\*(Rq
.eC \\$1 \\$2 \\$3 \\$4 \\$5 \\$6 \\$7 \\$8 \\$9
..
.de Eo
.if \\n(aC==0 .ds mN Eo
.ds qL \\$1
.eO \\$2 \\$3 \\$4 \\$5 \\$6 \\$7 \\$8 \\$9
..
.de Ec
.if \\n(aC==0 .ds mN Ec
.ds qR \\$1
.eC \\$2 \\$3 \\$4 \\$5 \\$6 \\$7 \\$8 \\$9
..
.de Oo
.if \\n(aC==0 .ds mN Oo
.ds qL \&[
.eO \\$1 \\$2 \\$3 \\$4 \\$5 \\$6 \\$7 \\$8 \\$9
..
.de Oc
.if \\n(aC==0 .ds mN Oc
.ds qR \&]
.eC \\$1 \\$2 \\$3 \\$4 \\$5 \\$6 \\$7 \\$8 \\$9
..
.de Po
.if \\n(aC==0 .ds mN Po
.ds qL \&(
.eO \\$1 \\$2 \\$3 \\$4 \\$5 \\$6 \\$7 \\$8 \\$9
..
.de Pc
.if \\n(aC==0 .ds mN Pc
.ds qR \&)
.eC \\$1 \\$2 \\$3 \\$4 \\$5 \\$6 \\$7 \\$8 \\$9
..
.de Qo
.if \\n(aC==0 .ds mN Qo
.ds qL \&\\*q
.eO \\$1 \\$2 \\$3 \\$4 \\$5 \\$6 \\$7 \\$8 \\$9
..
.de Qc
.if \\n(aC==0 .ds mN Qc
.ds qR \&\\*q
.eC \\$1 \\$2 \\$3 \\$4 \\$5 \\$6 \\$7 \\$8 \\$9
..
.de So
.if \\n(aC==0 .ds mN So
.ds qL \&\\*(sL
.eO \\$1 \\$2 \\$3 \\$4 \\$5 \\$6 \\$7 \\$8 \\$9
..
.de Sc
.if \\n(aC==0 .ds mN Sc
.ds qR \&\\*(sR
.eC \\$1 \\$2 \\$3 \\$4 \\$5 \\$6 \\$7 \\$8 \\$9
..
.de Xo
.if \\n(aC==0 .ds mN Xo
.ds qL
.eO \\$1 \\$2 \\$3 \\$4 \\$5 \\$6 \\$7 \\$8 \\$9
..
.de Xc
.if \\n(aC==0 .ds mN Xc
.ds qR
.eC \\$1 \\$2 \\$3 \\$4 \\$5 \\$6 \\$7 \\$8 \\$9
..
.de eO
.nr oM \\n(oM+1
.ie \\n(aC==0 \{\
. ie \\n(.$>0 \{\
. aV \\$1 \\$2 \\$3 \\$4 \\$5 \\$6 \\$7 \\$8 \\$9
. as b1 \\*(qL
. \}
. el \{\
. as b1 \\*(qL
. if (\\n(dZ==0)&(\\n(sM==1) \{\
. nr dZ \\n(dZ+1
. ds b2 \\*(b1
. ds b1
. nr lK \\n(.c
. ev 2
. fi
. di eB
. \}
. \}
.\}
.el \{\
. as b1 \\*(qL
.\}
.ie \\n(aC>0 \{\
. if \\n(aC>\\n(aP \{\
. nr aP \\n(aP+1
. ie \\n(C\\n(aP==1 .\\*(A\\n(aP
. el \{\
. nr aP \\n(aP-1
. No
. \}
. \}
. if \\n(aC==\\n(aP \{\
. if \\n(tP==1 \{\
. nr Xt 1
. \}
. aY
. \}
.\}
.el \{\
. if \\n(oM>1 .as b1 \\*(sV
.\}
..
.de eC
.nr oM \\n(oM-1
.as b1 \\*(qR
.if \\n(aC==0 \{\
. ie \\n(.$>0 \{\
. aV \\$1 \\$2 \\$3 \\$4 \\$5 \\$6 \\$7 \\$8 \\$9
. \}
. el \{\
. ie "\\*(xB"" \{\
. pB
. \}
. el \{\
. pB
.\\*(L\\n(lC
. nr Xt 0
. ds xB
. \}
. \}
.\}
.if \\n(aC>0 \{\
. ie \\n(aC==\\n(aP \{\
. ie \\n(oM==0 \{\
. aZ
. \}
. el .aY
. \}
. el \{\
. nr aa \\n(aP+1
. if \\n(C\\n(aa==2 .as b1 \\*(S\\n(aC
. rr aa
. if \\n(tP>0 \{\
. if \\n(Xt>0 .nr Xt \\n(Xt-1
. \}
. No
. \}
.\}
..
.de Pf
.if \\n(aC==0 .ds mN Pf
.ds qL \&\\$1
.pF \\$2 \\$3 \\$4 \\$5 \\$6 \\$7 \\$8 \\$9
..
.de pF
.ie \\n(aC==0 \{\
. as b1 \&\\*(qL
. ie \\n(.$<2 \{\
. tm Warning: Missing arguments - prefix .Pf)
. pB
. \}
. el .aV \\$1 \\$2 \\$3 \\$4 \\$5 \\$6 \\$7 \\$8 \\$9
.\}
.el \{\
. ie (\\n(aC-\\n(aP)>1 \{\
. nr aP \\n(aP+1
. as b1 \&\\*(A\\n(aP
. \}
. el .tm Warning: .Pf: trailing prefix (#\\n(.c)
.\}
.if \\n(aC>0 \{\
. ie (\\n(aC-\\n(aP)==0 .aZ
. el \{\
. nr aP \\n(aP+1
. c\\n(C\\n(aP
. \}
.\}
..
.de Ns
.if \\n(aC==0 \{\
. ds mN Ns
. ie \\n(.$>0 .aV \\$1 \\$2 \\$3 \\$4 \\$5 \\$6 \\$7 \\$8 \\$9
. el .tm Usage: .Ns must be called with arguments (#\\n(.c)
.\}
.No
..
.de Ap
.if \\n(aC==0 \{\
. ds mN Ap
. tm Usage: Ap "cannot be first request on a line (no .Ap)" (#\\n(.c)
.\}
.as b1 \&'
.No
..
.de Hv
.ds iV \\*(sV
.ds sV \\*(hV
..
.de Sv
.ds sV \\*(iV
..
.de Tv
.ds sV \\*(tV
..
.nr sM 1
.de Sm
.if \\n(aC==0 \{\
. ie \\n(.$==0 .tm "Usage: .Sm [off | on]" (#\\n(.c)
. el \{\
. ds mN Sm
. aV \\$1 \\$2 \\$3 \\$4 \\$5 \\$6 \\$7 \\$8 \\$9
. \}
.\}
.if \\n(aC>0 \{\
. nr aP \\n(aP+1
. if "\\*(A\\n(aP"on" \{\
. ds sV \\*(iV
. nr sM 1
. \}
. if "\\*(A\\n(aP"off" \{\
. ds sV
. rm S0 S1 S2 S3 S4 S5 S6 S7 S8 S9
. nr sM 0
. \}
. ie \\n(aC>\\n(aP \{\
. No
. \}
. el .aY
.\}
..
.if \n(.g \{\
.de aT
.nr aT 0
.ie \\n(sW>2:(\A'\\$1'==0) \{\
. nr aT 2
.\}
.el \{\
. if \\n(sW==1 \{\
. ie \\n(z\\$1>2 \{\
. nr aT \\n(z\\$1
. \}
. el .nr aT 2
. \}
. if \\n(sW==2 \{\
. ie \\n(\\$1 \{\
. nr aT 1
. \}
. el .nr aT 2
. \}
.\}
..
.de aU
.nr aT 0
.aW \\$1
.ie \\n(sW>2:(\A'\\*(A\\$1'==0) .nr aT 2
.el \{\
. if \\n(sW==1 \{\
. ie \\n(z\\*(A\\$1>2 \{\
. nr aT \\n(z\\*(A\\$1
. \}
. el .nr aT 2
. \}
. if \\n(sW==2 \{\
. ie (\\n(\\*(A\\$1) \{\
. nr aT 1
. \}
. el .nr aT 2
. \}
.\}
..
.\}
.if !\n(.g \{\
.de aT
.nr aT 0
.ie \\n(sW>2 \{\
. nr aT 2
.\}
.el \{\
. if \\n(sW==1 \{\
. ie \\n(z\\$1>2 \{\
. nr aT \\n(z\\$1
. \}
. el .nr aT 2
. \}
. if \\n(sW==2 \{\
. ie \\n(\\$1 \{\
. nr aT 1
. \}
. el .nr aT 2
. \}
.\}
..
.de aU
.nr aT 0
.aW \\$1
.ie \\n(sW>2 .nr aT 2
.el \{\
. if \\n(sW==1 \{\
. ie \\n(z\\*(A\\$1>2 \{\
. nr aT \\n(z\\*(A\\$1
. \}
. el .nr aT 2
. \}
. if \\n(sW==2 \{\
. ie (\\n(\\*(A\\$1) \{\
. nr aT 1
. \}
. el .nr aT 2
. \}
.\}
..
.\}
.de s0
.tm MDOC-ERROR: bogus type 0 (can't set space '\\*(A\\n(aC') (#\\n(.c)
..
.de s1
.if \\n(\\*(A\\n(aC==3 \{\
. nr xX \\n(aC-1
. rm S\\n(xX
. ds S\\n(aC \\*(sV
.\}
.if \\n(\\*(A\\n(aC==2 \{\
. nr xX \\n(aC-1
. ie "\\*(A\\n(aC"Nb" .ds S\\n(xX \\*(hV
. el .rm S\\n(xX
.\}
..
.de s2
.ds S\\n(aC \\*(sV
..
.de s3
.if \\n(aC>1 \{\
. nr xX \\n(aC-1
. rm S\\n(xX
.\}
.ds S\\n(aC \\*(sV
..
.de s4
.nr aa 0
..
.de c0
.tm MDOC-ERROR: bogus class 0 (can't determine '\\*(A\\n(aC') (#\\n(.c)
..
.de c1
.\\*(A\\n(aP
..
.de c2
.nr aP \\n(aP-1
.No
..
.de c3
.nr aP \\n(aP-1
.No
..
.de c4
.nr aP \\n(aP-1
.No
..
.de y1
.nr aa 1
..
.de y2
.nr aa 1
..
.de y3
.as b1 \\*(A\\n(aP
.nr aP \\n(aP+1
.n\\C\\n(aP
..
.de y4
.as b1 \\*(A\\n(aP
.nr aP \\n(aP+1
.n\\C\\n(aP
..
.de Bf
.ds mN Bf
.ie \\n(.$>0 \{\
. nr bF \\n(.f
. nr bZ \\n(.s
. if "\\$1"Em" \&\\*(eM\c
. if "\\$1"Li" \&\\*(lI\c
. if "\\$1"Sy" \&\\*(sY\c
. if "\\$1"-emphasis" \&\\*(eM\c
. if "\\$1"-literal" \&\\*(lI\c
. if "\\$1"-symbolic" \&\\*(sY\c
.\}
.el .tm Usage .Bf [Em | emphasis | Li | literal | Sy | symbolic] (#\\n(.c)
..
.de Ef
.ds mN Ef
.ie \\n(.$>0 .tm Usage .Ef (does not take arguments) (#\\n(.c)
.el \&\f\\n(bF\s\\n(bZ
..
.de Bk
.ds mN Bk
.ie \\n(.$==0 \{\
.tm Usage: .Bk [-lines | -words] (#\\n(.c)
.\}
.el \{\
. if !"\\*(kS"" .tm .Bk: nesting keeps not implemented yet. (#\\n(.c)
. if "\\$1"-lines" .tm .Bd -lines: Not implemented yet. (#\\n(.c)
. if "\\$1"-words" .Hv
. ds kS \\$1
.\}
..
.de Ek
.ds mN Ek
.ie \\n(.$>0 .tm Usage .Ek (does not take arguments) (#\\n(.c)
.el \{\
. if "\\*(kS"-lines" .tm .Bd -lines: Not implemented yet. (#\\n(.c)
. if "\\*(kS"-words" .Sv
. rm kS
.\}
..
.de Bd
.ds mN Bd
.ie \\n(.$==0 \{\
.tm Usage: .Bd [-literal | -filled | -ragged | -unfilled] [-offset [string]] [-compact] (#\\n(.c)
.\}
.el \{\
. ds aa
. nr bV 0
. nr iD 0
. nr dP \\n(dP+1
. if "\\$1"-literal" \{\
. nr iD \\n(iD+1
. ds d\\n(dP dL
. nr cF \\n(.f
. nr cZ \\n(.s
. ie t \{\&\\*(lI
' ta 9n 18n 27n 36n 45n 54n 63n 72n
. \}
. el \{\
' ta 8n 16n 24n 32n 40n 48n 56n 64n 72n
. \}
. nf
. \}
. if "\\$1"-filled" \{\
. nr iD \\n(iD+1
. ds d\\n(dP dF
. br
. \}
. if "\\$1"-ragged" \{\
. nr iD \\n(iD+1
. ds d\\n(dP dR
. na
. \}
. if "\\$1"-unfilled" \{\
. nr iD \\n(iD+1
. ds d\\n(dP dU
. nf
. \}
. if ((\\n(iD>=1)&(\\n(.$>\\n(iD)) \{\
. bV \\$2 \\$3 \\$4
. \}
. if \\n(O\\n(dP>0 'in \\n(.iu+\\n(O\\n(dPu
. if (\\n(bV==0) \{\
. if (\\n(nS==0) \{\
. ie "\\*(d\\n(dP"dR" .sp \\n(dVu
. el 'sp \\n(dVu
. \}
. \}
. if \\n(cR==0 .ne 2v
. nr bV 0
. nr iD 0
.\}
..
.de bV
.nr iD 1
.ds bY
.if "\\$1"-offset" \{\
. ds bY \\$2
. if "\\*(bY"left" \{\
. nr iD \\n(iD+1
. nr O\\n(dP 0
. \}
. if "\\*(bY"right" \{\
. nr iD \\n(iD+1
. nr O\\n(dP (\\n(.l/3)u
. \}
. if "\\*(bY"center" \{\
. nr iD \\n(iD+1
. nr O\\n(dP (\\n(.l-\\n(.i)/4u
. \}
. if "\\*(bY"indent" \{\
. nr iD \\n(iD+1
. nr O\\n(dP \\n(dIu
. \}
. if "\\*(bY"indent-two" \{\
. nr iD \\n(iD+1
. nr O\\n(dP \\n(dIu+\\n(dIu
. \}
. if \\n(iD==1 \{\
. nr iD \\n(iD+1
. sW "\\*(bY"
. ie \\n(sW>2 \{\
. ie ((\\*(bY>9n)&(\\*(bY<100n)) \{\
. nr O\\n(dP \\*(bY
. \}
. el .nr O\\n(dP (\\n(sW)*\\n(fWu
. \}
. el \{\
. if \\n(sW==2 .aT \\*(bY
. ie \\n(aT==1 \{\
. nr O\\n(dP \\n(\\*(bY
. \}
. el .nr O\\n(dP \\*(bY
. \}
. \}
.\}
.if "\\$1"-compact" \{\
. nr bV 1
.\}
.if \\n(iD<\\n(.$ \{\
. ie "\\*(bY"" \{\
. bV \\$2 \\$3
. \}
. el \{\
. bV \\$3
. \}
.\}
..
.de Ed
.ds mN Ed
.br
.if \\n(dP==0 .tm mdoc: Extraneous .Ed
.if "\\*(d\\n(dP"dL" \{\
. ft \\n(cF
. fz \\n(cZ
.\}
.in \\n(.iu-\\n(O\\n(dPu
.rr O\\n(dP
.rm d\\n(dP
.nr dP \\n(dP-1
.fi
.if t .ad
..
.de Bl
.ie \\n(.$==0 \{\
.tm Usage: .Bl [[-hang | -tag] [-width]] [ -item | -enum | -bullet | -diag] (#\\n(.c)
.\}
.el \{\
. ds mN Bl
. nr aP 0
. nr lC \\n(lC+1
. ds A1 \\$2
. ds A2 \\$3
. ds A3 \\$4
. ds A4 \\$5
. ds A5 \\$6
. ds A6 \\$7
. ds A7 \\$8
. ds A8 \\$9
. nr fV \\n(.$-1
. if "\\$1"-hang" \{\
. nr aP \\n(aP+1
. ds L\\n(lC hL
. nr w\\n(lC 6n
. nr tC 1
. \}
. if "\\$1"-tag" \{\
. nr aP \\n(aP+1
. ds L\\n(lC tL
. nr tC 1
. \}
. if "\\$1"-item" \{\
. nr aP \\n(aP+1
. ds L\\n(lC iT
. nr tC 1
. \}
. if "\\$1"-enum" \{\
. nr aP \\n(aP+1
. ds L\\n(lC nU
. nr w\\n(lC 3n
. nr tC 1
. \}
. if "\\$1"-bullet" \{\
. nr aP \\n(aP+1
. ds L\\n(lC bU
. nr w\\n(lC 2n
. nr tC 1
. \}
. if "\\$1"-dash" \{\
. nr aP \\n(aP+1
. ds L\\n(lC hU
. nr w\\n(lC 2n
. nr tC 1
. \}
. if "\\$1"-hyphen" \{\
. nr aP \\n(aP+1
. ds L\\n(lC hU
. nr w\\n(lC 2n
. nr tC 1
. \}
. if "\\$1"-inset" \{\
. nr aP \\n(aP+1
. ds L\\n(lC lL
. nr tC 1
. \}
. if "\\$1"-diag" \{\
. nr aP \\n(aP+1
. ds L\\n(lC mL
. nr mL 1
. \}
. if "\\$1"-ohang" \{\
. nr aP \\n(aP+1
. ds L\\n(lC oL
. nr tC 1
. \}
. if "\\$1"-column" \{\
. nr aP \\n(aP+1
. ds L\\n(lC cL
. \}
. ie \\n(aP==0 \{\
. tm \\$1 \\$2 \\$3 \\$4 \\$5 \\$6 \\$7 \\$8 \\$9
. tm Usage: .Bl [[-inset|-tag] -width] [-item|-enum|-bullet|-diag] (#\\n(.c)
. \}
. el \{\
. tY
. if (\\n(aP==1)&(\\n(aP<\\n(.$) \{\
. nr aP 0
. lV
. if "\\*(L\\n(lC"cL" \{\
. W\\n(wV
. nr w\\n(lC 0
' in -\\n(eWu
. ie \\n(v\\n(lC==1 \{\
. nr aa 0
. \}
. el \{\
. sp \\n(dVu
. \}
. nf
. nr wV 0
. \}
. \}
. \}
. nr aP 0
. aY
.\}
..
.if \n(.g \{\
. nr i 10
. while \ni<100 \{\
. nr num!\nin 1
. nr i +1
. \}
.\}
.de lV
.nr aP \\n(aP+1
.if \\n(fV>=\\n(aP \{\
. nr iD 0
. if "\\*(A\\n(aP"-compact" \{\
. nr iD 1
. nr v\\n(lC 1
. \}
. if "\\*(A\\n(aP"-width" \{\
. nr iD 1
. nr aP \\n(aP+1
. nr tW 1
. ds t\\n(lC TagwidtH
. ds tS \\*(A\\n(aP
. aW \\n(aP
. ie \\n(sW>2 \{\
. nr w\\n(lC (\\n(sW)*\\n(fWu
. if \\n(sW==3 \{\
. ie \\n(.g \{\
. if \A'\\*(tS' .if r num!\\*(tS \{\
. nr w\\n(lC \\*(tS
. \}
. \}
. el \{\
. if (\\*(tS>9n)&(\\*(tS<99n) \{\
. nr w\\n(lC \\*(tSu
. \}
. \}
. \}
. \}
. el \{\
. aT \\*(tS
. ie \\n(aT==1 \{\
. nr w\\n(lC \\n(\\*(tS
. \}
. el \{\
. nr w\\n(lC \\*(tSu
. \}
. \}
. \}
. if "\\*(A\\n(aP"-offset" \{\
. nr iD 1
. nr aP \\n(aP+1
. ie "\\*(A\\n(aP"indent" \{\
. nr o\\n(lC \\n(Dsu
. \}
. el \{\
. ds tS \\*(A\\n(aP
. aW \\n(aP
. ie \\n(sW>2 \{\
. nr o\\n(lC (\\n(sW)*\\n(fWu
. ie \\n(.g \{\
. if \A'\\*(tS' .if r num!\\*(tS \{\
. nr o\\n(lC \\*(tS
. \}
. \}
. el \{\
. if (\\*(tS>9n)&(\\*(tS<100n) \{\
. nr o\\n(lC \\*(tS
. \}
. \}
. \}
. el \{\
. ie \\n(C\\n(aP==1 .nr o\\n(lC \\n(\\*(tS
. el .nr o\\n(lC \\*(tS
. \}
. \}
. \}
. if \\n(iD==0 \{\
. if "\\*(L\\n(lC"cL" \{\
. nr wV \\n(wV+1
. ds A\\n(wV \\*(A\\n(aP
. \}
. \}
. if \\n(fV>\\n(aP .lV
.\}
..
.de El
.ie \\n(.$>0 \{\
. tm Usage: .El (#\\n(.c)
.\}
.el \{\
. ds mN El
. nr iD 0
. if "\\*(L\\n(lC"cL" \{\
. nr iD 1
. cC
. \}
. if "\\*(L\\n(lC"nU" \{\
. nr nU 0
. \}
. if \\n(mL>0 \{\
. nr iD 1
. nr mL 0
. tZ
. nr lC \\n(lC-1
. tY
. \}
. if "\\*(L\\n(lC"iT" \{\
' in \\n(.iu-\\n(o\\n(lCu
. tZ
. nr lC \\n(lC-1
. tY
. nr iD 1
. \}
. if "\\*(L\\n(lC"oL" \{\
' in \\n(.iu-\\n(o\\n(lCu
. tZ
. nr lC \\n(lC-1
. tY
. nr iD 1
. \}
. if "\\*(L\\n(lC"lL" \{\
' in \\n(.iu-\\n(o\\n(lCu
. tZ
. nr lC \\n(lC-1
. tY
. nr iD 1
. \}
. if \\n(iD==0 \{\
. lE
. \}
. br
. nr iD 0
.\}
..
.de It
.if "\\*(L\\n(lC"" \{\
. tm Usage .Bl -list-type [-width [string] | -compact | -offset [string]] (#\\n(.c)
. tm .It \\$1 \\$2 \\$3 \\$4 \\$5 \\$6 \\$7 \\$8
.\}
.ne 3v
.ie \\n(.$>0 \{\
. ds mN It
. ds b1
. nr iD 0
. ds A1 \\$1
. ds A2 \\$2
. ds A3 \\$3
. ds A4 \\$4
. ds A5 \\$5
. ds A6 \\$6
. ds A7 \\$7
. ds A8 \\$8
. ds A9 \\$9
. nr fV \\n(.$
. if "\\*(L\\n(lC"mL" \{\
. nr iD 1
. nr aP 0
. aX
. \\*(L\\n(lC
. \}
. if "\\*(L\\n(lC"cL" \{\
. ds b1
. nr aP 0
. nr iD 1
. \\*(L\\n(lC
. \}
. if "\\*(L\\n(lC"iT" \{\
. nr aP 0
. nr iD 1
. \\*(L\\n(lC
. \}
. if \\n(iD==0 \{\
. fV
. nr oM \\n(oM+1
. nr tP 1
. nr aP \\n(aP+1
. nr tX \\n(C\\n(aP
. ds tX \\*(A\\n(aP
. if \\n(nF==1 \{\
. ds aA \\*(pA
. if n .ds pA \\*(nO
. \}
. ie \\n(C\\n(aP==1 \{\
. \\*(A\\n(aP
. \}
. el \{\
. nr aP \\n(aP-1
. No
. \}
. ie \\n(Xt==1 .ds xB \&\\*(L\\n(lC
. el .\\*(L\\n(lC
. \}
. nr iD 0
.\}
.el .\\*(L\\n(lC
..
.de lL
.lY
.br
\&\\*(b1
.nr oM \\n(oM-1
.nr tP 0
.ds b1
.aY
'fi
..
.de hL
.lX
.nr bb \\n(w\\n(lCu+\\n(lSu
.ti -\\n(bbu
.ie \w\\*(b1u>=(\\n(w\\n(lCu) \&\\*(b1
.el \&\\*(b1\h'|\\n(bbu'\c
.nr oM \\n(oM-1
.ds b1
.nr tP 0
.aY
'fi
..
.de oL
.lY
\&\\*(b1
.br
.nr oM \\n(oM-1
.ds b1
.nr tP 0
.aY
'fi
..
.de iT
.lY
.br
.aY
'fi
..
.de nU
.nr oM \\n(oM+1
.nr nU \\n(nU+1
.ds b1 \&\\n(nU.
.uL
..
.de bU
.nr oM \\n(oM+1
.nr bU \\n(bU+1
.ds b1 \&\\*(sY\&\(bu\fP
.uL
..
.de hU
.nr oM \\n(oM+1
.nr bU \\n(bU+1
.ds b1 \&\\*(sY\&\-\fP
.uL
..
.de uL
.lX
.nr bb \\n(w\\n(lCu+\\n(lSu
.ti -\\n(bbu
.ie \w\\*(b1u>=(\\n(w\\n(lCu) \&\\*(b1
.el \&\\*(b1\h'|\\n(bbu'\c
.nr oM \\n(oM-1
.ds b1
.nr tP 0
.aY
'fi
..
.de mL
.nr cF \\n(.f
.nr cZ \\n(.s
.ie \\n(mL==1 \{\
. nr zB \\n(.c
. ie (\\n(zB-\\n(zA)>1 .Pp
. el .br
. nr zA \\n(zB
. nr zB 0
.\}
.el \{\
. nr zA \\n(.c
. br
.\}
\&\\*(sY\\*(b1\f\\n(cF\s\\n(cZ\\*(lS\c
.aY
.ds b1
'fi
..
.de tL
.if \\n(tW==0 .lW
.lX
.nr bb \\n(w\\n(lCu+\\n(lSu
.ti -\\n(bbu
.ie (\w\\*(b1u)>(\\n(w\\n(lCu) \{\&\\*(b1
. br
.\}
.el \&\\*(b1\h'|\\n(bbu'\c
.if \\n(nF==1 \{\
. if n .ds pA \\*(aA
.\}
.nr oM \\n(oM-1
.nr tP 0
.ds b1
.aY
'fi
..
.de lW
.if !"TagwidtH"\\*(t\\n(lC" \{\
. ie \\n(tX==1 \{\
. ds t\\n(lN \\*(tX
. nr w\\n(lN \\n(\\*(tX
. \}
. el \{\
. ds t\\n(lN No
. nr w\\n(lN \\n(No
. \}
. if !"\\*(t\\n(lC"\\*(t\\n(lN" .nr tC 1
.\}
..
.de lX
.ie \\n(tC \{\
. nr tC 0
. nr tW 0
. if \\n(v\\n(lC==0 .sp \\n(dVu
. in \\n(.iu+\\n(w\\n(lCu+\\n(o\\n(lCu+\\n(lSu
.\}
.el \{\
. ie \\n(v\\n(lC==1 \{\
. nr aa 0
. \}
. el \{\
. sp \\n(dVu
. \}
.\}
.if !\\n(cR .ne 2v
..
.de lY
.ie \\n(tC \{\
. nr tC 0
. nr tW 0
. if \\n(v\\n(lC==0 .sp \\n(dVu
. in \\n(.iu+\\n(o\\n(lCu
.\}
.el \{\
. ie \\n(v\\n(lC==1 \{\
. nr aa 0
. \}
. el \{\
. sp \\n(dVu
. \}
.\}
.if !\\n(cR .ne 2v
..
.nr lC 0
.nr wV 0
.nr w1 0
.nr o1 0
.nr v1 0
.nr h1 0
.ds t\n(lC
.de lE
.ie \\n(o\\n(lC>0 \{\
' in \\n(.iu-(\\n(w\\n(lCu)-(\\n(o\\n(lCu)-\\n(lSu
. rr o\\n(lC
.\}
.el 'in \\n(.iu-\\n(w\\n(lCu-\\n(lSu
.if \\n(lC<=0 .tm Extraneous .El call (#\\n(.c)
.tZ
.nr lC \\n(lC-1
.tY
..
.de tY
.nr tY (\\n(lC+1)
.nr w\\n(tY 0
.nr h\\n(tY 0
.nr o\\n(tY 0
.ds t\\n(tY \\*(t\\n(lC
.ds L\\n(tY
.nr v\\n(tY 0
..
.de tZ
.rm L\\n(tY
.rr w\\n(tY
.rr h\\n(tY
.rr o\\n(tY
.rm t\\n(tY
.rr v\\n(tY
.nr tY \\n(tY-1
..
.nr w1 0
.nr o1 0
.nr h1 0
.ds t1
.nr v1 0
.nr tY 1
.de Xr
.if \\n(aC==0 \{\
. ie \\n(.$==0 .tm Usage: .Xr manpage_name [section#] \\*(Pu (#\\n(.c)
. el \{\
. ds mN Xr
. aV \\$1 \\$2 \\$3 \\$4 \\$5 \\$6 \\$7 \\$8 \\$9
. \}
.\}
.if \\n(aC>\\n(aP \{\
. nr aP \\n(aP+1
. ie \\n(C\\n(aP==1 .tm Usage: .Xr manpage_name [section#] \\*(Pu (#\\n(.c)
. el \{\
. ie \\n(C\\n(aP>2 .y\\n(C\\n(aP
. el \{\
. as b1 \&\\*(xR\\*(A\\n(aP\fP\s0
. if \\n(aC>\\n(aP \{\
. nr aP \\n(aP+1
. if \\n(C\\n(aP==2 \{\
. as b1 \&(\\*(A\\n(aP)
. nr aP \\n(aP+1
. \}
. if \\n(aC>=\\n(aP \{\
. c\\n(C\\n(aP
. \}
. \}
. \}
. aZ
. \}
.\}
..
.de Sx
.if \\n(aC==0 \{\
. ie \\n(.$==0 .tm Sx Usage: .Sx Section Header \\*(Pu (#\\n(.c)
. el \{\
. ds mN Sx
. aV \\$1 \\$2 \\$3 \\$4 \\$5 \\$6 \\$7 \\$8 \\$9
. \}
.\}
.if \\n(aC>\\n(aP \{\
. nr aP \\n(aP+1
. as b1 \\*(sX
. nr cF \\n(.f
. nr cZ \\n(.s
. nR
.\}
..
.de cC
'in \\n(.iu-\\n(o\\n(lCu-\\n(w\\n(lCu
.ta .5i 1i 1.5i 2i 2.5i 3i 3.5i 4i 4.5i 5i 5.5i 6i 6.5i
.fi
.tZ
.nr lC \\n(lC-1
.tY
..
.de W1
.ta \w\\*(A1 u
.nr eW \w\\*(A1 u
'in \\n(.iu+\\n(eWu+\\n(o\\n(lCu
..
.de W2
.ta \w\\*(A1 u +\w\\*(A2 u
.nr eW \w\\*(A1 u+\w\\*(A2 u
'in \\n(.iu+\\n(eWu+\\n(o\\n(lCu
..
.de W3
.ta \w\\*(A1 u +\w\\*(A2 u +\w\\*(A3 u
.nr eW \w\\*(A1 u+\w\\*(A2 u+\w\\*(A3 u
'in \\n(.iu+\\n(eWu+\\n(o\\n(lCu
..
.de W4
.ta \w\\*(A1 u +\w\\*(A2 u +\w\\*(A3 u +\w\\*(A4 u
.nr eW \w\\*(A1 u+\w\\*(A2 u +\w\\*(A3 u +\w\\*(A4 u
'in \\n(.iu+\\n(eWu+\\n(o\\n(lCu
..
.de W5
.ta \w\\*(A1 u +\w\\*(A2 u +\w\\*(A3 u +\w\\*(A4 u +\w\\*(A5 u
.nr eW \w\\*(A1 u +\w\\*(A2 u +\w\\*(A3 u +\w\\*(A4 u +\w\\*(A5 u
' in \\n(.iu+\\n(eWu+\\n(o\\n(lCu
..
.de W6
.ta \w\\*(A1 u +\w\\*(A2 u +\w\\*(A3 u +\w\\*(A4 u +\w\\*(A5 u +\w\\*(A6
.nr eW \w\\*(A1 u +\w\\*(A2 u +\w\\*(A3 u +\w\\*(A4 u +\w\\*(A5 u +\w\\*(A6
' in \\n(.iu+\\n(eWu+\\n(o\\n(lCu
..
.de cL
.if \\n(w\\n(lC==0 .nr w\\n(lC \\n(eWu
.if \\n(.u==0 \{\
. fi
' in \\n(.iu+\\n(eWu
.\}
.ti -\\n(eWu
.fV
.nr aP \\n(aP+1
.ie \\n(aC>=\\n(aP \{\
. if "\\*(A\\n(aP"Ta" \{\
. nr jJ \\n(aP-1
. rm S\\n(jJ
. rr jJ
. \}
. c\\n(C\\n(aP
.\}
.el .tm Usage: .It column_string [Ta [column_string ...] ] (#\\n(.c)
..
.de Ta
.ie \\n(aC>0 \{\
. nr aP \\n(aP+1
. ie \\n(aC>=\\n(aP \{\
. if "\\*(A\\n(aP"Ta" \{\
. nr jJ \\n(aP-1
. rm S\\n(jJ
. rr jJ
. \}
. as b1 \\t
. c\\n(C\\n(aP
. \}
. el \{\
. as b1 \\t\\c
. rm S\\n(aP
. pB
. aY
. \}
.\}
.el \{\
. tm Usage: Ta must follow column entry: e.g. (#\\n(.c)
. tm .It column_string [Ta [column_string ...] ]
.\}
..
.de Dl
'ta .5i 1i 1.5i 2i 2.5i 3i 3.5i 4i 4.5i 5i 5.5i 6i 6.5i
.in \\n(.iu+\\n(Dsu
.ie \\n(aC==0 \{\
. ie \\n(.$==0 \{\
. tm Usage: .Dl argument ... (#\\n(.c)
. \}
. el \{\
. ds mN Dl
. ds A1 \\$1
. ds A2 \\$2
. ds A3 \\$3
. ds A4 \\$4
. ds A5 \\$5
. ds A6 \\$6
. ds A7 \\$7
. ds A8 \\$8
. ds A9 \\$9
. nr fV \\n(.$
. fV
. Li
. \}
.\}
.el \{\
. tm Usage: .Dl not callable by other macros (#\\n(.c)
.\}
.in \\n(.iu-\\n(Dsu
..
.de D1
'ta .5i 1i 1.5i 2i 2.5i 3i 3.5i 4i 4.5i 5i 5.5i 6i 6.5i
.in \\n(.iu+\\n(Dsu
.ie \\n(aC==0 \{\
. ie \\n(.$==0 \{\
. tm Usage: .D1 argument ... (#\\n(.c)
. \}
. el \{\
. ds mN D1
. ds A1 \\$1
. ds A2 \\$2
. ds A3 \\$3
. ds A4 \\$4
. ds A5 \\$5
. ds A6 \\$6
. ds A7 \\$7
. ds A8 \\$8
. ds A9 \\$9
. nr fV \\n(.$
. fV
. nr aP \\n(aP+1
. ie \\n(C\\n(aP==1 .\\*(A\\n(aP
. el .No
. \}
.\}
.el \{\
. tm Usage: .D1 not callable by other macros (#\\n(.c)
.\}
.in \\n(.iu-\\n(Dsu
..
.de Ex
.tm Ex defunct, Use .D1: \\$1 \\$2 \\$3 \\$4 \\$5 \\$6 \\$7 \\$8 \\$9
..
.de Ex
.tm Ex defunct, Use .D1: \\$1 \\$2 \\$3 \\$4 \\$5 \\$6 \\$7 \\$8 \\$9
..
.de Vt
.if \\n(fD>0 \{\
. Pp
. nr fD 0
.\}
.if \\n(fZ>0 \{\
. ie \\n(fX==0 \{\
. Pp
. rs
. \}
. el .br
.\}
.nr fX \\n(fX+1
.nr cF \\n(.f
.nr cZ \\n(.s
\\*(fT\&\\$1 \\$2 \\$3 \\$4 \\$5 \\$6 \\$7 \\$8 \\$9
.ie \\n(oT==0 .br
.el \&\ \&
.ft \\n(cF
.fs \\n(cZ
..
.nr fZ 0
.de Ft
.if \\n(nS>0 \{\
. if \\n(fZ>0 \{\
. Pp
. nr fD 0
. nr fX 0
. \}
. if \\n(fD>0 \{\
. Pp
. nr fD 0
. nr fX 0
. \}
. if \\n(fX>0 \{\
. Pp
. nr fX 0
. \}
. nr fY 1
.\}
.nr cF \\n(.f
.nr cZ \\n(.s
\&\\*(fT\\$1 \\$2 \\$3 \\$4 \\$5 \\$6 \\$7 \\$8 \\$9
.ft \\n(cF
.fs \\n(cZ
..
.nr oT 0
.de Ot
.nr oT 1
.if \\n(nS>0 \{\
. if \\n(fZ>0 \{\
. Pp
. nr fD 0
. nr fX 0
. \}
. if \\n(fD>0 \{\
. Pp
. nr fD 0
. nr fX 0
. \}
. if \\n(fX>0 \{\
. Pp
. nr fX 0
. \}
. nr fY 1
.\}
.if \\n(.$==4 .as b1 \&\\*(fT\&\\$1 \\$2 \\$3 \\$4
.if \\n(.$==3 .as b1 \&\\*(fT\&\\$1 \\$2 \\$3
.if \\n(.$==2 .as b1 \&\\*(fT\&\\$1 \\$2
.if \\n(.$==1 .as b1 \&\\*(fT\&\\$1
.as b1 \&\ \fP
..
.de Fa
.if \\n(aC==0 \{\
. ie \\n(.$==0 .tm Usage: .Fa Function Arguments ... \\*(Pu (#\\n(.c)
. el \{\
. ds mN Fa
. ds A1 \\$1
. ds A2 \\$2
. ds A3 \\$3
. ds A4 \\$4
. ds A5 \\$5
. ds A6 \\$6
. ds A7 \\$7
. ds A8 \\$8
. ds A9 \\$9
. nr fV \\n(.$
. fV
. \}
.\}
.ie \\n(fC>0 \{\
. fC
.\}
.el \{\
. if \\n(aC>\\n(aP \{\
. as b1 \\*(fA
. nr aP \\n(aP+1
. nr cF \\n(.f
. nr cZ \\n(.s
. nR
. if \\n(nS>0 \{\
. if \\n(fZ>0 .br
. \}
. \}
.\}
..
.de fC
.ie \\n(aC>\\n(aP \{\
. nr aP \\n(aP+1
. ds Fb
. nr fB 0
. nr Fb 0
. fB \\*(A\\n(aP
. if \\n(fB>1 \{\
. rm A\\n(aP
. rn Fb A\\n(aP
. \}
. if \\n(fC>1 \{\
. as b1 \&\f\\n(cF\s\\n(cZ\|,\\*(fA\\*(S\\n(aP\\*(A\\n(aP\fP\s0
. \}
. if \\n(fC==1 \{\
. as b1 \&\|\\*(fA\\*(A\\n(aP\fP\s0
. \}
. nr fC \\n(fC+1
. fC
.\}
.el \{\
. aY
.\}
..
.de Fn
.if \\n(aC==0 \{\
. ie \\n(.$==0 .tm Usage: .Fn function_name function_arg(s) ... \\*(Pu (#\\n(.c)
. el \{\
. ds mN Fn
. ds A1 \\$1
. ds A2 \\$2
. ds A3 \\$3
. ds A4 \\$4
. ds A5 \\$5
. ds A6 \\$6
. ds A7 \\$7
. ds A8 \\$8
. ds A9 \\$9
. nr fV \\n(.$
. fV
. \}
.\}
.if \\n(nS>0 \{\
. if \\n(fY==0 \{\
. if \\n(fZ>0 \{\
. Pp
. nr fX 0
. nr fD 0
. \}
. \}
. if \\n(fY==1 \{\
. br
. nr fX 0
. nr fD 0
. nr fY 0
. \}
. if \\n(fD>0 \{\
. Pp
. nr fX 0
. \}
. if \\n(fX>0 \{\
. Pp
. nr fD 0
. \}
. nr fZ \\n(fZ+1
. nr fY 0
. rs
. ie \\n(nS>1 .br
. el \{\
. if \\n(iS==0 \{\
. nr iS ((8)*\\n(fW)u
. \}
. \}
. in +\\n(iSu
. ti -\\n(iSu
. nr nS \\n(nS+1
.\}
.if \\n(aC>\\n(aP \{\
. nr aP \\n(aP+1
. nr cF \\n(.f
. nr cZ \\n(.s
. as b1 \\*(fN\\*(A\\n(aP\fP\s0\\*(lp
. ie \\n(aC>\\n(aP \{\
. as b1 \\*(fA
. nr aP \\n(aP+1
. f\\n(C\\n(aP
. \}
. el \{\
. ie \\n(nS>0 .as b1 \|\\*(rp\fR;\fP
. el .as b1 \|\\*(rp
. aZ
. \}
. if \\n(nS>0 \{\
. in -\\n(iSu
. \}
.\}
..
.de f1
.ie \\n(nS>0 .as b1 \\*(rp\fR;\fP\f\\n(cF\s\\n(cZ
.el .as b1 \\*(rp\f\\n(cF\s\\n(cZ
.\\*(A\\n(aP
..
.de f2
.if \\n(nS>0 \{\
. ds Fb
. nr fB 0
. nr Fb 0
. fB \\*(A\\n(aP
. if \\n(fB>1 \{\
. rm A\\n(aP
. rn Fb A\\n(aP
. \}
.\}
.as b1 \\*(A\\n(aP
.ie \\n(aC>\\n(aP \{\
. nr aa \\n(aP
. nr aP \\n(aP+1
. if \\n(C\\n(aP==2 \{\
. as b1 \&\|\f\\n(cF\s\\n(cZ,\\*(S\\n(aa\fP\s0\|
. \}
. f\\n(C\\n(aP
.\}
.el \{\
. ie \\n(nS>0 .as b1 \\*(rp\fR;\fP\f\\n(cF\s\\n(cZ
. el .as b1 \\*(rp\f\\n(cF\s\\n(cZ
. aZ
.\}
..
.de f3
.ie \\n(nS>0 .as b1 \\*(rp\f\\n(cF\s\\n(cZ\\*(A\\n(aP
.el .as b1 \\*(rp\f\\n(cF\s\\n(cZ\\*(A\\n(aP
.ie \\n(aC>\\n(aP \{\
. No
.\}
.el .aZ
..
.de f4
.ie \\n(nS>0 .as b1 \\*(rp\fR;\fP\f\\n(cF\s\\n(cZ\\*(S\\n(aP\\*(A\\n(aP
.el .as b1 \\*(rp\f\\n(cF\s\\n(cZ\\*(S\\n(aP\\*(A\\n(aP
.ie \\n(aC>\\n(aP \{\
. nr aP \\n(aP+1
. No
.\}
.el .aZ
..
.de Fo
.hy 0
.if \\n(aC==0 \{\
. ie \\n(.$==0 .tm Usage: .Fo function_name
. el \{\
. ds mN Fo
. ds A1 \\$1
. ds A2 \\$2
. ds A3 \\$3
. ds A4 \\$4
. ds A5 \\$5
. ds A6 \\$6
. ds A7 \\$7
. ds A8 \\$8
. ds A9 \\$9
. nr fV \\n(.$
. fV
. \}
.\}
.if \\n(nS>0 \{\
. if \\n(fY==0 \{\
. if \\n(fZ>0 \{\
. Pp
. nr fX 0
. nr fD 0
. \}
. \}
. if \\n(fY==1 \{\
. br
. nr fX 0
. nr fD 0
. nr fY 0
. \}
. if \\n(fD>0 \{\
. Pp
. nr fX 0
. \}
. if \\n(fX>0 \{\
. Pp
. nr fD 0
. \}
. nr fZ \\n(fZ+1
. nr fY 0
. rs
. ie \\n(nS>1 .br
. el \{\
. if \\n(iS==0 \{\
. nr iS ((8)*\\n(fW)u
. \}
. \}
. in +\\n(iSu
. ti -\\n(iSu
. nr nS \\n(nS+1
.\}
.if \\n(aC>\\n(aP \{\
. nr oM \\n(oM+1
. nr fC 1
. nr aP \\n(aP+1
. nr cF \\n(.f
. nr cZ \\n(.s
. as b1 \\*(fN\\*(A\\n(aP\fP\s0\\*(lp
. aY
.\}
..
.de Fc
.if \\n(aC==0 \{\
. if \\n(.$>0 \{\
. ds mN Fo
. ds A1 \\$1
. ds A2 \\$2
. ds A3 \\$3
. ds A4 \\$4
. ds A5 \\$5
. ds A6 \\$6
. ds A7 \\$7
. ds A8 \\$8
. ds A9 \\$9
. nr fV \\n(.$
. fV
. \}
.\}
.nr fC 0
.nr oM \\n(oM-1
.ie \\n(nS>0 .as b1 \|\\*(rp\fR;\fP
.el .as b1 \|\\*(rp
.ie \\n(aC>\\n(aP \{\
. nr aP \\n(aP+1
. \\*(A\\n(aP
.\}
.el \{\
. aZ
.\}
.if \\n(nS>0 \{\
. in -\\n(iSu
.\}
.hy
..
.de fB
.if \\n(fB==0 \{\
. nr fB \\n(.$
. nr Fb 0
. ds Fb
.\}
.nr Fb \\n(Fb+1
.as Fb \&\\$1
.if \\n(Fb<\\n(fB \{\
. as Fb \&\\*(hV
. fB \\$2 \\$3 \\$4 \\$5 \\$6 \\$7 \\$8 \\$9
.\}
..
.de Rs
.nr rS 1
.rC
.if \\n(nA==1 .Pp
.nr Kl 0
..
.de Re
.rZ
.rC
.nr rS 0
..
.de rC
.nr uK 0
.nr jK 0
.nr iK 0
.nr nK 0
.nr oK 0
.nr qK 0
.nr rK 0
.nr tK 0
.nr vK 0
.nr dK 0
.nr pK 0
.nr bK 0
.ds rS
.rm U1 U2 U3 U4 U5 U6 U7 U8
.rm uK jK iK nK oK rK qK tK vK dK pK bK
..
.de rZ
.if \\n(uK \{\&\\*(U1,
. nr aK 1
. if (\\n(uK>1 \{\
. aK
. \}
. nr Kl -\\n(uK
.\}
.if \\n(tK \{\
. nr Kl \\n(Kl-1
. if \\n(Kl==0 \{\
. ie (\\n(jK==1):(\\n(bK==1) \{\&\\*q\\*(tK\\*q.
. \}
. el \{\&\\*(eM\\*(tK\\*(nO.
. \}
. \}
. if \\n(Kl>0 \{\
. ie (\\n(jK==1):(\\n(bK==1) \{\&\\*q\\*(tK\\*q,
. \}
. el \{\&\\*(eM\\*(tK\\*(nO,
. \}
. \}
.\}
.if \\n(bK \{\
. nr Kl \\n(Kl-1
. if \\n(Kl==0 \&\\*(eM\\*(bK\\*(nO.
. if \\n(Kl>0 \&\\*(eM\\*(bK\\*(nO,
.\}
.if \\n(iK \{\
. nr Kl \\n(Kl-1
. if \\n(Kl==0 \&\\*(eM\\*(iK\\*(nO.
. if \\n(Kl>0 \&\\*(eM\\*(iK\\*(nO,
.\}
.if \\n(jK \{\
. nr Kl \\n(Kl-1
. if \\n(Kl==0 \&\\*(eM\\*(jK\\*(nO.
. if \\n(Kl>0 \&\\*(eM\\*(jK\\*(nO,
.\}
.if \\n(rK \{\
. nr Kl \\n(Kl-1
. if \\n(Kl==0 \&\\*(rK.
. if \\n(Kl>0 \&\\*(rK,
.\}
.if \\n(nK \{\
. nr Kl \\n(Kl-1
. if \\n(Kl==0 \&\\*(nK.
. if \\n(Kl>0 \&\\*(nK,
.\}
.if \\n(vK \{\
. nr Kl \\n(Kl-1
. if \\n(Kl==0 \&\\*(vK.
. if \\n(Kl>0 \&\\*(vK,
.\}
.if \\n(pK \{\
. nr Kl \\n(Kl-1
. if \\n(Kl==0 \&\\*(pK.
. if \\n(Kl>0 \&\\*(pK,
.\}
.if \\n(qK \{\
. nr Kl \\n(Kl-1
. if \\n(Kl==0 \&\\*(qK.
. if \\n(Kl>0 \&\\*(qK,
.\}
.if \\n(dK \{\
. nr Kl \\n(Kl-1
. if \\n(Kl==0 \&\\*(dK.
. if \\n(Kl>0 \&\\*(dK,
.\}
.if \\n(oK \{\
. nr Kl \\n(Kl-1
. if \\n(Kl==0 \&\\*(oK.
. if \\n(Kl>0 \&\\*(oK,
.\}
.if \\n(Kl>0 .tm unresolved reference problem
..
.de aK
.nr aK \\n(aK+1
.ie (\\n(uK-\\n(aK)==0 \{\&and \\*(U\\n(aK,
.\}
.el \{\&\\*(U\\n(aK,
. aK
.\}
..
.de %A
.if \\n(aC==0 \{\
. ie \\n(.$==0 .tm Usage: .%A Author_name (#\\n(.c)
. el \{\
. nr uK \\n(uK+1
. nr Kl \\n(Kl+1
. ds rS U\\n(uK
. ds mN %A
. aV \\$1 \\$2 \\$3 \\$4 \\$5 \\$6 \\$7 \\$8 \\$9
. \}
.\}
.if \\n(aC>\\n(aP \{\
. nr aP \\n(aP+1
. nr cF \\n(.f
. nr cZ \\n(.s
. rR
.\}
..
.de %B
.if \\n(aC==0 \{\
. ie \\n(.$==0 .tm Usage: .%B Book Name (#\\n(.c)
. el \{\
. ds mN %B
. if \\n(rS>0 \{\
. nr bK \\n(bK+1
. nr Kl \\n(Kl+1
. ds rS bK
. \}
. ds A1 \\$1
. ds A2 \\$2
. ds A3 \\$3
. ds A4 \\$4
. ds A5 \\$5
. ds A6 \\$6
. ds A7 \\$7
. ds A8 \\$8
. ds A9 \\$9
. nr fV \\n(.$
. fV
. \}
.\}
.if \\n(aC>\\n(aP \{\
. nr aP \\n(aP+1
. nr cF \\n(.f
. nr cZ \\n(.s
. ie \\n(rS==0 \{\
. as b1 \&\\*(eM
. nR
. \}
. el .rR
.\}
..
.de %D
.if \\n(aC==0 \{\
. ie \\n(.$==0 .tm Usage: .%D Date (#\\n(.c)
. el \{\
. ds mN %D
. nr dK \\n(dK+1
. nr Kl \\n(Kl+1
. ds rS dK
. ds A1 \\$1
. ds A2 \\$2
. ds A3 \\$3
. ds A4 \\$4
. ds A5 \\$5
. ds A6 \\$6
. ds A7 \\$7
. ds A8 \\$8
. ds A9 \\$9
. nr fV \\n(.$
. fV
. \}
.\}
.if \\n(aC>\\n(aP \{\
. nr aP \\n(aP+1
. nr cF \\n(.f
. nr cZ \\n(.s
. rR
.\}
..
.de %I
.if \\n(aC==0 \{\
. ie \\n(.$==0 .tm Usage: .%I Issuer/Publisher Name (#\\n(.c)
. el \{\
. ds mN %I
. nr iK \\n(iK+1
. ds rS iK
. nr Kl \\n(Kl+1
. ds A1 \\$1
. ds A2 \\$2
. ds A3 \\$3
. ds A4 \\$4
. ds A5 \\$5
. ds A6 \\$6
. ds A7 \\$7
. ds A8 \\$8
. ds A9 \\$9
. nr fV \\n(.$
. fV
. \}
.\}
.if \\n(aC>\\n(aP \{\
. nr aP \\n(aP+1
. nr cF \\n(.f
. nr cZ \\n(.s
. rR
.\}
..
.de %J
.if \\n(aC==0 \{\
. ie \\n(.$==0 .tm Usage: .%J Journal Name (#\\n(.c)
. el \{\
. ds mN %J
. nr jK \\n(jK+1
. ds rS jK
. nr Kl \\n(Kl+1
. ds A1 \\$1
. ds A2 \\$2
. ds A3 \\$3
. ds A4 \\$4
. ds A5 \\$5
. ds A6 \\$6
. ds A7 \\$7
. ds A8 \\$8
. ds A9 \\$9
. nr fV \\n(.$
. fV
. \}
.\}
.if \\n(aC>\\n(aP \{\
. nr aP \\n(aP+1
. nr cF \\n(.f
. nr cZ \\n(.s
. rR
.\}
..
.de %N
.if \\n(aC==0 \{\
. ie \\n(.$==0 .tm Usage: .%N issue number (#\\n(.c)
. el \{\
. nr nK \\n(nK+1
. nr Kl \\n(Kl+1
. ds rS nK
. ds mN %N
. aV \\$1 \\$2 \\$3 \\$4 \\$5 \\$6 \\$7 \\$8 \\$9
. \}
.\}
.if \\n(aC>\\n(aP \{\
. nr aP \\n(aP+1
. nr cF \\n(.f
. nr cZ \\n(.s
. rR
.\}
..
.de %O
.if \\n(aC==0 \{\
. ie \\n(.$==0 .tm Usage: .%O optional information ... \\*(Pu (#\\n(.c)
. el \{\
. ds mN %O
. nr oK \\n(oK+1
. nr Kl \\n(Kl+1
. ds rS oK
. ds A1 \\$1
. ds A2 \\$2
. ds A3 \\$3
. ds A4 \\$4
. ds A5 \\$5
. ds A6 \\$6
. ds A7 \\$7
. ds A8 \\$8
. ds A9 \\$9
. nr fV \\n(.$
. fV
. \}
.\}
.if \\n(aC>\\n(aP \{\
. nr aP \\n(aP+1
. nr cF \\n(.f
. nr cZ \\n(.s
. rR
.\}
..
.de %P
.if \\n(aC==0 \{\
. ie \\n(.$==0 .tm Usage: .%P page numbers ... \\*(Pu (#\\n(.c)
. el \{\
. ds mN %P
. nr pK \\n(pK+1
. nr Kl \\n(Kl+1
. ds rS pK
. ds A1 \\$1
. ds A2 \\$2
. ds A3 \\$3
. ds A4 \\$4
. ds A5 \\$5
. ds A6 \\$6
. ds A7 \\$7
. ds A8 \\$8
. ds A9 \\$9
. nr fV \\n(.$
. fV
. \}
.\}
.if \\n(aC>\\n(aP \{\
. nr aP \\n(aP+1
. nr cF \\n(.f
. nr cZ \\n(.s
. rR
.\}
..
.de %Q
.if \\n(aC==0 \{\
. ie \\n(.$==0 .tm Usage: .%Q Corporate or Foreign Author (#\\n(.c)
. el \{\
. ds mN %Q
. nr qK \\n(qK+1
. nr Kl \\n(Kl+1
. ds rS qK
. ds A1 \\$1
. ds A2 \\$2
. ds A3 \\$3
. ds A4 \\$4
. ds A5 \\$5
. ds A6 \\$6
. ds A7 \\$7
. ds A8 \\$8
. ds A9 \\$9
. nr fV \\n(.$
. fV
. \}
.\}
.if \\n(aC>\\n(aP \{\
. nr aP \\n(aP+1
. nr cF \\n(.f
. nr cZ \\n(.s
. rR
.\}
..
.de %R
.if \\n(aC==0 \{\
. ie \\n(.$==0 .tm Usage: .%R reference report (#\\n(.c)
. el \{\
. ds mN %R
. nr rK \\n(rK+1
. nr Kl \\n(Kl+1
. ds rS rK
. ds A1 \\$1
. ds A2 \\$2
. ds A3 \\$3
. ds A4 \\$4
. ds A5 \\$5
. ds A6 \\$6
. ds A7 \\$7
. ds A8 \\$8
. ds A9 \\$9
. nr fV \\n(.$
. fV
. \}
.\}
.if \\n(aC>\\n(aP \{\
. nr aP \\n(aP+1
. nr cF \\n(.f
. nr cZ \\n(.s
. rR
.\}
..
.de %T
.if \\n(aC==0 \{\
. ie \\n(.$==0 .tm Usage: .%T (#\\n(.c)
. el \{\
. ds mN %T
. if \\n(rS>0 \{\
. nr tK \\n(tK+1
. nr Kl \\n(Kl+1
. ds rS tK
. \}
. ds A1 \\$1
. ds A2 \\$2
. ds A3 \\$3
. ds A4 \\$4
. ds A5 \\$5
. ds A6 \\$6
. ds A7 \\$7
. ds A8 \\$8
. ds A9 \\$9
. nr fV \\n(.$
. fV
. \}
.\}
.if \\n(aC>\\n(aP \{\
. nr aP \\n(aP+1
. nr cF \\n(.f
. nr cZ \\n(.s
. ie \\n(rS==0 \{\
. as b1 \&\\*(eM
. nR
. \}
. el .rR
.\}
..
.de %V
.if \\n(aC==0 \{\
. ie \\n(.$==0 .tm Usage: .%V Volume , ... \\*(Pu (#\\n(.c)
. el \{\
. ds mN %V
. nr vK \\n(vK+1
. nr Kl \\n(Kl+1
. ds rS vK
. aV \\$1 \\$2 \\$3 \\$4 \\$5 \\$6 \\$7 \\$8 \\$9
. \}
.\}
.if \\n(aC>\\n(aP \{\
. nr aP \\n(aP+1
. nr cF \\n(.f
. nr cZ \\n(.s
. rR
.\}
..
.de rR
.hy 0
.nr jM \\n(C\\n(aP
.ie \\n(jM==1 \{\
. ie "\\*(A\\n(aP"Tn" \{\
. nN
. \}
. el \{\
. if \\n(aC>8 .tm Usage: \\*(mN - maximum 8 arguments (#\\n(.c)
. aI rR 1
. \\*(A\\n(aP
. \}
.\}
.el \{\
. nr jN \\n(aP
. ie \\n(jM==2 .as b1 \&\\*(A\\n(aP
. el .as b1 \&\\*(A\\n(aP
. ie \\n(aC==\\n(aP \{\
. rD
. \}
. el \{\
. nr aP \\n(aP+1
. as b1 \&\\*(S\\n(jN
. rR
. \}
.\}
.rr jM jN
..
.de rD
.as \\*(rS \\*(b1
.ds b1
.ds rS
.aY
..
.de Hf
.Pp
File:
.Pa \\$1
.Pp
.nr cF \\n(.f
.nr cZ \\n(.s
.ie t \{\
\&\\*(lI
.br
.ta +9n 18n 27n 36n 45n 54n 63n 72n
.\}
.el \{\
.ta +8n 16n 24n 32n 40n 48n 56n 64n 72n
.\}
.nf
.so \\$1
.fi
.ft \\n(cF
.fz \\n(cZ
.Pp
..
.nr aN 0
.de An
.if \\n(nY==1 \{\
. ie \\n(aN==1 \{\
. br
. \}
. el \{\
. nr aN 1
. \}
.\}
.if \\n(aC==0 \{\
. ie \\n(.$==0 .tm Usage: .An author_name ... \\*(Pu (#\\n(.c)
. el \{\
. ds mN An
. aV \\$1 \\$2 \\$3 \\$4 \\$5 \\$6 \\$7 \\$8 \\$9
. \}
.\}
.if \\n(aC>\\n(aP \{\
. nr aP \\n(aP+1
. nr cF \\n(.f
. nr cZ \\n(.s
. nR
.\}
..
.de Sf
.tm .Sf defunct, use prefix or Ns
..
.ds rV "function returns the value 0 if successful; otherwise the value -1 is returned and the global variable \\*(vAerrno\fP is set to indicate the error.
.de Rv
.ie \\n(.$==0 \{\
.tm Usage: .Rv [-std] (#\\n(.c)
.\}
.el \{\
. ds mN Rv
. if "\\$1"-std" \{\
. nr cH \\*(cH
. if (\\n(cH<2):(\\n(cH>3) .tm Usage: .Rv -std sections 2 and 3 only
. br
\&The
.Fn \\$2
\&\\*(rV
. \}
.\}
..