1 .\" 10/22/92 activate next line before installing
4 . \" IZ - initialization
6 .fp 1 R \" force a font out into prefix
7 .nr PS 10 \" point size
8 .nr VS 12 \" line spacing
10 .ie \\n(VS>=41 .vs \\n(VSu
12 .nr LL 6i \" line length
14 .nr LT \\n(.l \" title length
16 .if !\\n(HM .nr HM 1i \" top of page
17 .if !\\n(FM .nr FM 1i \" footer margin
18 .if !\\n(FO .nr FO \\n(.p-\\n(FM \" bottom of page
19 . \" to set text ht to N, set FO to N + \n(HM. default is 10i
20 .pl 32767u \" safety first: big pages for pm
21 .if !\\n(PO .nr PO \\n(.ou \" page offset
22 .nr PI 5n \" .PP paragraph indent
23 .nr QI 5n \" .QS indent
24 .nr DI 5n \" .DS indent
25 .nr PD 0.3v \" paragraph vertical separation
26 .nr TS 0.5v \" space around tables
27 .nr Kf 0.5v \" space around .KF/.KE
28 .nr Ks 0.5v \" space around .KS/.KE
30 .nr P1 .4i \" indent for .P1/.P2
31 .nr dP 1 \" delta point size for programs in .P1/.P2
32 .nr dV 2p \" delta vertical for programs
33 .nr dT 8 \" delta tab stop for programs
34 .nr DV .5v \" space before start of program
39 .if !\\n(FL .nr FL \\n(LLu \" footnote length
41 .ps 8 \" text size & leading in footnote
44 .if \\*(CH .ds CH "\(hy \\\\n(PN \(hy
45 .ds # #\\\\n(.c \\\\n(.F
48 .ME \" initialize date strings
50 . \" accents: \*'e \*`e \*:u \*^e \*~n \*va \*,c
51 .ds ' \h'\w'e'u*4/10'\z\(aa\h'-\w'e'u*4/10'
52 .ds ` \h'\w'e'u*4/10'\z\(ga\h'-\w'e'u*4/10'
53 .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'
54 .ds ^ \\\\k:\\h'-\\\\n(.fu+1u/2u*2u+\\\\n(.fu-1u*0.13m+0.06m'\\z^\\h'|\\\\n:u'
55 .ds ~ \\\\k:\\h'-\\\\n(.fu+1u/2u*2u+\\\\n(.fu-1u*0.13m+0.06m'\\z~\\h'|\\\\n:u'
56 .ds v \\\\k:\\\\h'+\\\\w'e'u/4u'\\\\v'-0.6m'\\\\s6v\\\\s0\\\\v'0.6m'\\\\h'|\\\\n:u'
57 .ds , \\\\k:\\\\h'\\\\w'c'u*0.4u'\\\\z,\\\\h'|\\\\n:u'
61 . \" SP - generate paddable space
65 .if \\n(.$ .nr X \\$1v
66 .ie '\\$2'exactly' \{\
67 \v'\\nXu'\ \h'-\w'\ 'u'\c
71 . \" NE - need space on this page
74 .if \\n(.$ .nr X \\$1v
77 . \" BP, FL, FC - begin page, flush figures, flush column
90 . \" X - generate an x X ... command in the output
92 ....ie '\\n(.z'' \\!x X \\$1 \\$2 \\$3 \\$4 \\$5 \\$6 \\$7 \\$8 \\$9
93 ....el \\!.X "\\$1 \\$2 \\$3 \\$4 \\$5 \\$6 \\$7 \\$8 \\$9
95 .if !'\\n(.z'' .if \\n(.$=1 \\!.X "\\$1
96 .if !'\\n(.z'' .if \\n(.$=2 \\!.X "\\$1 \\$2
97 .if !'\\n(.z'' .if \\n(.$=3 \\!.X "\\$1 \\$2 \\$3
98 .if !'\\n(.z'' .if \\n(.$>3 \\!.X "\\$1 \\$2 \\$3 \\$4 \\$5 \\$6 \\$7 \\$8 \\$9
99 .if '\\n(.z'' .if \\n(.$=1 \\!x X \\$1 \\*#
100 .if '\\n(.z'' .if \\n(.$=2 \\!x X \\$1 \\$2 \\*#
101 .if '\\n(.z'' .if \\n(.$=3 \\!x X \\$1 \\$2 \\$3 \\*#
102 .if '\\n(.z'' .if \\n(.$=4 \\!x X \\$1 \\$2 \\$3 \\$4 \\*#
103 .if '\\n(.z'' .if \\n(.$>4 \\!x X \\$1 \\$2 \\$3 \\$4 \\$5 \\$6 \\$7 \\$8 \\$9 \\*#
107 .if \\n(.$ .ds DY \\$1 \\$2 \\$3 \\$4
110 . \" ND - set new or no date
112 .ds DY \\$1 \\$2 \\$3 \\$4
115 .de ME \" ME - set month strings
116 .if \\n(mo-0 .ds MO January
117 .if \\n(mo-1 .ds MO February
118 .if \\n(mo-2 .ds MO March
119 .if \\n(mo-3 .ds MO April
120 .if \\n(mo-4 .ds MO May
121 .if \\n(mo-5 .ds MO June
122 .if \\n(mo-6 .ds MO July
123 .if \\n(mo-7 .ds MO August
124 .if \\n(mo-8 .ds MO September
125 .if \\n(mo-9 .ds MO October
126 .if \\n(mo-10 .ds MO November
127 .if \\n(mo-11 .ds MO December
128 .if \\n(dw-0 .ds DW Sunday
129 .if \\n(dw-1 .ds DW Monday
130 .if \\n(dw-2 .ds DW Tuesday
131 .if \\n(dw-3 .ds DW Wednesday
132 .if \\n(dw-4 .ds DW Thursday
133 .if \\n(dw-5 .ds DW Friday
134 .if \\n(dw-6 .ds DW Saturday
135 .if "\\*(DY"" .ds DY \\*(MO \\n(dy, 19\\n(yr
137 . \" FP - font position for a family
139 .if '\\$1'palatino'\{\
144 .if '\\$1'century'\{\
155 .if '\\$1'helvetica'\{\
176 .if '\\$1'souvenir'\{\
180 . fp 4 BI SouvenirBI\}
201 .ce 100 \" turned off in .RT
204 . \" AU - remember author(s)
208 .ie \\n(VS>=41 .vs \\n(VSu
212 . \" AI - author's institution
217 . \" AB - begin abstract
219 .nr AB 1 \" we're in abstract
233 . \" AE - end of abstract
240 .ie \\n(VS>=41 .vs \\n(VSu
252 . \" MC - multiple columns
257 .if !\\n(OL .nr OL \\n(LL
258 .if \\n(CW=0 .nr CW \\n(LL*7/15
259 .if \\n(GW=0 .nr GW \\n(LL-(2*\\n(CW)
269 .if \\$1>2 .tm -mpm can't handle more than two columns
272 . \" TS - table start, TE - table end; also TC, TQ, TH
283 .if \\n(.$ .nr TZ \\$1n
315 .if \\n(IT .if !\\n(HT \{\
323 .rm a+ b+ c+ d+ e+ f+ g+ h+ i+ j+ k+ l+ n+ m+
324 .rr 32 33 34 35 36 37 38 40 79 80 81 82
325 .rr a| b| c| d| e| f| g| h| i| j| k| l| m|
326 .rr a- b- c- d- e- f- g- h- i- j- k- l- m-
331 . \" EQ - equation, breakout and display
335 .nr LE 1 \" 1 is center
340 .if "\\$1"C" .ds EL \\$2
342 . ds EL \\$2 \" 2 is right adjust
346 . if "\\$3"" .ds EE \\h'|10n'
347 . el .ds EE \\h'\\$3'
352 . \" EN - end of equation
358 .if \\n(ZN .if !\\n(YE .LP
359 .if !\\n(ZN .if !"\\*(EL"" .nr ZN 1
364 .if \\n(BD .nr LE 0 \" don't center if block display or mark/lineup
366 . if \\n(LE=1 .ds EE \\h'|10n'
369 .if !\\n(EP .if \\n(ZN \{\
370 . if \\n(LE=1 .tl \(ts\(ts\\*(10\(ts\\*(EL\(ts
371 . if \\n(LE=2 .tl \(ts\(ts\(ts\\*(10\\*(EL\(ts
373 . if !\\n(BD .tl \(ts\\*(EE\\*(10\(ts\(ts\\*(EL\(ts
374 . if \\n(BD .if \\n(BD<\\w\(ts\\*(10\(ts .nr BD \\w\(ts\\*(10\(ts
375 . if \\n(BD \!\\*(10\\t\\*(EL\}\}
376 .if \\n(EP .if \\n(ZN \{\
377 . if \\n(LE=1 .tl \(ts\\*(EL\(ts\\*(10\(ts\(ts
378 . if \\n(LE=2 .tl \(ts\\*(EL\(ts\(ts\\*(10\(ts
380 . if !\\n(BD .tl \(ts\\*(EL\\*(EE\\*(10\(ts\(ts\(ts
381 . if \\n(BD .if \\n(BD<\\w\(ts\\*(10\(ts .nr BD \\w\(ts\\*(10\(ts
382 . if \\n(BD \!\\h'-\\\\n(.iu'\\*(EL\\h'|0'\\*(10\}\}
385 .if \\n(YE .if \\n(EF .fi
386 .if \\n(ZN .X "END US EQ"
387 .if \\n(ZN .SP .5v EN
390 . \" PS - start picture
391 .de PS \" $1 is height, $2 is width, in inches
394 .if \\$1>0 .X "SP \\nX PS"
395 .ie \\$1>0 .nr $1 \\$1
398 .in (\\n(.lu-\\$2)/2u
400 . \" PE - end of picture
405 .if \\n($1>0 .X "SP \\nX PE"
408 .de IS \" for -mpm only
427 . if \\n(PO .po \\n(POu \" why isn't this reset???
440 .ds %e .tl '\\*(LH'\\*(CH'\\*(RH'
441 .ds %o .tl '\\*(LH'\\*(CH'\\*(RH'
442 .ds %E .tl '\\*(LF'\\*(CF'\\*(RF'
443 .ds %O .tl '\\*(LF'\\*(CF'\\*(RF'
450 .if \\n(OL .lt \\n(OLu \" why isn't this reset???
451 .if \\n(BT>0 .if \\n(%#%2 \\*(%o
452 .if \\n(BT>0 .if !\\n(%#%2 \\*(%e
453 .if \\n(BT=0 .tl '\0''' \" put out something or spacing is curdled
456 . \" BT - bottom title
459 .sp |\\n(FMu/2u+\\n(FOu-1v
465 . \" KS - non-floating keep
468 .if "\\n(.z"" .NP \" defends poorly against including ht of page stuff in diversion for .B1
473 . \" KF - floating keep
477 .if \\n(KS>0 .tm KF won't work inside KS, line \\n(.c, file \\n(.F
478 .if \\n(KF>0 .tm KF won't work inside KF, line \\n(.c, file \\n(.F
481 . if !'\\$1'' .nr 10 \\$1u
482 . if '\\$1'bottom' .nr 10 \\n(FOu-1u
483 . if '\\$1'top' .nr 10 \\n(HM
484 . if \\n(10 .X "UF \\n(10 KF"
485 . if !\\n(10 .X "UF \\n(HM KF"
487 . if \\n(10 .X "UF \\n(10 KF"
488 . if !\\n(10 .X "UF \\nX KF"
491 .if \\n(VS>40 .vs \\n(VSu
492 .if \\n(VS<=39 .vs \\n(VSp
497 . \" KE - end of KS/KF
510 .el .tm .KE without preceding .KS or .KF, line \\n(.c, file \\n(.F
513 . \" DS - display. .DS C center; L left-adjust; I indent (default)
514 .de DS \" $2 = amount of indent
521 . if \\n(VS>40 .vs \\n(VSu
522 . if \\n(VS<=39 .vs \\n(VSp\}
533 .if \\n(.$=0 .in +\\n(DIu
534 .if \\n(.$=1 .if "\\$1"I" .in +\\n(DIu
535 .if \\n(.$=1 .if !"\\$1"I" .in +\\$1n
536 .if \\n(.$>1 .in +\\$2n
538 .....if \\n(.$ .if !"\\$1"I" .if !"\\$1"" .in \\n(DIu
539 .....if \\n(.$ .if !"\\$1"I" .if !"\\$1"" .in +\\$1n
549 . \" BD - block display: save everything, then center it.
557 . \" DE - display end
567 . \" XF - finish a block display to be recentered.
570 .if \\n(dl>\\n(BD .nr BD \\n(dl
571 .if \\n(BD<\\n(.l .in (\\n(.lu-\\n(BDu)/2u
580 . \" SH - (unnumbered) section heading
586 .if \\n(1T .X "NE \\nY SH" \" should these be reversed, change Y to 4v
587 .if \\n(1T .X "SP \\nX SH
590 . \" NH - numbered heading
596 .if \\n(1T .X "NE \\nY NH" \" should these be reversed, change Y to 4v
597 .if \\n(1T .X "SP \\nX NH
603 .if !\\n(NS-4 .nr H5 0
604 .if !\\n(NS-3 .nr H4 0
605 .if !\\n(NS-2 .nr H3 0
606 .if !\\n(NS-1 .nr H2 0
607 .if !\\$1 .if \\n(.$ .nr H1 1
609 .if \\n(NS-1 .as SN \\n(H2.
610 .if \\n(NS-2 .as SN \\n(H3.
611 .if \\n(NS-3 .as SN \\n(H4.
612 .if \\n(NS-4 .as SN \\n(H5.
615 . \" RT - reset at beginning of each PP, LP, etc.
617 .if !\\n(AB .if !\\n(1T .BG
619 .if !\\n(AB .if !\\n(KF .if !\\n(IF .if !\\n(IX .if !\\n(BE .di
626 .if !\\n(IF .if !\\n(AB \{\
628 . ie \\n(VS>=41 .vs \\n(VSu
640 .ta 5n 10n 15n 20n 25n 30n 35n 40n 45n 50n 55n 60n 65n 70n 75n 80n
643 . \" BG - begin, execute at first TL, AB, NH, SH, PP, etc.
644 .de BG \" IZ has been called, so registers have some value
646 .if \\n(CW>0 .if \\n(LL=0 .nr LL \\n(CW+\\n(CW+\\n(GW
650 .nr YE 1 \" ok to cause break in .EQ (earlier ones won't)
669 .if \\n(1T .X "SP \\n(PD PP"
670 .if \\n(1T .X "BS 2 PP"
673 . \" LP - left aligned paragraph
677 .if \\n(1T .X "SP \\n(PD LP"
678 .if \\n(1T .X "BS 2 LP"
680 . \" IP - indented paragraph
683 .if !\\n(IP .nr IP +1
685 .if \\n(1T .X "SP \\n(PD PP"
686 .if \\n(1T .X "BS 2 IP"
688 .if \\n(.$>1 .nr I\\n(IU \\$2n+\\n(I\\n(IRu
689 .if \\n(I\\n(IU=0 .nr I\\n(IU \\n(PIu+\\n(I\\n(IRu
692 .nr JQ \\n(I\\n(IU-\\n(I\\n(IR
698 . \" QP - quoted paragraph (within IP)
702 .if \\n(1T .X "SP \\n(PD QP"
703 .if \\n(1T .X "BS 2 QP"
709 . \" RS - prepare for double indenting
716 .if !\\n(I\\n(IR .nr I\\n(IR \\n(I\\n(IU+\\n(PIu
721 . \" RE - retreat to the left
726 .if \\n(IR>0 .nr IR -1
733 .if \\n(.$ \&\\$1\\f\\n(PQ\\$2
735 . \" BI - bold italic
739 .if \\n(.$ \&\\$1\\f\\n(PQ\\$2
745 .if \\n(.$ \&\\$1\f\\n(PQ\\$2
751 .if \\n(.$ \&\\$1\^\f\\n(PQ\\$2
753 . \" CW - constant width font from -ms
757 .if \\n(.$>0 \%\&\\$3\f(CW\\$1\\f\\n(PQ\\$2
759 .de IT \" ditto to italicize argument
761 \%\&\\$3\f2\\$1\f\\n(Sf\&\\$2
763 . \" TA - tabs set in ens or chars
765 .ta \\$1n \\$2n \\$3n \\$4n \\$5n \\$6n \\$7n \\$8n \\$9n
767 . \" SM - make smaller size
769 .ie \\n(.$ \&\\$3\s-2\\$1\s0\\$2
772 . \" LG - make larger size
774 .ie \\n(.$ \&\\$3\s+2\\$1\s0\\$2
777 . \" NL - return to normal size
781 . \" FS - begin footnote
783 .if \\n(IF>0 .tm .FS within .FS/.FE, line \\n(.c, file \\n(.F
784 .if \\n(KF>0 .tm .FS won't work inside .KF, line \\n(.c, file \\n(.F
785 .if \\n(KS>0 .tm .FS won't work inside .KS, line \\n(.c, file \\n(.F
789 .ie \\n(VS>=41 .vs \\n(VSu-2p
796 ....FA \" deleted by authority of cvw, 10/17/88
798 . \" FE - end footnote
800 .if !\\n(IF .tm .FE without .FS, line \\n(.c, file \\n(.F
807 . \" FA - the line for a footnote
812 . \" Tm - message to be passed on
815 .if \\n(.$=1 .X "TM \\$1
816 .if \\n(.$=2 .X "TM \\$1 \\$2
817 .if \\n(.$=3 .X "TM \\$1 \\$2 \\$3
818 .if \\n(.$=4 .X "TM \\$1 \\$2 \\$3 \\$4
819 .if \\n(.$=5 .X "TM \\$1 \\$2 \\$3 \\$4 \\$5
820 .if \\n(.$=6 .X "TM \\$1 \\$2 \\$3 \\$4 \\$5 \\$6
821 .if \\n(.$=7 .X "TM \\$1 \\$2 \\$3 \\$4 \\$5 \\$6 \\$7
822 .if \\n(.$=8 .X "TM \\$1 \\$2 \\$3 \\$4 \\$5 \\$6 \\$7 \\$8
823 .if \\n(.$=9 .X "TM \\$1 \\$2 \\$3 \\$4 \\$5 \\$6 \\$7 \\$8 \\$9
828 AT&T Bell Laboratories
829 Murray Hill, New Jersey 07974
832 AT&T Bell Laboratories
833 Holmdel, New Jersey 07733
836 AT&T Bell Laboratories
837 Whippany, New Jersey 07981
840 AT&T Bell Laboratories
841 Naperville, Illinois 60540
843 . \" UL - underline argument, don't italicize
847 . \" UX - print $2 UNIX $1
849 .ie \\n(UX \\$2\s-1UNIX\s0\\$1
851 \\$2\s-1UNIX\\s0\\$1\(rg
854 . \" QS - start quote
868 . \" B1 - begin boxed stuff
873 .if "\\$1"C" .nr BC 1
876 . \" B2 - end boxed stuff
880 .if \\n(.$>0 .nr BI \\$1n
889 .if \\n(BC>0 .in +(\\n(.lu-\\n(BWu)/2u
897 \l'\\n(BWu\(ul'\L'-\\n(BHu'\l'|0\(ul'\h'|0'\L'\\n(BHu'
898 .if \\n(BC>0 .in -(\\n(.lu-\\n(BWu)/2u
902 . \" BX - boxed stuff
904 \(br\|\\$1\|\(br\l'|0\(rn'\l'|0\(ul'
907 . \" macros for programs, etc.
910 programs are displayed between .P1/.P2 pairs
911 default is to indent by 1/2 inch, nofill, dP smaller
912 .P1 x causes an indent of x instead.
914 .P3 can be used to specify optional page-break points
918 . \" P1 - start of program
921 .if \\n(.$ .nr $1 \\$1n
932 .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
934 . \" P2 - end of program
945 . \" P3 - provides optional unpadded break in P1/P2
961 .so /sys/lib/tmac/tmac.srefs