freebsd-dev/contrib/groff/tmac/an-old.tmac

639 lines
13 KiB
Plaintext
Raw Normal View History

2001-04-17 12:12:05 +00:00
.\" an-old.tmac
.\"
2005-10-20 10:45:19 +00:00
.\" Copyright (C) 1989, 1990, 1991, 1992, 2001, 2002, 2003, 2004, 2005
2002-10-11 08:52:17 +00:00
.\" Free Software Foundation, Inc.
2001-04-17 12:12:05 +00:00
.\" Written by James Clark (jjc@jclark.com)
.\"
.\" This file is part of groff.
.\"
.\" groff is free software; you can redistribute it and/or modify it under
.\" the terms of the GNU General Public License as published by the Free
.\" Software Foundation; either version 2, or (at your option) any later
.\" version.
.\"
.\" groff is distributed in the hope that it will be useful, but WITHOUT ANY
.\" WARRANTY; without even the implied warranty of MERCHANTABILITY or
.\" FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
.\" for more details.
.\"
.\" You should have received a copy of the GNU General Public License along
.\" with groff; see the file COPYING. If not, write to the Free Software
2005-10-20 10:45:19 +00:00
.\" Foundation, 51 Franklin St - Fifth Floor, Boston, MA 02110-1301, USA.
2001-04-17 12:12:05 +00:00
.\"
.\" -rcR=1 => Create a single, very long page instead of multiple pages.
.\" Useful for online display. Default in nroff mode.
.\" Desactivate with -rcR=0.
.\" -rC1 => Number pages continuously, rather than start each at 1.
.\" -rD1 => Double-sided printing, ie different odd and even page footers.
.\" -rPnnn => Number first page nnn.
.\" -rSxx => Use size `xx'pt (either 10, 11, or 12) for document rather
.\" than the default size of 10pt.
.\" -rXnnn => Number pages after nnn as nnna, nnnb, nnnc, ...
.\"
.\" The file man.local is loaded at the end. Put local additions there.
2002-10-11 08:52:17 +00:00
.\" If you need to add things to TH, use `.am1 TH'.
2001-04-17 12:12:05 +00:00
.\"
.
.if !\n(.g .ab These man macros work only with groff.
.
2002-10-11 08:52:17 +00:00
.do if d RI .nx
.
2005-10-20 10:45:19 +00:00
.do mso devtag.tmac
.
2001-07-10 17:09:00 +00:00
.nr _C \n(.C
2001-04-17 12:12:05 +00:00
.cp 0
.
2002-10-11 08:52:17 +00:00
.if (\n[.x]\n[.y] < 118) \
. ab You need GNU troff version 1.18 or higher to run this version of man!
2001-07-10 17:09:00 +00:00
.
2001-04-17 12:12:05 +00:00
.if !r D .nr D 0
.if !r C .nr C 0
.if !r S .nr S 10
.\" we must use consecutive page numbers when using postscript to generate
.\" html images, and we must not reset the page number at the beginning
.\" (the `ps4html' register is automatically added to the command line by
.\" the pre-html preprocessor)
.if !r ps4html \
. if r P .pn 0\n[P]
.if !r cR \{\
. ie n .nr cR 1
. el .nr cR 0
.\}
.
2005-10-20 10:45:19 +00:00
.nr need_eo_h 0
.
.\" set up the line length...
.\" giving precedence to any prior assignment to the \n[LL] register.
2002-10-11 08:52:17 +00:00
.if !r LL \{\
2005-10-20 10:45:19 +00:00
.
. \" but if that isn't predefined...
. \" then try to respect any prior `.ll' request.
. nr LL \n[.l]
.
. \" For troff, this is sufficient to give us a default line length of
. \" 6.5i, but for nroff, we prefer a default of 78n to nroff's default
. \" 65n. This has the unfortunate side effect that we will override a
. \" user's `.ll 65n' request, with our preferred 78n default; we can't
. \" possibly know that the 65n came from a `.ll' request, and MUST
. \" assume that it was set by nroff, as its built-in default! If the
. \" user wants to force this setting, then he MUST use the `-rLL=65n'
. \" option, or an equivalent `.nr LL 65n' request.
. if n \
. if (\n[LL] = 65n) \
. nr LL 78n
2002-10-11 08:52:17 +00:00
.\}
2005-10-20 10:45:19 +00:00
.
2003-05-01 13:09:50 +00:00
.if !r LT \
. nr LT \n[LL]
.
.nr FT -.5i
.
.\" Default heading font
.ds HF B
.
.nr an-first 1
2002-10-11 08:52:17 +00:00
.
2001-04-17 12:12:05 +00:00
.nr an-html 0
2001-07-10 17:09:00 +00:00
.if '\*[.T]'html' .nr an-html 1
2001-04-17 12:12:05 +00:00
.if \n[an-html] .nr C 1
.if r ps4html .nr C 1
.
2005-10-20 10:45:19 +00:00
.\" we redefine .ne to avoid page breaks if cR is set; instead, the page
.\" length is increased to the necessary amount (this is needed for tables)
.\"
.\" similarly, we redefine .bp if cR is set, adjusting the page length to
.\" the current position so that no empty lines are inserted
.if \n[cR] \{\
2002-10-11 08:52:17 +00:00
. de1 ne
. ie \\n[.$] \
2005-10-20 10:45:19 +00:00
. nr an-ne (v;\\$*)
2002-10-11 08:52:17 +00:00
. el \
. nr an-ne 1v
. if (\\n[an-ne] >= \\n[.t]) \
. pl +(\\n[an-ne]u - \\n[.t]u + 1v)
. .
2005-10-20 10:45:19 +00:00
.
. rn bp an-bp
. de1 bp
. br
. pl \\n[nl]u
. an-bp \\$*
. .
2002-10-11 08:52:17 +00:00
.\}
.
2001-04-17 12:12:05 +00:00
.de set-an-margin
. nr an-margin \\n[IN]
..
.
.\" .TH title section extra1 extra2 extra3
2001-07-10 17:09:00 +00:00
.de1 TH
2001-04-17 12:12:05 +00:00
. if \\n[an-html] \{\
2005-10-20 10:45:19 +00:00
. DEVTAG-TL
2001-04-17 12:12:05 +00:00
\\$1
2005-10-20 10:45:19 +00:00
. DEVTAG-EO-TL
2001-04-17 12:12:05 +00:00
. \}
.
. de an-init \" We have to do it like this to get multiple man pages right.
. ds an-title "\\$1
. ds an-section "\\$2
. ds an-extra1 "\\$3
. ie (\\n[.$] > 3) .ds an-extra2 "\\$4
. el .ds an-extra2 \"Sun Release 4.0
. ie (\\n[.$] > 4) .ds an-extra3 "\\$5
. el .ds an-extra3 \"System Programmer's Manual
. ds an-init
\\..
.
. DT
.
. nr PS 10z \" default point size
. nr PS-SS 10z
. nr PS-SH 10.95z
. nr VS 12p
.
. \" use sizes similar to LaTeX
. if t \{\
. ie (\\n[S] == 11) \{\
. nr PS 10.95z
. nr PS-SS 10.95z
. nr PS-SH 12z
. nr VS 13.6p
. \}
. el \{\
. if (\\n[S] == 12) \{\
. nr PS 12z
. nr PS-SS 12z
. nr PS-SH 14.4z
. nr VS 14.5p
. \}
. \}
. \}
.
. ps \\n[PS]u
. vs \\n[VS]u
2002-10-11 08:52:17 +00:00
. ll \\n[LL]u
2001-04-17 12:12:05 +00:00
.
2003-05-01 13:09:50 +00:00
.\" We must select an integer indentation value for nroff;
.\" see comment in an-do-tag.
. if !r IN \{\
. ie t .nr IN 7.2n
. el .nr IN 7n
. \}
2001-04-17 12:12:05 +00:00
. PD
2003-05-01 13:09:50 +00:00
. if !r SN \
. nr SN 3n \" the indentation of sub-sub-headings relative to sub-headings
2001-04-17 12:12:05 +00:00
. nr an-level 1
. set-an-margin
. nr an-prevailing-indent \\n[IN]
. nr an-tag-sep 1n
.
. nr an-no-space-flag 0
. nr an-break-flag 0
. nr an-div? 0
.
. ie \\n[cR] \
. an-header
. el \{\
. wh 0 an-header
. wh -1i an-footer
2003-05-01 13:09:50 +00:00
. wh \\n[FT]u an-p-footer
2001-04-17 12:12:05 +00:00
.
. if (\\n[nl] > 0) \{\
. ie \\n[C] .bp (\\n[%] + 1)
. el .bp 1
. \}
. \}
..
.
.\" BSD compatibility macros: .AT and .UC
.
.de1 AT
. ds an-extra2 "7th Edition
. if "\\$1"3" .ds an-extra2 "7th Edition
. if "\\$1"4" .ds an-extra2 "System III
. if "\\$1"5" \{\
. ie "\\$2"" .ds an-extra2 "System V
. el .ds an-extra2 "System V Release \\$2
. \}
..
.
.de1 UC
. ds an-extra2 "3rd Berkeley Distribution
. if "\\$1"3" .ds an-extra2 "3rd Berkeley Distribution
. if "\\$1"4" .ds an-extra2 "4th Berkeley Distribution
. if "\\$1"5" .ds an-extra2 "4.2 Berkeley Distribution
. if "\\$1"6" .ds an-extra2 "4.3 Berkeley Distribution
. if "\\$1"7" .ds an-extra2 "4.4 Berkeley Distribution
..
.
2001-07-10 17:09:00 +00:00
.de1 DT
2001-04-17 12:12:05 +00:00
. ta T .5i \" This sets tabs every .5 inches
..
.
2001-07-10 17:09:00 +00:00
.de1 PD
2001-04-17 12:12:05 +00:00
. ie \\n[.$] .nr PD (v;\\$1)
. el .nr PD (.4v >? \n[.V])
..
.
2003-05-01 13:09:50 +00:00
.\" Redefine these to customize the header & footer
.
.de1 PT
. tl '\\*[an-title](\\*[an-section])'\\*[an-extra3]'\\*[an-title](\\*[an-section])'
..
.
.de1 BT
. if r ps4html \
. return
. ie \\n[D] \{\
. if o .tl '\\*[an-extra2]'\\*[an-extra1]'\\*[an-page-string]'
. if e .tl '\\*[an-page-string]'\\*[an-extra1]'\\*[an-extra2]'
. \}
. el \
. tl '\\*[an-extra2]'\\*[an-extra1]'\\*[an-page-string]'
..
.
2001-07-10 17:09:00 +00:00
.de1 an-header
2001-04-17 12:12:05 +00:00
. an-init
2003-05-01 13:09:50 +00:00
. if \\n[cR] \{\
. ie \\n[an-first] \
. nr an-first 0
. el \
. sp .5i
. \}
2001-04-17 12:12:05 +00:00
. ev 1
. ps \\n[PS]u
. vs \\n[VS]u
2002-10-11 08:52:17 +00:00
. lt \\n[LT]u
2001-04-17 12:12:05 +00:00
. ie \\n[an-html] \
. tl ''''
. el \{\
. if !\\n[cR] \
. sp .5i
2003-05-01 13:09:50 +00:00
. PT
2001-04-17 12:12:05 +00:00
. ie !\\n[cR] \
. sp |1i
. el \
. sp .5i
. \}
. ev
. ns
..
.
2001-07-10 17:09:00 +00:00
.de1 an-footer
2001-04-17 12:12:05 +00:00
' bp
..
.
.af an-page-letter a
.
2001-07-10 17:09:00 +00:00
.de1 an-p-footer
2001-04-17 12:12:05 +00:00
. ev 1
. ps \\n[PS]u
. vs \\n[VS]u
2002-10-11 08:52:17 +00:00
. lt \\n[LT]u
2001-04-17 12:12:05 +00:00
. ie \\n[an-html] \{\
. ds an-page-string
. ds an-extra1
. ds an-extra2
. \}
. el \{\
. ie r X \{\
. if (\\n[%] > \\n[X]) \{\
. nr an-page-letter (\\n[%] - \\n[X])
. ds an-page-string \\n[X]\\n[an-page-letter]
. \}
. \}
. el \{\
. ie \\n[cR] \
. ds an-page-string "\\*[an-title](\\*[an-section])
. el \
. ds an-page-string \\n[%]
. \}
. \}
2003-05-01 13:09:50 +00:00
. BT
2001-04-17 12:12:05 +00:00
. ev
..
.
2001-07-10 17:09:00 +00:00
.de1 an-end
2001-04-17 12:12:05 +00:00
. nr % 1
2002-10-11 08:52:17 +00:00
. pl +4v
2001-04-17 12:12:05 +00:00
. fl
. sp 3
. an-p-footer
. pl \\n[nl]u
..
.
.if \n[cR] .em an-end
.
2001-07-10 17:09:00 +00:00
.de1 SH
2001-04-17 12:12:05 +00:00
. sp \\n[PD]u
. nr an-level 1
. set-an-margin
. nr an-prevailing-indent \\n[IN]
. fi
. in \\n[an-margin]u
. ti 0
2005-10-20 10:45:19 +00:00
. nr need_eo_h 1
. DEVTAG-NH \\n[an-level]
2001-04-17 12:12:05 +00:00
. it 1 an-trap
. nr an-no-space-flag 1
. nr an-break-flag 1
. ps \\n[PS-SH]u
2003-05-01 13:09:50 +00:00
. ft \\*[HF]
2002-10-11 08:52:17 +00:00
. ne (2v + 1u)
2001-04-17 12:12:05 +00:00
. if \\n[.$] \&\\$*
..
.
2001-07-10 17:09:00 +00:00
.de1 SS
2001-04-17 12:12:05 +00:00
. sp \\n[PD]u
. nr an-level 1
. set-an-margin
. nr an-prevailing-indent \\n[IN]
. fi
. in \\n[IN]u
. ti \\n[SN]u
. it 1 an-trap
. nr an-no-space-flag 1
. nr an-break-flag 1
. ps \\n[PS-SS]u
2003-05-01 13:09:50 +00:00
. ft \\*[HF]
2002-10-11 08:52:17 +00:00
. ne (2v + 1u)
2001-04-17 12:12:05 +00:00
. if \\n[.$] \&\\$*
..
.
2001-07-10 17:09:00 +00:00
.de1 B
2001-04-17 12:12:05 +00:00
. it 1 an-trap
. ft B
. if \\n[.$] \&\\$*
..
.
2001-07-10 17:09:00 +00:00
.de1 I
2001-04-17 12:12:05 +00:00
. it 1 an-trap
. ft I
2002-10-11 08:52:17 +00:00
. if \\n[.$] \,\\$*\/
2001-04-17 12:12:05 +00:00
..
.
2001-07-10 17:09:00 +00:00
.de1 SM
2001-04-17 12:12:05 +00:00
. it 1 an-trap
. ps -1
. if \\n[.$] \&\\$*
..
.
2001-07-10 17:09:00 +00:00
.de1 SB
2001-04-17 12:12:05 +00:00
. it 1 an-trap
. ps -1
. ft B
. if \\n[.$] \&\\$*
..
.
2001-07-10 17:09:00 +00:00
.de1 TP
2001-04-17 12:12:05 +00:00
. sp \\n[PD]u
. if \\n[.$] .nr an-prevailing-indent (n;\\$1)
. it 1 an-trap
2002-10-11 08:52:17 +00:00
. in 0
. ll -\\n[an-margin]u
2001-04-17 12:12:05 +00:00
. if !\\n[an-div?] .di an-div
. nr an-div? 1
..
.
2001-07-10 17:09:00 +00:00
.de1 an-trap
2005-10-20 10:45:19 +00:00
. if \\n[need_eo_h]>0 .DEVTAG-EO-H
. nr need_eo_h 0
2001-04-17 12:12:05 +00:00
. ft R
. ps \\n[PS]u
. vs \\n[VS]u
. if \\n[an-break-flag] \{\
. br
. nr an-break-flag 0
. \}
. if \\n[an-no-space-flag] \{\
. ns
. nr an-no-space-flag 0
. \}
. if \\n[an-div?] .an-do-tag
..
.
.de an-do-tag
. br
. di
2003-05-01 13:09:50 +00:00
. nr an-div? 0
. ll
2001-04-17 12:12:05 +00:00
. ie (\\n[dl] + \\n[an-tag-sep] > \\n[an-prevailing-indent]) \{\
. in \\n[an-margin]u
2002-10-11 08:52:17 +00:00
. ne (2v + 1u)
2001-04-17 12:12:05 +00:00
. an-div
. in (\\n[an-margin]u + \\n[an-prevailing-indent]u)
. \}
. el \{\
2003-05-01 13:09:50 +00:00
. \" In nroff mode, if the indentation value is not an integer multiple
. \" of the character cell, it is possible that the following combination
. \" of .in and .ti yields a different result as the .in request in
. \" the .ie part above.
2001-04-17 12:12:05 +00:00
. in (\\n[an-margin]u + \\n[an-prevailing-indent]u)
. ti -\\n[an-prevailing-indent]u
. chop an-div
2002-10-11 08:52:17 +00:00
. ne (1v + 1u)
2005-10-20 10:45:19 +00:00
. DEVTAG-COL 1
2003-05-01 13:09:50 +00:00
\\*[an-div]\\h'|\\n[an-prevailing-indent]u'\c
2005-10-20 10:45:19 +00:00
. DEVTAG-COL-NEXT 2
2002-10-11 08:52:17 +00:00
. \}
..
.
2001-07-10 17:09:00 +00:00
.de1 LP
2001-04-17 12:12:05 +00:00
. sp \\n[PD]u
. ps \\n[PS]u
. vs \\n[VS]u
. ft R
. in \\n[an-margin]u
. nr an-prevailing-indent \\n[IN]
..
.
.als PP LP
.als P LP
.
2001-07-10 17:09:00 +00:00
.de1 IP
2001-04-17 12:12:05 +00:00
. ie !\\n[.$] \{\
. ps \\n[PS]u
. vs \\n[VS]u
. ft R
. sp \\n[PD]u
2002-10-11 08:52:17 +00:00
. ne (1v + 1u)
2001-04-17 12:12:05 +00:00
. in (\\n[an-margin]u + \\n[an-prevailing-indent]u)
. \}
. el \{\
. ie (\\n[.$] - 1) .TP "\\$2"
. el .TP
\&\\$1
. \}
..
.
2001-07-10 17:09:00 +00:00
.de1 HP
2001-04-17 12:12:05 +00:00
. ps \\n[PS]u
. vs \\n[VS]u
. ft R
. sp \\n[PD]u
2002-10-11 08:52:17 +00:00
. ne (1v + 1u)
2001-04-17 12:12:05 +00:00
. if \\n[.$] .nr an-prevailing-indent (n;\\$1)
. in (\\n[an-margin]u + \\n[an-prevailing-indent]u)
. ti \\n[an-margin]u
..
.
.ds an-empty \" this is referenced to avoid looping on eg .RB ( \\ )
.
2001-07-10 17:09:00 +00:00
.de1 RI
2001-04-17 12:12:05 +00:00
. if \\n[.$] \{\
2005-10-20 10:45:19 +00:00
. ds an-result \&\f[R]\\$1
2001-04-17 12:12:05 +00:00
. shift
. while (\\n[.$] >= 2) \{\
. as an-result \,\f[I]\\$1\f[R]\/\\$2\\*[an-empty]
. shift 2
. \}
2005-10-20 10:45:19 +00:00
. if \\n[.$] .as an-result \,\f[I]\\$1
2001-04-17 12:12:05 +00:00
\\*[an-result]
2005-10-20 10:45:19 +00:00
. ft R
2001-04-17 12:12:05 +00:00
. \}
..
.
2001-07-10 17:09:00 +00:00
.de1 IR
2001-04-17 12:12:05 +00:00
. if \\n[.$] \{\
. ds an-result \&\f[I]\\$1\f[R]
. shift
. while (\\n[.$] >= 2) \{\
. as an-result \/\\$1\f[I]\,\\$2\f[R]
. shift 2
. \}
. if \\n[.$] .as an-result \/\\$1
\\*[an-result]
2005-10-20 10:45:19 +00:00
. ft R
2001-04-17 12:12:05 +00:00
. \}
..
.
2001-07-10 17:09:00 +00:00
.de1 IB
2001-04-17 12:12:05 +00:00
. if \\n[.$] \{\
. ds an-result \&\f[I]\\$1
. shift
. while (\\n[.$] >= 2) \{\
. as an-result \/\f[B]\\$1\f[I]\,\\$2\\*[an-empty]
. shift 2
. \}
. if \\n[.$] .as an-result \/\f[B]\\$1
\\*[an-result]
. ft R
. \}
..
.
2001-07-10 17:09:00 +00:00
.de1 BI
2001-04-17 12:12:05 +00:00
. if \\n[.$] \{\
. ds an-result \&\f[B]\\$1
. shift
. while (\\n[.$] >= 2) \{\
. as an-result \,\f[I]\\$1\f[B]\/\\$2\\*[an-empty]
. shift 2
. \}
. if \\n[.$] .as an-result \,\f[I]\\$1
\\*[an-result]
. ft R
. \}
..
.
2001-07-10 17:09:00 +00:00
.de1 RB
2001-04-17 12:12:05 +00:00
. ds an-result \&
. while (\\n[.$] >= 2) \{\
. as an-result \f[R]\\$1\f[B]\\$2\\*[an-empty]
. shift 2
. \}
. if \\n[.$] .as an-result \f[R]\\$1
\\*[an-result]
. ft R
..
.
2001-07-10 17:09:00 +00:00
.de1 BR
2001-04-17 12:12:05 +00:00
. ds an-result \&
. while (\\n[.$] >= 2) \{\
. as an-result \f[B]\\$1\f[R]\\$2\\*[an-empty]
. shift 2
. \}
. if \\n[.$] .as an-result \f[B]\\$1
\\*[an-result]
. ft R
..
.
2001-07-10 17:09:00 +00:00
.de1 RS
2001-04-17 12:12:05 +00:00
. nr an-saved-margin\\n[an-level] \\n[an-margin]
. nr an-saved-prevailing-indent\\n[an-level] \\n[an-prevailing-indent]
. ie \\n[.$] .nr an-margin +(n;\\$1)
. el .nr an-margin +\\n[an-prevailing-indent]
. in \\n[an-margin]u
. nr an-prevailing-indent \\n[IN]
. nr an-level +1
..
.
2001-07-10 17:09:00 +00:00
.de1 RE
2001-04-17 12:12:05 +00:00
. ie \\n[.$] .nr an-level ((;\\$1) <? \\n[an-level])
. el .nr an-level -1
. nr an-level (1 >? \\n[an-level])
. nr an-margin \\n[an-saved-margin\\n[an-level]]
. nr an-prevailing-indent \\n[an-saved-prevailing-indent\\n[an-level]]
. in \\n[an-margin]u
..
.
2002-10-11 08:52:17 +00:00
.\" table support
.
.de1 TS
. sp \\n[PD]u
. HTML-IMAGE
..
.
.de1 T&
..
.
.de1 TE
. HTML-IMAGE-END
..
.
.\" dummy equation delimiters
.de1 EQ
. HTML-IMAGE
..
.de1 EN
. HTML-IMAGE-END
..
.
.de1 R
\c
. ie \\n[.$] \{\
. tm `R' is a string (producing the registered sign), not a macro.
. nop \\$*
. \}
. el \{\
. ie c\[rg] \
. nop \[rg]\c
. el \
. nop (Reg.)\c
. \}
..
.
2001-07-10 17:09:00 +00:00
.\" these strings must work in compatibility mode also
.
2002-10-11 08:52:17 +00:00
.ds S \s'\\n(PSu'
2001-07-10 17:09:00 +00:00
.ie c\[tm] .ds Tm \(tm
2001-04-17 12:12:05 +00:00
.el .ds Tm (TM)
.ds lq \(lq
.ds rq \(rq
.
2003-05-01 13:09:50 +00:00
.if !\n[an-html] \{\
. if !rHY \{\
. ie \n[cR] \
. nr HY 12
. el \
. nr HY 14
. \}
. hy \n[HY]
2002-10-11 08:52:17 +00:00
.\}
2001-04-17 12:12:05 +00:00
.
.\" Load local modifications.
.mso man.local
.
.cp \n[_C]
.
.\" end of an-old.tmac