* man/groff_out.man: Revised.
[s-roff.git] / tmac / an-old.tmac
blob4920c91505119ac39ab47ac69ff01185cf209296
1 .\" an-old.tmac
2 .\"
3 .\" Copyright (C) 1989, 1990, 1991, 1992, 2001, 2002
4 .\"   Free Software Foundation, Inc.
5 .\"      Written by James Clark (jjc@jclark.com)
6 .\"
7 .\" This file is part of groff.
8 .\"
9 .\" groff is free software; you can redistribute it and/or modify it under
10 .\" the terms of the GNU General Public License as published by the Free
11 .\" Software Foundation; either version 2, or (at your option) any later
12 .\" version.
13 .\"
14 .\" groff is distributed in the hope that it will be useful, but WITHOUT ANY
15 .\" WARRANTY; without even the implied warranty of MERCHANTABILITY or
16 .\" FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
17 .\" for more details.
18 .\"
19 .\" You should have received a copy of the GNU General Public License along
20 .\" with groff; see the file COPYING.  If not, write to the Free Software
21 .\" Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
22 .\"
23 .\"  -rcR=1 => Create a single, very long page instead of multiple pages.
24 .\"            Useful for online display.  Default in nroff mode.
25 .\"            Desactivate with -rcR=0.
26 .\"  -rC1 => Number pages continuously, rather than start each at 1.
27 .\"  -rD1 => Double-sided printing, ie different odd and even page footers.
28 .\"  -rPnnn => Number first page nnn.
29 .\"  -rSxx => Use size `xx'pt (either 10, 11, or 12) for document rather
30 .\"           than the default size of 10pt.
31 .\"  -rXnnn => Number pages after nnn as nnna, nnnb, nnnc, ...
32 .\"
33 .\" The file man.local is loaded at the end.  Put local additions there.
34 .\" If you need to add things to TH, use `.am TH'.
35 .\"
37 .if !\n(.g .ab These man macros work only with groff.
39 .do if d RI .nx
41 .nr _C \n(.C
42 .cp 0
44 .if (\n[.x]\n[.y]\n[.Y] < 1171) \
45 .  ab You need GNU troff version 1.17.1 or higher to run this version of man!
47 .if !r D .nr D 0
48 .if !r C .nr C 0
49 .if !r S .nr S 10
50 .\" we must use consecutive page numbers when using postscript to generate
51 .\" html images, and we must not reset the page number at the beginning
52 .\" (the `ps4html' register is automatically added to the command line by
53 .\" the pre-html preprocessor)
54 .if !r ps4html \
55 .  if r P .pn 0\n[P]
56 .if !r cR \{\
57 .  ie n .nr cR 1
58 .  el   .nr cR 0
59 .\}
61 .nr an-html 0
62 .if '\*[.T]'html' .nr an-html 1
63 .if \n[an-html] .nr C 1
64 .if r ps4html .nr C 1
66 .de set-an-margin
67 .  nr an-margin \\n[IN]
70 .\" .TH title section extra1 extra2 extra3
71 .de1 TH
72 .  if \\n[an-html] \{\
73 .     HTML-TAG ".tl"
74 \\$1
75 .  \}
77 .  de an-init \" We have to do it like this to get multiple man pages right.
78 .    ds an-title "\\$1
79 .    ds an-section "\\$2
80 .    ds an-extra1 "\\$3
81 .    ie (\\n[.$] > 3) .ds an-extra2 "\\$4
82 .    el               .ds an-extra2 \"Sun Release 4.0
83 .    ie (\\n[.$] > 4) .ds an-extra3 "\\$5
84 .    el               .ds an-extra3 \"System Programmer's Manual
85 .    ds an-init
86 \\..
88 .  DT
90 .  nr PS    10z \" default point size
91 .  nr PS-SS 10z
92 .  nr PS-SH 10.95z
93 .  nr VS    12p
95 .  nr LT    \n[.l]
97 .  \" use sizes similar to LaTeX
98 .  if t \{\
99 .    ie (\\n[S] == 11) \{\
100 .      nr PS    10.95z
101 .      nr PS-SS 10.95z
102 .      nr PS-SH 12z
103 .      nr VS    13.6p
104 .    \}
105 .    el \{\
106 .      if (\\n[S] == 12) \{\
107 .        nr PS    12z
108 .        nr PS-SS 12z
109 .        nr PS-SH 14.4z
110 .        nr VS    14.5p
111 .      \}
112 .    \}
113 .  \}
115 .  ps \\n[PS]u
116 .  vs \\n[VS]u
118 .  nr IN 7.2n
119 .  PD
120 .  nr SN 3n \" the indentation of sub-sub-headings relative to sub-headings
121 .  nr an-level 1
122 .  set-an-margin
123 .  nr an-prevailing-indent \\n[IN]
124 .  nr an-tag-sep 1n
126 .  nr an-no-space-flag 0
127 .  nr an-break-flag 0
128 .  nr an-div? 0
130 .  ie \\n[cR] \
131 .    an-header
132 .  el \{\
133 .    wh 0 an-header
134 .    wh -1i an-footer
135 .    wh -.5i an-p-footer
137 .    if (\\n[nl] > 0) \{\
138 .      ie \\n[C] .bp (\\n[%] + 1)
139 .      el        .bp 1
140 .    \}
141 .  \}
144 .\" BSD compatibility macros: .AT and .UC
146 .de1 AT
147 .  ds an-extra2 "7th Edition
148 .  if "\\$1"3" .ds an-extra2 "7th Edition
149 .  if "\\$1"4" .ds an-extra2 "System III
150 .  if "\\$1"5" \{\
151 .    ie "\\$2"" .ds an-extra2 "System V
152 .    el .ds an-extra2 "System V Release \\$2
153 .  \}
156 .de1 UC
157 .  ds an-extra2 "3rd Berkeley Distribution
158 .  if "\\$1"3" .ds an-extra2 "3rd Berkeley Distribution
159 .  if "\\$1"4" .ds an-extra2 "4th Berkeley Distribution
160 .  if "\\$1"5" .ds an-extra2 "4.2 Berkeley Distribution
161 .  if "\\$1"6" .ds an-extra2 "4.3 Berkeley Distribution
162 .  if "\\$1"7" .ds an-extra2 "4.4 Berkeley Distribution
165 .de1 DT
166 .  ta T .5i \" This sets tabs every .5 inches
169 .de1 PD
170 .  ie \\n[.$] .nr PD (v;\\$1)
171 .  el         .nr PD (.4v >? \n[.V])
174 .de1 an-header
175 .  an-init
176 .  ev 1
177 .  ps \\n[PS]u
178 .  vs \\n[VS]u
179 .  lt \\n[LT]u
180 .  ie \\n[an-html] \
181 .    tl ''''
182 .  el \{\
183 .    if !\\n[cR] \
184 .      sp .5i
185 .    tl '\\*[an-title](\\*[an-section])'\\*[an-extra3]'\\*[an-title](\\*[an-section])'
186 .    ie !\\n[cR] \
187 .      sp |1i
188 .    el \
189 .      sp .5i
190 .  \}
191 .  ev
192 .  ns
195 .de1 an-footer
196 '  bp
199 .af an-page-letter a
201 .de1 an-p-footer
202 .  ev 1
203 .  ps \\n[PS]u
204 .  vs \\n[VS]u
205 .  lt \\n[LT]u
206 .  ie \\n[an-html] \{\
207 .    ds an-page-string
208 .    ds an-extra1
209 .    ds an-extra2
210 .  \}
211 .  el \{\
212 .    ie r X \{\
213 .      if (\\n[%] > \\n[X]) \{\
214 .        nr an-page-letter (\\n[%] - \\n[X])
215 .        ds an-page-string \\n[X]\\n[an-page-letter]
216 .      \}
217 .    \}
218 .    el \{\
219 .      ie \\n[cR] \
220 .        ds an-page-string "\\*[an-title](\\*[an-section])
221 .      el \
222 .        ds an-page-string \\n[%]
223 .    \}
224 .  \}
225 .  ie \\n[D] \{\
226 .    if o .tl '\\*[an-extra2]'\\*[an-extra1]'\\*[an-page-string]'
227 .    if e .tl '\\*[an-page-string]'\\*[an-extra1]'\\*[an-extra2]'
228 .  \}
229 .  el \
230 .    tl '\\*[an-extra2]'\\*[an-extra1]'\\*[an-page-string]'
231 .  ev
234 .de1 an-end
235 .  nr % 1
236 .  pl +4v
237 .  fl
238 .  sp 3
239 .  an-p-footer
240 .  pl \\n[nl]u
243 .if \n[cR] .em an-end
245 .de1 SH
246 .  sp \\n[PD]u
247 .  nr an-level 1
248 .  set-an-margin
249 .  nr an-prevailing-indent \\n[IN]
250 .  fi
251 .  in \\n[an-margin]u
252 .  ti 0
253 .  HTML-TAG ".NH \\n[an-level]"
254 .  it 1 an-trap
255 .  nr an-no-space-flag 1
256 .  nr an-break-flag 1
257 .  ps \\n[PS-SH]u
258 .  ft B
259 .  if !\\n[cR] .ne (2v + 1u)
260 .  if \\n[.$] \&\\$*
263 .de1 SS
264 .  sp \\n[PD]u
265 .  nr an-level 1
266 .  set-an-margin
267 .  nr an-prevailing-indent \\n[IN]
268 .  fi
269 .  in \\n[IN]u
270 .  ti \\n[SN]u
271 .  it 1 an-trap
272 .  nr an-no-space-flag 1
273 .  nr an-break-flag 1
274 .  ps \\n[PS-SS]u
275 .  ft B
276 .  if !\\n[cR] .ne (2v + 1u)
277 .  if \\n[.$] \&\\$*
280 .de1 B
281 .  it 1 an-trap
282 .  ft B
283 .  if \\n[.$] \&\\$*
286 .de1 I
287 .  it 1 an-trap
288 .  ft I
289 .  if \\n[.$] \&\\$*
292 .de1 SM
293 .  it 1 an-trap
294 .  ps -1
295 .  if \\n[.$] \&\\$*
298 .de1 SB
299 .  it 1 an-trap
300 .  ps -1
301 .  ft B
302 .  if \\n[.$] \&\\$*
305 .de1 TP
306 .  sp \\n[PD]u
307 .  if \\n[.$] .nr an-prevailing-indent (n;\\$1)
308 .  it 1 an-trap
309 .  if !\\n[an-div?] .di an-div
310 .  ie \\n[an-html] .in \\n[an-margin]u
311 .  el \{\
312 .    in 0
313 .    ll -\\n[an-margin]u
314 .  \}
315 .  nr an-div? 1
318 .de1 an-trap
319 .  ft R
320 .  ps \\n[PS]u
321 .  vs \\n[VS]u
322 .  if \\n[an-break-flag] \{\
323 .    br
324 .    nr an-break-flag 0
325 .  \}
326 .  if \\n[an-no-space-flag] \{\
327 .    ns
328 .    nr an-no-space-flag 0
329 .  \}
330 .  if \\n[an-div?] .an-do-tag
333 .de an-do-tag
334 .  nr an-div? 0
335 .  br
336 .  ll
337 .  di
338 .  ie (\\n[dl] + \\n[an-tag-sep] > \\n[an-prevailing-indent]) \{\
339 .    in \\n[an-margin]u
340 .    if !\\n[cR] .ne (2v + 1u)
341 .    an-div
342 .    br
343 .    in (\\n[an-margin]u + \\n[an-prevailing-indent]u)
344 .  \}
345 .  el \{\
346 .    in (\\n[an-margin]u + \\n[an-prevailing-indent]u)
347 .    ti -\\n[an-prevailing-indent]u
348 .    chop an-div
349 .    if !\\n[cR] .ne (1v + 1u)
350 \\*[an-div]\\h'|\\n[an-prevailing-indent]u'\c
351 .  \}
354 .de1 LP
355 .  br
356 .  sp \\n[PD]u
357 .  ps \\n[PS]u
358 .  vs \\n[VS]u
359 .  ft R
360 .  in \\n[an-margin]u
361 .  nr an-prevailing-indent \\n[IN]
364 .als PP LP
365 .als P LP
367 .de1 IP
368 .  ie !\\n[.$] \{\
369 .    ps \\n[PS]u
370 .    vs \\n[VS]u
371 .    ft R
372 .    sp \\n[PD]u
373 .    if !\\n[cR] .ne (1v + 1u)
374 .    in (\\n[an-margin]u + \\n[an-prevailing-indent]u)
375 .  \}
376 .  el \{\
377 .    ie (\\n[.$] - 1) .TP "\\$2"
378 .    el               .TP
379 \&\\$1
380 .  \}
383 .de1 HP
384 .  ps \\n[PS]u
385 .  vs \\n[VS]u
386 .  ft R
387 .  sp \\n[PD]u
388 .  if !\\n[cR] .ne (1v + 1u)
389 .  if \\n[.$] .nr an-prevailing-indent (n;\\$1)
390 .  in (\\n[an-margin]u + \\n[an-prevailing-indent]u)
391 .  ti \\n[an-margin]u
394 .ds an-empty \" this is referenced to avoid looping on eg .RB ( \\ )
396 .de1 RI
397 .  if \\n[.$] \{\
398 .    ds an-result \&\\$1
399 .    shift
400 .    while (\\n[.$] >= 2) \{\
401 .      as an-result \,\f[I]\\$1\f[R]\/\\$2\\*[an-empty]
402 .      shift 2
403 .    \}
404 .    if \\n[.$] .as an-result \,\f[I]\\$1\f[R]
405 \\*[an-result]
406 .  \}
409 .de1 IR
410 .  if \\n[.$] \{\
411 .    ds an-result \&\f[I]\\$1\f[R]
412 .    shift
413 .    while (\\n[.$] >= 2) \{\
414 .      as an-result \/\\$1\f[I]\,\\$2\f[R]
415 .      shift 2
416 .    \}
417 .    if \\n[.$] .as an-result \/\\$1
418 \\*[an-result]
419 .  \}
422 .de1 IB
423 .  if \\n[.$] \{\
424 .    ds an-result \&\f[I]\\$1
425 .    shift
426 .    while (\\n[.$] >= 2) \{\
427 .      as an-result \/\f[B]\\$1\f[I]\,\\$2\\*[an-empty]
428 .      shift 2
429 .    \}
430 .    if \\n[.$] .as an-result \/\f[B]\\$1
431 \\*[an-result]
432 .    ft R
433 .  \}
436 .de1 BI
437 .  if \\n[.$] \{\
438 .    ds an-result \&\f[B]\\$1
439 .    shift
440 .    while (\\n[.$] >= 2) \{\
441 .      as an-result \,\f[I]\\$1\f[B]\/\\$2\\*[an-empty]
442 .      shift 2
443 .    \}
444 .    if \\n[.$] .as an-result \,\f[I]\\$1
445 \\*[an-result]
446 .    ft R
447 .  \}
450 .de1 RB
451 .  ds an-result \&
452 .  while (\\n[.$] >= 2) \{\
453 .    as an-result \f[R]\\$1\f[B]\\$2\\*[an-empty]
454 .    shift 2
455 .  \}
456 .  if \\n[.$] .as an-result \f[R]\\$1
457 \\*[an-result]
458 .  ft R
461 .de1 BR
462 .  ds an-result \&
463 .  while (\\n[.$] >= 2) \{\
464 .    as an-result \f[B]\\$1\f[R]\\$2\\*[an-empty]
465 .    shift 2
466 .  \}
467 .  if \\n[.$] .as an-result \f[B]\\$1
468 \\*[an-result]
469 .  ft R
472 .de1 RS
473 .  br
474 .  nr an-saved-margin\\n[an-level] \\n[an-margin]
475 .  nr an-saved-prevailing-indent\\n[an-level] \\n[an-prevailing-indent]
476 .  ie \\n[.$] .nr an-margin +(n;\\$1)
477 .  el         .nr an-margin +\\n[an-prevailing-indent]
478 .  in \\n[an-margin]u
479 .  nr an-prevailing-indent \\n[IN]
480 .  nr an-level +1
483 .de1 RE
484 .  br
485 .  ie \\n[.$] .nr an-level ((;\\$1) <? \\n[an-level])
486 .  el         .nr an-level -1
487 .  nr an-level (1 >? \\n[an-level])
488 .  nr an-margin \\n[an-saved-margin\\n[an-level]]
489 .  nr an-prevailing-indent \\n[an-saved-prevailing-indent\\n[an-level]]
490 .  in \\n[an-margin]u
493 .\" table support
495 .de1 TS
496 .  if n \{\
497 .    nr an-pl \\n[.p]
498 .    pl \\n[nl]u
499 .    bp
500 .    pl \\n[an-pl]u
501 .  \}
504 .de1 TE
507 .\" dummy equation delimiters
508 .de1 EQ
510 .de1 EN
513 .\" these strings must work in compatibility mode also
515 .ds S \s'\\n(PSu'
516 .ie c\[rg] .ds R \(rg
517 .el        .ds R (Reg.)
518 .ie c\[tm] .ds Tm \(tm
519 .el        .ds Tm (TM)
520 .ds lq \(lq
521 .ds rq \(rq
523 .if !\n[an-html] .hy 14
525 .\" Load local modifications.
526 .mso man.local
528 .cp \n[_C]
530 .\" end of an-old.tmac