Commit | Line | Data |
---|---|---|
ec7bb718 | 1 | .\" |
9c4648c5 KB |
2 | .\" Copyright (c) 1990, 1993 |
3 | .\" The Regents of the University of California. All rights reserved. | |
ec7bb718 CL |
4 | .\" |
5 | .\" %sccs.include.redist.man% | |
6 | .\" | |
9c4648c5 | 7 | .\" @(#)tmac.doc.old 8.1 (Berkeley) %G% |
ec7bb718 CL |
8 | .\" |
9 | .\" Assume nroff on crt's only if cR==1 | |
10 | .if n .nr cR 1 | |
11 | .\" STRING CONSTANTS | |
12 | .\" DITROFF | |
13 | .if t \{\ | |
14 | .\" Address Style | |
15 | .ds aD \fI | |
16 | .\" Argument Reference Style | |
17 | .ds aR \f(CO | |
18 | .\" Interactive Comand Modifier (flag) | |
19 | .ds cM \f(CB | |
20 | .\" Emphasis (in the English sense - usually italics) | |
21 | .ds eM \fI | |
22 | .\" Errno Style | |
23 | .ds eR \fC | |
24 | .\" Environment Variable Style | |
25 | .ds eV \fC | |
26 | .\" Command Line Flag Style | |
27 | .ds fL \f(CB | |
28 | .\" Header String Style | |
29 | .ds Hs \fR | |
30 | .\" Interactive Command Style | |
31 | .ds iC \f(CB | |
32 | .\" Literal Style | |
33 | .ds lI \fC | |
34 | .\" Left Parenthesis Style | |
35 | .ds lP \fR\|(\|\fP | |
36 | .\" Right Parenthesis Style | |
37 | .ds rP \fR\|)\|\fP | |
38 | .\" Options Open Bracket Style | |
39 | .ds lB \fR\^[\^\fP | |
40 | .\" Options Open Bracket Style | |
41 | .ds rB \fR\^]\fP | |
42 | .\" Name (subject of manpage) Style | |
43 | .ds nM \f(CB | |
44 | .\" Pathname Style | |
45 | .ds pA \fC | |
46 | .\" Accepted punctuation string for -mdoc syntax | |
47 | .ds Pu \fR[.,:;(\^)[\^]\fR] | |
48 | .\" Section Header Style | |
49 | .ds Sp \s12\fB | |
50 | .\" .ds sT \s-2\fR | |
51 | .\" Symbolic Emphasis (boldface) | |
52 | .ds sY \f(CB | |
53 | .\" Generic Variable Style | |
54 | .ds vA \fI | |
55 | .\" Volume Title Style | |
56 | .ds Vs \fR | |
57 | .\" Cross Reference STyle (man page only) | |
58 | .ds xR \fC | |
59 | .\" Math * | |
60 | .tr *\(** | |
61 | .\} | |
62 | .\" NROFF | |
63 | .if n \{\ | |
64 | .\" Address Style | |
65 | .ds aD \fI | |
66 | .\" Argument Reference Style | |
67 | .ds aR \fI | |
68 | .\" Interactive Command Modifier (flag) | |
69 | .ds cM \fB | |
70 | .\" Emphasis (in the English sense - usually italics) | |
71 | .ds eM \fI | |
72 | .\" Errno Style | |
73 | .ds eR \fR | |
74 | .\" Environment Variable Style | |
75 | .ds eV \fR | |
76 | .\" Command Line Flag Style | |
77 | .ds fL \fB | |
78 | .\" Header String Style | |
79 | .ds Hs \fR | |
80 | .\" Interactive Command Style | |
81 | .ds iC \fB | |
82 | .\" Literal Style | |
83 | .ds lI \fR | |
84 | .\" Left Parenthesis Style | |
85 | .ds lP \fR\|(\fP | |
86 | .\" Right Parenthesis Style | |
87 | .ds rP \fR\|)\fP | |
88 | .\" Options Open Bracket Style | |
89 | .ds lB \fR\|[\|\fP | |
90 | .\" Options Open Bracket Style | |
91 | .ds rB \fR\|]\fP | |
92 | .\" Name (subject of manpage) Style | |
93 | .ds nM \fB | |
94 | .\" Pathname Style | |
95 | .ds pA \fI | |
96 | .\" Accepted punctuation string for -mdoc syntax | |
97 | .ds Pu [.,;:()[]] | |
98 | .\" Section Header Style | |
99 | .ds Sp \s12\fB | |
100 | .\" .ds sT \s-2\fR | |
101 | .\" .ds sT \s-2\fR | |
102 | .\" Symbol, Mode or Mask Style | |
103 | .ds sY \fB | |
104 | .\" Generic Variable Style | |
105 | .ds vA \fI | |
106 | .\" Volume Title Style | |
107 | .ds Vs \fR | |
108 | .\" Cross Reference Style (man page only) | |
109 | .ds xR \fR | |
110 | .\} | |
111 | .\" INDENTS - Subheaders(sI), Text(Ti) between Section Headers and Subsects | |
112 | .if t \{\ | |
113 | . nr sI \w'\fC,'u*5 | |
114 | . nr Ti \n(sIu | |
115 | .\} | |
116 | .if n \{\ | |
117 | . nr sI .5i | |
118 | . nr Ti .5i | |
119 | .\} | |
120 | .\" Flags for macros names which are used only for .Ds | |
121 | .nr dI 6n | |
122 | .nr dC 1 | |
123 | .nr dL 1 | |
124 | .nr dR 1 | |
125 | .\" INDENT WIDTHS (for Lists) | |
126 | .\" Width Needed for Address Tag (indented amount) | |
127 | .nr Ad 12n | |
128 | .\" Angle Quote Width | |
129 | .nr Aq 12n | |
130 | .\" Width Needed for Argument | |
131 | .nr Ar 12n | |
132 | .\" Width Needed for Column offset | |
133 | .nr Cl 15n | |
134 | .\" Width neeeded for Interactive Command Modifier | |
135 | .nr Cm 10n | |
136 | .\" Width Needed for Complex Expressions | |
137 | .nr Cx 20n | |
138 | .\" Indent Width Needed for Display (right and left margins) | |
139 | .nr Ds 6n | |
140 | .\" Double Quote Width | |
141 | .nr Dq 12n | |
142 | .\" tI is dependent on Ds and used by .Dp | |
143 | .nr tI \n(Dsu | |
144 | .\" Width Needed for Display | |
145 | .nr Em 10n | |
146 | .\" Width Needed for Errno Types | |
147 | .nr Er 15n | |
148 | .\" Width Needed for Environment Variables | |
149 | .nr Ev 15n | |
150 | .\" Width Needed for Example Indent | |
151 | .nr Ex 10n | |
152 | .\" Width Needed for Flag | |
153 | .nr Fl 10n | |
154 | .\" Width Needed for Function | |
155 | .nr Fn 16n | |
156 | .\" Width neeeded for Interactive Command Name | |
157 | .nr Ic 10n | |
158 | .\" Width Needed for Constant | |
159 | .nr Li 16n | |
160 | .\" Width Needed for Math Symbol ? not sure if needed | |
161 | .nr Ms 6n | |
162 | .\" Width Needed for Name | |
163 | .nr Nm 10n | |
164 | .\" Width Needed for Option Begin | |
165 | .nr Ob 14n | |
166 | .\" Width Needed for Option End | |
167 | .nr Oe 14n | |
168 | .\" Width Needed for Option (one line) | |
169 | .nr Op 14n | |
170 | .\" Width Needed for Pathname | |
171 | .nr Pa 32n | |
172 | .\" Parenthesis Quote Width | |
173 | .nr Pq 12n | |
174 | .\" Single Quote Width | |
175 | .nr Sq 12n | |
176 | .\" Width Needed for Symbols, Modes or Masks | |
177 | .nr Sy 6n | |
178 | .\" Width needed for default or unknown text width | |
179 | .nr Tx 22n | |
180 | .\" Width Needed for Generic Variable | |
181 | .nr Va 12n | |
182 | .\" Width Needed for Cross Reference, should the cross ref be annotated. | |
183 | .nr Xr 10n | |
184 | .\" PARAGRAPH SPACE | |
185 | .if t \{\ | |
186 | . nr Pp .5v | |
187 | .\} | |
188 | .if n \{\ | |
189 | . nr Pp 1v | |
190 | .\} | |
191 | .\" PAGE LAYOUT | |
192 | .\" .Li Tagged Paragraph Style - zero if break on oversized tag | |
193 | .\" one if add em space and continue filling line. | |
194 | .nr tP 0 | |
195 | .\" Page Layout Macro | |
196 | .de pL | |
197 | .\" DITROFF | |
198 | .ie t \{\ | |
199 | .\" Header Margin | |
200 | . nr Hm .5i | |
201 | .\" Footer Margin | |
202 | . nr Fm .5i | |
203 | .\" Line length | |
204 | . nr ll 5.5i | |
205 | .\" Line length | |
206 | . ll 5.5i | |
207 | .\" Title length | |
208 | . nr lt 5.5i | |
209 | .\" Title length | |
210 | . lt 5.5i | |
211 | .\" Page offset | |
212 | . nr po 1.56i | |
213 | .\" Page offset | |
214 | . po 1.56i | |
215 | .\" Vertical space distance (from Section headers/Lists/Subsections) | |
216 | . nr vV .5v | |
217 | .\" em space | |
218 | . ds tP \|\|\|\|\|\| | |
219 | .\} | |
220 | .el \{\ | |
221 | .\" Line length | |
222 | . nr ll 78n | |
223 | . ll 78n | |
224 | .\" Title length | |
225 | . nr lt 78n | |
226 | .\" Title length | |
227 | . lt 78n | |
228 | .\" Page offset | |
229 | . nr po 0i | |
230 | .\" Page offset | |
231 | . po 0i | |
232 | .\" Vertical space distance (from Section headers/Lists/Subsections) | |
233 | . nr vV 1v | |
234 | .\" em space | |
235 | . ds tP \0\0 | |
236 | .\" Test for crt | |
237 | . ie \\n(cR .nr Hm 0 | |
238 | . el .nr Hm .5i | |
239 | .\" Footer Margin | |
240 | . nr Fm .5i | |
241 | .\} | |
242 | .. | |
243 | .\" Adjustment mode | |
244 | .if n \{\ | |
245 | .ad l | |
246 | .na | |
247 | .. | |
248 | .\} | |
249 | .\" PREDEFINED STRINGS | |
250 | .if t \{\ | |
251 | . ds <= \(<= | |
252 | . ds >= \(>= | |
253 | . ds Lq \&`` | |
254 | . ds Rq \&'' | |
255 | . ds ua \(ua | |
256 | . ds aa \(aa | |
257 | . ds ga \(ga | |
258 | . ds sR \(aa | |
259 | . ds sL \(ga | |
260 | .\} | |
261 | .if n \{\ | |
262 | . ds <= \&<\&= | |
263 | . ds >= \&>\&= | |
264 | . ds Rq '' | |
265 | . ds Lq `` | |
266 | . ds ua ^ | |
267 | . ds aa ' | |
268 | . ds ga ` | |
269 | . ds sL ` | |
270 | . ds sR ' | |
271 | .\} | |
272 | .\" Note: The distances from the bottom or top of the page are set | |
273 | .\" in headers (macro .hK): to -1.25 for troff, and -1.167 for nroff | |
274 | .\" bottoms, and top is 0. | |
275 | .\" | |
276 | .\" .Dt Document/manpage_title section/chapter volume | |
277 | .\" The \{ and \} is necessary as roff doesn't nest if-elses | |
278 | .\" properly, especially with .ds. | |
279 | .\" TODO: separate Dt into Dt, Ch and Vt for supp docs. | |
280 | .de Dt | |
281 | .ds dT UNTITLED | |
282 | .ds vT Local | |
283 | .ds cH Null | |
284 | .\" Volume and Section Number or Chapter Number | |
285 | .if !"\\$1"" .ds dT \\$1 | |
286 | .if !"\\$2"" \{\ | |
287 | . ds cH \\$2 | |
288 | . if "\\$3"" \{\ | |
289 | . \" Volume Title if none given | |
290 | . if \\$2>=1 .if \\$2<=8 \{\ | |
291 | . ds vT UNIX Reference Manual | |
292 | . if \\$2>1 .if \\$2<6 .ds vT UNIX Programmer's Manual | |
293 | . if "\\$2"8" .ds vT UNIX System Manager's Manual | |
294 | . \} | |
295 | . if "\\$2"unass" .ds vT DRAFT | |
296 | . if "\\$2"draft" .ds vT DRAFT | |
297 | . if "\\$2"paper" .ds vT Null | |
298 | . \} | |
299 | .\} | |
300 | .if !"\\$3"" \{\ | |
301 | . \" Volume Title if given | |
302 | . if "\\$3"USD" .ds vT UNIX User's Supplementary Documents | |
303 | . if "\\$3"PS1" .ds vT UNIX Programmers's Supplementary Documents | |
304 | . if "\\$3"AMD" .ds vT UNIX Ancestral Manual Documents | |
305 | . if "\\$3"SMM" .ds vT UNIX System Manager's Manual | |
306 | . if "\\$3"URM" .ds vT UNIX Reference Manual | |
307 | . if "\\$3"PRM" .ds vT UNIX Programmers's Manual | |
308 | . if "\\$3"IND" .ds vT UNIX Manual Master Index | |
309 | . if "\\$3"CON" .ds vT UNIX Contributed Software Manual | |
310 | . if "\\$3"IMP" .ds vT UNIX Implementation Notes | |
311 | . if "\\$3"HOW" .ds vT UNIX How Pocket Manual | |
312 | . if "\\$3"LOCAL" .ds vT UNIX Local Manual | |
313 | . if "\\*(vT"Local" .ds vT \\$3 | |
314 | .\} | |
315 | .. | |
316 | .\" | |
317 | .\" .Os Operating System/Standard and Release or Version Number | |
318 | .\" | |
319 | .de Os | |
320 | .ds oS Null | |
321 | .if "\\$1"" \{\ | |
43dc17ab CL |
322 | . ds oS \fIBSD Experimental\fP |
323 | .\" . ds oS (\fIBag o' Bits\fP) | |
ec7bb718 CL |
324 | .\} |
325 | .if "\\$2"" \{\ | |
326 | . ds o1 Non-Null | |
327 | .\} | |
328 | .if "\\$1"ATT" \{\ | |
329 | . ds oS AT&T | |
330 | . if "\\$2"" .as oS \0UNIX | |
331 | . if "\\$2"7th" .as oS \07th Edition | |
332 | . if "\\$2"7" .as oS \07th Edition | |
333 | . if "\\$2"III" .as oS \0System III | |
334 | . if "\\$2"3" .as oS \0System III | |
335 | . if "\\$2"V" .as oS \0System V | |
336 | . if "\\$2"V.2" .as oS \0System V Release 2 | |
337 | . if "\\$2"V.3" .as oS \0System V Release 3 | |
338 | . if "\\$2"V.4" .as oS \0System V Release 4 | |
339 | .\} | |
340 | .if "\\$1"BSD" \{\ | |
341 | . if "\\$2"3" .ds oS 3rd Berkeley Distribution | |
342 | . if "\\$2"4" .ds oS 4th Berkeley Distribution | |
343 | . if "\\$2"4.1" .ds oS 4.1 Berkeley Distribution | |
344 | . if "\\$2"4.2" .ds oS 4.2 Berkeley Distribution | |
345 | . if "\\$2"4.3" .ds oS 4.3 Berkeley Distribution | |
346 | . if "\\$2"4.3+" .ds oS 4.3+tahoe Berkeley Distribution | |
ec7bb718 CL |
347 | .\} |
348 | .if "\\*(oS"Null" .ds oS \\$1 | |
349 | .if "\\*(o1"Non-Null" .as oS \0\\$2 | |
350 | .rm o1 | |
351 | .. | |
352 | .\" | |
353 | .\" Standards | |
354 | .\" | |
355 | .\" .de St | |
356 | .\" .ds sT Null | |
357 | .\" .if "\\$1"POSIX" \{\ | |
358 | .\" . ds sT IEEE Standard POSIX | |
359 | .\" . if \\$2 .as sT \0\\$2 | |
360 | .\" .\} | |
361 | .\" .if "\\$1"ANSI" \{\ | |
362 | .\" . ds sT ANSI Standard | |
363 | .\" . if \\$2 .as sT \0\\$2 | |
364 | .\" .\} | |
365 | .\" .if "\\$1"ISO" \{\ | |
366 | .\" . ds sT ISO Standard | |
367 | .\" . if \\$2 .as sT \0\\$2 | |
368 | .\" .\} | |
369 | .\" .if "\\*(sT"Null" .ds sR \\$3 | |
370 | .\" .. | |
371 | .\" | |
372 | .\" .de Gp | |
373 | .\" .ie !"\\$1"" .ds gP \&\\$1 \\$2 \\$3 \\$4 \\$5 | |
374 | .\" .el .ds gP Null | |
375 | .\" .. | |
376 | .\" | |
377 | .\" | |
378 | .de Dd | |
379 | .nr aa 0 | |
380 | .ie \\n(.$>0 \{\ | |
381 | . ie \\n(.$<4 \{\ | |
382 | . ds dD \\$1 \\$2 \\$3 | |
383 | . \} | |
384 | . el .tm Usage: .Dd Month Day, Year (e.g July 4, 1977). | |
385 | .\} | |
386 | .el \{\ | |
387 | . ds dD Epoch | |
388 | .\} | |
389 | .. | |
390 | .\" | |
391 | .\" House Keeping Macro - Make sense of dT, cH, vT, sT, gP and dS | |
392 | .\" TODO: Try to get else's for efficiency | |
393 | .\" TODO: GET RID OF .wh -1.167i (its in v7) | |
394 | .\" | |
395 | .\" | |
396 | .de hK | |
397 | .nr % 1 | |
398 | .ds hT \\*(dT | |
399 | .if !"\\*(cH"Null" \{\ | |
400 | . ie !"\\*(gP"Null" .as hT \|(\|\\*(cH\\*(gP\|) | |
401 | . el .as hT \\|(\\|\\*(cH\\|) | |
402 | .\} | |
403 | .if "\\*(cH"Null" .if !"\\*(gP"Null" .as hT \&\|(\|\\*(gP\|) | |
404 | .if t \{\ | |
405 | . wh 0 hM | |
406 | . wh -1.25i fM | |
407 | .\} | |
408 | .if n \{\ | |
409 | . ie \\n(cR \{\ | |
410 | . hM | |
411 | . wh -0v fM | |
412 | . \} | |
413 | . el \{\ | |
414 | . wh 0 hM | |
415 | . wh -1.167i fM | |
416 | . \} | |
417 | .\} | |
418 | .if n \{\ | |
419 | . if \\n(nl==0:\\n(nl==-1 'bp | |
420 | .\} | |
421 | .if t 'bp | |
422 | .em lM | |
423 | .. | |
424 | .\" Header Macro | |
425 | .\" | |
426 | .de hM | |
427 | .ev 1 | |
428 | .pL | |
429 | .if !\\n(cR 'sp \\n(Hmu | |
430 | .tl @\\*(Hs\\*(hT\fP@\\*(Vs\\*(vT\fP@\\*(Hs\\*(hT\fP@ | |
431 | 'sp \\n(Hmu | |
432 | .ev | |
433 | .. | |
434 | .\" | |
435 | .de fM | |
436 | .ev 1 | |
437 | .pL | |
438 | .if !\\n(cR \{\ | |
439 | ' sp \\n(Fmu | |
440 | . tl @\\*(Hs\\*(oS\fP@\\*(Vs\\*(dD\fP@%@ | |
441 | ' bp | |
442 | .\} | |
443 | .if \\n(cR \{\ | |
444 | .\" . tl @\\*(Hs\\*(oS\fP@\\*(Vs\\*(dD\fP@%@ | |
445 | .\" ' bp | |
446 | .\} | |
447 | .ev | |
448 | .. | |
449 | .de lM | |
450 | .fl | |
451 | .if \\n(cR \{\ | |
452 | . fM | |
453 | . pl \\n(nlu | |
454 | .\} | |
455 | .. | |
456 | .de Pp | |
457 | .sp \\n(Ppu | |
458 | .ne 2 | |
459 | .ns | |
460 | .. | |
461 | .de Lp | |
462 | .Pp | |
463 | .. | |
464 | .de LP | |
465 | .tm Not a \-mdoc command: .LP | |
466 | .. | |
467 | .de PP | |
468 | .tm Not a \-mdoc command: .PP | |
469 | .. | |
470 | .de pp | |
471 | .tm Not a \-mdoc command: .pp | |
472 | .. | |
473 | .de Co | |
474 | .tm Not a \-mdoc command: .Co | |
475 | .. | |
476 | .nr z. 1 | |
477 | .nr z, 1 | |
478 | .nr z: 1 | |
479 | .nr z; 1 | |
480 | .nr z) 1 | |
481 | .nr z( 1 | |
482 | .nr z[ 1 | |
483 | .nr z] 1 | |
484 | .\" This is disgusting, troff not parse if stmt properly | |
485 | .nr z1 0 | |
486 | .nr z2 0 | |
487 | .nr z3 0 | |
488 | .nr z4 0 | |
489 | .nr z5 0 | |
490 | .nr z6 0 | |
491 | .nr z7 0 | |
492 | .nr z8 0 | |
493 | .nr z9 0 | |
494 | .nr z0 0 | |
495 | .nr z# 0 | |
496 | .\" | |
497 | .de Ad | |
498 | .ie \\n(.$==0 \{\ | |
499 | . tm Usage: .Ad address [...] \\*(Pu | |
500 | .\} | |
501 | .el \{\ | |
502 | . ds sV \\*(aD | |
503 | . nr cF \\n(.f | |
504 | . ie "\\*(iM"" .ds f1 \&\\*(sV | |
505 | . el .as f1 \&\\*(sV | |
506 | . nB \\$1 \\$2 \\$3 \\$4 \\$5 \\$6 \\$7 \\$8 \\$9 | |
507 | . ft \\n(cF | |
508 | .\} | |
509 | .. | |
510 | .\" | |
511 | .\" Command Line Argument Macro | |
512 | .\" | |
513 | .de Ar | |
514 | .ie \\n(.$==0 \{\ | |
515 | . ie !"\\*(iM"" .as f1 \&[\|\\*(aRfile\ ...\fP\|] | |
516 | . el \&[\|\\*(aRfile\ ...\fP\|] | |
517 | .\} | |
518 | .el \{\ | |
519 | . ds sV \\*(aR | |
520 | . nr cF \\n(.f | |
521 | . ie "\\*(iM"" .ds f1 \&\\*(sV | |
522 | . el .as f1 \&\\*(sV | |
523 | . nB \\$1 \\$2 \\$3 \\$4 \\$5 \\$6 \\$7 \\$8 \\$9 | |
524 | . ft \\n(cF | |
525 | .\} | |
526 | .. | |
527 | .\" | |
528 | .de Em | |
529 | .ie \\n(.$==0 \{\ | |
530 | . tm Usage: .Em text ... \\*(Pu | |
531 | .\} | |
532 | .el \{\ | |
533 | . ds sV \\*(eM | |
534 | . nr cF \\n(.f | |
535 | . ie "\\*(iM"" .ds f1 \&\\*(sV | |
536 | . el .as f1 \&\\*(sV | |
537 | . nB \\$1 \\$2 \\$3 \\$4 \\$5 \\$6 \\$7 \\$8 \\$9 | |
538 | . ft \\n(cF | |
539 | .\} | |
540 | .. | |
541 | .\" | |
542 | .de Er | |
543 | .ie \\n(.$==0 \{\ | |
544 | . tm Usage: .Er ERRNOTYPE ... \\*(Pu | |
545 | . \} | |
546 | .el \{\ | |
547 | . ds sV \\*(eR | |
548 | . nr cF \\n(.f | |
549 | . ie "\\*(iM"" .ds f1 \&\\*(sV | |
550 | . el .as f1 \&\\*(sV | |
551 | . nB \\$1 \\$2 \\$3 \\$4 \\$5 \\$6 \\$7 \\$8 \\$9 | |
552 | . ft \\n(cF | |
553 | .\} | |
554 | .. | |
555 | .\" | |
556 | .de Ev | |
557 | .ie \\n(.$==0 \{\ | |
558 | . tm Usage: .Ev ENVIRONMENT_VARIABLE(s) ... \\*(Pu | |
559 | . \} | |
560 | .el \{\ | |
561 | . ds sV \\*(eV | |
562 | . nr cF \\n(.f | |
563 | . ie "\\*(iM"" .ds f1 \&\\*(sV | |
564 | . el .as f1 \&\\*(sV | |
565 | . nB \\$1 \\$2 \\$3 \\$4 \\$5 \\$6 \\$7 \\$8 \\$9 | |
566 | . ft \\n(cF | |
567 | .\} | |
568 | .. | |
569 | .\" | |
570 | .\" Flag Name Macro | |
571 | .\" | |
572 | .de Fl | |
573 | .ie \\n(.$==0 \{\ | |
574 | . ie !"\\*(iM"" .as f1 \&\\*(fL\-\fP | |
575 | . el \&\\*(fL\-\fP | |
576 | .\} | |
577 | .el \{\ | |
578 | . nr rZ 0 | |
579 | . sW \\$1 | |
580 | . if (\\n(sW==1&\\n(.$==1) .rZ \\$1 | |
581 | . ds sV \\*(fL | |
582 | . nr cF \\n(.f | |
583 | . ie \\n(rZ \{\ | |
584 | . ie "\\*(iM"" .ds f1 \&\\*(sV\-\f\\n(cF\\$1 | |
585 | . el \&\\*(sV\-\f\\n(cF\\$1 | |
586 | . \} | |
587 | . el \{\ | |
588 | . ie "\\*(iM"" .ds f1 \&\\*(sV | |
589 | . el .as f1 \&\\*(sV | |
590 | . fB \\$1 \\$2 \\$3 \\$4 \\$5 \\$6 \\$7 \\$8 \\$9 | |
591 | . ft \\n(cF | |
592 | . \} | |
593 | .\} | |
594 | .. | |
595 | .\" Interactive Commands Macro | |
596 | .\" | |
597 | .de Ic | |
598 | .ie \\n(.$==0 \{\ | |
599 | . tm Usage: .Ic Interactive Commands(s) ... \\*(Pu | |
600 | .\} | |
601 | .el \{\ | |
602 | . ds sV \\*(iC | |
603 | . nr cF \\n(.f | |
604 | . ie "\\*(iM"" .ds f1 \&\\*(sV | |
605 | . el .as f1 \&\\*(sV | |
606 | . nB \\$1 \\$2 \\$3 \\$4 \\$5 \\$6 \\$7 \\$8 \\$9 | |
607 | . ft \\n(cF | |
608 | .\} | |
609 | .. | |
610 | .\" | |
611 | .\" Interactive Command Modifiers (flags) | |
612 | .\" | |
613 | .de Cm | |
614 | .ie \\n(.$==0 \{\ | |
615 | . tm Usage: .Cm Interactive Command Modifier(s) ... \\*(Pu | |
616 | .\} | |
617 | .el \{\ | |
618 | . ds sV \\*(cM | |
619 | . nr cF \\n(.f | |
620 | . ie "\\*(iM"" .ds f1 \&\\*(sV | |
621 | . el .as f1 \&\\*(sV | |
622 | . nB \\$1 \\$2 \\$3 \\$4 \\$5 \\$6 \\$7 \\$8 \\$9 | |
623 | . ft \\n(cF | |
624 | .\} | |
625 | .. | |
626 | .\" | |
627 | .de Li | |
628 | .ie \\n(.$==0 \{\ | |
629 | . tm Usage: .Li literal ... \\*(Pu | |
630 | . \} | |
631 | .el \{\ | |
632 | . ds sV \\*(lI | |
633 | . nr cF \\n(.f | |
634 | . ie "\\*(iM"" .ds f1 \&\\*(sV | |
635 | . el .as f1 \&\\*(sV | |
636 | . nB \\$1 \\$2 \\$3 \\$4 \\$5 \\$6 \\$7 \\$8 \\$9 | |
637 | . ft \\n(cF | |
638 | .\} | |
639 | .. | |
640 | .\" If in nroff or any other case where the default font | |
641 | .\" is constant width, and literal means zilch, single quote instead. | |
642 | .ie n \{\ | |
643 | .de Ql | |
644 | . ie \\n(.$==0 \{\ | |
645 | . tm Usage: .Ql literal ... \\*(Pu | |
646 | . \} | |
647 | . el \{\ | |
648 | . Sq \\$1 \\$2 \\$3 \\$4 \\$5 \\$6 \\$7 \\$8 \\$9 | |
649 | . \} | |
650 | .. | |
651 | .\} | |
652 | .el \{\ | |
653 | .de Ql | |
654 | . ie \\n(.$==0 \{\ | |
655 | . tm Usage: .Ql literal ... \\*(Pu | |
656 | . \} | |
657 | . el \{\ | |
658 | . Li \\$1 \\$2 \\$3 \\$4 \\$5 \\$6 \\$7 \\$8 \\$9 | |
659 | . \} | |
660 | .. | |
661 | .\} | |
662 | .\" | |
663 | .de Nm | |
664 | .ie \\n(.$==0 \{\ | |
665 | . if "\\*(n1"" .tm Usage: .Nm Name(s) ... \\*(Pu | |
666 | . ie !"\\*(iM"" .as f1 \&\\*(nM\\*(n1\\$1\fP | |
667 | . el \&\\*(nM\\*(n1\\$1\fP | |
668 | .\} | |
669 | .el \{\ | |
670 | . ds sV \\*(nM | |
671 | . nr cF \\n(.f | |
672 | . if \\n(nS \{\ | |
673 | . rs | |
674 | . in -\\n(iSu | |
675 | . ie \\n(nS>1 .br | |
676 | . el \{\ | |
677 | . sW \\$1 | |
678 | . nr iS ((\\n(sW+1)*\\n(fW)u | |
679 | . \} | |
680 | . in +\\n(iSu | |
681 | . ti -\\n(iSu | |
682 | . nr nS \\n(nS+1 | |
683 | . \} | |
684 | . if "\\*(n1"" .ds n1 \\$1 | |
685 | . ie "\\*(iM"" .ds f1 \&\\*(sV | |
686 | . el .as f1 \&\\*(sV | |
687 | . nB \\$1 \\$2 \\$3 \\$4 \\$5 \\$6 \\$7 \\$8 \\$9 | |
688 | . ft \\n(cF | |
689 | .\} | |
690 | .. | |
691 | .\" | |
692 | .de Pa | |
693 | .ie \\n(.$==0 \{\ | |
694 | \&\\*(pA~\fP | |
695 | .\} | |
696 | .el \{\ | |
697 | . ds sV \\*(pA | |
698 | . nr cF \\n(.f | |
699 | . ie "\\*(iM"" .ds f1 \&\\*(sV | |
700 | . el .as f1 \&\\*(sV | |
701 | . nB \\$1 \\$2 \\$3 \\$4 \\$5 \\$6 \\$7 \\$8 \\$9 | |
702 | . ft \\n(cF | |
703 | .\} | |
704 | .. | |
705 | .\" | |
706 | .de Sy | |
707 | .ie \\n(.$==0 \{\ | |
708 | . tm Usage: .Sy Symbolic Text ... \\*(Pu | |
709 | . \} | |
710 | .el \{\ | |
711 | . ds sV \\*(sY | |
712 | . nr cF \\n(.f | |
713 | . ie "\\*(iM"" .ds f1 \&\\*(sV | |
714 | . el .as f1 \&\\*(sV | |
715 | . nB \\$1 \\$2 \\$3 \\$4 \\$5 \\$6 \\$7 \\$8 \\$9 | |
716 | . ft \\n(cF | |
717 | .\} | |
718 | .. | |
719 | .\" | |
720 | .de Ms | |
721 | .ie \\n(.$==0 \{\ | |
722 | . tm Usage: .Ms Math Symbol ... \\*(Pu | |
723 | . \} | |
724 | .el \{\ | |
725 | . ds sV \\*(sY | |
726 | . nr cF \\n(.f | |
727 | . ie "\\*(iM"" .ds f1 \&\\*(sV | |
728 | . el .as f1 \&\\*(sV | |
729 | . nB \\$1 \\$2 \\$3 \\$4 \\$5 \\$6 \\$7 \\$8 \\$9 | |
730 | . ft \\n(cF | |
731 | .\} | |
732 | .. | |
733 | .\" | |
734 | .de Va | |
735 | .ie \\n(.$==0 \{\ | |
736 | . tm Usage: .Va variable_name(s) ... \\*(Pu | |
737 | .\} | |
738 | .el \{\ | |
739 | . ds sV \\*(vA | |
740 | . nr cF \\n(.f | |
741 | . ie "\\*(iM"" .ds f1 \&\\*(sV | |
742 | . el .as f1 \&\\*(sV | |
743 | . nB \\$1 \\$2 \\$3 \\$4 \\$5 \\$6 \\$7 \\$8 \\$9 | |
744 | . ft \\n(cF | |
745 | .\} | |
746 | .. | |
747 | .\" | |
748 | .de nB | |
749 | .hy 0 | |
750 | .if \\n(.$==0 .tm Usage error: called with empty arguments (empty quotes)? | |
751 | .ie \\n(.$>1 \{\ | |
752 | . rZ \\$1 | |
753 | . ie \\n(rZ .as f1 \&\f\\n(cF\\$1\fP | |
754 | . el .as f1 \&\\$1 | |
755 | . rZ \\$2 | |
756 | . if !\\n(rZ \{\ | |
757 | . ie !"\\*(iM""\{\ | |
758 | .\" I surrender | |
759 | . if "\\*(iM"Tp" .as f1 \&\ \& | |
760 | . if "\\*(iM"Dp" .as f1 \&\ \& | |
761 | . if "\\*(iM"Op" .as f1 \&\ \& | |
762 | . if "\\*(iM"Cx" .as f1 \&\ \& | |
763 | . if "\\*(iM"Dq" .as f1 \& \& | |
764 | . if "\\*(iM"Sq" .as f1 \& \& | |
765 | . if "\\*(iM"Pq" .as f1 \& \& | |
766 | . if "\\*(iM"Aq" .as f1 \& \& | |
767 | . \} | |
768 | . el .as f1 \& \& | |
769 | . \} | |
770 | . nB \\$2 \\$3 \\$4 \\$5 \\$6 \\$7 \\$8 \\$9 | |
771 | .\} | |
772 | .el \{\ | |
773 | . rZ \\$1 | |
774 | . ie \\n(rZ .as f1 \&\f\\n(cF\\$1 | |
775 | . el .as f1 \&\\$1\f\\n(cF | |
776 | . if "\\*(iM"" \{\&\\*(f1 | |
777 | . ds f1 | |
778 | . \} | |
779 | . hy | |
780 | .\} | |
781 | .. | |
782 | .de fB | |
783 | .hy 0 | |
784 | .if \\n(.$==0 .tm Usage error: called with empty arguments (empty quotes)? | |
785 | .ie \\n(.$>1 \{\ | |
786 | . rZ \\$1 | |
787 | . ie \\n(rZ .as f1 \&\f\\n(cF\\$1\fP | |
788 | . el \{\ | |
789 | . ie "\\$1"-" .as f1 \&\-\- | |
790 | . el .as f1 \&\-\\$1 | |
791 | . \} | |
792 | . rZ \\$2 | |
793 | . if !\\n(rZ \{\ | |
794 | . ie !"\\*(iM""\{\ | |
795 | .\" I surrender | |
796 | . if "\\*(iM"Tp" .as f1 \&\ \& | |
797 | . if "\\*(iM"Dp" .as f1 \&\ \& | |
798 | . if "\\*(iM"Op" .as f1 \&\ \& | |
799 | . if "\\*(iM"Cx" .as f1 \&\ \& | |
800 | . if "\\*(iM"Dq" .as f1 \& \& | |
801 | . if "\\*(iM"Sq" .as f1 \& \& | |
802 | . if "\\*(iM"Pq" .as f1 \& \& | |
803 | . if "\\*(iM"Aq" .as f1 \& \& | |
804 | . \} | |
805 | . el .as f1 \& \& | |
806 | . \} | |
807 | . fB \\$2 \\$3 \\$4 \\$5 \\$6 \\$7 \\$8 \\$9 | |
808 | .\} | |
809 | .el \{\ | |
810 | . rZ \\$1 | |
811 | . ie \\n(rZ .as f1 \&\f\\n(cF\\$1 | |
812 | . el \{\ | |
813 | . ie "\\$1"-" .as f1 \&\-\-\f\\n(cF | |
814 | . el .as f1 \&\-\\$1\f\\n(cF | |
815 | . \} | |
816 | . if "\\*(iM"" \{\&\\*(f1 | |
817 | . ds f1 | |
818 | . \} | |
819 | . hy | |
820 | .\} | |
821 | .. | |
822 | .\" | |
823 | .\" Single quoted Items | |
824 | .\" eF, sB g[0-9] and f2 | |
825 | .de Sq | |
826 | .nr eF 0 | |
827 | .ie \\n(.$==0 \{\ | |
828 | . ie "\\*(iM"" \&\\*(sL\&\\*sR | |
829 | . el .as f1 \&\\*(sL\&\\*(sR | |
830 | .\} | |
831 | .el \{\ | |
832 | . ie "\\*(iM"" \{\ | |
833 | . ds f1 \&\\*(sL | |
834 | . ds iM Sq | |
835 | . \} | |
836 | . el .as f1 \&\\*(sL | |
837 | . sB \\$1 \\$2 \\$3 \\$4 \\$5 \\$6 \\$7 \\$8 \\$9 | |
838 | . ie \\n(eF>0 .\\*(g1 \\*(g2 \\*(g3 \\*(g4 \\*(g5 \\*(g6 \\*(g7 \\*(g8 | |
839 | . el .as f1 \\*(g0 | |
840 | . as f1 \\*(sR | |
841 | . if !"\\*(f2"" .as f1 \\*(f2 | |
842 | . if "\\*(iM"Sq" \{\ | |
843 | \&\\*(f1 | |
844 | . ds f1 | |
845 | . ds iM | |
846 | . \} | |
847 | . ds f2 | |
848 | . rm g0 g1 g2 g3 g4 g5 g6 g7 g8 g9 | |
849 | . nr eF 0 | |
850 | .\} | |
851 | .. | |
852 | .\" | |
853 | .\" Double quoted Items | |
854 | .de Dq | |
855 | .nr Ef 0 | |
856 | .ie \\n(.$==0 \{\ | |
857 | . ie "\\*(iM"" \&\\*(Lq\&\\*(Rq | |
858 | . el .as f1 \&\\*(Lq\&\\*(Rq | |
859 | .\} | |
860 | .el \{\ | |
861 | . ie "\\*(iM"" \{\ | |
862 | . ds f1 \&\\*(Lq | |
863 | . ds iM Dq | |
864 | . \} | |
865 | . el .as f1 \&\\*(Lq | |
866 | . Sb \\$1 \\$2 \\$3 \\$4 \\$5 \\$6 \\$7 \\$8 \\$9 | |
867 | . ie \\n(Ef>0 .\\*(k1 \\*(k2 \\*(k3 \\*(k4 \\*(k5 \\*(k6 \\*(k7 \\*(k8 | |
868 | . el .as f1 \\*(k0 | |
869 | . as f1 \\*(Rq | |
870 | . if !"\\*(f4"" .as f1 \\*(f4 | |
871 | . if "\\*(iM"Dq" \{\ | |
872 | \&\\*(f1 | |
873 | . ds f1 | |
874 | . ds iM | |
875 | . \} | |
876 | . ds f4 | |
877 | . rm k0 k1 k2 k3 k4 k5 k6 k7 k8 k9 | |
878 | . nr Ef 0 | |
879 | .\} | |
880 | .. | |
881 | .\" | |
882 | .\" Parenthesis quoted Items | |
883 | .de Pq | |
884 | .nr pQ 0 | |
885 | .ie \\n(.$==0 \{\ | |
886 | . ie "\\*(iM"" \&(\&) | |
887 | . el .as f1 \&(\&) | |
888 | .\} | |
889 | .el \{\ | |
890 | . ie "\\*(iM"" \{\ | |
891 | . ds f1 \&( | |
892 | . ds iM Pq | |
893 | . \} | |
894 | . el .as f1 \&( | |
895 | . pB \\$1 \\$2 \\$3 \\$4 \\$5 \\$6 \\$7 \\$8 \\$9 | |
896 | . ie \\n(pQ>0 .\\*(y1 \\*(y2 \\*(y3 \\*(y4 \\*(y5 \\*(y6 \\*(y7 \\*(y8 | |
897 | . el .as f1 \\*(y0 | |
898 | . as f1 \&) | |
899 | . if !"\\*(f3"" .as f1 \\*(f3 | |
900 | . if "\\*(iM"Pq" \{\ | |
901 | \&\\*(f1 | |
902 | . ds f1 | |
903 | . ds iM | |
904 | . \} | |
905 | . ds f3 | |
906 | . rm y0 y1 y2 y3 y4 y5 y6 y7 y8 y9 | |
907 | . nr pQ 0 | |
908 | .\} | |
909 | .. | |
910 | .\" eF, sB g[0-9] and f2 | |
911 | .de sB | |
912 | .hy 0 | |
913 | .ie \\n(.$==0 .tm Sick Logic: macro sB | |
914 | .el \{\ | |
915 | . ie \\n(eF>=1 .nr eF \\n(eF+1 | |
916 | . el \{\ | |
917 | . mN \\$1 | |
918 | . if \\n(mN .nr eF \\n(eF+1 | |
919 | . \} | |
920 | . rZ \\$1 | |
921 | . ie \\n(rZ .as f2 \\$1 | |
922 | . el \{\ | |
923 | . ie \\n(eF<1 .as g\\n(eF \\$1 | |
924 | . el .as g\\n(eF \\$1 | |
925 | . \} | |
926 | . if \\n(.$>1 \{\ | |
927 | . rZ \\$2 | |
928 | . if \\n(rZ==0 \{\ | |
929 | . if \\n(eF<1 \{\ | |
930 | . as g\\n(eF \& \& | |
931 | . \} | |
932 | . \} | |
933 | . sB \\$2 \\$3 \\$4 \\$5 \\$6 \\$7 \\$8 \\$9 | |
934 | . \} | |
935 | .\} | |
936 | .. | |
937 | .de Sb | |
938 | .hy 0 | |
939 | .ie \\n(.$==0 .tm Sick Logic: macro Sb | |
940 | .el \{\ | |
941 | . ie \\n(Ef>=1 .nr Ef \\n(Ef+1 | |
942 | . el \{\ | |
943 | . mN \\$1 | |
944 | . if \\n(mN .nr Ef \\n(Ef+1 | |
945 | . \} | |
946 | . rZ \\$1 | |
947 | . ie \\n(rZ .as f4 \\$1 | |
948 | . el \{\ | |
949 | . ie \\n(Ef<1 .as k\\n(Ef \\$1 | |
950 | . el .as k\\n(Ef \\$1 | |
951 | . \} | |
952 | . if \\n(.$>1 \{\ | |
953 | . rZ \\$2 | |
954 | . if \\n(rZ==0 \{\ | |
955 | . if \\n(Ef<1 \{\ | |
956 | . as k\\n(Ef \& \& | |
957 | . \} | |
958 | . \} | |
959 | . Sb \\$2 \\$3 \\$4 \\$5 \\$6 \\$7 \\$8 \\$9 | |
960 | . \} | |
961 | .\} | |
962 | .. | |
963 | .de pB | |
964 | .hy 0 | |
965 | .ie \\n(.$==0 .tm Sick Logic: macro pB | |
966 | .el \{\ | |
967 | . ie \\n(pQ>=1 .nr pQ \\n(pQ+1 | |
968 | . el \{\ | |
969 | . mN \\$1 | |
970 | . if \\n(mN .nr pQ \\n(pQ+1 | |
971 | . \} | |
972 | . rZ \\$1 | |
973 | . ie \\n(rZ .as f3 \\$1 | |
974 | . el \{\ | |
975 | . ie \\n(pQ<1 .as y\\n(pQ \\$1 | |
976 | . el .as y\\n(pQ \\$1 | |
977 | . \} | |
978 | . if \\n(.$>1 \{\ | |
979 | . rZ \\$2 | |
980 | . if \\n(rZ==0 \{\ | |
981 | . if \\n(pQ<1 \{\ | |
982 | . as y\\n(pQ \& \& | |
983 | . \} | |
984 | . \} | |
985 | . pB \\$2 \\$3 \\$4 \\$5 \\$6 \\$7 \\$8 \\$9 | |
986 | . \} | |
987 | .\} | |
988 | .. | |
989 | .de aQ | |
990 | .hy 0 | |
991 | .ie \\n(.$==0 .tm Bad Syntax: .Aq | |
992 | .el \{\ | |
993 | . ie \\n(aQ>=1 .nr aQ \\n(aQ+1 | |
994 | . el \{\ | |
995 | . mN \\$1 | |
996 | . if \\n(mN .nr aQ \\n(aQ+1 | |
997 | . \} | |
998 | . rZ \\$1 | |
999 | . ie \\n(rZ .as aZ \\$1 | |
1000 | . el \{\ | |
1001 | . ie \\n(aQ<1 .as a\\n(aQ \\$1 | |
1002 | . el .as a\\n(aQ \\$1 | |
1003 | . \} | |
1004 | . if \\n(.$>1 \{\ | |
1005 | . rZ \\$2 | |
1006 | . if \\n(rZ==0 \{\ | |
1007 | . if \\n(aQ<1 \{\ | |
1008 | . as a\\n(aQ \& \& | |
1009 | . \} | |
1010 | . \} | |
1011 | . aQ \\$2 \\$3 \\$4 \\$5 \\$6 \\$7 \\$8 \\$9 | |
1012 | . \} | |
1013 | .\} | |
1014 | .. | |
1015 | .\" Angle Bracket Quoted Items | |
1016 | .de Aq | |
1017 | .nr aQ 0 | |
1018 | .ie \\n(.$==0 \{\ | |
1019 | . ie "\\*(iM"" \&<\&> | |
1020 | . el .as f1 \&<\&> | |
1021 | .\} | |
1022 | .el \{\ | |
1023 | . ie "\\*(iM"" \{\ | |
1024 | . ds f1 \&< | |
1025 | . ds iM Aq | |
1026 | . \} | |
1027 | . el .as f1 \&< | |
1028 | . aQ \\$1 \\$2 \\$3 \\$4 \\$5 \\$6 \\$7 \\$8 | |
1029 | . ie \\n(aQ>0 .\\*(a1 \\*(a2 \\*(a3 \\*(a4 \\*(a5 \\*(a6 \\*(a7 \\*(a8 | |
1030 | . el .as f1 \\*(a0 | |
1031 | . as f1 \&> | |
1032 | . if !"\\*(aZ"" .as f1 \\*(aZ | |
1033 | . if "\\*(iM"Aq" \{\ | |
1034 | \&\\*(f1 | |
1035 | . ds f1 | |
1036 | . ds iM | |
1037 | . \} | |
1038 | . ds aZ | |
1039 | . rm a0 a1 a2 a3 a4 a5 a6 a7 a8 | |
1040 | . nr aQ 0 | |
1041 | .\} | |
1042 | .. | |
1043 | .\" macro Name test, return macro register value if true | |
1044 | .de mN | |
1045 | .nr mN 0 | |
1046 | .sW \\$1 | |
1047 | .if \\n(sW==2 \{\ | |
1048 | . if \\n(\\$1 .nr mN \\n(\\$1 | |
1049 | .\} | |
1050 | .. | |
1051 | .\" Punctuation test (using z registers), return 1 if true | |
1052 | .de rZ | |
1053 | .nr rZ 0 | |
1054 | .sW \\$1 | |
1055 | .if \\n(sW==1 \{\ | |
1056 | . if \\n(z\\$1==1 \{\ | |
1057 | . nr rZ 1 | |
1058 | . \} | |
1059 | .\} | |
1060 | .. | |
1061 | .\" | |
1062 | .\" sW returns number of characters in a string | |
1063 | .if t \{\ | |
1064 | .nr fW \w'\fC,' | |
1065 | .de sW | |
1066 | .nr sW \w'\fC\\$1' | |
1067 | .\} | |
1068 | .if n \{\ | |
1069 | .nr fW \w'0' | |
1070 | .de sW | |
1071 | .nr sW \w'\\$1' | |
1072 | .\} | |
1073 | .ie \\n(sW>=\\n(fW \{\ | |
1074 | . ie \\n(sW%\\n(fW .nr sW (\\n(sW/\\n(fW)+1 | |
1075 | . el .nr sW \\n(sW/\\n(fW | |
1076 | .\} | |
1077 | .el .nr sW 0 | |
1078 | .. | |
1079 | .\" Option Expression - | |
1080 | .\" TODO - add line overflow check (right!) | |
1081 | .nr eP 0 | |
1082 | .ds e1 | |
1083 | .nr oE 0 | |
1084 | .nr hP 0 | |
1085 | .ds hP | |
1086 | .nr Ep 0 | |
1087 | .de Op | |
1088 | .hy 0 | |
1089 | .if "\\*(iM"" \{\ | |
1090 | . ds iM Op | |
1091 | . ds f1 \& | |
1092 | .\} | |
1093 | .as f1 \&\\*(lB | |
1094 | .\" .tm Op: \\$1 \\$2 \\$3 \\$4 \\$5 \\$6 \\$7 \\$8 \\$9 | |
1095 | .dO \\$1 \\$2 \\$3 \\$4 \\$5 \\$6 \\$7 \\$8 \\$9 | |
1096 | .ie !"\\$1"Cx" .oE | |
1097 | .el .nr oE \\n(oE+1 | |
1098 | .. | |
1099 | .\" | |
1100 | .\" just for mike, with every bite of garlic in mind (oops, i mean burp). | |
1101 | .\" dO: go dOwn an argument vector and test each argument to see if | |
1102 | .\" a macro name or punctuation. stash in respective place along | |
1103 | .\" with its arguments. | |
1104 | .nr oO 0 | |
1105 | .nr oP 0 | |
1106 | .nr aO 0 | |
1107 | .de dO | |
1108 | .mN \\$1 | |
1109 | .ie \\n(mN \{\ | |
1110 | . if \\n(oP \{\ | |
1111 | . if \\n(hP \{\ | |
1112 | . nr oZ 1 | |
1113 | . oZ | |
1114 | . Oz | |
1115 | . \} | |
1116 | . if \\n(e1==1 \{\ | |
1117 | .\\*(e1 \\*(e2 \\*(e3 \\*(e4 \\*(e5 \\*(e6 \\*(e7 \\*(e8 \\*(e9 | |
1118 | . \} | |
1119 | . uO | |
1120 | . if !(\\n(oO:\\n(aO) .as f1 \& \& | |
1121 | . \} | |
1122 | . ie "\\$1"Op" \{\ | |
1123 | . as f1 \&\\*(lB | |
1124 | . nr aO \\n(aO+1 | |
1125 | . \} | |
1126 | . el \{\ | |
1127 | . nr eP \\n(eP+1 | |
1128 | . ds e\\n(eP \\$1 | |
1129 | . nr e\\n(eP 1 | |
1130 | . \} | |
1131 | .\} | |
1132 | .el \{\ | |
1133 | .\" .tm dO: $1: \\$1: eP \\n(eP e[\\n(eP]: \\*(e\\n(ePEE | |
1134 | . rZ \\$1 | |
1135 | . ie \\n(rZ \{\ | |
1136 | .\" .tm dO:rZ: $1: \\$1: eP \\n(eP e[\\n(eP]: \\*(e\\n(eP | |
1137 | . nr hP \\n(hP+1 | |
1138 | . ds h\\n(hP \\$1 | |
1139 | . \} | |
1140 | . el \{\ | |
1141 | .\" .tm dO:word $1: \\$1: eP \\n(eP e[\\n(eP]: \\*(e\\n(ePEE | |
1142 | . if \\n(eP==0:\\n(e\\n(eP==1 .nr eP \\n(eP+1 | |
1143 | . if \\n(eZ .as e\\n(eP \& \& | |
1144 | . as e\\n(eP \&\\$1 | |
1145 | .\" . ds e\\n(eP \&\\$1 | |
1146 | . nr eZ \\n(eZ+1 | |
1147 | . \} | |
1148 | .\} | |
1149 | .nr oP 1 | |
1150 | .ie \\n(.$>1 \{\ | |
1151 | . dO \\$2 \\$3 \\$4 \\$5 \\$6 \\$7 \\$8 \\$9 | |
1152 | .\} | |
1153 | .el \{\ | |
1154 | . ie \\n(e1 \{\ | |
1155 | .\\*(e1 \\*(e2 \\*(e3 \\*(e4 \\*(e5 \\*(e6 \\*(e7 \\*(e8 \\*(e9 | |
1156 | . \} | |
1157 | . el \{\ | |
1158 | . as f1 \\*(e1 | |
1159 | . \} | |
1160 | .\} | |
1161 | .. | |
1162 | .\" handle old style arguments such as the arg -Idir | |
1163 | .\" in adb, .Oo is a toggle. | |
1164 | .de Oo | |
1165 | .ie \\n(oO .nr oO 0 | |
1166 | .el .nr oO 1 | |
1167 | .. | |
1168 | .\" stash punctuation | |
1169 | .de oZ | |
1170 | .if \\n(hP>=\\n(oZ \{\ | |
1171 | . nr eP \\n(eP+1 | |
1172 | . ds e\\n(eP \\*(h\\n(oZ | |
1173 | . nr oZ \\n(oZ+1 | |
1174 | . oZ | |
1175 | .\} | |
1176 | .. | |
1177 | .\" clean up punctuation vector | |
1178 | .de Oz | |
1179 | .if \\n(hP>0 \{\ | |
1180 | . rm h\\n(hP | |
1181 | . nr hP \\n(hP-1 | |
1182 | . Oz | |
1183 | .\} | |
1184 | .. | |
1185 | .\" uO: go back up created vector cleaning it up along the way | |
1186 | .de uO | |
1187 | .if \\n(eP>0 \{\ | |
1188 | . rm e\\n(eP | |
1189 | . rr e\\n(eP | |
1190 | . nr eP \\n(eP-1 | |
1191 | . nr oP 0 | |
1192 | . nr eZ 0 | |
1193 | . uO | |
1194 | .\} | |
1195 | .. | |
1196 | .\" option end | |
1197 | .de oE | |
1198 | .uO | |
1199 | .ie \\n(hP \{\ | |
1200 | . as f1 \\*(rB\\*(h1\\*(h2\\*(h3 | |
1201 | . Oz | |
1202 | . nr oZ 0 | |
1203 | .\} | |
1204 | .el \{\ | |
1205 | . as f1 \\*(rB | |
1206 | .\} | |
1207 | .ie "\\*(iM"Op" \{\ | |
1208 | . if \\n(aO .aO | |
1209 | .if t \{\ | |
1210 | . if (\\n(.lu-\\n(.ku-\\n(.ou-(2*\\n(fWu))<\w'\fC\\*(f1'u .br | |
1211 | .\} | |
1212 | .if n \{\ | |
1213 | . nr aa \w'\\*(f1'u | |
1214 | .\" . nr qq \\n(.lu-\\n(.ku-\\n(.ou | |
1215 | .\" \&aa == \\n(aa, f1==\\*(f1, qq==\\n(qq | |
1216 | . if (\\n(.lu-\\n(.ku-\\n(.ou-\\n(aau)<=(8*\\n(fWu) .br | |
1217 | .\} | |
1218 | \&\\*(f1 | |
1219 | . ds iM | |
1220 | . ds f1 | |
1221 | . hy | |
1222 | .\} | |
1223 | .el .nr oE \\n(oE-1 | |
1224 | .. | |
1225 | .de aO | |
1226 | .as f1 \\*(rB | |
1227 | .nr aO \\n(aO-1 | |
1228 | .if \\n(aO >0 .aO | |
1229 | .. | |
1230 | .\" | |
1231 | .de Xr | |
1232 | .if \\n(.$<=1 \{\ | |
1233 | . ie \\n(.$==1 \{\ | |
1234 | . if !"\\*(iM"" .as f1 \&\\*(xR\\$1\fP | |
1235 | . if "\\*(iM"" \&\\*(xR\\$1\fP | |
1236 | . \} | |
1237 | . el .tm Xr Usage: .Xr manpage_name [section#] \\*(Pu | |
1238 | .\} | |
1239 | .if \\n(.$==2 \{\ | |
1240 | . rZ \\$2 | |
1241 | . ie "\\*(iM"" \{\ | |
1242 | . ie \\n(rZ \&\\*(xR\\$1\fP\\$2 | |
1243 | . el \&\\*(xR\\$1\fP(\\$2) | |
1244 | . \} | |
1245 | . el \{\ | |
1246 | . ie \\n(rZ .as f1 \&\\*(xR\\$1\fP\\$2 | |
1247 | . el .as f1 \&\\*(xR\\$1\fP(\\$2) | |
1248 | . \} | |
1249 | .\} | |
1250 | .if \\n(.$>=3 \{\ | |
1251 | . rZ \\$2 | |
1252 | . ie \\n(rZ \{\ | |
1253 | . ie !"\\*(iM"" .as f1 \&\\*(xR\\$1\fP\\$2\\$3\\$4\\$5\\$6\\$7\\$8 | |
1254 | . el \&\\*(xR\\$1\fP\\$2\\$3\\$4\\$5\\$6\\$7\\$8 | |
1255 | . \} | |
1256 | . el \{\ | |
1257 | . rZ \\$3 | |
1258 | . ie \\n(rZ \{\ | |
1259 | . if !"\\*(iM"" \{\ | |
1260 | . as f1 \&\\*(xR\\$1\fP(\\$2)\\$3\\$4\\$5\\$6\\$7\\$8 | |
1261 | . \} | |
1262 | . if "\\*(iM"" \{\ | |
1263 | \&\\*(xR\\$1\fP(\\$2)\\$3\\$4\\$5\\$6\\$7\\$8 | |
1264 | . \} | |
1265 | . \} | |
1266 | . el \{\ | |
1267 | . tm rZ = \\n(rZ the arg is \\$3 | |
1268 | . tm Xr-XX Usage: .Xr manpage_name [section#] \\*(Pu | |
1269 | . \} | |
1270 | . \} | |
1271 | .\} | |
1272 | .. | |
1273 | .\" | |
1274 | .\" | |
1275 | .de Ex | |
1276 | .tm Ex defunct, Use .Dl: \\$1 \\$2 \\$3 \\$4 \\$5 \\$6 \\$7 \\$8 \\$9 | |
1277 | .. | |
1278 | .\" Display (one) Line of text. | |
1279 | .de Dl | |
1280 | .ie "\\*(iM"" \{\ | |
1281 | ' ta .5i 1i 1.5i 2i 2.5i 3i 3.5i 4i 4.5i 5i 5.5i 6i 6.5i | |
1282 | . in \\n(.iu+\\n(Dsu | |
1283 | . mN \\$1 | |
1284 | . ie \\n(mN .\\$1 \\$2 \\$3 \\$4 \\$5 \\$6 \\$7 \\$8 \\$9 | |
1285 | . el \{\ | |
1286 | . nr cF \\n(.f | |
1287 | .\" Literal font is none specified | |
1288 | \&\\*(lI\\$1 \\$2 \\$3 \\$4 \\$5 \\$6 \\$7 \\$8 \\$9 | |
1289 | . ft \\n(cF | |
1290 | . \} | |
1291 | . in \\n(.iu-\\n(Dsu | |
1292 | .\} | |
1293 | .el \{\ | |
1294 | . mN \\$1 | |
1295 | . ie \\n(mN .\\$1 \\$2 \\$3 \\$4 \\$5 \\$6 \\$7 \\$8 | |
1296 | . el \{\ | |
1297 | . nr cF \\n(.f | |
1298 | . ds f1 \&\\*(lI\\&\\$1 \\$2 \\$3 \\$4 \\$5 \\$6 \\$7 \\$8 | |
1299 | . as f1 \&\f\\n(cF | |
1300 | . \} | |
1301 | .\} | |
1302 | .. | |
1303 | .\" | |
1304 | .\" | |
1305 | .\" user set Tagged Paragraph Width (used in both Dp and Tp) | |
1306 | .de Tw | |
1307 | .ie \\n(.$==0 \{\ | |
1308 | . nr aa 0 | |
1309 | .\} | |
1310 | .el \{\ | |
1311 | . mN \\$1 | |
1312 | . ie \\n(sW>2 \{\ | |
1313 | . nr tW (\\n(sW+3)*\\n(fWu) | |
1314 | . \} | |
1315 | . el \{\ | |
1316 | . ie \\n(mN .nr tW \\n(mN | |
1317 | . el .nr tW \\$1 | |
1318 | . \} | |
1319 | . nr tF 1 | |
1320 | .\} | |
1321 | .. | |
1322 | .\" | |
1323 | .de Dw | |
1324 | .Tw \\$1 | |
1325 | .. | |
1326 | .\" | |
1327 | .de Di | |
1328 | .ie \\n(.$==0 \{\ | |
1329 | . nr tI \\n(Dsu | |
1330 | .\} | |
1331 | .el \{\ | |
1332 | . sW \\$1 | |
1333 | . if \\n(sW>=2 \{\ | |
1334 | . nr tI \\$1u | |
1335 | . \} | |
1336 | . if \\n(sW<2 \{\ | |
1337 | . if "\\$1"L" \{\ | |
1338 | . nr tI 0 | |
1339 | . \} | |
1340 | . \} | |
1341 | .\} | |
1342 | .. | |
1343 | .\" tagged paragraph | |
1344 | .\" initialize baby stack variables | |
1345 | .nr np 0 | |
1346 | .nr p1 0 | |
1347 | .ds s\n(np | |
1348 | .\" | |
1349 | .de Tp | |
1350 | .ie "\\$1"" .pE p s np | |
1351 | .el \{\ | |
1352 | . ds iM Tp | |
1353 | . mN \\$1 | |
1354 | . ie \\n(tF \{\ | |
1355 | . ds tC Tw | |
1356 | . nr tC 1 | |
1357 | . nr tF 0 | |
1358 | . \} | |
1359 | . el \{\ | |
1360 | . if !"Tw"\\*(s\\n(np" \{\ | |
1361 | . ie \\n(mN \{\ | |
1362 | . ds tC \\$1 | |
1363 | . nr tW \\n(mN | |
1364 | . \} | |
1365 | . el \{\ | |
1366 | . ds tC Tx | |
1367 | . nr tW \\n(Tx | |
1368 | . \} | |
1369 | . if !"\\*(tC"\\*(s\\n(np" .nr tC 1 | |
1370 | . \} | |
1371 | . \} | |
1372 | . sp \\n(vVu | |
1373 | . if !\\n(cR .ne 2 | |
1374 | . if \\n(tC \{\ | |
1375 | . nr np \\n(np+1 | |
1376 | . nr p\\n(np \\n(tW | |
1377 | . ds s\\n(np \\*(tC | |
1378 | . nr tC 0 | |
1379 | . ds tC | |
1380 | . in \\n(.iu+\\n(p\\n(npu | |
1381 | . \} | |
1382 | . ie \\n(mN \{\ | |
1383 | . ds f1 | |
1384 | . \\$1 \\$2 \\$3 \\$4 \\$5 \\$6 \\$7 \\$8 \\$9 | |
1385 | . if !"\\$1"Cx" .pT st p np | |
1386 | . \} | |
1387 | . el \{\ | |
1388 | . br | |
1389 | . ev 1 | |
1390 | . fi | |
1391 | . di Td | |
1392 | \&\\$1 \\$2 \\$3 \\$4 \\$5 \\$6 \\$7 \\$8 \\$9 | |
1393 | . br | |
1394 | . di | |
1395 | . ev | |
1396 | . na | |
1397 | . ds tD \\*(Td\\ | |
1398 | . pT di p np | |
1399 | . \} | |
1400 | .\} | |
1401 | .. | |
1402 | .\" | |
1403 | .\" | |
1404 | .\" Complex Expression Macro | |
1405 | .\" | |
1406 | .\" TODO: add length across line boundary check (like Li) | |
1407 | .de Cx | |
1408 | .hy 0 | |
1409 | .ie \\n(.$==0 \{\ | |
1410 | . if "\\*(iM"Cx" \{\ | |
1411 | . ds iM | |
1412 | . if \\n(oE .oE | |
1413 | \&\\*(f1 | |
1414 | . ds f1 | |
1415 | . \} | |
1416 | . if "\\*(iM"Tp" .pT st p np | |
1417 | . if "\\*(iM"Dp" .pT st q mp | |
1418 | .\} | |
1419 | .el \{\ | |
1420 | . if "\\*(iM"" \{\ | |
1421 | . ds iM Cx | |
1422 | . ds f1 \& | |
1423 | . \} | |
1424 | . mN \\$1 | |
1425 | .\" Here are the args: `\\$1' `\\$2' `\\$3' `\\$4' | |
1426 | . ie \\n(mN .\\$1 \\$2 \\$3 \\$4 \\$5 \\$6 \\$7 \\$8 \\$9 | |
1427 | . el \{\ | |
1428 | . as f1 \&\\$1 | |
1429 | . if \\n(.$>1 .Cx \\$2 \\$3 \\$4 \\$5 \\$6 \\$7 \\$8 \\$9 | |
1430 | . \} | |
1431 | .\} | |
1432 | .. | |
1433 | .\" Prefix string in default font to content specified string | |
1434 | .de Pf | |
1435 | .Cx \\$1 | |
1436 | .\\$2 \\$3 \\$4 \\$5 | |
1437 | .Cx | |
1438 | .. | |
1439 | .\" Suffix string in default font to content specified string | |
1440 | .de Sf | |
1441 | .Cx \\$1 \\$2 | |
1442 | .Cx \\$3 | |
1443 | .Cx | |
1444 | .. | |
1445 | .\" Simple Option Begin | |
1446 | .de Ob | |
1447 | .hy 0 | |
1448 | .ie "\\*(iM"" \{\ | |
1449 | . ev 2 | |
1450 | . fi | |
1451 | . di oB | |
1452 | .\} | |
1453 | .el \{\ | |
1454 | .tm shouldn't be here | |
1455 | . as f1 \&[ | |
1456 | . mN \\$1 | |
1457 | . ie \\n(mN .\\$1 \\$2 \\$3 \\$4 \\$5 \\$6 \\$7 \\$8 \\$9 | |
1458 | . el \{\ | |
1459 | . as f1 \&\\$1 | |
1460 | . if \\n(.$>1 .Oc \\$2 \\$3 \\$4 \\$5 \\$6 \\$7 \\$8 \\$9 | |
1461 | . \} | |
1462 | .\} | |
1463 | .. | |
1464 | .de Oc | |
1465 | .as f1 \&\\$1 | |
1466 | .if \\n(.$>1 .Oc \\$2 \\$3 \\$4 \\$5 \\$6 \\$7 \\$8 \\$9 | |
1467 | .. | |
1468 | .de Oe | |
1469 | .hy 0 | |
1470 | .ie "\\*(iM"" \{\ | |
1471 | . br | |
1472 | . di | |
1473 | . ev | |
1474 | . ds bO \\*(oB\\ | |
1475 | \&[\\*(bO\&] | |
1476 | .\} | |
1477 | .el \{\ | |
1478 | . as f1 \&] | |
1479 | .\} | |
1480 | .. | |
1481 | .\" White space for Cx | |
1482 | .de Ws | |
1483 | .Cx \&\ \& | |
1484 | .. | |
1485 | .\" tagged paragraph | |
1486 | .\" initialize baby stack variables | |
1487 | .nr mp 0 | |
1488 | .nr q1 0 | |
1489 | .ds r\n(np | |
1490 | .\" | |
1491 | .\" Complex Dp tag | |
1492 | .de Dc | |
1493 | .Dp Cx \\$1 \\$2 \\$3 \\$4 \\$5 \\$6 \\$7 \\$8 | |
1494 | .. | |
1495 | .\" Complex Tp tag | |
1496 | .de Tc | |
1497 | .Tp Cx \\$1 \\$2 \\$3 \\$4 \\$5 \\$6 \\$7 \\$8 | |
1498 | .. | |
1499 | .\" Tag with a flag and an argument with a space | |
1500 | .de Ta | |
1501 | .if "\\$2"" \{\ | |
1502 | . Tp Fl \\$1 | |
1503 | .\} | |
1504 | .el \{\ | |
1505 | . Tp Fl \\$1 | |
1506 | . Cx \&\ \& | |
1507 | . Ar \\$2 \\$3 | |
1508 | . Cx | |
1509 | .\} | |
1510 | .. | |
1511 | .de Da | |
1512 | .Dp Cx Fl \\$1 | |
1513 | .Ws | |
1514 | .Ar \\$2 \\$3 | |
1515 | .Cx | |
1516 | .. | |
1517 | .de To | |
1518 | .Tp Cx Fl \\$1 | |
1519 | .Ar \\$2 \\$3 | |
1520 | .Cx | |
1521 | .. | |
1522 | .de Do | |
1523 | .Dp Cx Fl \\$1 | |
1524 | .Ar \\$2 \\$3 | |
1525 | .Cx | |
1526 | .. | |
1527 | .\" Blended tag toggle | |
1528 | .de Bt | |
1529 | .ie \\n(tP==0 .nr tP 1 | |
1530 | .el .nr tP 0 | |
1531 | .. | |
1532 | .\" Bullet paragraph | |
1533 | .de Bu | |
1534 | .Tp Sy \&\(bu | |
1535 | .. | |
1536 | .\" Display tagged paragraph | |
1537 | .de Dp | |
1538 | .ie "\\$1"" \{\ | |
1539 | . pE q r mp | |
1540 | . sp \\n(vVu | |
1541 | .\} | |
1542 | .el \{\ | |
1543 | . ds iM Dp | |
1544 | . mN \\$1 | |
1545 | . ie \\n(tF \{\ | |
1546 | . ds tC Tw | |
1547 | . nr tC 1 | |
1548 | . nr tF 0 | |
1549 | . \} | |
1550 | . el \{\ | |
1551 | . if !"Tw"\\*(r\\n(mp" \{\ | |
1552 | . ie \\n(mN \{\ | |
1553 | . ds tC \\$1 | |
1554 | . nr tW \\n(mN | |
1555 | . \} | |
1556 | . el \{\ | |
1557 | . ds tC Tx | |
1558 | . nr tW \\n(Tx | |
1559 | . \} | |
1560 | . if !"\\*(tC"\\*(r\\n(mp" .nr tC 1 | |
1561 | . \} | |
1562 | . \} | |
1563 | . if !\\n(cR .ne 2 | |
1564 | . if \\n(tC \{\ | |
1565 | . nr mp \\n(mp+1 | |
1566 | . nr q\\n(mp \\n(tW | |
1567 | . ds r\\n(mp \\*(tC | |
1568 | . nr tC 0 | |
1569 | . ds tC | |
1570 | . ie \\n(tIu==\\n(Dsu .nr i\\n(mp \\n(Dsu | |
1571 | . el \{\ | |
1572 | . nr i\\n(mp \\n(tIu | |
1573 | . nr tI \\n(Dsu | |
1574 | . \} | |
1575 | . in \\n(.iu+\\n(i\\n(mpu | |
1576 | . sp \\n(vVu | |
1577 | . in \\n(.iu+\\n(\\q\\n(mpu | |
1578 | . \} | |
1579 | . ie \\n(mN \{\ | |
1580 | . \\$1 \\$2 \\$3 \\$4 \\$5 \\$6 \\$7 \\$8 \\$9 | |
1581 | . if !"\\$1"Cx" .pT st q mp | |
1582 | . \} | |
1583 | . el \{\ | |
1584 | . br | |
1585 | . ev 1 | |
1586 | . fi | |
1587 | . di Td | |
1588 | \&\\$1 \\$2 \\$3 \\$4 \\$5 \\$6 \\$7 \\$8 \\$9 | |
1589 | . br | |
1590 | . di | |
1591 | . ev | |
1592 | . na | |
1593 | . ds tD \\*(Td\\ | |
1594 | . pT di q mp | |
1595 | . \} | |
1596 | .\} | |
1597 | .. | |
1598 | .\" | |
1599 | .\" .pE number_stack string_stack counter | |
1600 | .de pE | |
1601 | .ie "\\$3"mp" \{\ | |
1602 | . in \\n(.iu-(\\n(\\$1\\n(\\$3u)-(\\n(i\\n(mpu) | |
1603 | . rr i\\n(mp | |
1604 | .\} | |
1605 | .el .in \\n(.iu-\\n(\\$1\\n(\\$3u | |
1606 | .\" .in \\n(.iu-\\n(\\$1\\n(\\$3u | |
1607 | .if \\n(\\$3<=0 .tm Extraneous call .Tp or .Dp | |
1608 | .rr \\$1\\n(\\$3 | |
1609 | .rm \\$2\\n(\\$3 | |
1610 | .nr \\$3 \\n(\\$3-1 | |
1611 | .ds iM | |
1612 | .. | |
1613 | .\" | |
1614 | .\" .pT [st or di] number_stack counter | |
1615 | .de pT | |
1616 | .ie "\\$1"st" \{\ | |
1617 | . nr bb \\n(\\$2\\n(\\$3u | |
1618 | . ti -\\n(bbu | |
1619 | . ie (\\n(\\$2\\n(\\$3u-2n)<=\w'\\*(f1'u \{\&\\*(f1\\*(tP | |
1620 | . if \\n(tP==0 .br | |
1621 | . \} | |
1622 | . el \\*(f1\h'|\\n(\\$2\\n(\\$3u'\c | |
1623 | .\} | |
1624 | .el \{\ | |
1625 | . ti -\\n(\\$2\\n(\\$3u | |
1626 | . ie (\\n(\\$2\\n(\\$3u-2n)<=\\n(dlu \{\&\\*(tD\\*(tP | |
1627 | . if !\\n(tP .br | |
1628 | . \} | |
1629 | . el \\*(tD\h'|\\n(\\$2\\n(\\$3u-'\c | |
1630 | . if t 'ad | |
1631 | .\} | |
1632 | . ds iM | |
1633 | . ds f1 | |
1634 | 'fi | |
1635 | .. | |
1636 | .\" | |
1637 | .\" The new SH | |
1638 | .\" | |
1639 | .de Sh | |
1640 | .\" set Sh state off, check for list state before calling indent (.In) | |
1641 | .nr nS 0 | |
1642 | .nr sE 0 | |
1643 | .ie "\\$1"NAME" \{\ | |
1644 | .\" name state on, housekeep (headers & footers) | |
1645 | . hK | |
1646 | ' in 0 | |
1647 | .\} | |
1648 | .el \{\ | |
1649 | . if "\\$1"SYNOPSIS" .nr nS 1 | |
1650 | . in 0 | |
1651 | .\} | |
1652 | .pL | |
1653 | 'sp | |
1654 | .ns | |
1655 | .ta .5i 1i 1.5i 2i 2.5i 3i 3.5i 4i 4.5i 5i 5.5i 6i 6.5i | |
1656 | .if !\\n(cR .ne 3 | |
1657 | 'fi | |
1658 | \&\fB\\$1 \|\\$2 \|\\$3 \|\\$4 \|\\$5 \|\\$6 \|\\$7 \|\\$8 \|\\$9 | |
1659 | \&\fP\& | |
1660 | .in \\n(.iu+\\n(Tiu | |
1661 | .if "\\$1"SEE" .nr sE 1 | |
1662 | .ns | |
1663 | .. | |
1664 | .\" | |
1665 | .\" Nd minus sign for an en dash used in .Sh Name | |
1666 | .de Nd | |
1667 | \&\-\& \\$1 \\$2 \\$3 \\$4 \\$5 \\$6 \\$7 \\$8 \\$9 | |
1668 | .. | |
1669 | .de Ss | |
1670 | .sp | |
1671 | .ti -.25i | |
1672 | \&\fB\\$1 \|\\$2 \|\\$3 \|\\$4 \|\\$5 \|\\$6 \|\\$7 \|\\$8 \|\\$9 | |
1673 | \&\fP\& | |
1674 | .ta .5i 1i 1.5i 2i 2.5i 3i 3.5i 4i 4.5i 5i 5.5i 6i 6.5i | |
1675 | .if !\\n(cR .ne 2 | |
1676 | .br | |
1677 | .. | |
1678 | .\" .if "\\$1"Ss" .in \\n(.iu+\\n(sIu | |
1679 | .\".. | |
1680 | .\" | |
1681 | .\" | |
1682 | .\" Column Macro | |
1683 | .\" | |
1684 | .hy 0 | |
1685 | .de Cw | |
1686 | .ie \\n(.$==0 \{\ | |
1687 | . br | |
1688 | . in \\n(.iu-\\n(eWu | |
1689 | . ta .5i 1i 1.5i 2i 2.5i 3i 3.5i 4i 4.5i 5i 5.5i 6i 6.5i | |
1690 | .\} | |
1691 | .el \{\ | |
1692 | . Pp | |
1693 | . if \\n(.$==1 \{\ | |
1694 | . ta \w'\\$1 'u | |
1695 | . nr eW \w'\\$1 'u | |
1696 | ' in \\n(.iu+\\n(eWu | |
1697 | . \} | |
1698 | . if \\n(.$==2 \{\ | |
1699 | . ta \w'\\$1 'u +\w'\\$2 'u | |
1700 | . nr eW \w'\\$1 'u+\w'\\$2 'u | |
1701 | ' in \\n(.iu+\\n(eWu | |
1702 | . \} | |
1703 | . if \\n(.$==3 \{\ | |
1704 | . ta \w'\\$1 'u +\w'\\$2 'u +\w'\\$3 'u | |
1705 | . nr eW \w'\\$1 'u+\w'\\$2 'u+\w'\\$3 'u | |
1706 | ' in \\n(.iu+\\n(eWu | |
1707 | . \} | |
1708 | . if \\n(.$==4 \{\ | |
1709 | . ta \w'\\$1 'u +\w'\\$2 'u +\w'\\$3 'u +\w'\\$4 'u | |
1710 | . nr eW \w'\\$1 'u+\w'\\$2 'u+\w'\\$3 'u +\w'\\$4 'u | |
1711 | ' in \\n(.iu+\\n(eWu | |
1712 | . \} | |
1713 | . if \\n(.$==5 \{\ | |
1714 | .ta \w'\\$1 'u +\w'\\$2 'u +\w'\\$3 'u +\w'\\$4 'u +\w'\\$5 'u | |
1715 | .nr eW \w'\\$1 'u +\w'\\$2 'u +\w'\\$3 'u +\w'\\$4 'u +\w'\\$5 'u | |
1716 | ' in \\n(.iu+\\n(eWu | |
1717 | . \} | |
1718 | .\} | |
1719 | .. | |
1720 | .de Cl | |
1721 | .ti -\\n(eWu | |
1722 | .mN \\$1 | |
1723 | .ie \\n(mN .\\$1 \\$2 \\$3 \\$4 \\$5 \\$6 \\$7 \\$8 \\$9 | |
1724 | .el \\$1 \\$2 \\$3 \\$4 \\$5 \\$6 \\$7 \\$8 \\$9 | |
1725 | .. | |
1726 | .nr dQ 0 | |
1727 | .de Ds | |
1728 | .ie !"\\$1"" \{\ | |
1729 | . mN d\\$1 | |
1730 | . if \\n(mN \{\ | |
1731 | . nr dQ \\n(dQ+1 | |
1732 | . d\\$1 | |
1733 | . \} | |
1734 | .\} | |
1735 | .el .br | |
1736 | .nf | |
1737 | .. | |
1738 | .de Df | |
1739 | .ie !"\\$1"" \{\ | |
1740 | . mN d\\$1 | |
1741 | . if \\n(mN \{\ | |
1742 | . nr dQ \\n(dQ+1 | |
1743 | . d\\$1 | |
1744 | . \} | |
1745 | .\} | |
1746 | .el .br | |
1747 | .. | |
1748 | .de Dn | |
1749 | \\$1 \\$2 \\$3 \\$4 \\$5 \\$6 \\$7 \\$8 \\$9 | |
1750 | .nf | |
1751 | .. | |
1752 | .de dI | |
1753 | .nr d\\n(dQ \\n(dIu | |
1754 | .in \\n(.iu+\\n(dIu | |
1755 | .. | |
1756 | .de dC | |
1757 | .nr d\\n(dQ (\\n(.l-\\n(.i)/4u | |
1758 | .in \\n(.iu+\\n(d\\n(dQu | |
1759 | .. | |
1760 | .de dR | |
1761 | .nr d\\n(dQ (\\n(.l/3)u | |
1762 | .in \\n(.iu+\\n(d\\n(dQu | |
1763 | .. | |
1764 | .de dL | |
1765 | .nr aa 0 | |
1766 | .. | |
1767 | .de De | |
1768 | .br | |
1769 | .if \\n(d\\n(dQ \{\ | |
1770 | . in \\n(.iu-\\n(d\\n(dQu | |
1771 | . rr d\\n(dQ | |
1772 | . nr dQ \\n(dQ-1 | |
1773 | .\} | |
1774 | .fi | |
1775 | .. | |
1776 | .\" | |
1777 | .de Fn | |
1778 | .ie \\n(.$==0 \{\ | |
1779 | . tm Usage: .Fn function_name function_arg(s) ... \\*(Pu | |
1780 | .\} | |
1781 | .el \{\ | |
1782 | . nr cF \\n(.f | |
1783 | . ie \\n(.$==1 .ds f1 \&\\*(nM\\$1\fP\\*(lP\fP\\*(rP\fP | |
1784 | . el \{\ | |
1785 | . ds f1 \\*(nM\\$1\fP\\*(lP | |
1786 | . nr aa 0 | |
1787 | . rC \\$2 \\$3 \\$4 \\$5 \\$6 \\$7 \\$8 \\$9 | |
1788 | . \} | |
1789 | . if "\\*(iM"" \{\\&\\*(f1 | |
1790 | . ds f1 | |
1791 | . \} | |
1792 | .\} | |
1793 | .. | |
1794 | .\" | |
1795 | .de rC | |
1796 | .rZ \\$1 | |
1797 | .ie \\n(rZ \{\ | |
1798 | . as f1 \f\\n(cF\\*(rP\f\\n(cF\\$1\\$2\\$3\\$4\\$5\\$6\\$7 | |
1799 | .\} | |
1800 | .el \{\ | |
1801 | . ie \\n(aa .as f1 \fP, \\*(aR\\$1 | |
1802 | . el .as f1 \\*(aR\\$1 | |
1803 | . nr aa 1 | |
1804 | . ie \\n(.$>1 .rC \\$2 \\$3 \\$4 \\$5 \\$6 \\$7 | |
1805 | . el .as f1 \fP\\*(rP\fP | |
1806 | .\} | |
1807 | .. |