groff before CVS: release 1.05
[s-roff.git] / macros / doc-common
blob2d25d0b7867cdabac1e37188fbd6ce43821489ee
1 .\" Copyright (c) 1991 The Regents of the University of California.
2 .\" All rights reserved.
3 .\"
4 .\" Redistribution and use in source and binary forms, with or without
5 .\" modification, are permitted provided that the following conditions
6 .\" are met:
7 .\" 1. Redistributions of source code must retain the above copyright
8 .\"    notice, this list of conditions and the following disclaimer.
9 .\" 2. Redistributions in binary form must reproduce the above copyright
10 .\"    notice, this list of conditions and the following disclaimer in the
11 .\"    documentation and/or other materials provided with the distribution.
12 .\" 3. All advertising materials mentioning features or use of this software
13 .\"    must display the following acknowledgement:
14 .\"     This product includes software developed by the University of
15 .\"     California, Berkeley and its contributors.
16 .\" 4. Neither the name of the University nor the names of its contributors
17 .\"    may be used to endorse or promote products derived from this software
18 .\"    without specific prior written permission.
19 .\"
20 .\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
21 .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
22 .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
23 .\" ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
24 .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
25 .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
26 .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
27 .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
28 .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
29 .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
30 .\" SUCH DAMAGE.
31 .\"
32 .\"     @(#)doc-common  5.7 (Berkeley) 8/5/91
33 .\"
34 .\"     %beginstrip%
35 .nr %A 1
36 .nr %J 1
37 .nr %N 1
38 .nr %O 1
39 .nr %R 1
40 .nr %T 1
41 .nr %V 1
42 .nr Ad 12n
43 .nr Ac 3
44 .nr Ao 12n
45 .nr Ap 2
46 .nr An 12n
47 .nr Aq 12n
48 .nr Ar 12n
49 .nr Bc 3
50 .nr Bl 1
51 .nr Bo 12n
52 .nr Bq 12n
53 .nr Bx 12n
54 .nr Cd 12n
55 .nr Cm 10n
56 .nr Co 15n
57 .nr Cx 20n
58 .nr Dc 3
59 .nr Do 10n
60 .nr Dq 12n
61 .nr Ds 6n
62 .nr Dq 12n
63 .nr Dv 12n
64 .nr tI \n(Dsu
65 .nr Ec 3
66 .nr El 1
67 .nr Eo 12n
68 .nr Eq 12n
69 .nr Em 10n
70 .nr Er 12n
71 .nr Ev 15n
72 .nr Ex 10n
73 .nr Fa 12n
74 .nr Fl 10n
75 .nr Fc 3
76 .nr Fo 16n
77 .nr Fn 16n
78 .nr Hl 1
79 .nr I1 6n
80 .nr I2 12n
81 .nr I3 18n
82 .nr Ic 10n
83 .nr Li 16n
84 .nr Ms 6n
85 .nr Nm 10n
86 .nr No 12n
87 .nr Ns 2
88 .nr Oo 10n
89 .nr Oc 3
90 .nr Op 14n
91 .nr Pa 32n
92 .nr Pf 12n
93 .nr Pc 3
94 .nr Po 12n
95 .nr Pq 12n
96 .nr Ql 16n
97 .nr Qc 3
98 .nr Qo 12n
99 .nr Qq 12n
100 .nr Sc 3
101 .nr So 12n
102 .nr Sq 12n
103 .nr Sy 6n
104 .nr Sx 16n
105 .nr Ra 1
106 .nr Rj 1
107 .nr Rn 1
108 .nr Ro 1
109 .nr Rr 1
110 .nr Rt 1
111 .nr Rv 1
112 .nr Tn 10n
113 .nr Ta 1
114 .nr Tv 1
115 .nr Tx 22n
116 .nr Ux 10n
117 .nr Va 12n
118 .nr Xc 3
119 .nr Xo 1
120 .nr Xr 10n
121 .ds sV \& \&
122 .ds hV \&\ \&
123 .ds iV \& \&
124 .ds tV \&\\t\&
125 .\" Punctuation values (3 = closing punctuation, 4 = opening)
126 .nr z. 3
127 .nr z, 3
128 .nr z: 3
129 .nr z; 3
130 .nr z( 4
131 .nr z) 3
132 .nr z[ 4
133 .nr z] 3
134 .\" Matching pairs
135 .ds z( z)
136 .ds z[ z]
137 .ds z< z>
138 .\" This is disgusting, troff not parse ``if'' stmt properly
139 .nr z0 0
140 .nr z1 0
141 .nr z2 0
142 .nr z3 0
143 .nr z4 0
144 .nr z5 0
145 .nr z6 0
146 .nr z7 0
147 .nr z8 0
148 .nr z9 0
149 .nr z# 0
150 .\" Header assembly macros
151 .de Dt
152 .ds dT UNTITLED
153 .ds vT LOCAL
154 .ds cH Null
155 .if !"\\$1"" .ds dT \\$1
156 .if !"\\$2"" \{\
157 .       ds cH \\$2
158 .\" .   if "\\$3"" \{\
159 .               if \\$2>=1 .if \\$2<=8 \{\
160 .                       ds vT UNIX Reference Manual
161 .                       if \\$2>1 .if \\$2<6 .ds vT UNIX Programmer's Manual
162 .                       if "\\$2"8" .ds vT UNIX System Manager's Manual
163 .                       nr sN \\$2
164 .               \}
165 .               if "\\$2"unass"  .ds vT DRAFT
166 .               if "\\$2"draft"  .ds vT DRAFT
167 .               if "\\$2"paper"  .ds vT UNTITLED
168 .\" .   \}
170 .if !"\\$3"" \{\
171 .       if "\\$3"USD"   .ds vT UNIX User's Supplementary Documents
172 .       if "\\$3"PS1"   .ds vT UNIX Programmers's Supplementary Documents
173 .       if "\\$3"AMD"   .ds vT UNIX Ancestral Manual Documents
174 .       if "\\$3"SMM"   .ds vT UNIX System Manager's Manual
175 .       if "\\$3"URM"   .ds vT UNIX Reference Manual
176 .       if "\\$3"PRM"   .ds vT UNIX Programmers's Manual
177 .       if "\\$3"IND"   .ds vT UNIX Manual Master Index
178 .\" .   if "\\$3"CON"   .ds vT UNIX Contributed Software Manual
179 .\" .   if "\\$3"IMP"   .ds vT UNIX Implementation Notes
180 .\" .   if "\\$3"HOW"   .ds vT UNIX How Pocket Manual
181 .       if "\\$3"LOCAL" .ds vT UNIX Local Manual
182 .       if "\\$3"tahoe" .as vT \ (Tahoe Architecture)
183 .       if "\\$3"vax" .as vT \ (VAX Architecture)
184 .       if "\\$3"hp300" .as vT \ (HP300 Architecture)
185 .       if "\\*(vT"LOCAL" .ds vT \\$3
188 .\" NS Os macro - Operating System (behaviour changes after first call)
189 .\" .   ds vT \f(CODRAFT\fP\ \ \-\-\ \ \\*(vT\ \ \-\-\ \ \f(CODRAFT
190 .\" .   ds dD \f(CODRAFT\fP\ \ \-\-\ \ \\*(dD\ \ \-\-\ \ \f(CODRAFT
191 .\" .ds vT \s+4\f(CODRAFT\fP\s-4\ \ \-\-\ \ \\*(vT\ \ \-\-\ \ \s+4\f(CODRAFT\s-4
192 .\" .ds dD \s+4\f(CODRAFT\fP\s-4\ \ \-\-\ \ \\*(dD\ \ \-\-\ \ \s+4\f(CODRAFT\s-4
193 .de Os
194 .ds oS Null
195 .if "\\$1"" \{\
196 .       ds oS BSD Experimental
198 .if "\\$2"" \{\
199 .       ds aa Non-Null
201 .if "\\$1"ATT"   \{\
202 .       ds oS AT&T
203 .       if "\\$2""    .as oS \0UNIX
204 .       if "\\$2"7th" .as oS \07th Edition
205 .       if "\\$2"7"   .as oS \07th Edition
206 .       if "\\$2"III" .as oS \0System III
207 .       if "\\$2"3"   .as oS \0System III
208 .       if "\\$2"V"   .as oS \0System V
209 .       if "\\$2"V.2" .as oS \0System V Release 2
210 .       if "\\$2"V.3" .as oS \0System V Release 3
211 .       if "\\$2"V.4" .as oS \0System V Release 4
213 .if "\\$1"BSD" \{\
214 .       if "\\$2"3"    .ds oS 3rd Berkeley Distribution
215 .       if "\\$2"4"    .ds oS 4th Berkeley Distribution
216 .       if "\\$2"4.1"  .ds oS 4.1 Berkeley Distribution
217 .       if "\\$2"4.2"  .ds oS 4.2 Berkeley Distribution
218 .       if "\\$2"4.3"  .ds oS 4.3 Berkeley Distribution
219 .       if "\\$2"4.3T" .ds oS 4.3-Tahoe Berkeley Distribution
220 .       if "\\$2"4.3R" .ds oS 4.3-Reno Berkeley Distribution
221 .       if "\\$2"4.3t" .ds oS 4.3-Tahoe Berkeley Distribution
222 .       if "\\$2"4.3r" .ds oS 4.3-Reno Berkeley Distribution
223 .       if "\\$2"4.4"  .ds oS BSD Experimental
225 .if "\\*(oS"Null" .ds oS \0\\$1
226 .if "\\*(aa"Non-Null" .as oS \0\\$2
227 .rm aa
229 .de Dd
230 .if !"\\*(dD"" .nr gX 1
231 .ie \\n(.$>0 \{\
232 .       ie \\n(.$==3 \{\
233 .               ds dD \\$1 \\$2 \\$3
234 .       \}
235 .       el \{\
236 .               if "\\n(mo"1"  .ds dD January
237 .               if "\\n(mo"2"  .ds dD February
238 .               if "\\n(mo"3"  .ds dD March
239 .               if "\\n(mo"4"  .ds dD April
240 .               if "\\n(mo"5"  .ds dD May
241 .               if "\\n(mo"6"  .ds dD June
242 .               if "\\n(mo"7"  .ds dD July
243 .               if "\\n(mo"8"  .ds dD August
244 .               if "\\n(mo"9"  .ds dD September
245 .               if "\\n(mo"10" .ds dD October
246 .               if "\\n(mo"11" .ds dD November
247 .               if "\\n(mo"12" .ds dD December
248 .               as dD \&\ \\n(dy, 19\\n(yr
249 .       \}
251 .el \{\
252 .       ds dD Epoch
255 .de hM
256 .ev 1
258 .if !\\n(cR 'sp \\n(Hmu
259 .tl @\\*(Hs\\*(hT\fP@\\*(Vs\\*(vT\fP@\\*(Hs\\*(hT\fP@
260 'sp \\n(Hmu
263 .de fM
264 .ie \\n(cR 'br
265 .el \{\
266 .       ev 1
267 .       pL
268 .       if !\\n(cR \{\
269 '               sp \\n(Fmu
270 .               tl @\\*(Hs\\*(oS\fP@\\*(Vs\\*(dD\fP@%@
271 '               bp
272 .       \}
273 .       ev
275 .\" .tm IN 444 fM .k == \\n(.k and nl == \\n(nl
277 .de lM
279 .if \\n(cR \{\
280 '       sp
281 .       tl @\\*(Hs\\*(oS\fP@\\*(Vs\\*(dD\fP@%@
282 .       pl \\n(nlu
285 .de Pp
286 .sp \\n(Ppu
287 .ne 2
290 .de Lp
293 .de LP
294 .tm Not a \-mdoc command: .LP
296 .de PP
297 .tm Not a \-mdoc command: .PP
299 .de pp
300 .tm Not a \-mdoc command: .pp
302 .de Nd
303 \&\-\& \\$1 \\$2 \\$3 \\$4 \\$5 \\$6 \\$7 \\$8 \\$9
305 .de Ss
307 .ne 2
308 .ti -.25i
309 \&\\*(sH\\$1 \|\\$2 \|\\$3 \|\\$4 \|\\$5 \|\\$6 \|\\$7 \|\\$8 \|\\$9
310 \&\fP\s0
311 .ta .5i 1i 1.5i 2i 2.5i 3i 3.5i 4i 4.5i 5i 5.5i 6i 6.5i
312 .if !\\n(cR .ne 2
315 .de Rd
316 .tm MDOC REGISTER DUMP
317 .tm Db==\\n(Db register DEBUG MODE
318 .tm L[0-9] registers - stack of list types
319 .tm L0==\\n(L0
320 .tm L1==\\n(L1
321 .tm L2==\\n(L2
322 .tm L3==\\n(L3
323 .tm L4==\\n(L4
324 .tm L5==\\n(L5
325 .tm L6==\\n(L6
326 .tm L7==\\n(L7
327 .tm L8==\\n(L8
328 .tm L9==\\n(L9
329 .tm O[0-9] registers - stack of indent
330 .tm O0==\\n(O0
331 .tm O1==\\n(O1
332 .tm O2==\\n(O2
333 .tm O3==\\n(O3
334 .tm O4==\\n(O4
335 .tm O5==\\n(O5
336 .tm O6==\\n(O6
337 .tm O7==\\n(O7
338 .tm O8==\\n(O8
339 .tm O9==\\n(O9
340 .tm aC==\\n(aC register argument counter (aV/fV)
341 .tm aJ==\\n(aJ register (for vR)
342 .tm aN==\\n(aN register
343 .tm aP==\\n(aP register argument pointer (aV)
344 .tm aT==\\n(aT register argument type
345 .tm aa==\\n(aa local register
346 .tm bK==\\n(bK register - Book Name flag
347 .tm cF==\\n(cF register save current font
348 .tm cI==\\n(cI register - column indent width
349 .tm cZ==\\n(cZ register save current font size
350 .tm dK==\\n(dK register - Date flag
351 .tm d[0-9] registers - display-type stack
352 .tm d0==\\n(d0
353 .tm d1==\\n(d1
354 .tm d2==\\n(d2
355 .tm d3==\\n(d3
356 .tm d4==\\n(d4
357 .tm d5==\\n(d5
358 .tm d6==\\n(d6
359 .tm d7==\\n(d7
360 .tm d8==\\n(d8
361 .tm d9==\\n(d9
362 .tm dZ==\\n(dZ register diversion count
363 .tm fD==\\n(fD register subroutine test (in synopsis only)
364 .tm fV==\\n(fV register argument counter (must set to \\n(.$ prior to
365 .tm fY==\\n(fY register - dick with old style function declarations (fortran)
366 .tm fZ==\\n(fZ register also subroutine count (in synopsis only)
367 .tm h[0-9] register horizontal tag stack (continuous if 1, break if
368 .tm h0==\\n(h0
369 .tm h1==\\n(h1
370 .tm h2==\\n(h2
371 .tm h3==\\n(h3
372 .tm h4==\\n(h4
373 .tm h5==\\n(h5
374 .tm h6==\\n(h6
375 .tm h7==\\n(h7
376 .tm h8==\\n(h8
377 .tm h9==\\n(h9
378 .tm iD==\\n(iD local register
379 .tm iI==\\n(iI local register (indent for inline debug mode)
380 .tm iN==\\n(iN register DEBUG MODE (inline if 1, to stderr if
381 .tm iS==\\n(iS register - indent second command line in a synopsis
382 .tm jK==\\n(jK register - [reference] Journal Name flag
383 .tm jM==\\n(jM local register
384 .tm jN==\\n(jN local register
385 .tm lC==\\n(lC register - list type stack counter
386 .tm lK==\\n(lK register count of lines read from input file
387 .tm nK==\\n(nK register - [reference] issue number flag
388 .tm nU==\\n(nU register count
389 .tm oK==\\n(oK register - [reference] optional information flag
390 .tm oM==\\n(oM register (extension possible)
391 .tm o[0-9] register offset stack (nested tags)
392 .tm o0==\\n(o0
393 .tm o1==\\n(o1
394 .tm o2==\\n(o2
395 .tm o3==\\n(o3
396 .tm o4==\\n(o4
397 .tm o5==\\n(o5
398 .tm o6==\\n(o6
399 .tm o7==\\n(o7
400 .tm o8==\\n(o8
401 .tm o9==\\n(o9
402 .tm oM==\\n(oM register open ended line flag
403 .tm pK==\\n(pK register - [reference] page number flag
404 .tm qK==\\n(qK register - Corporate or Foreign Author flag
405 .tm rK==\\n(rK register - [reference] report flag
406 .tm rS==\\n(rS register - Reference Start flag
407 .tm sM==\\n(sM register - default is one (space mode on)
408 .tm tK==\\n(tK register - reference title flag
409 .tm tP==\\n(tP register tag flag (for diversions)
410 .tm tX==\\n(tX register (initial class)
411 .tm tY==\\n(tY register (next possible lC value)
412 .tm t[0-9] register tag string stack (nested tags)
413 .tm t0==\\n(t0
414 .tm t1==\\n(t1
415 .tm t2==\\n(t2
416 .tm t3==\\n(t3
417 .tm t4==\\n(t4
418 .tm t5==\\n(t5
419 .tm t6==\\n(t6
420 .tm t7==\\n(t7
421 .tm t8==\\n(t8
422 .tm t9==\\n(t9
423 .tm uK==\\n(uK register - reference author(s) counter
424 .tm vK==\\n(vK register - reference volume flag
425 .tm v[0-9] register vertical tag break stack
426 .tm v0==\\n(v0
427 .tm v1==\\n(v1
428 .tm v2==\\n(v2
429 .tm v3==\\n(v3
430 .tm v4==\\n(v4
431 .tm v5==\\n(v5
432 .tm v6==\\n(v6
433 .tm v7==\\n(v7
434 .tm v8==\\n(v8
435 .tm v9==\\n(v9
436 .tm w[0-9] register tag stack (nested tags)
437 .tm w0==\\n(w0
438 .tm w1==\\n(w1
439 .tm w2==\\n(w2
440 .tm w3==\\n(w3
441 .tm w4==\\n(w4
442 .tm w5==\\n(w5
443 .tm w6==\\n(w6
444 .tm w7==\\n(w7
445 .tm w8==\\n(w8
446 .tm w9==\\n(w9
447 .tm xX==\\n(xX local register
448 .tm END OF REGISTER DUMP