NetBSD/gnu/dist/groff/tmac/an-old.tmac
wiz 48af41221f Import groff-1.19.1. Changes since 1.19:
Groff
-----

o The argument of the command line option `-I' is now also passed to troff
  and grops, specifying a directory to search for files on the command line,
  files named in `so' and `psbb' requests, and files named in \X'ps: file'
  and \X'ps: import' escapes.

o If option `-V' is used more than once, the commands will be both printed
  on standard error and run.

Troff
-----

o Two new read-only, string-valued registers `.m' and `.M' return the
  name of the current drawing and background color, respectively.

o New read-only register `.U' which is set to 1 if in safer mode and set
  to 0 if in unsafe mode.

o An input encoding file for latin-5 (a.k.a. ISO 8859-9) has been added.
  Example use:

    groff -Tdvi -mlatin5 my_file > my_file.dvi

  Note that some output devices don't support all glyphs of this encoding.

o If the `return' request is called with an argument, it exits twice,
  namely the current macro and the macro one level higher.  This is
  used to define a wrapper macro for `return' in trace.tmac.

o For completeness, two new requests have been added: `dei1' and `ami1'.
  They are equivalent to `dei' and `ami', respectively, but the macros
  are executed with compatibility mode off (similar to `de1' and `am1').

o New command line option `-I' to specify a directory for files (both
  those on the command line and those named in `psbb' requests).  This is
  also handled by the groff wrapper program.

o Since version 1.19 you can say `.vs 0'.  Older versions emit a warning
  and convert this to `.vs \n[.V]'.

  This hasn't been documented properly.  Note that `.vs 0' isn't saved in a
  diversion since it doesn't result in vertical motion.

Pic
___

o Dashed and dotted ellipses have been implemented.

Tbl
---

o New key character `x' to make tbl call a user-defined macro on a table
  cell.  Patch by Heinz-Jürgen Oertel <hj.oertel@surfeu.de>.

Grohtml
-------

o New option `-j' to emit output splitted into multiple files.

Grops
-----

o New command line option `-I' to specify a directory to search for files
  on the command line and files named in \X'ps: import' and \X'ps: file'
  escapes.  This is also handled by the groff wrapper program.

o The default value for the `broken' keyword in the DESC file is now 0.

Grolj4
------

o A new man page `lj4_font(5)' documents how fonts are accessed with
  grolj4.

o The built-in fonts for LJ4 and newer PCL 5 devices have been completely
  revised, mainly to access as much glyphs as possible.  The provided
  metric files should be compatible with recent PCL 5 printers also.
  Additionally, font description files have been added for the Arial and
  Times New Roman family, the MS symbol, and Wingdings fonts.

Hpftodit
--------

o Completely revised to handle HP TrueType metric files also.  See the
  hpftodit manual page for more details.

Macro Packages
--------------

o www.tmac: New macro `JOBNAME' to split output into multiple files.

o In mdoc, multiple calls to `.Lb' are now supported in the LIBRARY
  section.
2004-07-30 14:44:08 +00:00

612 lines
12 KiB
Plaintext

.\" an-old.tmac
.\"
.\" Copyright (C) 1989, 1990, 1991, 1992, 2001, 2002, 2003
.\" 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 `.am1 TH'.
.\"
.
.if !\n(.g .ab These man macros work only with groff.
.
.do if d RI .nx
.
.nr _C \n(.C
.cp 0
.
.if (\n[.x]\n[.y] < 118) \
. ab You need GNU troff version 1.18 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
.\}
.
.if !r LL \{\
. ie n .nr LL 78n
. el .nr LL 6.5i
.\}
.if !r LT \
. nr LT \n[LL]
.
.nr FT -.5i
.
.\" Default heading font
.ds HF B
.
.nr an-first 1
.
.nr an-html 0
.if '\*[.T]'html' .nr an-html 1
.if \n[an-html] .nr C 1
.if r ps4html .nr C 1
.
.\" 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] \{\
. de1 ne
. ie \\n[.$] \
. nr an-ne \\$*
. el \
. nr an-ne 1v
. if (\\n[an-ne] >= \\n[.t]) \
. pl +(\\n[an-ne]u - \\n[.t]u + 1v)
. .
.
. rn bp an-bp
. de1 bp
. br
. pl \\n[nl]u
. an-bp \\$*
. .
.\}
.
.de set-an-margin
. nr an-margin \\n[IN]
..
.
.\" .TH title section extra1 extra2 extra3
.de1 TH
. if \\n[an-html] \{\
. HTML-TAG-NS ".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
. ll \\n[LL]u
.
.\" 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
. \}
. PD
. if !r SN \
. 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 \\n[FT]u 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])
..
.
.\" 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]'
..
.
.de1 an-header
. an-init
. if \\n[cR] \{\
. ie \\n[an-first] \
. nr an-first 0
. el \
. sp .5i
. \}
. ev 1
. ps \\n[PS]u
. vs \\n[VS]u
. lt \\n[LT]u
. ie \\n[an-html] \
. tl ''''
. el \{\
. if !\\n[cR] \
. sp .5i
. PT
. 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
. lt \\n[LT]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[%]
. \}
. \}
. BT
. ev
..
.
.de1 an-end
. nr % 1
. pl +4v
. 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-NS ".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 \\*[HF]
. 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 \\*[HF]
. 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
. in 0
. ll -\\n[an-margin]u
. if !\\n[an-div?] .di an-div
. 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
. br
. di
. nr an-div? 0
. ll
. ie (\\n[dl] + \\n[an-tag-sep] > \\n[an-prevailing-indent]) \{\
. in \\n[an-margin]u
. ne (2v + 1u)
. an-div
. in (\\n[an-margin]u + \\n[an-prevailing-indent]u)
. \}
. el \{\
. \" 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.
. in (\\n[an-margin]u + \\n[an-prevailing-indent]u)
. ti -\\n[an-prevailing-indent]u
. chop an-div
. ne (1v + 1u)
. HTML-TAG-NS ".col 1"
\\*[an-div]\\h'|\\n[an-prevailing-indent]u'\c
. HTML-TAG-NS ".col 2"
. \}
..
.
.de1 LP
. 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
. 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
. 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
. 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
. 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
..
.
.\" 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
. \}
..
.
.\" these strings must work in compatibility mode also
.
.ds S \s'\\n(PSu'
.ie c\[tm] .ds Tm \(tm
.el .ds Tm (TM)
.ds lq \(lq
.ds rq \(rq
.
.if !\n[an-html] \{\
. if !rHY \{\
. ie \n[cR] \
. nr HY 12
. el \
. nr HY 14
. \}
. hy \n[HY]
.\}
.
.\" Load local modifications.
.mso man.local
.
.cp \n[_C]
.
.\" end of an-old.tmac