1 .\" 10/22/92 activate next line before installing
2 .pi /usr/local/plan9/bin/auxpm
4 . \" IZ - initialization
6 .fp 10 S \" 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'lucidasans'\{\
149 .if '\\$1'century'\{\
160 .if '\\$1'helvetica'\{\
181 .if '\\$1'souvenir'\{\
185 . fp 4 BI SouvenirBI\}
206 .ce 100 \" turned off in .RT
209 . \" AU - remember author(s)
213 .ie \\n(VS>=41 .vs \\n(VSu
217 . \" AI - author's institution
222 . \" AB - begin abstract
224 .nr AB 1 \" we're in abstract
238 . \" AE - end of abstract
245 .ie \\n(VS>=41 .vs \\n(VSu
257 . \" MC - multiple columns
262 .if !\\n(OL .nr OL \\n(LL
263 .if \\n(CW=0 .nr CW \\n(LL*7/15
264 .if \\n(GW=0 .nr GW \\n(LL-(2*\\n(CW)
274 .if \\$1>2 .tm -mpm can't handle more than two columns
277 . \" TS - table start, TE - table end; also TC, TQ, TH
288 .if \\n(.$ .nr TZ \\$1n
320 .if \\n(IT .if !\\n(HT \{\
328 .rm a+ b+ c+ d+ e+ f+ g+ h+ i+ j+ k+ l+ n+ m+
329 .rr 32 33 34 35 36 37 38 40 79 80 81 82
330 .rr a| b| c| d| e| f| g| h| i| j| k| l| m|
331 .rr a- b- c- d- e- f- g- h- i- j- k- l- m-
336 . \" EQ - equation, breakout and display
340 .nr LE 1 \" 1 is center
345 .if "\\$1"C" .ds EL \\$2
347 . ds EL \\$2 \" 2 is right adjust
351 . if "\\$3"" .ds EE \\h'|10n'
352 . el .ds EE \\h'\\$3'
357 . \" EN - end of equation
363 .if \\n(ZN .if !\\n(YE .LP
364 .if !\\n(ZN .if !"\\*(EL"" .nr ZN 1
369 .if \\n(BD .nr LE 0 \" don't center if block display or mark/lineup
371 . if \\n(LE=1 .ds EE \\h'|10n'
374 .if !\\n(EP .if \\n(ZN \{\
375 . if \\n(LE=1 .tl \(ts\(ts\\*(10\(ts\\*(EL\(ts
376 . if \\n(LE=2 .tl \(ts\(ts\(ts\\*(10\\*(EL\(ts
378 . if !\\n(BD .tl \(ts\\*(EE\\*(10\(ts\(ts\\*(EL\(ts
379 . if \\n(BD .if \\n(BD<\\w\(ts\\*(10\(ts .nr BD \\w\(ts\\*(10\(ts
380 . if \\n(BD \!\\*(10\\t\\*(EL\}\}
381 .if \\n(EP .if \\n(ZN \{\
382 . if \\n(LE=1 .tl \(ts\\*(EL\(ts\\*(10\(ts\(ts
383 . if \\n(LE=2 .tl \(ts\\*(EL\(ts\(ts\\*(10\(ts
385 . if !\\n(BD .tl \(ts\\*(EL\\*(EE\\*(10\(ts\(ts\(ts
386 . if \\n(BD .if \\n(BD<\\w\(ts\\*(10\(ts .nr BD \\w\(ts\\*(10\(ts
387 . if \\n(BD \!\\h'-\\\\n(.iu'\\*(EL\\h'|0'\\*(10\}\}
390 .if \\n(YE .if \\n(EF .fi
391 .if \\n(ZN .X "END US EQ"
392 .if \\n(ZN .SP .5v EN
395 . \" PS - start picture
396 .de PS \" $1 is height, $2 is width, in inches
399 .if \\$1>0 .X "SP \\nX PS"
400 .ie \\$1>0 .nr $1 \\$1
403 .in (\\n(.lu-\\$2)/2u
405 . \" PE - end of picture
410 .if \\n($1>0 .X "SP \\nX PE"
413 .de IS \" for -mpm only
432 . if \\n(PO .po \\n(POu \" why isn't this reset???
445 .ds %e .tl '\\*(LH'\\*(CH'\\*(RH'
446 .ds %o .tl '\\*(LH'\\*(CH'\\*(RH'
447 .ds %E .tl '\\*(LF'\\*(CF'\\*(RF'
448 .ds %O .tl '\\*(LF'\\*(CF'\\*(RF'
455 .if \\n(OL .lt \\n(OLu \" why isn't this reset???
456 .if \\n(BT>0 .if \\n(%#%2 \\*(%o
457 .if \\n(BT>0 .if !\\n(%#%2 \\*(%e
458 .if \\n(BT=0 .tl '\0''' \" put out something or spacing is curdled
461 . \" BT - bottom title
464 .sp |\\n(FMu/2u+\\n(FOu-1v
470 . \" KS - non-floating keep
473 .if "\\n(.z"" .NP \" defends poorly against including ht of page stuff in diversion for .B1
478 . \" KF - floating keep
482 .if \\n(KS>0 .tm KF won't work inside KS, line \\n(.c, file \\n(.F
483 .if \\n(KF>0 .tm KF won't work inside KF, line \\n(.c, file \\n(.F
486 . if !'\\$1'' .nr 10 \\$1u
487 . if '\\$1'bottom' .nr 10 \\n(FOu-1u
488 . if '\\$1'top' .nr 10 \\n(HM
489 . if \\n(10 .X "UF \\n(10 KF"
490 . if !\\n(10 .X "UF \\n(HM KF"
492 . if \\n(10 .X "UF \\n(10 KF"
493 . if !\\n(10 .X "UF \\nX KF"
496 .if \\n(VS>40 .vs \\n(VSu
497 .if \\n(VS<=39 .vs \\n(VSp
502 . \" KE - end of KS/KF
515 .el .tm .KE without preceding .KS or .KF, line \\n(.c, file \\n(.F
518 . \" DS - display. .DS C center; L left-adjust; I indent (default)
519 .de DS \" $2 = amount of indent
526 . if \\n(VS>40 .vs \\n(VSu
527 . if \\n(VS<=39 .vs \\n(VSp\}
538 .if \\n(.$=0 .in +\\n(DIu
539 .if \\n(.$=1 .if "\\$1"I" .in +\\n(DIu
540 .if \\n(.$=1 .if !"\\$1"I" .in +\\$1n
541 .if \\n(.$>1 .in +\\$2n
543 .....if \\n(.$ .if !"\\$1"I" .if !"\\$1"" .in \\n(DIu
544 .....if \\n(.$ .if !"\\$1"I" .if !"\\$1"" .in +\\$1n
554 . \" BD - block display: save everything, then center it.
562 . \" DE - display end
572 . \" XF - finish a block display to be recentered.
575 .if \\n(dl>\\n(BD .nr BD \\n(dl
576 .if \\n(BD<\\n(.l .in (\\n(.lu-\\n(BDu)/2u
585 . \" SH - (unnumbered) section heading
591 .if \\n(1T .X "NE \\nY SH" \" should these be reversed, change Y to 4v
592 .if \\n(1T .X "SP \\nX SH
595 . \" NH - numbered heading
601 .if \\n(1T .X "NE \\nY NH" \" should these be reversed, change Y to 4v
602 .if \\n(1T .X "SP \\nX NH
608 .if !\\n(NS-4 .nr H5 0
609 .if !\\n(NS-3 .nr H4 0
610 .if !\\n(NS-2 .nr H3 0
611 .if !\\n(NS-1 .nr H2 0
612 .if !\\$1 .if \\n(.$ .nr H1 1
614 .if \\n(NS-1 .as SN \\n(H2.
615 .if \\n(NS-2 .as SN \\n(H3.
616 .if \\n(NS-3 .as SN \\n(H4.
617 .if \\n(NS-4 .as SN \\n(H5.
620 . \" RT - reset at beginning of each PP, LP, etc.
622 .if !\\n(AB .if !\\n(1T .BG
624 .if !\\n(AB .if !\\n(KF .if !\\n(IF .if !\\n(IX .if !\\n(BE .di
631 .if !\\n(IF .if !\\n(AB \{\
633 . ie \\n(VS>=41 .vs \\n(VSu
645 .ta 5n 10n 15n 20n 25n 30n 35n 40n 45n 50n 55n 60n 65n 70n 75n 80n
648 . \" BG - begin, execute at first TL, AB, NH, SH, PP, etc.
649 .de BG \" IZ has been called, so registers have some value
651 .if \\n(CW>0 .if \\n(LL=0 .nr LL \\n(CW+\\n(CW+\\n(GW
655 .nr YE 1 \" ok to cause break in .EQ (earlier ones won't)
674 .if \\n(1T .X "SP \\n(PD PP"
675 .if \\n(1T .X "BS 2 PP"
678 . \" LP - left aligned paragraph
682 .if \\n(1T .X "SP \\n(PD LP"
683 .if \\n(1T .X "BS 2 LP"
685 . \" IP - indented paragraph
688 .if !\\n(IP .nr IP +1
690 .if \\n(1T .X "SP \\n(PD PP"
691 .if \\n(1T .X "BS 2 IP"
693 .if \\n(.$>1 .nr I\\n(IU \\$2n+\\n(I\\n(IRu
694 .if \\n(I\\n(IU=0 .nr I\\n(IU \\n(PIu+\\n(I\\n(IRu
697 .nr JQ \\n(I\\n(IU-\\n(I\\n(IR
703 . \" QP - quoted paragraph (within IP)
707 .if \\n(1T .X "SP \\n(PD QP"
708 .if \\n(1T .X "BS 2 QP"
714 . \" RS - prepare for double indenting
721 .if !\\n(I\\n(IR .nr I\\n(IR \\n(I\\n(IU+\\n(PIu
726 . \" RE - retreat to the left
731 .if \\n(IR>0 .nr IR -1
738 .if \\n(.$ \&\\$1\\f\\n(PQ\\$2
740 . \" BI - bold italic
744 .if \\n(.$ \&\\$1\\f\\n(PQ\\$2
750 .if \\n(.$ \&\\$1\f\\n(PQ\\$2
756 .if \\n(.$ \&\\$1\^\f\\n(PQ\\$2
758 . \" CW - constant width font from -ms
762 .if \\n(.$>0 \%\&\\$3\f(CW\\$1\\f\\n(PQ\\$2
764 .de IT \" ditto to italicize argument
766 \%\&\\$3\f2\\$1\f\\n(Sf\&\\$2
768 . \" TA - tabs set in ens or chars
770 .ta \\$1n \\$2n \\$3n \\$4n \\$5n \\$6n \\$7n \\$8n \\$9n
772 . \" SM - make smaller size
774 .ie \\n(.$ \&\\$3\s-2\\$1\s0\\$2
777 . \" LG - make larger size
779 .ie \\n(.$ \&\\$3\s+2\\$1\s0\\$2
782 . \" NL - return to normal size
786 . \" FS - begin footnote
788 .if \\n(IF>0 .tm .FS within .FS/.FE, line \\n(.c, file \\n(.F
789 .if \\n(KF>0 .tm .FS won't work inside .KF, line \\n(.c, file \\n(.F
790 .if \\n(KS>0 .tm .FS won't work inside .KS, line \\n(.c, file \\n(.F
794 .ie \\n(VS>=41 .vs \\n(VSu-2p
801 ....FA \" deleted by authority of cvw, 10/17/88
803 . \" FE - end footnote
805 .if !\\n(IF .tm .FE without .FS, line \\n(.c, file \\n(.F
812 . \" FA - the line for a footnote
817 . \" Tm - message to be passed on
820 .if \\n(.$=1 .X "TM \\$1
821 .if \\n(.$=2 .X "TM \\$1 \\$2
822 .if \\n(.$=3 .X "TM \\$1 \\$2 \\$3
823 .if \\n(.$=4 .X "TM \\$1 \\$2 \\$3 \\$4
824 .if \\n(.$=5 .X "TM \\$1 \\$2 \\$3 \\$4 \\$5
825 .if \\n(.$=6 .X "TM \\$1 \\$2 \\$3 \\$4 \\$5 \\$6
826 .if \\n(.$=7 .X "TM \\$1 \\$2 \\$3 \\$4 \\$5 \\$6 \\$7
827 .if \\n(.$=8 .X "TM \\$1 \\$2 \\$3 \\$4 \\$5 \\$6 \\$7 \\$8
828 .if \\n(.$=9 .X "TM \\$1 \\$2 \\$3 \\$4 \\$5 \\$6 \\$7 \\$8 \\$9
833 AT&T Bell Laboratories
834 Murray Hill, New Jersey 07974
837 AT&T Bell Laboratories
838 Holmdel, New Jersey 07733
841 AT&T Bell Laboratories
842 Whippany, New Jersey 07981
845 AT&T Bell Laboratories
846 Naperville, Illinois 60540
848 . \" UL - underline argument, don't italicize
852 . \" UX - print $2 UNIX $1
854 .ie \\n(UX \\$2\s-1UNIX\s0\\$1
856 \\$2\s-1UNIX\\s0\\$1\(rg
859 . \" QS - start quote
873 . \" B1 - begin boxed stuff
878 .if "\\$1"C" .nr BC 1
881 . \" B2 - end boxed stuff
885 .if \\n(.$>0 .nr BI \\$1n
894 .if \\n(BC>0 .in +(\\n(.lu-\\n(BWu)/2u
902 \l'\\n(BWu\(ul'\L'-\\n(BHu'\l'|0\(ul'\h'|0'\L'\\n(BHu'
903 .if \\n(BC>0 .in -(\\n(.lu-\\n(BWu)/2u
907 . \" BX - boxed stuff
909 \(br\|\\$1\|\(br\l'|0\(rn'\l'|0\(ul'
912 . \" macros for programs, etc.
915 programs are displayed between .P1/.P2 pairs
916 default is to indent by 1/2 inch, nofill, dP smaller
917 .P1 x causes an indent of x instead.
919 .P3 can be used to specify optional page-break points
923 . \" P1 - start of program
926 .if \\n(.$ .nr $1 \\$1n
937 .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
939 . \" P2 - end of program
950 . \" P3 - provides optional unpadded break in P1/P2
966 .so /usr/local/plan9/tmac/tmac.srefs