freebsd-nq/contrib/groff/tmac/an-old.tmac
2001-04-17 12:12:05 +00:00

479 lines
9.3 KiB
Plaintext

.\" an-old.tmac
.\"
.\" Copyright (C) 1989, 1990, 1991, 1992, 2001 Free Software Foundation, Inc.
.\" 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
.\" Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
.\"
.\" -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.
.\" If you need to add things to TH, use `.am TH'.
.\"
.
.if !\n(.g .ab These man macros work only with groff.
.
.nr _C \n[.C]
.cp 0
.
.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
.\}
.
.nr an-html 0
.if '\*(.T'html' .nr an-html 1
.if \n[an-html] .nr C 1
.if r ps4html .nr C 1
.
.de set-an-margin
. nr an-margin \\n[IN]
..
.
.\" .TH title section extra1 extra2 extra3
.de TH
. if \\n[an-html] \{\
. HTML-TAG ".tl"
\\$1
. \}
. cp 0
.
. 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
.
. nr IN 7.2n
. PD
. nr SN 3n \" the indentation of sub-sub-headings relative to sub-headings
. 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
. wh -.5i an-p-footer
.
. if (\\n[nl] > 0) \{\
. ie \\n[C] .bp (\\n[%] + 1)
. el .bp 1
. \}
. \}
..
.
.de DT
. ta T .5i \" This sets tabs every .5 inches
..
.
.de PD
. ie \\n[.$] .nr PD (v;\\$1)
. el .nr PD (.4v >? \n[.V])
..
.
.de an-header
. an-init
. ev 1
. ps \\n[PS]u
. vs \\n[VS]u
. ie \\n[an-html] \
. tl ''''
. el \{\
. if !\\n[cR] \
. sp .5i
. tl '\\*[an-title](\\*[an-section])'\\*[an-extra3]'\\*[an-title](\\*[an-section])'
. ie !\\n[cR] \
. sp |1i
. el \
. sp .5i
. \}
. ev
. ns
..
.
.de an-footer
' bp
..
.
.af an-page-letter a
.
.de an-p-footer
. ev 1
. ps \\n[PS]u
. vs \\n[VS]u
. 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[%]
. \}
. \}
. 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]'
. ev
..
.
.de an-end
. nr % 1
. pl +3v
. fl
. sp 3
. an-p-footer
. pl \\n[nl]u
..
.
.if \n[cR] .em an-end
.
.de SH
. 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
. HTML-TAG ".NH \\n[an-level]"
. it 1 an-trap
. nr an-no-space-flag 1
. nr an-break-flag 1
. ps \\n[PS-SH]u
. ft B
. if !\\n[cR] .ne (2v + 1u)
. if \\n[.$] \&\\$*
..
.
.de SS
. 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
. ft B
. if !\\n[cR] .ne (2v + 1u)
. if \\n[.$] \&\\$*
..
.
.de B
. it 1 an-trap
. ft B
. if \\n[.$] \&\\$*
..
.
.de I
. it 1 an-trap
. ft I
. if \\n[.$] \&\\$*
..
.
.de SM
. it 1 an-trap
. ps -1
. if \\n[.$] \&\\$*
..
.
.de SB
. it 1 an-trap
. ps -1
. ft B
. if \\n[.$] \&\\$*
..
.
.de TP
. sp \\n[PD]u
. if \\n[.$] .nr an-prevailing-indent (n;\\$1)
. it 1 an-trap
. if !\\n[an-div?] .di an-div
. ie \\n[an-html] .in \\n[an-margin]u
. el \{\
. in 0
. ll -\\n[an-margin]u
. \}
. nr an-div? 1
..
.
.de an-trap
. 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
. nr an-div? 0
. br
. ll
. di
. ie (\\n[dl] + \\n[an-tag-sep] > \\n[an-prevailing-indent]) \{\
. in \\n[an-margin]u
. if !\\n[cR] .ne (2v + 1u)
. an-div
. br
. in (\\n[an-margin]u + \\n[an-prevailing-indent]u)
. \}
. el \{\
. in (\\n[an-margin]u + \\n[an-prevailing-indent]u)
. ti -\\n[an-prevailing-indent]u
. chop an-div
. if !\\n[cR] .ne (1v + 1u)
\\*[an-div]\\h'|\\n[an-prevailing-indent]u'\c
. \}
..
.
.de LP
. br
. 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
.
.de IP
. ie !\\n[.$] \{\
. ps \\n[PS]u
. vs \\n[VS]u
. ft R
. sp \\n[PD]u
. if !\\n[cR] .ne (1v + 1u)
. in (\\n[an-margin]u + \\n[an-prevailing-indent]u)
. \}
. el \{\
. ie (\\n[.$] - 1) .TP "\\$2"
. el .TP
\&\\$1
. \}
..
.
.de HP
. ps \\n[PS]u
. vs \\n[VS]u
. ft R
. sp \\n[PD]u
. if !\\n[cR] .ne (1v + 1u)
. 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 ( \\ )
.
.de RI
. if \\n[.$] \{\
. ds an-result \&\\$1
. shift
. while (\\n[.$] >= 2) \{\
. as an-result \,\f[I]\\$1\f[R]\/\\$2\\*[an-empty]
. shift 2
. \}
. if \\n[.$] .as an-result \,\f[I]\\$1\f[R]
\\*[an-result]
. \}
..
.
.de IR
. 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]
. \}
..
.
.de IB
. 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
. \}
..
.
.de BI
. 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
. \}
..
.
.de RB
. 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
..
.
.de BR
. 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
..
.
.de RS
. br
. 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
..
.
.de RE
. br
. 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
..
.
.ds S \s[\\n[PS]]
.ie c\[rg] .ds R \[rg]
.el .ds R (Reg.)
.ie c\[tm] .ds Tm \[tm]
.el .ds Tm (TM)
.ds lq \(lq
.ds rq \(rq
.
.if !\n[an-html] .hy 14
.
.\" Load local modifications.
.mso man.local
.
.cp \n[_C]
.
.\" end of an-old.tmac