xref: /original-bsd/old/ms/tmac.s (revision c41723e9)
1.\" %sccs.include.proprietary.roff%
2.\"
3.\"	@(#)tmac.s	5.2 (Berkeley) 10/07/91
4.\"
5.\" ancillary files reside in \*(//,
6.\" except local which are in \*(L/,
7.ds // /usr/old/lib/ms/
8.ds L/ /usr/local/lib/tmac/
9.	\" IZ - initialize (before text begins)
10.de IZ
11.nr FM 1i
12.nr YY -\\n(FMu
13.nr XX 0 1
14.nr IP 0
15.nr PI 5n
16.nr QI 5n
17.nr FI 2n
18.nr I0 \\n(PIu
19.if n .nr PD 1v
20.if t .nr PD .3v
21.if n .nr DD 1v
22.if t .nr DD .5v
23.nr PS 10
24.nr VS 12
25.ps \\n(PS
26.vs \\n(VSp
27.nr ML 3v
28.nr IR 0
29.nr TB 0
30.nr SJ \\n(.j
31.nr PO \\n(.o
32.nr LL 6i
33.ll \\n(LLu
34.lt 6i
35.ev 1
36.nr FL 5.5i
37.ll \\n(FLu
38.ps 8
39.vs 10p
40.ev
41.ds CH - \\\\n(PN -
42.if n .ds CF \\*(DY
43.wh 0 NP
44.wh -\\n(FMu FO
45.ch FO 16i
46.wh -\\n(FMu FX
47.ch FO -\\n(FMu
48.wh -\\n(FMu/2u BT
49..
50.	\" RT - reset (at new paragraph)
51.de RT
52.if !\\n(1T .BG
53.if !\\n(IK .if !\\n(IF .if !\\n(IX .if !\\n(BE .di
54.if \\n(TM .ls 2
55.ce 0
56.ul 0
57.if \\n(QP \{\
58.	ll +\\n(QIu
59.	in -\\n(QIu
60.	nr QP -1
61.\}
62.if \\n(NX<=1 .if !\\n(AJ .ll \\n(LLu
63.if !\\n(IF \{\
64.	ps \\n(PS
65.	if \\n(VS>=40 .vs \\n(VSu
66.	if \\n(VS<=39 .vs \\n(VSp
67.\}
68.if !\\n(IP .nr I0 \\n(PIu
69.if \\n(IP \{\
70.	in -\\n(I\\n(IRu
71.	nr IP -1
72.\}
73.ft 1
74.TA
75.fi
76..
77.	\" TA - set default tabs
78.de TA
79.if n .ta 8n 16n 24n 32n 40n 48n 56n 64n 72n 80n
80.if t .ta 5n 10n 15n 20n 25n 30n 35n 40n 45n 50n 55n 60n 65n 70n 75n
81..
82.	\" BG - begin (at first paragraph)
83.de BG
84.br
85.nr YE 1
86.di
87.ce 0
88.nr KI 0
89.hy 14
90.nr 1T 1
91.S\\n(ST
92.rm S0 S1 S2 SY TX AX WT RP
93.\"redefs
94.de TL
95.ft 3
96.ce 99
97.sp
98.LG
99\\..
100.de AU
101.ft 2
102.if n .ul 0
103.ce 99
104.sp
105.NL
106\\..
107.de AI
108.ft 1
109.if n .ul 0
110.ce 99
111.if n .sp
112.if t .sp .5
113.NL
114\\..
115.RA
116.rn FJ FS
117.rn FK FE
118.nf
119.ev 1
120.ps \\n(PS-2
121.vs \\n(.s+2p
122.ev
123.if !\\n(KG .nr FP 0
124.nr KG 0
125.if \\n(FP \{\
126.	FS
127.	FG
128.	FE
129.\}
130.br
131.if \\n(TV .if n .sp 2
132.if \\n(TV .if t .sp 1
133.fi
134.ll \\n(LLu
135..
136.	\" RA - redefine abstract
137.de RA
138.de AB
139.br
140.if !\\n(1T .BG
141.ce
142.sp
143.if !\\n(.$ ABSTRACT
144.if \\n(.$ .if !\\$1no \\$1
145.if !\\n(.$ .sp
146.if \\n(.$ .if !\\$1no .sp
147.sp
148.nr AJ 1
149.in +\\n(.lu/12u
150.ll -\\n(.lu/12u
151.RT
152.if \\n(TM .ls 1
153\\..
154.de AE
155.nr AJ 0
156.br
157.in 0
158.ll \\n(LLu
159.if \\n(VS>=40 .vs \\n(VSu
160.if \\n(VS<=39 .vs \\n(VSp
161.if \\n(TM .ls 2
162\\..
163..
164.	\" RP - released paper format
165.de RP
166.nr ST 2
167.if \\$1no .nr ST 1
168.pn 0
169.br
170..
171.	\" TL - source file for cover sheet
172.de TL
173.rn TL @T
174.so \*(//cov.ms
175.TL
176.rm @T
177..
178.	\" PP - regular paragraph
179.de PP
180.RT
181.if \\n(1T .sp \\n(PDu
182.ne 1.1
183.ti +\\n(PIu
184..
185.	\" LP - left paragraph
186.de LP
187.RT
188.if \\n(1T .sp \\n(PDu
189.ne 1.1
190.ti \\n(.iu
191..
192.	\" IP - indented paragraph
193.de IP
194.RT
195.if \\n(1T .sp \\n(PDu
196.ne 1.1
197.if !\\n(IP .nr IP +1
198.if \\n(.$-1 .nr I\\n(IR \\$2n
199.in +\\n(I\\n(IRu
200.ta \\n(I\\n(IRu
201.if \\n(.$ \{\
202.ds HT \&\\$1
203.ti -\\n(I\\n(IRu
204\\*(HT\t\c
205.if \w\\*(HTu>(\\n(I\\n(IRu+1n) .br
206.\}
207..
208.	\" XP - exdented paragraph
209.de XP
210.RT
211.if \\n(1T .sp \\n(PDu
212.ne 1.1
213.if !\\n(IP .nr IP +1
214.in +\\n(I\\n(IRu
215.ti -\\n(I\\n(IRu
216..
217.	\" QP - quote paragraph
218.de QP
219.ti \\n(.iu
220.RT
221.if \\n(1T .sp \\n(PDu
222.ne 1.1
223.nr QP 1
224.in +\\n(QIu
225.ll -\\n(QIu
226.ti \\n(.iu
227.if \\n(TM .ls 1
228..
229.	\" SH - section header
230.de SH
231.ti \\n(.iu
232.RT
233.if \\n(1T .sp
234.RT
235.ne 3.1
236.B
237..
238.	\" NH - numbered header
239.de NH
240.SH
241.nr NS \\$1
242.if !\\n(.$ .nr NS 1
243.if !\\n(NS .nr NS 1
244.nr H\\n(NS +1
245.if !\\n(NS-4 .nr H5 0
246.if !\\n(NS-3 .nr H4 0
247.if !\\n(NS-2 .nr H3 0
248.if !\\n(NS-1 .nr H2 0
249.if !\\$1 .if \\n(.$ .nr H1 1
250.if \\$1S \{\
251.	nr NS \\n(.$-1
252.	nr H1 \\$2
253.	nr H2 \\$3
254.	nr H3 \\$4
255.	nr H4 \\$5
256.	nr H5 \\$6
257.\}
258.ds SN \\n(H1.
259.if \\n(NS-1 .as SN \\n(H2.
260.if \\n(NS-2 .as SN \\n(H3.
261.if \\n(NS-3 .as SN \\n(H4.
262.if \\n(NS-4 .as SN \\n(H5.
263\\*(SN
264..
265.	\" DS - display with keep (L=left I=indent C=center B=block)
266.de DS
267.KS
268.nf
269.\\$1D \\$2 \\$1
270.ft 1
271.ps \\n(PS
272.if \\n(VS>=40 .vs \\n(VSu
273.if \\n(VS<=39 .vs \\n(VSp
274..
275.de D
276.ID \\$1
277..
278.	\" ID - indented display with no keep
279.de ID
280.XD
281.if t .in +.5i
282.if n .in +8
283.if \\n(.$ .if !\\$1I .if !\\$1 \{\
284.	in \\n(OIu
285.	in +\\$1n
286.\}
287..
288.	\" LD - left display with no keep
289.de LD
290.XD
291..
292.	\" CD - centered display with no keep
293.de CD
294.XD
295.ce 999
296..
297.	\" XD - real display macro
298.de XD
299.nf
300.nr OI \\n(.i
301.sp \\n(DDu
302.if \\n(TM .ls 1
303..
304.	\" DE - end display of any kind
305.de DE
306.ce 0
307.if \\n(BD .DF
308.nr BD 0
309.in \\n(OIu
310.KE
311.if \\n(TM .ls 2
312.sp \\n(DDu
313.fi
314..
315.	\" BD - block display: center entire block
316.de BD
317.XD
318.nr BD 1
319.nf
320.in \\n(OIu
321.di DD
322..
323.	\" DF - finish block display
324.de DF
325.di
326.if \\n(dl>\\n(BD .nr BD \\n(dl
327.if \\n(BD<\\n(.l .in (\\n(.lu-\\n(BDu)/2u
328.nr EI \\n(.l-\\n(.i
329.ta \\n(EIuR
330.DD
331.in \\n(OIu
332..
333.	\" KS - begin regular keep
334.de KS
335.nr KN \\n(.u
336.if !\\n(IK .if !\\n(IF .KQ
337.nr IK +1
338..
339.	\" KQ - real keep processor
340.de KQ
341.br
342.nr KI \\n(.i
343.ev 2
344.TA
345.br
346.in \\n(KIu
347.ps \\n(PS
348.if \\n(VS>=40 .vs \\n(VSu
349.if \\n(VS<=39 .vs \\n(VSp
350.ll \\n(LLu
351.lt \\n(LTu
352.if \\n(NX>1 .ll \\n(CWu
353.if \\n(NX>1 .lt \\n(CWu
354.di KK
355.nr TB 0
356..
357.	\" KF - begin floating keep
358.de KF
359.nr KN \\n(.u
360.if !\\n(IK .FQ
361.nr IK +1
362..
363.	\" FQ - real floating keep processor
364.de FQ
365.nr KI \\n(.i
366.ev 2
367.TA
368.br
369.in \\n(KIu
370.ps \\n(PS
371.if \\n(VS>=40 .vs \\n(VSu
372.if \\n(VS<=39 .vs \\n(VSp
373.ll \\n(LLu
374.lt \\n(LTu
375.if \\n(NX>1 .ll \\n(CWu
376.if \\n(NX>1 .lt \\n(CWu
377.di KK
378.nr TB 1
379..
380.	\" KE - end keep
381.de KE
382.if \\n(IK .if !\\n(IK-1 .if !\\n(IF .RQ
383.if \\n(IK .nr IK -1
384..
385.	\" RQ - real keep release
386.de RQ
387.br
388.di
389.nr NF 0
390.if \\n(dn-\\n(.t .nr NF 1
391.if \\n(TC .nr NF 1
392.if \\n(NF .if !\\n(TB .sp 200
393.if !\\n(NF .if \\n(TB .nr TB 0
394.nf
395.rs
396.nr TC 5
397.in 0
398.ls 1
399.if !\\n(TB \{\
400.	ev
401.	br
402.	ev 2
403.	KK
404.	rm KK
405.\}
406.ls
407.ce 0
408.if \\n(TB .da KJ
409.if \\n(TB \!.KD \\n(dn
410.if \\n(TB .KK
411.if \\n(TB .di
412.nr TC \\n(TB
413.if \\n(KN .fi
414.in
415.ev
416..
417.	\" KD - keep redivert
418.de KD
419.nr KM 0
420.if \\n(.zKJ .nr KM 1
421.if \\n(KM \!.KD \\$1
422.if !\\n(KM .if \\n(.t<\\$1 .di KJ
423..
424.	\" EM - end macro (process leftover keep)
425.de EM
426.br
427.if !\\n(TB .wh -1p CM
428.if \\n(TB \{\
429\&\c
430'	bp
431.	NP
432.	ch CM 160
433.\}
434..
435.de XK
436.nr TD 1
437.nf
438.ls 1
439.in 0
440.rn KJ KL
441.KL
442.rm KL
443.if \\n(.zKJ .di
444.nr TB 0
445.if \\n(.zKJ .nr TB 1
446.br
447.in
448.ls
449.fi
450.nr TD 0
451..
452.	\" NP - new page
453.de NP
454.if !\\n(LT .nr LT \\n(LLu
455.if \\n(FM+\\n(HM>=\\n(.p \{\
456.	tm HM + FM longer than page
457.	ab
458.\}
459.CM
460.if !\\n(HM .nr HM 1i
461.po \\n(POu
462.nr PF \\n(.f
463.nr PX \\n(.s
464.ft 1
465.ps \\n(PS
466'sp \\n(HMu/2u
467.PT
468'sp |\\n(HMu
469.HD	\"undefined
470.ps \\n(PX
471.ft \\n(PF
472.nr XX 0 1
473.nr YY 0-\\n(FMu
474.ch FO 16i
475.ch FX 17i
476.ch FO -\\n(FMu
477.ch FX \\n(.pu-\\n(FMu
478.if \\n(MF .FV
479.nr MF 0
480.mk
481.os
482.ev 2
483.if !\\n(TD .if \\n(TC<5 .XK
484.nr TC 0
485.ev
486.nr TQ \\n(.i
487.nr TK \\n(.u
488.if \\n(IT \{\
489.	in 0
490.	nf
491.	TT
492.	in \\n(TQu
493.	if \\n(TK .fi
494.\}
495.ns
496.mk #T
497..
498.	\" PT - page titles
499.de PT
500.lt \\n(LTu
501.pc %
502.nr PN \\n%
503.nr PT \\n%
504.if !'\\n%'0' .if !'\\n%'1' .if !'\\n%'i' .nr PT 2
505.if \\n(P1 .nr PT 2
506.if \\n(PT>1 .if !\\n(EH .if !\\n(OH .tl \\*(LH\\*(CH\\*(RH
507.if \\n(PT>1 .if \\n(OH .if o .tl \\*(O1
508.if \\n(PT>1 .if \\n(EH .if e .tl \\*(E2
509.lt \\n(.lu
510..
511.	\" OH - odd page header
512.de OH
513.nr OH 1
514.if !\\n(.$ .nr OH 0
515.ds O1 \\$1 \\$2 \\$3 \\$4 \\$5 \\$6 \\$7 \\$8 \\$9
516..
517.	\" EH - even page header
518.de EH
519.nr EH 1
520.if !\\n(.$ .nr EH 0
521.ds E2 \\$1 \\$2 \\$3 \\$4 \\$5 \\$6 \\$7 \\$8 \\$9
522..
523.	\" P1 - PT on 1st page
524.de P1
525.nr P1 1
526..
527.	\" FO - footer
528.de FO
529.rn FO FZ
530.if \\n(IT .nr T. 1
531.if \\n(IT .if !\\n(FC .T# 1
532.if \\n(IT .br
533.nr FC +1
534.if \\n(NX<2 .nr WF 0
535.nr dn 0
536.if \\n(FC<=1 .if \\n(XX .XF
537.rn FZ FO
538.nr MF 0
539.if \\n(dn .nr MF 1
540.if !\\n(WF .nr YY 0-\\n(FMu
541.if !\\n(WF .ch FO \\n(YYu
542.if !\\n(dn .nr WF 0
543.if \\n(FC<=1 .if !\\n(XX \{\
544.	if \\n(NX>1 .RC
545.	if \\n(NX<2 'bp
546.\}
547.nr FC -1
548.if \\n(ML .ne \\n(MLu
549..
550.	\" BT - bottom title
551.de BT
552.nr PF \\n(.f
553.nr PX \\n(.s
554.ft 1
555.ps \\n(PS
556.lt \\n(LTu
557.po \\n(POu
558.if \\n(TM .if \\n(CT \{\
559.	tl ''\\n(PN''
560.	nr CT 0
561.\}
562.if !'\\n%'0' .if !\\n(EF .if !\\n(OF .tl \\*(LF\\*(CF\\*(RF
563.if !'\\n%'0' .if \\n(OF .if o .tl \\*(O3
564.if !'\\n%'0' .if \\n(EF .if e .tl \\*(E4
565.ft \\n(PF
566.ps \\n(PX
567..
568.	\" OF - odd page footer
569.de OF
570.nr OF 1
571.if !\\n(.$ .nr OF 0
572.ds O3 \\$1 \\$2 \\$3 \\$4 \\$5 \\$6 \\$7 \\$8 \\$9
573..
574.	\" EF - even page footer
575.de EF
576.nr EF 1
577.if !\\n(.$ .nr EF 0
578.ds E4 \\$1 \\$2 \\$3 \\$4 \\$5 \\$6 \\$7 \\$8 \\$9
579..
580.	\" 2C - double column
581.de 2C
582.MC
583..
584.	\" 1C - single column
585.de 1C
586.MC \\n(LLu
587.hy 14
588..
589.	\" MC - multiple columns, arg is col width
590.de MC
591.nr L1 \\n(LL*7/15
592.if \\n(.$ .nr L1 \\$1n
593.nr NQ \\n(LL/\\n(L1
594.if \\n(NQ<1 .nr NQ 1
595.if \\n(NQ>2 .if (\\n(LL%\\n(L1)=0 .nr NQ -1
596.if !\\n(1T \{\
597.	BG
598.	if n .sp 4
599.	if t .sp 2
600.\}
601.if !\\n(NX .nr NX 1
602.if !\\n(NX=\\n(NQ \{\
603.	RT
604.	if \\n(NX>1 .bp
605.	mk
606.	nr NC 1
607.	po \\n(POu
608.\}
609.if \\n(NQ>1 .hy 12
610.nr NX \\n(NQ
611.nr CW \\n(L1
612.ll \\n(CWu
613.nr FL \\n(CWu*11u/12u
614.if \\n(NX>1 .nr GW (\\n(LL-(\\n(NX*\\n(CW))/(\\n(NX-1)
615.nr RO \\n(CW+\\n(GW
616.ns
617..
618.de RC
619.if \\n(NC>=\\n(NX .C2
620.if \\n(NC<\\n(NX .C1
621.nr NC \\n(ND
622..
623.de C1
624.rt
625.po +\\n(ROu
626.nr ND \\n(NC+1
627.nr XX 0 1
628.if \\n(MF .FV
629.ch FX \\n(.pu-\\n(FMu
630.ev 2
631.if \\n(TB .XK
632.nr TC 0
633.ev
634.nr TQ \\n(.i
635.if \\n(IT .in 0
636.if \\n(IT .TT
637.if \\n(IT .in \\n(TQu
638.mk #T
639.ns
640..
641.de C2
642.po \\n(POu
643'bp
644.nr ND 1
645..
646.	\" RS - right shift
647.de RS
648.nr IS \\n(IP
649.RT
650.nr IP \\n(IS
651.if \\n(IP .in +\\n(I\\n(IRu
652.nr IR +1
653.nr I\\n(IR \\n(PIu
654.in +\\n(I\\n(IRu
655..
656.	\" RE - retreat left
657.de RE
658.nr IS \\n(IP
659.RT
660.nr IP \\n(IS
661.if \\n(IR .nr IR -1
662.if \\n(IP<=0 .in -\\n(I\\n(IRu
663..
664.	\" CM - cut mark
665.	\" only in troff when register v isn't one
666.	\" if string .T is set (ditroff), only if .T is "vp"
667.	\" may be forced if register v is two
668.if n .ig
669.if \nv=1 .ig
670.if !\nv=2 .if !"\*(.T"" .if !"\*(.T"vp" .ig
671.de CM
672.po 0
673.lt 7.6i
674.ft 1
675.ps 10
676.vs 4p
677.tl '--''--'
678.po
679.vs
680.lt
681.ps
682.ft
683..
684.	\" I - italic font
685.de I
686.nr PQ \\n(.f
687.if t .ft 2
688.ie \\$1 .if n .ul 999
689.el .if n .ul 1
690.if t .if !\\$1 \&\\$1\|\f\\n(PQ\\$2
691.if n .if \\n(.$=1 \&\\$1
692.if n .if \\n(.$>1 \&\\$1\c
693.if n .if \\n(.$>1 \&\\$2
694..
695.	\" B - bold font
696.de B
697.nr PQ \\n(.f
698.if t .ft 3
699.ie \\$1 .if n .ul 999
700.el .if n .ul 1
701.if t .if !\\$1 \&\\$1\f\\n(PQ\\$2
702.if n .if \\n(.$=1 \&\\$1
703.if n .if \\n(.$>1 \&\\$1\c
704.if n .if \\n(.$>1 \&\\$2
705..
706.	\" R - Roman font
707.de R
708.if n .ul 0
709.ft 1
710..
711.	\" UL - underline in troff
712.de UL
713.if t \\$1\l'|0\(ul'\\$2
714.if n .I "\\$1" "\\$2"
715..
716.	\" SM - smaller
717.de SM
718.ps -2
719..
720.	\" LG - larger
721.de LG
722.ps +2
723..
724.	\" NL - normal
725.de NL
726.ps \\n(PS
727..
728.	\" DA - force date
729.de DA
730.if \\n(.$ .ds DY \\$1 \\$2 \\$3 \\$4
731.ds CF \\*(DY
732..
733.	\" ND - no date or new date
734.de ND
735.if \\n(.$ .ds DY \\$1 \\$2 \\$3 \\$4
736.rm CF
737..
738.	\" \** - numbered footnote
739.ds * \\*[\\n+*\\*]
740.	\" FJ - replaces FS after cover
741.de FJ
742'ce 0
743.di
744.ev 1
745.ll \\n(FLu
746.da FF
747.br
748.if \\n(IF .tm Nested footnote
749.nr IF 1
750.if !\\n+(XX-1 .FA
751.if !\\n(MF .if !\\n(.$ .if \\n* .FP \\n*
752.if !\\n(MF .if \\n(.$ .FP \\$1 no
753..
754.	\" FK - replaces FE after cover
755.de FK
756.br
757.in 0
758.nr IF 0
759.di
760.ev
761.if !\\n(XX-1 .nr dn +\\n(.v
762.nr YY -\\n(dn
763.if !\\n(NX .nr WF 1
764.if \\n(dl>\\n(CW .nr WF 1
765.if (\\n(nl+\\n(.v)<=(\\n(.p+\\n(YY) .ch FO \\n(YYu
766.if (\\n(nl+\\n(.v)>(\\n(.p+\\n(YY) \{\
767.	if \\n(nl>(\\n(HM+1.5v) .ch FO \\n(nlu+\\n(.vu
768.	if \\n(nl+\\n(FM+1v>\\n(.p .ch FX \\n(.pu-\\n(FMu+2v
769.	if \\n(nl<=(\\n(HM+1.5v) .ch FO \\n(HMu+(4u*\\n(.vu)
770.\}
771..
772.	\" FS - begin footnote on cover
773.de FS
774.ev 1
775.br
776.ll \\n(FLu
777.da FG
778.if !\\n(.$ .if \\n* .FP \\n*
779.if \\n(.$ .FP \\$1 no
780..
781.	\" FE - end footnote on cover
782.de FE
783.br
784.di
785.nr FP \\n(dn
786.if !\\n(1T .nr KG 1
787.ev
788..
789.	\" FA - print line before footnotes
790.de FA
791.in 0
792.if n _________________________
793.if t \l'1i'
794.br
795..
796.	\" FP - footnote paragraph
797.de FP
798.sp \\n(PDu/2u
799.if \\n(FF<2 .ti \\n(FIu
800.if \\n(FF=3 \{\
801.	in \\n(FIu*2u
802.	ta \\n(FIu*2u
803.	ti 0
804.\}
805.if !\\n(FF \{\
806.	ie "\\$2"no" \\$1\0\c
807.	el \\*[\\$1\\*]\0\c
808.\}
809.if \\n(FF .if \\n(FF<3 \{\
810.	ie "\\$2"no" \\$1\0\c
811.	el \\$1.\0\c
812.\}
813.if \\n(FF=3 \{\
814.	ie "\\$2"no" \\$1\t\c
815.	el \\$1.\t\c
816.\}
817..
818.	\" FV - get leftover footnote from previous page
819.de FV
820.FS
821.nf
822.ls 1
823.FY
824.ls
825.fi
826.FE
827..
828.	\" FX - divert leftover footnote for next page
829.de FX
830.if \\n(XX .di FY
831.if \\n(XX .ns
832..
833.	\" XF - actually print footnote
834.de XF
835.if \\n(nlu+1v>(\\n(.pu-\\n(FMu) .ch FX \\n(nlu+1.9v
836.ev 1
837.nf
838.ls 1
839.FF
840.rm FF
841.nr XX 0 1
842.br
843.ls
844.di
845.fi
846.ev
847..
848.de IS			\" *** start ideal picture
849.nr g7 \\n(.u
850.ls 1
851..
852.de IF
853.if \\n(g7 .fi
854.ls
855..
856.de IE			\" *** end ideal picture
857.if \\n(g7 .fi
858.ls
859..
860.de PS		\" *** start picture: $1=height, $2=width in units or inches
861.if t .sp .3
862.nr g7 \\$2
863.in (\\n(.lu-\\n(g7u)/2u
864.ne \\$1u
865.nr g7 \\n(.u
866.ls 1
867..
868.de PE			\" *** end picture
869.in
870.if \\n(g7 .fi
871.if t .sp .6
872.ls
873..
874.\"	GS called with C (default), L or R  (\n(g1=width, \n(g2=height)
875.de GS			\" *** start gremlin picture
876.nr g7 (\\n(.lu-\\n(g1u)/2u
877.if "\\$1"L" .nr g7 \\n(.iu
878.if "\\$1"R" .nr g7 \\n(.lu-\\n(g1u
879.in \\n(g7u
880.nr g7 \\n(.u
881.ls 1
882.nf
883.ne \\n(g2u
884..
885.de GE			\" *** end gremlin picture
886.ls
887.in
888.if \\n(g7 .fi
889.if t .sp .6
890..
891.de GF			\" *** finish gremlin picture; stay at top
892.ls
893.in
894.if \\n(g7 .fi
895..
896.	\" TS - source file for tbl
897.de TS
898.rn TS @T
899.so \*(//tbl.ms
900.TS \\$1 \\$2
901.rm @T
902..
903.	\" EQ - source file for eqn
904.de EQ
905.rn EQ @T
906.so \*(//eqn.ms
907.EQ \\$1 \\$2
908.rm @T
909..
910.	\" ]- - source file for refer
911.de ]-
912.rn ]- @T
913.so \*(//ref.ms
914.]-
915.rm @T
916..
917.if !"\*(.T"" \{\
918.	\" LT and HE - source for letter head
919.de LT
920.rn LT @T
921.so \*(L/hed.ms
922.LT
923.rm @T
924..
925.de HE
926.rn HE @T
927.so \*(L/hed.ms
928.HE
929.rm @T
930..
931.\}
932.	\" [< - for refer -s or -e
933.de ]<
934.rn ]< @T
935.so \*(//ref.ms
936.]<
937.rm @T
938..
939.	\" footnote delimiters
940.if \n(.V>19 .ds [ \f1[
941.if \n(.V>19 .ds ] ]\fP
942.if \n(.V<20 .ds [ \f1\s-2\v'-.4m'
943.if \n(.V<20 .ds ] \v'.4m'\s+2\fP
944.	\" refer strings
945.if n .ds [. [
946.if t .ds [. \s-2\v'-.4m'\f1
947.if n .ds .] ]
948.if t .ds .] \v'.4m'\s+2\fP
949.if n .ds <. "
950.if t .ds <. .
951.if n .ds >. .
952.if t .ds >. "
953.if n .ds >; ;
954.if t .ds >; "
955.if n .ds Q \&"
956.if n .ds U \&"
957.if n .ds - \%--
958.if t .ds Q ``
959.if t .ds U ''
960.if t .ds - \(em
961.ds ' \h'\w'e'u/5'\z\'\h'-\w'e'u/5'
962.ds ` \h'\w'e'u/5'\z\`\h'-\w'e'u/5'
963.ds ^ \h'\w'o'u/10'\z^\h'-\w'o'u/10'
964.ds , \h'\w'c'u/5'\z,\h'-\w'c'u/5'
965.ds : \h'\w'u'u/5'\u\z.\h'\w'u'u*2/5'\z.\d\h'-\w'u'u*3/5'
966.ds ~ \h'\w'n'u/10'\z~\h'-\w'n'u/10'
967.ds C \h'\w'c'u/5'\v'-.6m'\s-4\zv\s+4\v'.6m'\h'-\w'c'u/5'
968.	\" AM - better accent marks
969.de AM
970.so \*(//acc.ms
971..
972.	\" TM - thesis mode
973.de TM
974.so \*(//ths.ms
975..
976.	\" BX - word in a box
977.de BX
978.if t \(br\|\\$1\|\(br\l'|0\(rn'\l'|0\(ul'
979.if n \(br\\kA\|\\$1\|\\kB\(br\v'-1v'\h'|\\nBu'\l'|\\nAu'\v'1v'\l'|\\nAu'
980..
981.	\" B1 - source file for boxed text
982.de B1
983.rn B1 @T
984.so \*(//tbl.ms
985.B1 \\$1
986.rm @T
987..
988.	\" XS - table of contents
989.de XS
990.rn XS @T
991.so \*(//toc.ms
992.XS \\$1 \\$2
993.rm @T
994..
995.	\" IX - index words to stderr
996.de IX
997.tm \\$1\t\\$2\t\\$3\t\\$4 ... \\n(PN
998..
999.	\" UX - UNIX macro
1000.de UX
1001.ie \\n(UX \s-1UNIX\s0\\$1
1002.el \{\
1003\s-1UNIX\s0\\$1\(dg
1004.FS
1005\(dg \s-1UNIX\s0 is a registered trademark of AT&T Bell Laboratories
1006in the USA and other countries.
1007.FE
1008.nr UX 1
1009.\}
1010..
1011.co
1012.if \n(mo-0 .ds MO January
1013.if \n(mo-1 .ds MO February
1014.if \n(mo-2 .ds MO March
1015.if \n(mo-3 .ds MO April
1016.if \n(mo-4 .ds MO May
1017.if \n(mo-5 .ds MO June
1018.if \n(mo-6 .ds MO July
1019.if \n(mo-7 .ds MO August
1020.if \n(mo-8 .ds MO September
1021.if \n(mo-9 .ds MO October
1022.if \n(mo-10 .ds MO November
1023.if \n(mo-11 .ds MO December
1024.ds DY \*(MO \n(dy, 19\n(yr
1025.nr * 0 1
1026.IZ
1027.em EM
1028.rm IZ RA // L/
1029