3 .\" Copyright (C) 1989, 1990, 1991, 1992, 2001, 2002, 2003, 2004, 2005,
5 .\" Free Software Foundation, Inc.
6 .\" Written by James Clark (jjc@jclark.com)
8 .\" This file is part of groff.
10 .\" groff is free software; you can redistribute it and/or modify it under
11 .\" the terms of the GNU General Public License as published by the Free
12 .\" Software Foundation, either version 3 of the License, or
13 .\" (at your option) any later version.
15 .\" groff is distributed in the hope that it will be useful, but WITHOUT ANY
16 .\" WARRANTY; without even the implied warranty of MERCHANTABILITY or
17 .\" FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
20 .\" You should have received a copy of the GNU General Public License
21 .\" along with this program. If not, see <http://www.gnu.org/licenses/>.
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, ...
33 .\" The file man.local is loaded at the end. Put local additions there.
34 .\" If you need to add things to TH, use `.am1 TH'.
37 .if !\n(.g .ab These man macros work only with groff.
46 .if (\n[.x]\n[.y] < 118) \
47 . ab You need GNU troff version 1.18 or higher to run this version of man!
52 .\" we must use consecutive page numbers when using postscript to generate
53 .\" html images, and we must not reset the page number at the beginning
54 .\" (the `ps4html' register is automatically added to the command line by
55 .\" the pre-html preprocessor)
66 .\" set up the line length...
67 .\" giving precedence to any prior assignment to the \n[LL] register.
70 . \" but if that isn't predefined...
71 . \" then try to respect any prior `.ll' request.
74 . \" For troff, this is sufficient to give us a default line length of
75 . \" 6.5i, but for nroff, we prefer a default of 78n to nroff's default
76 . \" 65n. This has the unfortunate side effect that we will override a
77 . \" user's `.ll 65n' request, with our preferred 78n default; we can't
78 . \" possibly know that the 65n came from a `.ll' request, and MUST
79 . \" assume that it was set by nroff, as its built-in default! If the
80 . \" user wants to force this setting, then he MUST use the `-rLL=65n'
81 . \" option, or an equivalent `.nr LL 65n' request.
92 .\" Default heading font
98 .if '\*[.T]'html' .nr an-html 1
99 .if \n[an-html] .nr C 1
100 .if r ps4html .nr C 1
102 .\" we redefine .ne to avoid page breaks if cR is set; instead, the page
103 .\" length is increased to the necessary amount (this is needed for tables)
105 .\" similarly, we redefine .bp if cR is set, adjusting the page length to
106 .\" the current position so that no empty lines are inserted
113 . if (\\n[an-ne] >= \\n[.t]) \
114 . pl +(\\n[an-ne]u - \\n[.t]u + 1v)
126 . nr an-margin \\n[IN]
133 .\" .TH title section extra1 extra2 extra3
135 . if \\n[an-html] \{\
141 . de an-init \" We have to do it like this to get multiple man pages right.
142 . ds an-title "\\$1\"
143 . ds an-section "\\$2\"
144 . ds an-extra1 "\\$3\"
145 . ie (\\n[.$] > 3) .ds an-extra2 "\\$4\"
146 . el .ds an-extra2 \"Sun Release 4.0
147 . ie (\\n[.$] > 4) .ds an-extra3 "\\$5\"
148 . el .ds an-extra3 \"System Programmer's Manual
154 . nr PS 10z \" default point size
159 . \" use sizes similar to LaTeX
161 . ie (\\n[S] == 11) \{\
168 . if (\\n[S] == 12) \{\
181 .\" We must select an integer indentation value for nroff;
182 .\" see comment in an-do-tag.
189 . nr SN 3n \" the indentation of sub-sub-headings relative to sub-headings
192 . nr an-prevailing-indent \\n[IN]
195 . nr an-no-space-flag 0
204 . wh \\n[FT]u an-p-footer
207 . ie \\n[C] .bp (\\n[%] + 1)
213 .\" BSD compatibility macros: .AT and .UC
216 . ds an-extra2 "7th Edition\"
217 . if "\\$1"3" .ds an-extra2 "7th Edition\"
218 . if "\\$1"4" .ds an-extra2 "System III\"
220 . ie "\\$2"" .ds an-extra2 "System V\"
221 . el .ds an-extra2 "System V Release \\$2\"
226 . ds an-extra2 "3rd Berkeley Distribution\"
227 . if "\\$1"3" .ds an-extra2 "3rd Berkeley Distribution\"
228 . if "\\$1"4" .ds an-extra2 "4th Berkeley Distribution\"
229 . if "\\$1"5" .ds an-extra2 "4.2 Berkeley Distribution\"
230 . if "\\$1"6" .ds an-extra2 "4.3 Berkeley Distribution\"
231 . if "\\$1"7" .ds an-extra2 "4.4 Berkeley Distribution\"
235 . ta T .5i \" This sets tabs every .5 inches
239 . ie \\n[.$] .nr PD (v;\\$1)
240 . el .nr PD (.4v >? \n[.V])
243 .\" Redefine these to customize the header & footer
246 . tl '\\*[an-title](\\*[an-section])'\\*[an-extra3]'\\*[an-title](\\*[an-section])'
253 . if o .tl '\\*[an-extra2]'\\*[an-extra1]'\\*[an-page-string]'
254 . if e .tl '\\*[an-page-string]'\\*[an-extra1]'\\*[an-extra2]'
257 . tl '\\*[an-extra2]'\\*[an-extra1]'\\*[an-page-string]'
298 . ie \\n[an-html] \{\
305 . if (\\n[%] > \\n[X]) \{\
306 . nr an-page-letter (\\n[%] - \\n[X])
307 . ds an-page-string \\n[X]\\n[an-page-letter]\"
312 . ds an-page-string "\\*[an-title](\\*[an-section])\"
314 . ds an-page-string \\n[%]\"
330 .if \n[cR] .em an-end
336 . nr an-prevailing-indent \\n[IN]
341 . DEVTAG-NH \\n[an-level]
343 . nr an-no-space-flag 1
355 . nr an-prevailing-indent \\n[IN]
360 . nr an-no-space-flag 1
377 . if \\n[.$] \,\\$*\/
395 . if \\n[.$] .nr an-prevailing-indent (n;\\$1)
398 . ll -\\n[an-margin]u
399 . if !\\n[an-div?] .di an-div
404 . if \\n[need_eo_h]>0 .DEVTAG-EO-H
406 . if \\n[need_col2]>0 .DEVTAG-COL 2
411 . if \\n[an-break-flag] \{\
415 . if \\n[an-no-space-flag] \{\
417 . nr an-no-space-flag 0
419 . if \\n[an-div?] .an-do-tag
427 . \" We must emit the diversion in a separate environment to
428 . \" assure that a possible margin character is printed correctly.
434 . ie (\\n[dl] + \\n[an-tag-sep] > \\n[an-prevailing-indent]) \{\
438 . in (\\n[an-margin]u + \\n[an-prevailing-indent]u)
441 . \" In nroff mode, the indentation value should be an integer multiple
442 . \" of the character cell, to avoid different results compared to the
443 . \" the .ie part above.
449 . in (\\n[an-margin]u + \\n[an-prevailing-indent]u)
460 . nr an-prevailing-indent \\n[IN]
474 . in (\\n[an-margin]u + \\n[an-prevailing-indent]u)
478 . ie (\\n[.$] - 1) .TP "\\$2"
490 . if \\n[.$] .nr an-prevailing-indent (n;\\$1)
491 . in (\\n[an-margin]u + \\n[an-prevailing-indent]u)
498 .ds an-empty \" this is referenced to avoid looping on eg .RB ( \\ )
502 . ds an-result \&\f[R]\\$1\"
504 . while (\\n[.$] >= 2) \{\
505 . as an-result \,\f[I]\\$1\f[R]\/\\$2\\*[an-empty]\"
508 . if \\n[.$] .as an-result \,\f[I]\\$1\"
516 . ds an-result \&\f[I]\\$1\f[R]\"
518 . while (\\n[.$] >= 2) \{\
519 . as an-result \/\\$1\f[I]\,\\$2\f[R]\"
522 . if \\n[.$] .as an-result \/\\$1\"
530 . ds an-result \&\f[I]\\$1\"
532 . while (\\n[.$] >= 2) \{\
533 . as an-result \/\f[B]\\$1\f[I]\,\\$2\\*[an-empty]\"
536 . if \\n[.$] .as an-result \/\f[B]\\$1\"
544 . ds an-result \&\f[B]\\$1\"
546 . while (\\n[.$] >= 2) \{\
547 . as an-result \,\f[I]\\$1\f[B]\/\\$2\\*[an-empty]\"
550 . if \\n[.$] .as an-result \,\f[I]\\$1\"
558 . while (\\n[.$] >= 2) \{\
559 . as an-result \f[R]\\$1\f[B]\\$2\\*[an-empty]\"
562 . if \\n[.$] .as an-result \f[R]\\$1\"
569 . while (\\n[.$] >= 2) \{\
570 . as an-result \f[B]\\$1\f[R]\\$2\\*[an-empty]\"
573 . if \\n[.$] .as an-result \f[B]\\$1\"
579 . nr an-saved-margin\\n[an-level] \\n[an-margin]
580 . nr an-saved-prevailing-indent\\n[an-level] \\n[an-prevailing-indent]
581 . ie \\n[.$] .nr an-margin +(n;\\$1)
582 . el .nr an-margin +\\n[an-prevailing-indent]
584 . nr an-prevailing-indent \\n[IN]
589 . ie \\n[.$] .nr an-level ((;\\$1) <? \\n[an-level])
591 . nr an-level (1 >? \\n[an-level])
592 . nr an-margin \\n[an-saved-margin\\n[an-level]]
593 . nr an-prevailing-indent \\n[an-saved-prevailing-indent\\n[an-level]]
601 . if \\n[an-html] \{\
602 . nr an-TS-ll \\n[.l]
617 .\" dummy equation delimiters
619 . if \\n[an-html] \{\
620 . nr an-EQ-ll \\n[.l]
634 . tm `R' is a string (producing the registered sign), not a macro.
645 .\" these strings must work in compatibility mode also
648 .ie c\[tm] .ds Tm \(tm\"
663 .\" For UTF-8, map some characters conservatively for the sake
664 .\" of easy cut and paste.
666 .if '\*[.T]'utf8' \{\
675 .\" Load man macro extensions.
678 .\" Load local modifications.
683 .\" end of an-old.tmac