freebsd-dev/contrib/groff/tmac/an-old.tmac
Ruslan Ermilov 2370a12024 From ChangeLog:
: 2001-07-18  Ruslan Ermilov  <ru@FreeBSD.org>
:
:	* tmac/groff_mdoc.man: Document new -width and -column syntax.
:	Some other minor fixes.
:	* tmac/an-old.tmac: Add `AT' and `UC' macros.
2001-07-18 06:48:31 +00:00

504 lines
10 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 (\n[.x]\n[.y]\n[.Y] < 1171) \
. ab You need GNU troff version 1.17.1 or higher to run this version of man!
.
.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
.de1 TH
. if \\n[an-html] \{\
. HTML-TAG ".tl"
\\$1
. \}
.
. 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
. \}
. \}
..
.
.\" 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
..
.
.de1 DT
. ta T .5i \" This sets tabs every .5 inches
..
.
.de1 PD
. ie \\n[.$] .nr PD (v;\\$1)
. el .nr PD (.4v >? \n[.V])
..
.
.de1 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
..
.
.de1 an-footer
' bp
..
.
.af an-page-letter a
.
.de1 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
..
.
.de1 an-end
. nr % 1
. pl +3v
. fl
. sp 3
. an-p-footer
. pl \\n[nl]u
..
.
.if \n[cR] .em an-end
.
.de1 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[.$] \&\\$*
..
.
.de1 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[.$] \&\\$*
..
.
.de1 B
. it 1 an-trap
. ft B
. if \\n[.$] \&\\$*
..
.
.de1 I
. it 1 an-trap
. ft I
. if \\n[.$] \&\\$*
..
.
.de1 SM
. it 1 an-trap
. ps -1
. if \\n[.$] \&\\$*
..
.
.de1 SB
. it 1 an-trap
. ps -1
. ft B
. if \\n[.$] \&\\$*
..
.
.de1 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
..
.
.de1 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
. \}
..
.
.de1 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
.
.de1 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
. \}
..
.
.de1 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 ( \\ )
.
.de1 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]
. \}
..
.
.de1 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]
. \}
..
.
.de1 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
. \}
..
.
.de1 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
. \}
..
.
.de1 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
..
.
.de1 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
..
.
.de1 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
..
.
.de1 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
..
.
.\" these strings must work in compatibility mode also
.
.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