|
|
1.1 root 1: .lg 0
2: .ds sd /usr/lib/tmac
3: .\" RT - reset everything to normal state
4: .de RT
5: .if \\n(CS \{\
6: .SR 1
7: .BG\}
8: .if !\\n(1T .BG
9: .ce 0
10: .if !\\n(IK .if !\\n(IF .if !\\n(IX .if !\\n(BE .if !\\n(FT .di
11: .ul 0
12: .if \\n(QP \{\
13: . ll +\\n(QIu
14: . in -\\n(QIu
15: . nr QP -1\}
16: .if \\n(NX<=1 .if \\n(AJ=0 .if \\n(FT=0 .ll \\n(LLu
17: .if !\\n(IF \{\
18: . ps \\n(PS
19: . ie \\n(VS>=41 .vs \\n(VSu
20: . el .vs \\n(VSp\}
21: .ie \\n(IP \{\
22: . in \\n(I\\n(IRu
23: . nr IP -1\}
24: .el .if !\\n(IR \{\
25: . nr I1 \\n(PIu
26: . nr I2 0
27: . nr I3 0
28: . nr I4 0
29: . nr I5 0\}
30: .ft 1
31: .ta 5n 10n 15n 20n 25n 30n 35n 40n 45n 50n 55n 60n 65n 70n 75n 80n
32: .hy \\n(HY
33: .fi
34: ..
35: . \"IZ - initialization
36: .de IZ
37: .so \\*(sd/tmac.sdisp
38: .nr TN 0
39: .em EM
40: . \" ACCENTS say \*'e or \*`e to get e acute or e grave both were 4/10
41: .ds ' \h'\w'e'u*1/10'\z\(aa\h'-\w'e'u*1/10'
42: .ds ` \h'\w'e'u*2/10'\z\(ga\h'-\w'e'u*2/10'
43: . \" UMLAUT \*:u, etc.
44: .if t .ds : \\v'-0.6m'\\h'(1u-(\\\\n(.fu%2u))*0.13m+0.00m'\\z.\\h'0.2m'\\z.\\h'-((1u-(\\\\n(.fu%2u))*0.13m+0.20m)'\\v'0.6m'
45: .if n .ds : \z"
46: . \" TILDE and CIRCUMFLEX
47: .ds ^ \\\\k:\\h'-\\\\n(.fu+1u/2u*2u+\\\\n(.fu-1u*0.13m+0.06m'\\z^\\h'|\\\\n:u'
48: .ds ~ \\\\k:\\h'-\\\\n(.fu+1u/2u*2u+\\\\n(.fu-1u*0.13m+0.06m'\\z~\\h'|\\\\n:u'
49: . \" czech v symbol
50: .ds v \\\\k:\\\\h'+\\\\w'e'u/4u'\\\\v'-0.6m'\\\\s6v\\\\s0\\\\v'0.6m'\\\\h'|\\\\n:u'
51: . \" cedilla
52: .ds , \\\\k:\\\\h'\\\\w'c'u*0.4u'\\\\z,\\\\h'|\\\\n:u'
53: .so \\*(sd/tmac.srefs
54: .ch FO \\n(YYu
55: .if !\\n(FM .nr FM 1i
56: .nr YY -\\n(FMu
57: .nr XX 0 1
58: .nr IP 0
59: .nr PI 5n
60: .nr QI 5n
61: .nr I0 \\n(PIu
62: .nr PS 10
63: .nr VS 12
64: .nr HY 14
65: .ie n \{\
66: . if !\\n(PD .nr PD 1v
67: . nr DV 1v\}
68: .el \{\
69: . if !\\n(PD .nr PD 0.3v
70: . nr DV .5v\}
71: .nr ML 3v
72: .ps \\n(PS
73: .ie \\n(VS>=41 .vs \\n(VSu
74: .el .vs \\n(VSp
75: .nr IR 0
76: .nr I0 0
77: .nr I1 \\n(PIu
78: .nr TB 0
79: .nr SJ \\n(.j
80: .nr LL 6i
81: .ll \\n(LLu
82: .nr LT \\n(.l
83: .lt \\n(LTu
84: .ev 1
85: .if !\\n(FL .nr FL \\n(LLu*11u/12u
86: .ll \\n(FLu
87: .ps 8
88: .vs 10p
89: .ev
90: .if \\*(CH .ds CH "\(hy \\\\n(PN \(hy
91: .wh 0 NP
92: .wh -\\n(FMu FO
93: .ch FO 16i
94: .wh -\\n(FMu FX
95: .ch FO -\\n(FMu
96: .if t .wh -\\n(FMu/2u BT
97: .if n .wh -\\n(FMu/2u-1v BT
98: .nr CW 0-1
99: .nr GW 0-1
100: ..
101: .de TM
102: .if !\\n(IM .if !\\n(MN .pn 0
103: .so \\*(sd/tmac.scover
104: .if !\\n(IM .if !\\n(MN .rm IM MF MR
105: .if n .if !\\n(.T .pi /usr/bin/col
106: .nr ST 1
107: .ds QF TECHNICAL MEMORANDUM
108: .br
109: .ds MN \\$1
110: .if !"\\$1"" .nr MM 1
111: .if !"\\$2"" .nr MC 1
112: .if !"\\$3"" .nr MG 1
113: .nr TN 1
114: .if \\n(.$-1 .ds CA \\$2
115: .if \\n(.$-2 .ds CC \\$3
116: .rm RP S0 S2 AX
117: ..
118: . \" IM - internal memorandum
119: .de IM
120: .nr IM 1
121: .TM "\\$1" "\\$2" "\\$3"
122: .rm QF
123: .RA
124: .rm RA RP MF MR
125: ..
126: . \" MF - memorandum for file.
127: .de MF
128: .nr MN 1
129: .TM "\\$1" "\\$2" "\\$3"
130: .rm MR
131: .rm IM
132: .RA
133: .rm RA RP TM
134: ..
135: . \" MR - memo for record
136: .de MR
137: .nr MN 2
138: .TM "\\$1" "\\$2" "\\$3"
139: .ds QF MEMORANDUM FOR RECORD
140: .rm MF
141: .RA
142: .rm RA RP IM TM
143: ..
144: . \" LT - letter
145: .de LT
146: .if !\\n(PO .ie n .nr PO 1.1i
147: .el .nr PO 1.1i
148: .po \\n(POu
149: .LP
150: .rs
151: .if !"\\$1"" \{\
152: . vs -2p
153: . ta 4.9i 5.45i
154: . sp .2i
155: . nf
156: \s36\(L1\s0 \s18\f(HB\v'-1'A\h'-.1'T\h'-.1'&\h'-.1'T\v'1'\s0
157: . br
158: \s7\l'7i'\s0
159: . br
160: \s8\f(HBAT&T Bell Laboratories\fP \fH600 Mountain Avenue
161: . br
162: Murray Hill, NJ 07974-2070
163: . br
164: 201-582-3000\f1\s0
165: . sp -.75i
166: . vs
167: . fi \}
168: .if n \{\
169: . sp 1i
170: . in 4.55i\}
171: .if t \{\
172: . sp 1.10i
173: . in 4.85i\}
174: .ll 8i
175: \\*(DY
176: .ll
177: .in 0
178: .br
179: .if t .sp 3
180: .if n \{\
181: . sp
182: . na\}
183: .nf
184: .rm CF
185: .de SG \" nested defn
186: .sp 2
187: .ta 3.5i
188: Sincerely,
189: .sp 3
190: \\\\$1
191: .ds CH
192: \\..
193: ..
194: .de OK
195: .br
196: .di
197: .di OD
198: ..
199: .de RP \" released paper
200: .nr ST 2
201: .pn 0
202: .rm SG CS TM QF IM MR MF EG
203: .br
204: ..
205: .de TR \" Comp. Sci. Tech Rept series.
206: .nr ST 3
207: .pn 0
208: .ds MN \\$1
209: .rm SG CS TM QF IM MR M EG
210: .br
211: ..
212: . \"FP - font position for a family
213: .de FP
214: .ds TF \\$1
215: .if '\\$1'palatino'\{\
216: . fp 1 PA
217: . fp 2 PI
218: . fp 3 PB
219: . fp 4 PX\}
220: .if '\\$1'century'\{\
221: . ie '\\*(.T'202'\{\
222: . fp 1 NR Centsb
223: . fp 2 NI CentI
224: . fp 3 NB CentB
225: . fp 4 NX CentBI\}
226: . el \{\
227: . fp 1 NR
228: . fp 2 NI
229: . fp 3 NB
230: . fp 4 NX\}\}
231: .if '\\$1'helvetica'\{\
232: . fp 1 H
233: . fp 2 HI
234: . fp 3 HB
235: . fp 4 HX\}
236: .if '\\$1'bembo'\{\
237: . ie '\\*(.T'202'\{\
238: . fp 1 B1 Bembo
239: . fp 2 B2 BemboI
240: . fp 3 B3 BemboB
241: . fp 4 B4 BemboBI\}
242: . el \{\
243: . fp 1 B1
244: . fp 2 B2
245: . fp 3 B3
246: . fp 4 B4\}\}
247: .if '\\$1'optima'\{\
248: . fp 1 R Optima
249: . fp 2 I OptimaI
250: . fp 3 B OptimaB
251: . fp 4 BI OptimaBI\}
252: .if '\\$1'souvenir'\{\
253: . fp 1 R Souvenir
254: . fp 2 I SouvenirI
255: . fp 3 B SouvenirB
256: . fp 4 BI SouvenirBI\}
257: .if '\\$1'melior'\{\
258: . fp 1 R Melior
259: . fp 2 I MeliorI
260: . fp 3 B MeliorB
261: . fp 4 BI MeliorBI\}
262: .if '\\$1'times'\{\
263: . fp 1 R
264: . fp 2 I
265: . fp 3 B
266: . fp 4 BI\}
267: ..
268: . \"TL - title and initialization
269: .de TL
270: .br
271: .nr TV 1
272: .if \\n(IM .rm CS
273: .if \\n(MN .rm CS
274: .ME
275: .rm ME
276: .di WT
277: .na
278: .fi
279: .ll 5.0i
280: .if n .if \\n(TN .ll 29
281: .if t .if \\n(TN .ll 3.5i
282: .ft 3
283: .ps \\n(PS
284: .if !\\n(TN \{\
285: . ps +2
286: . vs \\n(.s+2
287: . rm CS\}
288: .hy 0
289: ..
290: .de TX
291: .rs
292: .sp .5i
293: .ce 1000
294: .if n .ul 1000
295: .ps 12
296: .ft 3
297: .vs 15p
298: .ne 4
299: .hy 0
300: .WT
301: .hy \\n(HY
302: .ce 0
303: .ul 0
304: ..
305: . \" AU - author(s)
306: .de AU
307: .nr AV 1
308: .ad \\n(SJ
309: .br
310: .di
311: .br
312: .nf
313: .nr NA +1
314: .ds R\\n(NA \\$1
315: .ds E\\n(NA \\$2
316: .di A\\n(NA
317: .ll \\n(LLu
318: .ie t \{\
319: . ie !\\n(TN .ft 2
320: . el \{\
321: . ft 3
322: . ll 1.4i\}\}
323: .el \{\
324: . ie !\\n(TN .ft 1
325: . el \{\
326: . ft 3
327: . ll 16\}\}
328: .ps \\n(PS
329: ..
330: .de AX
331: .ft 1
332: .rs
333: .ce 1000
334: .if n .ul 0
335: .ps \\n(PS
336: .ie \\n(VS>=41 .vs \\n(VSu
337: .el .vs \\n(VSp
338: .if t \{\
339: . sp
340: . A1
341: . sp 0.5
342: . ns
343: . I1
344: . if \\n(NA-1 .sp
345: . A2
346: . if \\n(NA-1 .sp 0.5
347: . ns
348: . I2
349: . if \\n(NA-2 .sp
350: . A3
351: . if \\n(NA-2 .sp 0.5
352: . ns
353: . I3
354: . if \\n(NA-3 .sp
355: . A4
356: . if \\n(NA-3 .sp 0.5
357: . ns
358: . I4
359: . if \\n(NA-4 .sp
360: . A5
361: . if \\n(NA-4 .sp 0.5
362: . ns
363: . I5
364: . if \\n(NA-5 .sp
365: . A6
366: . if \\n(NA-5 .sp 0.5
367: . ns
368: . I6
369: . if \\n(NA-6 .sp
370: . A7
371: . if \\n(NA-6 .sp 0.5
372: . ns
373: . I7
374: . if \\n(NA-7 .sp
375: . A8
376: . if \\n(NA-7 .sp 0.5
377: . ns
378: . I8
379: . if \\n(NA-8 .sp
380: . A9
381: . if \\n(NA-8 .sp 0.5
382: . ns
383: . I9\}
384: .if n \{\
385: . sp 2
386: . A1
387: . sp
388: . ns
389: . I1
390: . if \\n(NA-1 .sp 2
391: . A2
392: . if \\n(NA-1 .sp
393: . ns
394: . I2
395: . if \\n(NA-2 .sp 2
396: . A3
397: . if \\n(NA-2 .sp
398: . ns
399: . I3
400: . if \\n(NA-3 .sp 2
401: . A4
402: . if \\n(NA-3 .sp
403: . ns
404: . I4
405: . if \\n(NA-4 .sp 2
406: . A5
407: . if \\n(NA-4 .sp
408: . ns
409: . I5
410: . if \\n(NA-5 .sp 2
411: . A6
412: . if \\n(NA-5 .sp
413: . ns
414: . I6
415: . if \\n(NA-6 .sp 2
416: . A7
417: . if \\n(NA-6 .sp
418: . ns
419: . I7
420: . if \\n(NA-7 .sp 2
421: . A8
422: . if \\n(NA-7 .sp
423: . ns
424: . I8
425: . if \\n(NA-8 .sp 2
426: . A9
427: . if \\n(NA-8 .sp
428: . ns
429: . I9\}
430: ..
431: . \"AI - authors institution
432: .de AI
433: .br
434: .ft 1
435: .di
436: .di I\\n(NA
437: .nf
438: ..
439: . \"AB - begin an abstract
440: .de AB
441: .br
442: .di
443: .ul 0
444: .ce 0
445: .nr 1T 1
446: .nr IK 1
447: .nr KI 1
448: .di WB
449: .rs
450: .nr AJ 1
451: .ce 1
452: .ft 2
453: .if n .ul
454: .ll \\n(LLu
455: .ie \\n(.$ \{\
456: . if !"\\$1"-" .if !"\\$1"no" \\$1
457: . if !"\\$1"-" .if !"\\$1"no" .sp\}
458: .el \{\
459: ABSTRACT
460: .sp\}
461: .hy \\n(HY
462: .ul 0
463: .ce 0
464: .fi
465: .ft 1
466: .nr OJ \\n(.i
467: .in +\\n(.lu/12u
468: .ll -\\n(.lu/12u
469: .br
470: .ps \\n(PS
471: .ie \\n(VS>=41 .vs \\n(VSu
472: .el .vs \\n(VSp
473: .ti +\\n(PIu
474: ..
475: . \"AE - end of an abstract
476: .de AE
477: .br
478: .di
479: .ll \\n(LLu
480: .ps \\n(PS
481: .ie \\n(VS>=41 .vs \\n(VSu
482: .el .vs \\n(VSp
483: .nr 1T 0
484: .nr IK 0
485: .in \\n(OJu
486: .nr AJ 0
487: .di
488: .ce 0
489: .if \\n(ST=2 .SY
490: .if \\n(ST<3 .rm SY
491: ..
492: . \"S2 - release paper style
493: . \"SY - cover sheet of released paper
494: .de SY
495: .ll \\n(LLu
496: .ns
497: .if \\n(TV .TX
498: .if \\n(AV .AX
499: .rs
500: .ce 0
501: .nf
502: .sp 3
503: .ls 1
504: .pn 2
505: .WB
506: .ls
507: .sp 3v
508: \\*(DY
509: .sp |9i
510: .if \\n(FP .FA
511: .FG
512: .if \\n(GA=1 .nr GA 2
513: .fi
514: ..
515: . \"S2 - first text page, released paper format
516: .de S2
517: .ce 0
518: .br
519: .SY
520: .rm SY
521: .bp 1
522: .if \\n(TV .TX
523: .if \\n(AV .AX
524: .rs
525: .ce 0
526: .ft 1
527: .ad \\n(SJ
528: ..
529: . \"S0- mike lesk conserve paper style
530: .de S0
531: .ce 0
532: .br
533: .ll \\n(LLu
534: .if \\n(TV+\\n(AV .ns
535: .if \\n(TV .TX
536: .if \\n(AV .AX
537: .if \\n(TV+\\n(AV .rs
538: .ce 0
539: .if \\n(TV .sp 2
540: .ls 1
541: .if \\n(FP \{\
542: . FJ
543: . nf
544: . FG
545: . fi
546: . FK
547: . nr FP 0\}
548: .nf
549: .WB
550: .ls
551: .fi
552: .ad \\n(SJ
553: ..
554: . \"S3 - CSTR style
555: .de S3
556: .rs
557: .sp |2.25i
558: .ce 1000
559: .I1
560: .if \\n(NA>1 \{\
561: . sp .5
562: . I2\}
563: .if \\n(NA>2 \{\
564: . sp .5
565: . I3\}
566: .if \\n(NA>3 \{\
567: . sp .5
568: . I4\}
569: .if \\n(NA>4 \{\
570: . sp .5
571: . I5\}
572: .if \\n(NA>5 \{\
573: . sp .5
574: . I6\}
575: .if \\n(NA>6 \{\
576: . sp .5
577: . I7\}
578: .if \\n(NA>7 \{\
579: . sp .5
580: . I8\}
581: .if \\n(NA>8 \{\
582: . sp .5
583: . I9\}
584: .sp |4i
585: . \"check how long title is: can space extra .25 inch if short
586: .di EZ
587: .WT
588: .di
589: .if \\n(dn<1.5v .if \\n(NA=1 .sp .25i
590: .ft 1
591: Computing Science Technical Report No. \\*(MN
592: .sp
593: .if t .ft 3
594: .if n .ul 100
595: .ps 12
596: .vs 15p
597: .hy 0
598: .WT
599: .hy \\n(HY
600: .ft 1
601: .if n .ul 0
602: .ps 10
603: .vs 12p
604: .sp
605: .ft 1
606: .A1
607: .A2
608: .A3
609: .A4
610: .A5
611: .A6
612: .A7
613: .A8
614: .A9
615: .ce 0
616: .sp |8.5i
617: .ce 0
618: \\*(DY
619: .DZ
620: .bp 0
621: .ft 1
622: .S2
623: ..
624: . \"SG - signature
625: .de SG
626: .br
627: .KS
628: .in +2u*\\n(.lu/3u
629: .sp 4
630: .A1
631: .if \\n(NA-1 .sp 4
632: .A2
633: .if \\n(NA-2 .sp 4
634: .A3
635: .if \\n(NA-3 .sp 4
636: .A4
637: .if \\n(NA-4 .sp 4
638: .A5
639: .if \\n(NA>5 .sp 4
640: .A6
641: .if \\n(NA>6 .sp 4
642: .A7
643: .if \\n(NA>7 .sp 4
644: .A8
645: .if \\n(NA>8 .sp 4
646: .A9
647: .in
648: .nf
649: .if \\n(.$<1 .G9
650: .sp -1
651: .if \\n(.$>=1 \\$1
652: .if \\n(.$>=2 \\$2
653: .if \\n(.$>=3 \\$3
654: .if \\n(.$>=4 \\$4
655: .if \\n(.$>=5 \\$5
656: .if \\n(.$>=6 \\$6
657: .if \\n(.$>=7 \\$7
658: .if \\n(.$>=8 \\$8
659: .if \\n(.$>=9 \\$9
660: .fi
661: .br
662: .KE
663: ..
664: . \"Tables. TS - table start, TE - table end
665: .de TS
666: .br
667: .if !\\n(1T .RT
668: .ul 0
669: .ti \\n(.iu
670: .if t .sp 0.5
671: .if n .sp
672: .if \\$1H .TQ
673: .nr IX 1
674: ..
675: .de TQ
676: .di TT
677: .nr IT 1
678: ..
679: .de TH
680: .if \\n(.d>0.5v \{\
681: . nr T. 0
682: . T# 0\}
683: .di
684: .nr TQ \\n(.i
685: .nr HT 1
686: .in 0
687: .mk #a
688: .mk #b
689: .mk #c
690: .mk #d
691: .mk #e
692: .mk #f
693: .TT
694: .in \\n(TQu
695: .mk #T
696: ..
697: .de TE
698: .nr IX 0
699: .if \\n(IT .if !\\n(HT \{\
700: . di
701: . nr EF \\n(.u
702: . nf
703: . TT
704: . if \\n(EF .fi\}
705: .nr IT 0
706: .nr HT 0
707: .if n .sp 1
708: .if t .sp 0.5
709: .rm a+ b+ c+ d+ e+ f+ g+ h+ i+ j+ k+ l+ n+ m+
710: .rr 32 33 34 35 36 37 38 40 79 80 81 82
711: .rr a| b| c| d| e| f| g| h| i| j| k| l| m|
712: .rr a- b- c- d- e- f- g- h- i- j- k- l- m-
713: ..
714: .so \*(sd/tmac.skeep
715: .de EQ \"equation, breakout and display
716: .nr EF \\n(.u
717: .rm EE
718: .nr LE 1 \" 1 is center
719: .ds EL \\$1
720: .if "\\$1"L" \{\
721: . ds EL \\$2
722: . nr LE 0\}
723: .if "\\$1"C" .ds EL \\$2
724: .if "\\$1"R" \{\
725: . ds EL \\$2 \" 2 is right adjust
726: . nr LE 2\}
727: .if "\\$1"I" \{\
728: . nr LE 0
729: . if "\\$3"" .ds EE \\h'|10n'
730: . el .ds EE \\h'\\$3'
731: . ds EL \\$2\}
732: .if \\n(YE .nf
733: .di EZ
734: ..
735: .de EN \" end of a displayed equation
736: .br
737: .di
738: .rm EZ
739: .nr ZN \\n(dn
740: .if \\n(ZN .if !\\n(YE .LP
741: .if !\\n(ZN .if !"\\*(EL"" .nr ZN 1
742: .if \\n(ZN \{\
743: . ie "\\n(.z"" \{\
744: . if t .if !\\n(nl=\\n(PE .sp .5
745: . if n .if !\\n(nl=\\n(PE .sp 1\}
746: . el \{\
747: . if t .if !\\n(.d=\\n(PE .sp .5
748: . if n .if !\\n(.d=\\n(PE .sp 1\}\}
749: 'pc
750: .if \\n(BD .nr LE 0 \" don't center if block display or mark/lineup
751: .if \\n(MK \{\
752: . if \\n(LE=1 .ds EE \\h'|10n'
753: . nr LE 0\}
754: 'lt \\n(.lu
755: .if !\\n(EP .if \\n(ZN \{\
756: . if \\n(LE=1 .tl \(ts\(ts\\*(10\(ts\\*(EL\(ts
757: . if \\n(LE=2 .tl \(ts\(ts\(ts\\*(10\\*(EL\(ts
758: . if !\\n(LE \{\
759: . if !\\n(BD .tl \(ts\\*(EE\\*(10\(ts\(ts\\*(EL\(ts
760: . if \\n(BD .if \\n(BD<\\w\(ts\\*(10\(ts .nr BD \\w\(ts\\*(10\(ts
761: . if \\n(BD \!\\*(10\\t\\*(EL\}\}
762: .if \\n(EP .if \\n(ZN \{\
763: . if \\n(LE=1 .tl \(ts\\*(EL\(ts\\*(10\(ts\(ts
764: . if \\n(LE=2 .tl \(ts\\*(EL\(ts\(ts\\*(10\(ts
765: . if !\\n(LE \{\
766: . if !\\n(BD .tl \(ts\\*(EL\\*(EE\\*(10\(ts\(ts\(ts
767: . if \\n(BD .if \\n(BD<\\w\(ts\\*(10\(ts .nr BD \\w\(ts\\*(10\(ts
768: . if \\n(BD \!\\h'-\\\\n(.iu'\\*(EL\\h'|0'\\*(10\}\}
769: 'lt \\n(LLu
770: 'pc %
771: .if \\n(YE .if \\n(EF .fi
772: .if t .if \\n(ZN .sp .5
773: .if n .if \\n(ZN .sp
774: .ie "\\n(.z"" .nr PE \\n(nl
775: .el .nr PE \\n(.d
776: ..
777: .de PS \" start picture
778: . \" $1 is height, $2 is width, both in inches
779: .if \\$1>0 .sp .35
780: .ie \\$1>0 .nr $1 \\$1
781: .el .nr $1 0
782: .in (\\n(.lu-\\$2)/2u
783: .ne \\$1
784: ..
785: .de PE \" end of picture
786: .in
787: .if \\n($1>0 .sp .65
788: ..
789: . \" .P1/.P2 macros for programs
790: .
791: .nr XP 1 \" delta point size for program
792: .nr XV 1p \" delta vertical for programs
793: .nr XT 8 \" delta tab stop for programs
794: .nr DV .5v \" space before start of program
795: .
796: .de P1
797: .nr P1 .4i \" program indent in .P1
798: .nr OI .4i
799: .if \\n(.$ .nr P1 \\$1
800: .br
801: .nr v \\n(.v
802: .di p1
803: .in \\n(P1u
804: .nf
805: .ps -\\n(XP
806: .vs -\\n(XVu
807: .ft CW
808: .nr t \\n(XT*\\w'x'u
809: .ta 1u*\\ntu 2u*\\ntu 3u*\\ntu 4u*\\ntu 5u*\\ntu 6u*\\ntu 7u*\\ntu 8u*\\ntu 9u*\\ntu 10u*\\ntu 11u*\\ntu 12u*\\ntu 13u*\\ntu 14u*\\ntu
810: ..
811: .
812: .de P2
813: .br
814: .ps \\n(PS
815: .vs \\n(VSp
816: .vs \\nvu
817: .ft 1
818: .in
819: .di
820: .br
821: .sp \\n(DVu
822: .br
823: .if \\n(.$=0 .ne \\n(dnu \" -\\n(DVu
824: .nf
825: .p1
826: .sp \\n(DVu
827: .br
828: .fi
829: ..
830: .
831: .de ME
832: .nr SJ \\n(.j
833: .if \\n(LL .nr LT \\n(LL
834: .nr YE 1
835: .if !\\n(PO .nr PO \\n(.o
836: .if \\n(mo-0 .ds MO January
837: .if \\n(mo-1 .ds MO February
838: .if \\n(mo-2 .ds MO March
839: .if \\n(mo-3 .ds MO April
840: .if \\n(mo-4 .ds MO May
841: .if \\n(mo-5 .ds MO June
842: .if \\n(mo-6 .ds MO July
843: .if \\n(mo-7 .ds MO August
844: .if \\n(mo-8 .ds MO September
845: .if \\n(mo-9 .ds MO October
846: .if \\n(mo-10 .ds MO November
847: .if \\n(mo-11 .ds MO December
848: .if \\n(dw-0 .ds DW Sunday
849: .if \\n(dw-1 .ds DW Monday
850: .if \\n(dw-2 .ds DW Tuesday
851: .if \\n(dw-3 .ds DW Wednesday
852: .if \\n(dw-4 .ds DW Thursday
853: .if \\n(dw-5 .ds DW Friday
854: .if \\n(dw-6 .ds DW Saturday
855: .if "\\*(DY"" .ds DY \\*(MO \\n(dy, 19\\n(yr
856: .if "\\*(CF"" .if n .ds CF "\\*(DY
857: ..
858: . \"EM end up macro - process left over keep-release
859: .de EM
860: .br
861: .if \\n(AJ .tm Syntax error: no .AE
862: .if \\n(IF .ab Missing .FE somewhere
863: .if t .if \\n(TB=0 .wh -1p CM
864: .if \\n(TB \{\&\c
865: ' bp
866: . NP
867: . ch CM 160\}
868: ..
869: . \"NP new page
870: .de NP
871: .rr PE
872: .if \\n(FM+\\n(HM>=\\n(.p \{\
873: . tm Margins bigger than page length.
874: . ab
875: . ex\}
876: .if t .CM
877: .if !\\n(HM .nr HM 1i
878: 'sp \\n(HMu/2u
879: .ev 1
880: .nr PX \\n(.s
881: .nr PF \\n(.f
882: .nr PV \\n(.v
883: .lt \\n(LTu
884: .ps \\n(PS
885: .vs \\n(PS+2
886: .ft 1
887: .if \\n(PO .po \\n(POu
888: .PT
889: .ps \\n(PX
890: .vs \\n(PVu
891: .ft \\n(PF
892: .ev
893: 'sp |\\n(HMu
894: .nr XX 0 1
895: .nr YY 0-\\n(FMu
896: .ch FO 16i
897: .ch FX 17i
898: .ch FO \\n(.pu-\\n(FMu
899: .ch FX \\n(.pu-\\n(FMu
900: .if \\n(MF .FV
901: .nr MF 0
902: .mk
903: .os
904: .ev 1
905: .if !\\n(TD .if \\n(TC<5 .XK
906: .nr TC 0
907: .ns
908: .ev
909: .nr TQ \\n(.i
910: .nr TK \\n(.u
911: .if \\n(IT \{\
912: . in 0
913: . nf
914: . TT
915: . in \\n(TQu
916: . if \\n(TK .fi\
917: \}
918: .mk #T
919: ....if t .if \\n(.o+\\n(LL>7.75i .tm Offset + line length exceeds 7.75 inches, too wide
920: ..
921: .de XK
922: .nr TD 1
923: .nf
924: .ls 1
925: .in 0
926: .rn KJ KL
927: .KL
928: .rm KL
929: .if "\\n(.z"KJ" .di
930: .nr TB 0
931: .if "\\n(.z"KJ" .nr TB 1
932: .br
933: .in
934: .ls
935: .fi
936: .if (\\n(nl+1v)>(\\n(.p-\\n(FM) \{\
937: . if \\n(NX>1 .RC
938: . if \\n(NX<1 .bp\}
939: .nr TD 0
940: ..
941: .de KD
942: .nr KM 0
943: .if "\\n(.z"" .if \\$2>0 .if \\n(nl>\\n(HM \{\
944: . if (\\n(nl+1v)<(\\n(.p-\\n(FM) .di KJ \" full page figure must have new page
945: . sp 15i\}
946: .if "\\n(.z"" .if \\n(nl>\\n(HM .if \\$2=0 .if (\\n(nl+1v)>(\\n(.p-\\n(FM) .sp 15i
947: .if "\\n(.z"KJ" .nr KM 1 \" KM is 1 if in a rediversion of keeps
948: .if \\n(KM>0 \!.KD \\$1 \\$2
949: .nr KR \\n(.t
950: .if \\n(nl<=\\n(HM .nr KR 32767
951: .if \\n(KM=0 \{\
952: . if \\n(KR<\\$1 \{\
953: . di KJ
954: . nr KM 1\}
955: . if \\$2>0 .if (\\n(nl+1v)>(\\n(.p-\\n(FM) .sp 15i\}
956: .rs
957: .if \\n(KM=0 .if \\$2>0 .sp \\n(.tu-\\$1u
958: ..
959: .de PT
960: .lt \\n(LLu
961: .pc %
962: .nr PN \\n%
963: .lt \\n(.lu
964: ..
965: . \"FO - footer of page
966: .de FO
967: .rn FO FZ
968: .if \\n(IT>0 \{\
969: . nr T. 1
970: . if \\n(FC=0 .T# 1
971: . br\}
972: .nr FC +1
973: .if \\n(NX<2 .nr WF 0
974: .nr dn 0
975: .if \\n(FC<=1 .if \\n(XX .XF
976: .rn FZ FO
977: .nr MF 0
978: .if \\n(dn .nr MF 1
979: .if !\\n(WF \{\
980: . nr YY 0-\\n(FMu
981: . ch FO \\n(YYu\}
982: .if !\\n(dn .nr WF 0
983: .if \\n(FC<=1 .if \\n(XX=0 \{\
984: . if \\n(NX>1 .RC
985: . if \\n(NX<1 'bp\}
986: .nr FC -1
987: .if \\n(ML>0 .ne \\n(MLu
988: ..
989: . \"2C - begin double column
990: .de 2C
991: .MC \" default MC is double column
992: ..
993: .de MC \" multiple columns- arg is line length
994: .nr L1 \\n(LL*7/15
995: .if \\n(CW>=0 .nr L1 \\n(CWu
996: .if \\n(.$ .nr L1 \\$1n
997: .if \\n(GW>=0 .nr GW \\n(GWu
998: .if \\n(.$>1 .nr GW \\$2n
999: .nr NQ \\n(LL/\\n(L1
1000: .if \\n(NQ<1 .nr NQ 1
1001: .if \\n(NQ>2 .if (\\n(LL%\\n(L1)=0 .nr NQ -1
1002: .if !\\n(1T \{\
1003: . BG
1004: . if n .sp 4
1005: . if t .sp 2\}
1006: .if \\n(NX=0 .nr NX 1
1007: .if !\\n(NX=\\n(NQ \{\
1008: . RT
1009: . if \\n(NX>1 .bp
1010: . mk
1011: . nr NC 1
1012: . po \\n(POu\}
1013: .if \\n(NQ>1 .hy \\n(HY
1014: .nr NX \\n(NQ
1015: .if \\n(NX>1 .nr CW \\n(L1
1016: .ll \\n(L1u
1017: .nr FL \\n(L1u*11u/12u
1018: .if \\n(NX>1 .if \\n(GW<0 .nr GW (\\n(LL-(\\n(NX*\\n(L1))/(\\n(NX-1)
1019: .nr RO \\n(L1+\\n(GW
1020: .ns
1021: ..
1022: .de RC
1023: .ie \\n(NC>=\\n(NX .C2
1024: .el .C1
1025: ..
1026: .de C1
1027: .rt
1028: .po +\\n(ROu
1029: .nr NC +1
1030: .if \\n(NC>\\n(NX .nr NC 1
1031: .nr XX 0 1
1032: .nr YY 0-\\n(FMu
1033: .if \\n(MF .FV
1034: .ch FX \\n(.pu-\\n(FMu
1035: .ev 1
1036: .if \\n(TB .XK
1037: .nr TC 0
1038: .ev
1039: .nr TQ \\n(.i
1040: .if \\n(IT \{\
1041: . in 0
1042: . TT
1043: . in \\n(TQu\}
1044: .mk #T
1045: .ns
1046: ..
1047: .de C2
1048: .po \\n(POu
1049: .nr NC +1
1050: .if \\n(NC>\\n(NX .nr NC 1
1051: 'bp
1052: ..
1053: . \"1C - return to single column format
1054: .de 1C
1055: .MC \\n(LLu
1056: .hy \\n(HY
1057: ..
1058: .de MH
1059: AT&T Bell Laboratories
1060: Murray Hill, New Jersey 07974
1061: ..
1062: .de PY
1063: AT&T Bell Laboratories
1064: Piscataway, New Jersey 08854
1065: ..
1066: .de BT
1067: .nr PX \\n(.s
1068: .nr PF \\n(.f
1069: .ft 1
1070: .ps \\n(PS
1071: 'lt \\n(LTu
1072: .po \\n(POu
1073: .if o .tl Research Tenth Edition%
1074: .ife .tl %U\s-2NIX\s0 Programmer's Manual
1075: .ft \\n(PF
1076: .ps \\n(PX
1077: ..
1078: . \"PP - paragraph
1079: .de PP
1080: .RT
1081: .if \\n(1T .sp \\n(PDu
1082: .ti +\\n(PIu
1083: ..
1084: . \"SH - (unnumbered) section heading
1085: .de SH
1086: .ti \\n(.iu
1087: .RT
1088: .ie \\n(1T .sp 1
1089: .el .BG
1090: .RT
1091: .ne 4
1092: .ft 3
1093: .if n .ul 1000
1094: ..
1095: . \"NH - numbered heading
1096: .de NH
1097: .RT
1098: .ie \\n(1T .sp 1
1099: .el .BG
1100: .RT
1101: .ne 4
1102: .ft 3
1103: .if n .ul 1000
1104: .nr NS \\$1
1105: .if !\\n(.$ .nr NS 1
1106: .if !\\n(NS .nr NS 1
1107: .nr H\\n(NS +1
1108: .if !\\n(NS-4 .nr H5 0
1109: .if !\\n(NS-3 .nr H4 0
1110: .if !\\n(NS-2 .nr H3 0
1111: .if !\\n(NS-1 .nr H2 0
1112: .if !\\$1 .if \\n(.$ .nr H1 1
1113: .ds SN \\n(H1.
1114: .ti \\n(.iu
1115: .if \\n(NS-1 .as SN \\n(H2.
1116: .if \\n(NS-2 .as SN \\n(H3.
1117: .if \\n(NS-3 .as SN \\n(H4.
1118: .if \\n(NS-4 .as SN \\n(H5.
1119: \\*(SN
1120: ..
1121: . \"BG - begin, execute at first PP
1122: .de BG
1123: .br
1124: .ME
1125: .rm ME
1126: .di
1127: .ce 0
1128: .nr KI 0
1129: .hy \\n(HY
1130: .nr 1T 1
1131: .nr CS 0
1132: .S\\n(ST
1133: .rm S0 S1 S2 S3 OD OK TX AX WT CS TM IM MF MR RP I1 I2 I3 I4 I5 CB E1 E2
1134: .de TL
1135: .ft 3
1136: .sp
1137: .if n .ul 100
1138: .ce 100
1139: .ps +2
1140: \\..
1141: .de AU
1142: .ft 2
1143: .if n .ul 0
1144: .ce 100
1145: .sp
1146: .NL
1147: \\..
1148: .de AI
1149: .ft 1
1150: .ce 100
1151: .if n .ul 0
1152: .if n .sp
1153: .if t .sp .5
1154: .NL
1155: \\..
1156: .RA
1157: .rm RA
1158: .rn FJ FS
1159: .rn FK FE
1160: .nf
1161: .ev 1
1162: .ps \\n(PS-2
1163: .vs \\n(.s+2p
1164: .ev
1165: .if !\\n(KG .nr FP 0
1166: .if \\n(GA>1 .if \\n(KG=0 .nr GA 0 \" next UNIX must be flagged.
1167: .nr KG 0
1168: .if \\n(FP \{\
1169: . FS
1170: . FG
1171: . FE\}
1172: .br
1173: .if n .if \\n(TV .sp 2
1174: .if t .if \\n(TV .sp 1
1175: .fi
1176: .ll \\n(LLu
1177: .ev 1
1178: .if !\\n(FL .nr FL \\n(LLu*11u/12u
1179: .ll \\n(FLu
1180: .ev
1181: ..
1182: .de RA \"redefine abstract macros
1183: .de AB
1184: .br
1185: .if !\\n(1T .BG
1186: .ce 1
1187: .sp 1
1188: .ie \\n(.$ \{\
1189: . if !"\\$1"-" .if !"\\$1"no" \{\
1190: \\$1
1191: .sp\}\}
1192: .el \{\
1193: ABSTRACT
1194: .sp\}
1195: .sp 1
1196: .nr AJ 1
1197: .in +\\n(.lu/12u
1198: .ll -\\n(.lu/12u
1199: .RT
1200: \\..
1201: .de AE
1202: .nr AJ 0
1203: .br
1204: .in 0
1205: .ll \\n(LLu
1206: .ie \\n(VS>=41 .vs \\n(VSu
1207: .el .vs \\n(VSp
1208: \\..
1209: ..
1210: . \"IP - indented paragraph
1211: .de IP
1212: .RT
1213: .if !\\n(IP .nr IP +1
1214: .ie \\n(ID>0 .sp \\n(IDu
1215: .el .sp \\n(PDu
1216: .nr IU \\n(IR+1
1217: .if \\n(.$>1 .nr I\\n(IU \\$2n+\\n(I\\n(IRu
1218: .if \\n(I\\n(IU=0 .nr I\\n(IU \\n(PIu+\\n(I\\n(IRu
1219: .in \\n(I\\n(IUu
1220: .nr TY \\n(TZ-\\n(.i
1221: .nr JQ \\n(I\\n(IU-\\n(I\\n(IR
1222: .ta \\n(JQu \\n(TYuR
1223: .if \\n(.$ \{\
1224: .ti \\n(I\\n(IRu
1225: \&\\$1\t\c\}
1226: ..
1227: . \"LP - left aligned (block) paragraph
1228: .de LP
1229: .ti \\n(.iu
1230: .RT
1231: .if \\n(1T .sp \\n(PDu
1232: ..
1233: .de QP
1234: .ti \\n(.iu
1235: .RT
1236: .if \\n(1T .sp \\n(PDu
1237: .ne 1.1
1238: .nr QP 1
1239: .in +\\n(QIu
1240: .ll -\\n(QIu
1241: .ti \\n(.iu
1242: ..
1243: . \"IE - synonym for .LP
1244: .de IE
1245: .LP
1246: ..
1247: . \"RS - prepare for double indenting
1248: .de RS
1249: .nr IS \\n(IP
1250: .RT
1251: .nr IP \\n(IS
1252: .nr IU \\n(IR
1253: .nr IR +1
1254: .if !\\n(I\\n(IR .nr I\\n(IR \\n(I\\n(IU+\\n(PIu
1255: .in \\n(I\\n(IRu
1256: .nr TY \\n(TZ-\\n(.i
1257: .ta \\n(TYuR
1258: ..
1259: . \"RE - retreat to the left
1260: .de RE
1261: .nr IS \\n(IP
1262: .RT
1263: .nr IP \\n(IS
1264: .if \\n(IR>0 .nr IR -1
1265: .in \\n(I\\n(IRu
1266: ..
1267: .de TC
1268: .nr TZ \\n(.lu
1269: .if \\n(.$ .nr TZ \\$1n
1270: .ta \\n(TZuR
1271: ..
1272: .de TD
1273: .LP
1274: .nr TZ 0
1275: ..
1276: . \"CM - cut mark
1277: .de CM
1278: .po 0
1279: .lt 7.6i
1280: .ft 1
1281: .ps 10
1282: .vs 4p
1283: .if "\\*(.T"aps" .tl '--''--'
1284: .po
1285: .vs
1286: .lt
1287: .ps
1288: .ft
1289: ..
1290: . \" fontname(CW) fontstr(\f(CW) first_arg goes_after goes_before
1291: .de OF
1292: .nr PQ \\n(.f
1293: .hy 0
1294: .if t .if "\\$3"" .ft \\$1
1295: .if t .if !"\\$3"" \{\
1296: \&\\$5\\$2\\$3\\f\\n(PQ\\$4
1297: .hy \\n(HY\}
1298: .if n \{\
1299: . if \\n(.=5 \&\\$5
1300: . ie "\\$3"" .ul 1000
1301: . el .ul 1
1302: . if \\n(.$=3 \&\\$3
1303: . if \\n(.$>3 \&\\$3\\c
1304: . if \\n(.$>3 \&\\$4
1305: . hy \\n(HY\}
1306: ..
1307: . \"B - bold font
1308: .de B
1309: .OF 3 \\f3 "\\$1" "\\$2" "\\$3"
1310: ..
1311: .de BI \" bold italic -- only on 202
1312: .OF 4 \\f4 "\\$1" "\\$2" "\\$3"
1313: ..
1314: . \"R - Roman font
1315: .de R
1316: .nr PQ \\n(.f
1317: .ft 1
1318: .ie \\n(.$>0 \&\\$1\f\\n(PQ\\$2
1319: .el .if n .ul 0
1320: ..
1321: . \"I - italic font
1322: .de I
1323: .OF 2 \\f2 "\\$1" "\\$2" "\\$3"
1324: ..
1325: . \"CW - constant width font
1326: .de CW
1327: .OF CW \\f(CW "\\$1" "\\$2" "\\$3"
1328: ..
1329: . \"TA - tabs set in ens or chars
1330: .de TA
1331: .ta \\$1n \\$2n \\$3n \\$4n \\$5n \\$6n \\$7n \\$8n \\$9n
1332: ..
1333: . \"SM - make smaller size
1334: .de SM
1335: .ie \\n(.$ \&\\$3\s-2\\$1\s0\\$2
1336: .el .ps -2
1337: ..
1338: . \"LG - make larger size
1339: .de LG
1340: .ps +2
1341: ..
1342: . \"NL - return to normal size
1343: .de NL
1344: .ps \\n(PS
1345: ..
1346: . \"DA - force date; ND - no date or new date.
1347: .de DA
1348: .if \\n(.$ .ds DY \\$1 \\$2 \\$3 \\$4
1349: .ds CF \\*(DY
1350: ..
1351: .de ND
1352: .ME
1353: .rm ME
1354: .ds DY \\$1 \\$2 \\$3 \\$4
1355: .rm CF
1356: ..
1357: .de FN
1358: .FS
1359: ..
1360: . \"FS - begin footnote
1361: .de FJ
1362: 'ce 0
1363: .nr IA \\n(IP
1364: .nr IB \\n(.i
1365: .ev1
1366: .ll \\n(FLu
1367: .da FF
1368: .br
1369: .if \\n(IF \{\
1370: . tm Footnote within footnote-illegal.
1371: . ab\}
1372: .nr IF 1
1373: .if !\\n+(XX-1 .FA
1374: ..
1375: . \"FE - footnote end
1376: .de FK
1377: .br
1378: .in 0
1379: .nr IF 0
1380: .di
1381: .ev
1382: .if !\\n(XX-1 .nr dn +\\n(.v
1383: .nr YY -\\n(dn
1384: .if !\\n(NX .nr WF 1
1385: .if \\n(dl>\\n(CW .nr WF 1
1386: .ie (\\n(nl+\\n(.v)<=(\\n(.p+\\n(YY) .ch FO \\n(YYu
1387: .el \{\
1388: . if \\n(nl>(\\n(HM+1.5v) .ch FO \\n(nlu+\\n(.vu
1389: . if \\n(nl+\\n(FM+1v>\\n(.p .ch FX \\n(.pu-\\n(FMu+2v
1390: . if \\n(nl<=(\\n(HM+1.5v) .ch FO \\n(HMu+(4u*\\n(.vu)\}
1391: .nr IP \\n(IA
1392: 'in \\n(IBu
1393: ..
1394: .\" First page footer.
1395: .de FS
1396: .ev1
1397: .br
1398: .ll \\n(FLu
1399: .da FG
1400: ..
1401: .de FE
1402: .br
1403: .di
1404: .nr FP \\n(dn
1405: .if !\\n(1T .nr KG 1 \"not in abstract repeat next page.
1406: .if "\\n(.z"OD" .nr KG 0 \" if in OK, don't repeat.
1407: .ev
1408: ..
1409: .de FA
1410: .if n __________________________
1411: .if t \l'1i'
1412: .br
1413: ..
1414: .de FV
1415: .FS
1416: .nf
1417: .ls 1
1418: .FY
1419: .ls
1420: .fi
1421: .FE
1422: ..
1423: .de FX
1424: .if \\n(XX \{\
1425: . di FY
1426: . ns\}
1427: ..
1428: .de XF
1429: .if \\n(nlu+1v>(\\n(.pu-\\n(FMu) .ch FX \\n(nlu+1.9v
1430: .ev1
1431: .nf
1432: .ls 1
1433: .FF
1434: .rm FF
1435: .nr XX 0 1
1436: .br
1437: .ls
1438: .di
1439: .fi
1440: .ev
1441: ..
1442: .de FL
1443: .ev1
1444: .nr FL \\$1n
1445: .ll \\$1
1446: .ev
1447: ..
1448: .de HO
1449: AT&T Bell Laboratories
1450: Holmdel, New Jersey 07733
1451: ..
1452: .de WH
1453: AT&T Bell Laboratories
1454: Whippany, New Jersey 07981
1455: ..
1456: .de IH
1457: AT&T Bell Laboratories
1458: Naperville, Illinois 60540
1459: ..
1460: .de UL \" underline argument, don't italicize
1461: .ie t \\$1\l'|0\(ul'\\$2
1462: .el .I "\\$1" "\\$2"
1463: ..
1464: .de UX
1465: .ie \\n(GA \\$2\s-1UNIX\s0\\$1
1466: .el \{\
1467: .ie n \{\\$2UNIX\\$1*
1468: .FS
1469: * UNIX is a
1470: .ie \\$3=1 Footnote
1471: .el registered trademark
1472: of AT&T.
1473: .FE\}
1474: .el \\$2\s-1UNIX\\s0\\$1\\f1\(rg\\fP
1475: .nr GA 1\}
1476: ..
1477: .de US
1478: the
1479: .UX
1480: operating system\\$1
1481: ..
1482: .de QS
1483: .br
1484: .LP
1485: .in +\\n(QIu
1486: .ll -\\n(QIu
1487: ..
1488: .de QE
1489: .br
1490: .ll +\\n(QIu
1491: .in -\\n(QIu
1492: .LP
1493: ..
1494: .de B1 \" begin boxed stuff
1495: .br
1496: .di BB
1497: .nr BC 0
1498: .if "\\$1"C" .nr BC 1
1499: .nr BE 1
1500: ..
1501: .de B2 \" end boxed stuff
1502: .br
1503: .nr BI 1n
1504: .if \\n(.$>0 .nr BI \\$1n
1505: .di
1506: .nr BE 0
1507: .nr BW \\n(dl
1508: .nr BH \\n(dn
1509: .ne \\n(BHu+\\n(.Vu
1510: .nr BQ \\n(.j
1511: .nf
1512: .ti 0
1513: .if \\n(BC>0 .in +(\\n(.lu-\\n(BWu)/2u
1514: .in +\\n(BIu
1515: .ls 1
1516: .BB
1517: .ls
1518: .in -\\n(BIu
1519: .nr BW +2*\\n(BI
1520: .sp -1
1521: \l'\\n(BWu\(ul'\L'-\\n(BHu'\l'|0\(ul'\h'|0'\L'\\n(BHu'
1522: .nr BW -2*\\n(BI
1523: .if \\n(BC>0 .in -(\\n(.lu-\\n(BWu)/2u
1524: .if \\n(BQ .fi
1525: .br
1526: ..
1527: .de AT
1528: .nf
1529: .sp
1530: .ne 2
1531: Attached:
1532: ..
1533: .de CT
1534: .nf
1535: .sp
1536: .ne 2
1537: .ie \\n(.$ Copy to \\$1:
1538: .el Copy to:
1539: ..
1540: .de BX
1541: .ie t \(br\|\\$1\|\(br\l'|0\(rn'\l'|0\(ul'
1542: .el \(br\\kA\|\\$1\|\\kB\(br\v'-1v'\h'|\\nBu'\l'|\\nAu'\v'1v'\l'|\\nAu'
1543: ..
1544: .IZ
1545: .rm IZ
1546: .de [
1547: [
1548: ..
1549: .de ]
1550: ]
1551: ..
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.