* src/libs/libdriver/input.cc [USE_ENV_STACK]: New macro to comment
[s-roff.git] / tmac / an-old.tmac
blobb9e3da83d3849684991c12a9861f217ae1bdcf6b
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 .if n \{\
67 .  de ne
68 .  .
69 .\}
71 .de set-an-margin
72 .  nr an-margin \\n[IN]
75 .\" .TH title section extra1 extra2 extra3
76 .de1 TH
77 .  if \\n[an-html] \{\
78 .     HTML-TAG ".tl"
79 \\$1
80 .  \}
82 .  de an-init \" We have to do it like this to get multiple man pages right.
83 .    ds an-title "\\$1
84 .    ds an-section "\\$2
85 .    ds an-extra1 "\\$3
86 .    ie (\\n[.$] > 3) .ds an-extra2 "\\$4
87 .    el               .ds an-extra2 \"Sun Release 4.0
88 .    ie (\\n[.$] > 4) .ds an-extra3 "\\$5
89 .    el               .ds an-extra3 \"System Programmer's Manual
90 .    ds an-init
91 \\..
93 .  DT
95 .  nr PS    10z \" default point size
96 .  nr PS-SS 10z
97 .  nr PS-SH 10.95z
98 .  nr VS    12p
100 .  nr LT    \n[.l]
102 .  \" use sizes similar to LaTeX
103 .  if t \{\
104 .    ie (\\n[S] == 11) \{\
105 .      nr PS    10.95z
106 .      nr PS-SS 10.95z
107 .      nr PS-SH 12z
108 .      nr VS    13.6p
109 .    \}
110 .    el \{\
111 .      if (\\n[S] == 12) \{\
112 .        nr PS    12z
113 .        nr PS-SS 12z
114 .        nr PS-SH 14.4z
115 .        nr VS    14.5p
116 .      \}
117 .    \}
118 .  \}
120 .  ps \\n[PS]u
121 .  vs \\n[VS]u
123 .  nr IN 7.2n
124 .  PD
125 .  nr SN 3n \" the indentation of sub-sub-headings relative to sub-headings
126 .  nr an-level 1
127 .  set-an-margin
128 .  nr an-prevailing-indent \\n[IN]
129 .  nr an-tag-sep 1n
131 .  nr an-no-space-flag 0
132 .  nr an-break-flag 0
133 .  nr an-div? 0
135 .  ie \\n[cR] \
136 .    an-header
137 .  el \{\
138 .    wh 0 an-header
139 .    wh -1i an-footer
140 .    wh -.5i an-p-footer
142 .    if (\\n[nl] > 0) \{\
143 .      ie \\n[C] .bp (\\n[%] + 1)
144 .      el        .bp 1
145 .    \}
146 .  \}
149 .\" BSD compatibility macros: .AT and .UC
151 .de1 AT
152 .  ds an-extra2 "7th Edition
153 .  if "\\$1"3" .ds an-extra2 "7th Edition
154 .  if "\\$1"4" .ds an-extra2 "System III
155 .  if "\\$1"5" \{\
156 .    ie "\\$2"" .ds an-extra2 "System V
157 .    el .ds an-extra2 "System V Release \\$2
158 .  \}
161 .de1 UC
162 .  ds an-extra2 "3rd Berkeley Distribution
163 .  if "\\$1"3" .ds an-extra2 "3rd Berkeley Distribution
164 .  if "\\$1"4" .ds an-extra2 "4th Berkeley Distribution
165 .  if "\\$1"5" .ds an-extra2 "4.2 Berkeley Distribution
166 .  if "\\$1"6" .ds an-extra2 "4.3 Berkeley Distribution
167 .  if "\\$1"7" .ds an-extra2 "4.4 Berkeley Distribution
170 .de1 DT
171 .  ta T .5i \" This sets tabs every .5 inches
174 .de1 PD
175 .  ie \\n[.$] .nr PD (v;\\$1)
176 .  el         .nr PD (.4v >? \n[.V])
179 .de1 an-header
180 .  an-init
181 .  ev 1
182 .  ps \\n[PS]u
183 .  vs \\n[VS]u
184 .  lt \\n[LT]u
185 .  ie \\n[an-html] \
186 .    tl ''''
187 .  el \{\
188 .    if !\\n[cR] \
189 .      sp .5i
190 .    tl '\\*[an-title](\\*[an-section])'\\*[an-extra3]'\\*[an-title](\\*[an-section])'
191 .    ie !\\n[cR] \
192 .      sp |1i
193 .    el \
194 .      sp .5i
195 .  \}
196 .  ev
197 .  ns
200 .de1 an-footer
201 '  bp
204 .af an-page-letter a
206 .de1 an-p-footer
207 .  ev 1
208 .  ps \\n[PS]u
209 .  vs \\n[VS]u
210 .  lt \\n[LT]u
211 .  ie \\n[an-html] \{\
212 .    ds an-page-string
213 .    ds an-extra1
214 .    ds an-extra2
215 .  \}
216 .  el \{\
217 .    ie r X \{\
218 .      if (\\n[%] > \\n[X]) \{\
219 .        nr an-page-letter (\\n[%] - \\n[X])
220 .        ds an-page-string \\n[X]\\n[an-page-letter]
221 .      \}
222 .    \}
223 .    el \{\
224 .      ie \\n[cR] \
225 .        ds an-page-string "\\*[an-title](\\*[an-section])
226 .      el \
227 .        ds an-page-string \\n[%]
228 .    \}
229 .  \}
230 .  ie \\n[D] \{\
231 .    if o .tl '\\*[an-extra2]'\\*[an-extra1]'\\*[an-page-string]'
232 .    if e .tl '\\*[an-page-string]'\\*[an-extra1]'\\*[an-extra2]'
233 .  \}
234 .  el \
235 .    tl '\\*[an-extra2]'\\*[an-extra1]'\\*[an-page-string]'
236 .  ev
239 .de1 an-end
240 .  nr % 1
241 .  pl +4v
242 .  fl
243 .  sp 3
244 .  an-p-footer
245 .  pl \\n[nl]u
248 .if \n[cR] .em an-end
250 .de1 SH
251 .  sp \\n[PD]u
252 .  nr an-level 1
253 .  set-an-margin
254 .  nr an-prevailing-indent \\n[IN]
255 .  fi
256 .  in \\n[an-margin]u
257 .  ti 0
258 .  HTML-TAG ".NH \\n[an-level]"
259 .  it 1 an-trap
260 .  nr an-no-space-flag 1
261 .  nr an-break-flag 1
262 .  ps \\n[PS-SH]u
263 .  ft B
264 .  ne (2v + 1u)
265 .  if \\n[.$] \&\\$*
268 .de1 SS
269 .  sp \\n[PD]u
270 .  nr an-level 1
271 .  set-an-margin
272 .  nr an-prevailing-indent \\n[IN]
273 .  fi
274 .  in \\n[IN]u
275 .  ti \\n[SN]u
276 .  it 1 an-trap
277 .  nr an-no-space-flag 1
278 .  nr an-break-flag 1
279 .  ps \\n[PS-SS]u
280 .  ft B
281 .  ne (2v + 1u)
282 .  if \\n[.$] \&\\$*
285 .de1 B
286 .  it 1 an-trap
287 .  ft B
288 .  if \\n[.$] \&\\$*
291 .de1 I
292 .  it 1 an-trap
293 .  ft I
294 .  if \\n[.$] \&\\$*
297 .de1 SM
298 .  it 1 an-trap
299 .  ps -1
300 .  if \\n[.$] \&\\$*
303 .de1 SB
304 .  it 1 an-trap
305 .  ps -1
306 .  ft B
307 .  if \\n[.$] \&\\$*
310 .de1 TP
311 .  sp \\n[PD]u
312 .  if \\n[.$] .nr an-prevailing-indent (n;\\$1)
313 .  it 1 an-trap
314 .  if !\\n[an-div?] .di an-div
315 .  ie \\n[an-html] .in \\n[an-margin]u
316 .  el \{\
317 .    in 0
318 .    ll -\\n[an-margin]u
319 .  \}
320 .  nr an-div? 1
323 .de1 an-trap
324 .  ft R
325 .  ps \\n[PS]u
326 .  vs \\n[VS]u
327 .  if \\n[an-break-flag] \{\
328 .    br
329 .    nr an-break-flag 0
330 .  \}
331 .  if \\n[an-no-space-flag] \{\
332 .    ns
333 .    nr an-no-space-flag 0
334 .  \}
335 .  if \\n[an-div?] .an-do-tag
338 .de an-do-tag
339 .  nr an-div? 0
340 .  br
341 .  ll
342 .  di
343 .  ie (\\n[dl] + \\n[an-tag-sep] > \\n[an-prevailing-indent]) \{\
344 .    in \\n[an-margin]u
345 .    ne (2v + 1u)
346 .    an-div
347 .    br
348 .    in (\\n[an-margin]u + \\n[an-prevailing-indent]u)
349 .  \}
350 .  el \{\
351 .    in (\\n[an-margin]u + \\n[an-prevailing-indent]u)
352 .    ti -\\n[an-prevailing-indent]u
353 .    chop an-div
354 .    ne (1v + 1u)
355 \\*[an-div]\\h'|\\n[an-prevailing-indent]u'\c
356 .  \}
359 .de1 LP
360 .  br
361 .  sp \\n[PD]u
362 .  ps \\n[PS]u
363 .  vs \\n[VS]u
364 .  ft R
365 .  in \\n[an-margin]u
366 .  nr an-prevailing-indent \\n[IN]
369 .als PP LP
370 .als P LP
372 .de1 IP
373 .  ie !\\n[.$] \{\
374 .    ps \\n[PS]u
375 .    vs \\n[VS]u
376 .    ft R
377 .    sp \\n[PD]u
378 .    ne (1v + 1u)
379 .    in (\\n[an-margin]u + \\n[an-prevailing-indent]u)
380 .  \}
381 .  el \{\
382 .    ie (\\n[.$] - 1) .TP "\\$2"
383 .    el               .TP
384 \&\\$1
385 .  \}
388 .de1 HP
389 .  ps \\n[PS]u
390 .  vs \\n[VS]u
391 .  ft R
392 .  sp \\n[PD]u
393 .  ne (1v + 1u)
394 .  if \\n[.$] .nr an-prevailing-indent (n;\\$1)
395 .  in (\\n[an-margin]u + \\n[an-prevailing-indent]u)
396 .  ti \\n[an-margin]u
399 .ds an-empty \" this is referenced to avoid looping on eg .RB ( \\ )
401 .de1 RI
402 .  if \\n[.$] \{\
403 .    ds an-result \&\\$1
404 .    shift
405 .    while (\\n[.$] >= 2) \{\
406 .      as an-result \,\f[I]\\$1\f[R]\/\\$2\\*[an-empty]
407 .      shift 2
408 .    \}
409 .    if \\n[.$] .as an-result \,\f[I]\\$1\f[R]
410 \\*[an-result]
411 .  \}
414 .de1 IR
415 .  if \\n[.$] \{\
416 .    ds an-result \&\f[I]\\$1\f[R]
417 .    shift
418 .    while (\\n[.$] >= 2) \{\
419 .      as an-result \/\\$1\f[I]\,\\$2\f[R]
420 .      shift 2
421 .    \}
422 .    if \\n[.$] .as an-result \/\\$1
423 \\*[an-result]
424 .  \}
427 .de1 IB
428 .  if \\n[.$] \{\
429 .    ds an-result \&\f[I]\\$1
430 .    shift
431 .    while (\\n[.$] >= 2) \{\
432 .      as an-result \/\f[B]\\$1\f[I]\,\\$2\\*[an-empty]
433 .      shift 2
434 .    \}
435 .    if \\n[.$] .as an-result \/\f[B]\\$1
436 \\*[an-result]
437 .    ft R
438 .  \}
441 .de1 BI
442 .  if \\n[.$] \{\
443 .    ds an-result \&\f[B]\\$1
444 .    shift
445 .    while (\\n[.$] >= 2) \{\
446 .      as an-result \,\f[I]\\$1\f[B]\/\\$2\\*[an-empty]
447 .      shift 2
448 .    \}
449 .    if \\n[.$] .as an-result \,\f[I]\\$1
450 \\*[an-result]
451 .    ft R
452 .  \}
455 .de1 RB
456 .  ds an-result \&
457 .  while (\\n[.$] >= 2) \{\
458 .    as an-result \f[R]\\$1\f[B]\\$2\\*[an-empty]
459 .    shift 2
460 .  \}
461 .  if \\n[.$] .as an-result \f[R]\\$1
462 \\*[an-result]
463 .  ft R
466 .de1 BR
467 .  ds an-result \&
468 .  while (\\n[.$] >= 2) \{\
469 .    as an-result \f[B]\\$1\f[R]\\$2\\*[an-empty]
470 .    shift 2
471 .  \}
472 .  if \\n[.$] .as an-result \f[B]\\$1
473 \\*[an-result]
474 .  ft R
477 .de1 RS
478 .  br
479 .  nr an-saved-margin\\n[an-level] \\n[an-margin]
480 .  nr an-saved-prevailing-indent\\n[an-level] \\n[an-prevailing-indent]
481 .  ie \\n[.$] .nr an-margin +(n;\\$1)
482 .  el         .nr an-margin +\\n[an-prevailing-indent]
483 .  in \\n[an-margin]u
484 .  nr an-prevailing-indent \\n[IN]
485 .  nr an-level +1
488 .de1 RE
489 .  br
490 .  ie \\n[.$] .nr an-level ((;\\$1) <? \\n[an-level])
491 .  el         .nr an-level -1
492 .  nr an-level (1 >? \\n[an-level])
493 .  nr an-margin \\n[an-saved-margin\\n[an-level]]
494 .  nr an-prevailing-indent \\n[an-saved-prevailing-indent\\n[an-level]]
495 .  in \\n[an-margin]u
498 .\" table support
500 .de1 TS
501 .  sp \\n[PD]u
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