ttmac.soft - plan9port - [fork] Plan 9 from user space
 (HTM) git clone git://src.adamsgaard.dk/plan9port
 (DIR) Log
 (DIR) Files
 (DIR) Refs
 (DIR) README
 (DIR) LICENSE
       ---
       ttmac.soft (16752B)
       ---
            1 .\"        From mel Sat Sep 16 14:46:23 1978
            2 .\"        the GE macro places figures.
            3 .\"        G8 is zero until the figure is placed
            4 .\"        G5 is non-zero if there was an argument
            5 .\"         on GS which specifies
            6 .\"          1 - top
            7 .\"          2 - bottom
            8 .\"          3 - next page
            9 .\"          4 - at this point
           10 .\"        the macros HN - top next pge
           11 .\"        HT - top this page
           12 .\"        HB - bottom this page
           13 .\"        HH : here on this page
           14 .\"        The current algorithm is: if it does not fit,
           15 .\"        top next page; otherwise if no arg to GS
           16 .\"        put it at top or bottom of this page, whichever
           17 .\"        is closer (there is a threshold of half the figure
           18 .\"        size or something)
           19 .\"        if arg to GS is given it governs.
           20 .\"
           21 .de Vx        \" volume, number, Month, year, page 1, page n, top title(s) in one blast (bwk)
           22 .\" also needs DY for date received as 31 July 1978
           23 .ds VN \\$1
           24 .ds NU \\$2
           25 .ds mo \\$3
           26 .if "\\$3"January" .ds MO JANUARY
           27 .if "\\$3"February" .ds MO FEBRUARY
           28 .if "\\$3"March" .ds MO MARCH
           29 .if "\\$3"April" .ds MO APRIL
           30 .if "\\$3"May" .ds MO MAY
           31 .if "\\$3"June" .ds MO JUNE
           32 .if "\\$3"July" .ds MO JULY
           33 .if "\\$3"August" .ds MO AUGUST
           34 .if "\\$3"September" .ds MO SEPTEMBER
           35 .if "\\$3"October" .ds MO OCTOBER
           36 .if "\\$3"November" .ds MO NOVEMBER
           37 .if "\\$3"December" .ds MO DECEMBER
           38 .nr yr \\$4
           39 .nr P \\$5-1
           40 .nr P< \\$5
           41 .pn \\$5
           42 .nr P> \\$6
           43 .ds Tl \\$7
           44 .ds Tr \\$8
           45 ..
           46 .de PS        \" start picture (bwk)
           47 .        \" $1 is height, $2 is width in units
           48 .if t .SP .3
           49 .in (\\n(.lu-\\$2u)/2u
           50 .ne \\$1u
           51 ..
           52 .de PE        \" end of picture
           53 .in
           54 .if t .SP .6
           55 ..
           56 .di XX
           57 .nr Q1 0
           58 .rn ne NE
           59 .de ne
           60 .nr NB \\$1v
           61 .if \\n(.t<\\n(NB \{\
           62 .dt \\n(.du+4u \\*(DT
           63 .sp\}
           64 ..
           65 .ds Co \s12\v'.2m'\(co\v'-.2m'\s0 20\\n(yr by John Wiley & Sons, Ltd.
           66 .de CO
           67 .ps 8
           68 .vs 9p
           69 .nf
           70 SOFTWARE\(emPRACTICE AND EXPERIENCE, VOL. \\*(VN(\\*(NU), \\n(P<-\\n(P> (\\*(MO 20\\n(yr)
           71 .fi
           72 .ft 1
           73 .lt \\n(LLu
           74 .ps \\n(PS
           75 .vs \\n(VSp
           76 ..
           77 .nr BS 1
           78 .de IZ
           79 .if \\n(PS=0 .nr PS 10
           80 .if \\n(VS=0 .nr VS 12
           81 .if \\n(PL=0 .nr PL 10.25i
           82 .if \\n(LP=0 .nr LP 8i
           83 .if \\n(LL=0 .nr LL 5.6i
           84 .if \\n(LS=0 .nr LS 0.9v
           85 .if \\n(JS=0 .nr JS 0.5v
           86 .nr ZI 0.3i
           87 .nr ZJ 0.3i
           88 .ps \\n(PS
           89 .vs \\n(VSp
           90 .pl \\n(PLu
           91 .ll \\n(LLu
           92 .nr L4 \\n(LPu-\\n(LSu
           93 .dt \\n(L4u EP
           94 .ds DT EP
           95 .em EM
           96 ..
           97 .de TL
           98 .IZ
           99 .rm IZ
          100 .CO
          101 .SP .5i
          102 .ps 16
          103 .ft 1
          104 .vs 30p
          105 .br
          106 .if \\n(.d=0 .nr TP 1
          107 .if \\n(.t<4v .nr TO 1
          108 .di TX
          109 .nr FR 0
          110 .nr IT 1
          111 .na
          112 .ll \\n(LLu-.5i
          113 ..
          114 .de ET
          115 .br
          116 .di
          117 .dt \\n(L4u \\*(DT
          118 .ad
          119 .ll \\n(LLu
          120 .ce 100
          121 .nf
          122 .TX
          123 .rm TX
          124 .fi
          125 .nr IT 0
          126 ..
          127 .de AU
          128 .if \\n(IT>0 .ET
          129 .ft 1
          130 .br
          131 .sp .6
          132 .ps 8
          133 .vs \\n(VSp
          134 .ce 100
          135 ..
          136 .de AI
          137 .sp 3p
          138 .ps 8
          139 .ft 2
          140 .ce 100
          141 ..
          142 .de RD
          143 .ps -1
          144 .ce
          145 .if \\n(.n>\\n(.l .tm Too many authors on a line
          146 ..
          147 .de AB
          148 .ce 0
          149 .nr AB 1
          150 .ft 3
          151 .ce
          152 .SP .2i
          153 SUMMARY
          154 .ps \\n(PS
          155 .vs \\n(VSp
          156 .SP .5v
          157 ..
          158 .de AE
          159 .ft 1
          160 .nr AB 0
          161 .nr FR 0
          162 .nr HI 1
          163 .SP .8v
          164 ..
          165 .de OK
          166 .br
          167 .ft 1
          168 .ps 6
          169 KEY WORDS  \c
          170 .ps 7
          171 ..
          172 .de PP
          173 .RT
          174 .if \\n(.i>0 .SP \\n(JSu
          175 .in 0
          176 .if \\n(FR=0 .ps \\n(PS
          177 .ti +2n
          178 .if \\n(AB=0 .ft 1
          179 .nr FR 1
          180 ..
          181 .de LP
          182 .RT
          183 .if \\n(.i>0 .SP \\n(JSu
          184 .in 0
          185 .if \\n(FR=0 .ps \\n(PS
          186 .nr FR 1
          187 .if \\n(AB=0 .ft 1
          188 ..
          189 .de IP
          190 .ce 0
          191 .if \\n(FR=0 .ps \\n(PS
          192 .nr FR 1
          193 .if \\n(.i=0 .SP .5v
          194 .in \\n(ZJu
          195 .ti -\\n(ZIu
          196 \\$1\h'|\\n(ZIu'\c
          197 ..
          198 .de JP
          199 .ce 0
          200 .\".if \\n(.d>0 .if \\n(.d<1.5v .if \\n(HI=0 .tm Top widow page \\n% (JP)
          201 .if \\n(FR=0 .ps \\n(PS
          202 .nr FR 1
          203 .if \\n(.i=0 .SP \\n(JSu
          204 .in \\n(ZJu
          205 .ti -.4i
          206 .if \\n(.f=1 \h'0.3i-\w"(\f2\\$1\|\fP)"u'(\f2\\$1\|\fP)\h'|.4i'\c
          207 .if \\n(.f=2 \h'0.3i-\w"(\f2\\$1\^\fP)"u'(\f2\\$1\^\fP)\h'|.4i'\c
          208 ..
          209 .de SH
          210 .nr HQ \\n(HI
          211 .RT
          212 .in 0
          213 .nr HI \\n(HQ
          214 .ne 2v+\\n(.Vu
          215 .ft 3
          216 .if \\n(HI=0 .if \\n(.d>0 .SP 1.25v
          217 .if \\n(HI>0 .if \\n(.d>0 .if \\n(FR>0 .sp 1
          218 .nr FR 1
          219 .nr HI 1
          220 ..
          221 .de EP
          222 .di
          223 .nr L1 \\n(dn
          224 .ev 1
          225 .ce 0
          226 .ll \\n(LLu
          227 .br
          228 .rs
          229 .sp .75i-1v
          230 .if \\n(TP=0 .PT
          231 .if \\n(TP>0 .sp
          232 .nr TO 0
          233 .sp 1
          234 .nr P1 \\n(LP-\\n(L1
          235 .nf
          236 .nr P1 -\\n(G1
          237 .nr P1 -\\n(G2
          238 .if \\n(P1<0 .nr Q1 0
          239 .if \\n(EX=1 .nr Q1 0  \" don't pad on last page of article
          240 .nr P3 \\n(P1
          241 .if \\n(G1>0 .GT
          242 .if \\n(G1>0 .if \\n(EX=0 .sp \\n(P1u
          243 .if \\n(G1>0 .if \\n(EX=0 .nr P1 0
          244 .rm GT
          245 .if \\n(G1>0 .nr Q1 0 \" if top figure, pad below
          246 .if \\n(G2>0 .nr Q1 0 \" if bottom figure pad above
          247 .if \\nB .tm Page \\n%: pad \\n(P3 space \\n(Q1 places, top \\n(G1, bot \\n(G2
          248 .XX
          249 .nf
          250 .if \\n(G2>0 .if \\n(P1>0 .sp \\n(P1u
          251 .if \\n(G2>0 .nr P1 0
          252 .if \\n(G2>0 .GB
          253 .nr G1 0
          254 .nr G2 0
          255 .if \\n(EX>0 .if \\n(P1>0 .sp \\n(P1u
          256 .if \\nB .tm Bottom of page \\n% at \\n(nl
          257 .rm GB
          258 .PF
          259 .bp
          260 .nr TQ \\n(TP
          261 .nr TP 0
          262 .nr G1 \\n(G3
          263 .rn GN GT
          264 .nr G3 0
          265 .ev 
          266 .nr FP 0
          267 .nr Q1 0
          268 .nr L4 \\n(LPu-\\n(LSu
          269 .if \\n(G1>(\\n(L4-1i) .FB \" full page figure
          270 .nr L4 -\\n(G1
          271 .nr LX \\n%
          272 .af LX 1
          273 .ie \\n(LX<=26 .af LX a
          274 .el \{.nr LX -26
          275 .af LX A\}
          276 .nr L4 -\\n(C\\n(LXu
          277 .di XX
          278 .dt \\n(L4u EP
          279 .ds DT EP
          280 ..
          281 .de FB
          282 .if \\nB .tm Full page figure on page \\n%
          283 .ev 1
          284 .rs
          285 .sp .75i-1v
          286 .PT
          287 .rs
          288 .GT
          289 .rm GT
          290 .nr G1 0
          291 .PF
          292 .bp
          293 .ev
          294 ..
          295 .de CP \" cut text on page arg1 by arg2 
          296 .nr C2 \\$2v
          297 .nr C1 \\$1
          298 .af C1 1
          299 .if \\n(C1>52 .tm Page>52, gok what happens.
          300 .ie \\n(C1<=26 .af C1 a
          301 .el \{.nr C1 -26
          302 .af C1 A\}
          303 .if \\n(C2>0 .nr C\\n(C1 \\n(C2
          304 ..
          305 .de SP
          306 .if \\n(.t<\\$1 .\\*(DT
          307 .if \\n(.d>0 .ST \\$1
          308 ..
          309 .de ST
          310 .sp \\$1
          311 .nr Q1 +1
          312 \!.FI
          313 ..
          314 .de FI
          315 .nr P4 0
          316 .if \\n(Q1>0 .nr P4 3*((\\n(P1/3)/\\n(Q1)
          317 .sp \\n(P4u
          318 .if \\n(P4>1v .tm Padding of \\n(P4u exceeds one space page \\n%
          319 .nr P1 -\\n(P4
          320 .nr Q1 -1
          321 ..
          322 .de CL \" change length: add/sub lines this page
          323 .nr CN \\$1v
          324 .nr L4 \\n(L4+\\n(CN
          325 .dt \\n(L4u EP
          326 ..
          327 .de GS
          328 .        \"argument positions: 1 top here, 2 bottom here, 3 next page, 4 right here
          329 .if \\n(.$>0 .if \\$1=4 .br
          330 .ev 1
          331 .di GD
          332 .ll \\n(LLu
          333 .if \n(KK=0 .ps \\n(PS-2
          334 .if \n(KK=0 .vs \\n(VSp-4p
          335 .nr G5 0
          336 .if \\n(.$>0 .nr G5 \\$1
          337 .fi
          338 ..
          339 .de GE
          340 .br
          341 .di
          342 .nf
          343 .nr G0 \\n(dn
          344 .nr G0 +1v
          345 .nr G8 0  \" not placed
          346 .if \\n(KG=0 .if \\n(G8=0 .if \\n(G0>\\n(.t .HN
          347 .if \\n(G8=0 .if \\n(G5=0 .if \\n(G0>2*\\n(.d .if \\n(G1=0 .HT
          348 .if \\n(G8=0 .if \\n(G5=0 .if 3*\\n(G0>2*\\n(.t .if \\n(G2=0 .HB
          349 .if \\n(G8=0 .if \\n(G5=0 .HH
          350 .if \\n(G8=0 .if \\n(G5=1 .HT
          351 .if \\n(G8=0 .if \\n(G5=2 .HB
          352 .if \\n(G8=0 .if \\n(G5=3 .HN
          353 .if \\n(G8=0 .if \\n(G5=4 .HH
          354 .rm GD
          355 .ps \\n(PS
          356 .vs \\n(VSp
          357 .ev
          358 ..
          359 .de FS
          360 .GS 2
          361 .br
          362 .if \\n(FP=0 \{\
          363 .vs 2p
          364 .br
          365 \l'.75i'
          366 .vs
          367 .sp 2p
          368 .nr FP 1
          369 .br\}
          370 ..
          371 .de FE
          372 .GE
          373 ..
          374 .de KS
          375 .if \\n(KK=0 .GS 4
          376 .nr KK 1
          377 .nr KG 1
          378 ..
          379 .de KE
          380 .if \\n(KK>0 .GE
          381 .nr KK 0
          382 .nr KG 0 \" KG on if not a floating display
          383 ..
          384 .de HN
          385 .if \\n(G3>0 .tm Two figures pushed to next page.
          386 .da GN
          387 .GD
          388 .sp 1
          389 .di
          390 .nr G3 \\n(dn
          391 .nr G8 1
          392 ..
          393 .de HT
          394 .nr L4 -\\n(G0
          395 .dt \\n(L4u \\*(DT
          396 .da GT
          397 .GD
          398 .sp
          399 .di
          400 .nr G1 +\\n(dn
          401 .nr G8 1
          402 ..
          403 .de HB
          404 .da GB
          405 .if \\n(FP=0 .sp
          406 .GD
          407 .di
          408 .nr G2 +\\n(dn
          409 .nr G8 1
          410 .nr L4 -\\n(dn
          411 .dt \\n(L4u \\*(DT
          412 ..
          413 .de HH
          414 .SP .5v
          415 .if \\n(G0>\\n(.t .if \\n(KK>0 .sp 10i
          416 .GD
          417 .SP .5v
          418 .nr G8 1
          419 ..
          420 .de RR
          421 .ce 0
          422 .if \\n(FR=0 .ps \\n(PS
          423 .nr FR 1
          424 .ft 1
          425 .in .3i
          426 .if \\n(.$ .ti -.3i
          427 .if \\n(.$ \\$1\ \ \c
          428 ..
          429 .de RF
          430 .SP 2v
          431 .ps \\n(PS-2
          432 .vs \\n(VS-3
          433 .ne 3v
          434 .ce
          435 .ps -1
          436 REFERENCES
          437 .sp 3p
          438 ..
          439 .de PT
          440 .if \\n(PF>0 .af % 1
          441 .if \\n(Pf>0 .if o .tl ""\s7\\*(Tr\s0"\s10\\n%"
          442 .if \\n(Pf>0 .if e .tl "\s10\\n%"\s7\\*(Tl\s0""
          443 ..
          444 .de PF
          445 .sp 1v
          446 .lt \\n(.lu
          447 .nr Ss \\n(.s
          448 .nr Sf \\n(.f
          449 .ps 9
          450 .af NU 01
          451 .af VN 01
          452 .af P< 0001
          453 .nr VN \\*(VN
          454 .nr NU \\*(NU
          455 .\" price = 1.00 if <= 10 pages, otherwise .10/page.
          456 .nr p1 (1+\\n(P>-\\n(P<)*10
          457 .if \\n(p1<100 .nr p1 100
          458 .nr p2 \\n(p1%100
          459 .nr p1 \\n(p1/100
          460 .ds pr \\n(p1.\\n(p2
          461 .if \\n(Pf=0 .tl "\s90038-0644/\\n(yr/\\n(NU\\n(VN-\\n(P<$0\\*(pr""\f2Received \\*(DY\f1\s0"
          462 .if \\n(Pf=0 \s9\\*(Co\s0
          463 .af % 1
          464 .nr Pf \\n(Pf+1
          465 .ft \\n(Sf
          466 .ps \\n(Ss
          467 ..
          468 .de EQ  \"equation, breakout and display
          469 .nr EF \\n(.u
          470 .ds EE \\h'.5i'        \" default for indent is .5 inch
          471 .nr LE 1        \" 1 is center, 0 is I or L
          472 .ds EL \\$1
          473 .if "\\$1"L" .ds EL \\$2
          474 .if "\\$1"L" .nr LE 0
          475 .if "\\$1"C" .ds EL \\$2
          476 .if "\\$1"I" .nr LE 0
          477 .if "\\$1"I" .ds EE \\h'.5i'
          478 .if "\\$1"I" .if !"\\$3"" .ds EE \\h'\\$3'
          479 .if "\\$1"I" .ds EL \\$2
          480 .ev 1
          481 .di EZ
          482 ..
          483 .\"                -----------------------------
          484 .de EN  \" end of a displayed equation
          485 .if !"\\n(.z"EZ" .tm EN not preceded by EQ, disaster follows.
          486 .br
          487 .ce 0
          488 .di
          489 .rm EZ
          490 .ev
          491 .nr ZN 1
          492 .if "\\*(10"" .nr ZN 0
          493 .if \\n(ZN=0 .if !"\\*(EL"" .nr ZN 1
          494 .lt \\n(.lu
          495 .br
          496 .if \\n(ZN>0 .if !\\n(.d=\\n(PE .SP 0.5
          497 .pc
          498 .if \\n(BD>0 .nr LE 0 \" can't mean centering in this case.
          499 .if \\n(ZN>0 .if \\n(LE>0 .tl \(ts\(ts\\*(10\(ts\\*(EL\(ts
          500 .if \\n(ZN>0 .if \\n(LE=0 .if \\n(BD=0 .tl \(ts\\*(EE\\*(10\(ts\(ts\\*(EL\(ts
          501 .if \\n(ZN>0 .if \\n(LE=0 .if \\n(BD>0 \!\\*(10\\\\t\\*(EL
          502 .if \\n(ZN>0 .if \\n(LE=0 .if \\n(BD>0 .if \\n(BD<\\w'\\*(10' .nr BD \\w'\\*(10'
          503 .lt \\n(LLu
          504 .pc %
          505 .br
          506 .if \\n(ZN>0 .if \\n(EF>0 .fi
          507 .rm EL
          508 .if \\n(ZN>0 .SP 0.5
          509 .nr PE \\n(.d
          510 .rm 10
          511 ..
          512 .de B
          513 .if \\n(.$>0 \\$3\f3\\$1\fP\\$2
          514 .if \\n(.$=0 .ft 3
          515 ..
          516 .de I
          517 .if \\n(.$>0 \\$3\f2\\$1\fP\^\\$2
          518 .if \\n(.$=0 .ft 2
          519 ..
          520 .de R
          521 .ft 1
          522 ..
          523 .de EM
          524 .br
          525 .nr EX 1
          526 .wh -1p .CM
          527 .sp 100
          528 ..
          529 .de TS
          530 .nf
          531 .sp .5v
          532 ..
          533 .de TE
          534 .fi
          535 .sp .5v
          536 ..
          537 .de CM
          538 .po 0
          539 .tl '\(ru'''
          540 .po
          541 ..
          542 .wh 0 CM
          543 .de RT
          544 .br
          545 .\".if \\n(.d>0 .if \\n(.d<1.5v .if \\n(HI=0 .tm Top widow page \\n%
          546 .IZ
          547 .rm IZ
          548 .if "\\n(.z"PA" .tm Warning: are you missing a .P2?
          549 .if \\n(IT>0 .ET
          550 .ps \\n(PS
          551 .vs \\n(VSp
          552 .if \\n(HI .sp .5v
          553 .if \\n(HI .if \\n(.d<=1.5v .if \\n(G1=0 .sp .5v
          554 .nr HI 0
          555 .ce 0
          556 ..
          557 .   \"ACCENTS  say \*'e or \*`e to get e acute or e grave
          558 .ds ' \h'\w'e'u*4/10'\z\(aa\h'-\w'e'u*4/10'
          559 .ds ` \h'\w'e'u*4/10'\z\(ga\h'-\w'e'u*4/10'
          560 .   \"UMLAUT  \*:u, etc.
          561 .ds : \v'-0.6m'\h'(1u-(\\n(.fu%2u))*0.13m+0.06m'\z.\h'0.2m'\z.\h'-((1u-(\\n(.fu%2u))*0.13m+0.26m)'\v'0.6m'
          562 .  \"TILDE and CIRCUMFLEX
          563 .ds ^ \\k:\h'-\\n(.fu+1u/2u*2u+\\n(.fu-1u*0.13m+0.06m'\z^\h'|\\n:u'
          564 .ds ~ \\k:\h'-\\n(.fu+1u/2u*2u+\\n(.fu-1u*0.13m+0.06m'\z~\h'|\\n:u'
          565 .        \"dotted arrow
          566 .ds > \v'-.1m'\s-4---\z-\v'.1m'\h'-.3m'\z>\s+4
          567 .                \"czech symbol as in kucera & francis
          568 .ds C \h'.1m'\v'-0.6m'\s6\zv\s0\v'0.6m'\h'-.1m'
          569 ..
          570 .        \"NH - numbered heading
          571 .de NH
          572 .nr HQ \\n(HI
          573 .RT
          574 .nr HI \\n(HQ
          575 .ne 2v+\\n(.Vu
          576 .ft 1
          577 .if \\n(Nh=0 .SP 1.2v
          578 .nr Nh \\n(Nh+1
          579 .if \\n(HI=0 .if \\n(.d>0 .SP 1.5v
          580 .if \\n(HI>0 .if \\n(.d>0 .if \\n(FR>0 .sp 1
          581 .nr FR 1
          582 .nr HI 1
          583 .ce 100
          584 \\n(Nh.  \c
          585 ..
          586 .        \"Ch - centered, unnumbered heading
          587 .de Ch
          588 .RT
          589 .ne 2v+\\n(.Vu
          590 .sp 1
          591 .ft 1
          592 .ce 100
          593 ..
          594 .        \"Lh - left-justified, unnumbered heading
          595 .de Lh
          596 .RT
          597 .ne 2v+\\n(.Vu
          598 .sp 1
          599 .ft 3
          600 ..
          601 .de IH
          602 .nr H4 +1
          603 .ft 2
          604 \\n(H1.\\n(H2.\\n(H3.\\n(H4 \\$1
          605 .ft 1
          606 ..
          607 .de UX
          608 .ie \\n(GA>0 \\$2\s-2UNIX\s0\\$1
          609 .el \{\
          610 .if n \\$2UNIX\(dg\\$1
          611 .if t \\$2\s-2UNIX\s0\(dg\\$1
          612 .FS
          613 \(dg \s-2UNIX\s0 is a registered trademark of X/Open.
          614 .FE
          615 .nr GA 1\}
          616 ..
          617 .de Ux \" cap-small cap, not used
          618 .\" .ie \\n(GA>0 \\$2U\s-2NIX\s0\\$1
          619 .ie \\n(GA>0 \\$2\s-2UNIX\s0\\$1
          620 .el \{\
          621 .if n \\$2UNIX*\\$1
          622 .\".if t \\$2U\s-2NIX\s0*\\$1
          623 .if t \\$2\s-2UNIX\s0*\\$1
          624 .FS
          625 * \s-2UNIX\s0 is a registered trademark of X/Open.
          626 .FE
          627 .nr GA 1\}
          628 ..
          629 .de US
          630 the
          631 .UX
          632 operating system
          633 ..
          634 .so /usr/lib/tmac/tmac.sdisp
          635 .de KF
          636 .if \\n(KK=0 .GS
          637 .nr KK 1
          638 ..
          639 .tr |\(or
          640 .de UL
          641 .if n .ul
          642 \&\\$3\f3\\$1\fP\&\\$2
          643 ..
          644 .de UC
          645 \&\\$3\s-2\\$1\\s+2\&\\$2
          646 ..
          647 .de Uc \" cap-small cap, not used
          648 .\" \&\\$4\\$1\s-2\\$2\s+2\&\\$3
          649 \&\\$4\s-2\\$1\\$2\s+2\&\\$3
          650 ..
          651 .de IT
          652 .if n .ul
          653 \&\\$3\f2\\$1\fP\|\&\\$2
          654 ..
          655 .de UP
          656 \&\\$3\\f3\s-2\\$1\s+2\f1\&\\$2
          657 ..
          658 .de P1
          659 .nr PC \\n(.i
          660 .nf
          661 .di PA
          662 .lg 0
          663 .if n .ls 1
          664 .if n .ta 5 10 15 20 25 30 35 40 45 50 55 60
          665 .if t .ta .4i .8i 1.2i 1.6i 2i 2.4i 2.8i 3.2i 3.6i 4i 4.4i 4.8i 5.2i 5.6i
          666 .if t .tr -\-|\(bv'\(fm*\(**
          667 .if t .tr ~\(ap
          668 .tr _\(ru
          669 .if t .ss 20
          670 .ft 3
          671 .lg 0
          672 .ps 9
          673 .vs 12p
          674 .in 0
          675 ..
          676 .de P2
          677 .if t .ss 12
          678 .ft R
          679 .if n .ls 2
          680 .tr --''^^!!**
          681 .lg
          682 .in \\n(PCu
          683 .di
          684 .if \\n(dl>(\\n(.l-\\n(.i) .tm Page \\n% program fragment too wide
          685 .nr PB \\n(.l-\\n(dl-\\n(.i-2n
          686 .if \\n(PB<0 .nr PB 0
          687 .nr PB \\n(PB/2
          688 .        \" indent; don't center
          689 .nr PB .5i
          690 .in +\\n(PBu
          691 .nf
          692 .SP .5v
          693 .PA
          694 .SP .5v
          695 .in -\\n(PBu
          696 .fi
          697 .ps \\n(PS
          698 .vs \\n(VSp
          699 ..
          700 .de X
          701 .ul
          702 \&\\$1 \\$2 \\$3 \\$4 \\$5 \\$6 \\$7 \\$8 \\$9
          703 ..
          704 .de Y
          705 .ti \\n(.yu*2u
          706 .ul
          707 \&\\$1 \\$2 \\$3 \\$4 \\$5 \\$6 \\$7 \\$8 \\$9
          708 ..
          709 .de QH
          710 .NH 2
          711 .ti 0
          712 .ft 2
          713 ..
          714 .de PN
          715 .nr NQ \\n(.f
          716 \&\\$3\\f3\\$1\f\\n(NQ\\$2
          717 ..
          718 .de ][
          719 .\".if \\n(.d>0 .if \\n(.d<1.5v .tm Top widow page \\n%
          720 .if \\$1>5 .tm Bad arg to ][
          721 .Fx \\*([D
          722 .[\\$1
          723 ..
          724 .if n .ds [. [
          725 .if t .ds [. \s-2\v'-.4m'\f1
          726 .if n .ds .] ]
          727 .if t .ds .] \v'.4m'\s+2\fP
          728 .if n .ds [o ""
          729 .if n .ds [c ""
          730 .if t .ds [o `
          731 .if t .ds [c '
          732 .de [5 \" tm style
          733 .QP "\\*([F.\0"
          734 \\*([A,
          735 unpublished work
          736 (\\*([D).
          737 .in 0
          738 .RT
          739 ..
          740 .de [0 \" other
          741 .QP "\\*([F.\0"
          742 .if !"\\*([A"" \\*([A,
          743 .if !"\\*([T"" \\f2\\*([T\\f1\c
          744 .if !"\\*([T"" .if !"\\*([O"" ,\ 
          745 .ie !"\\*([O"" \\*([O
          746 .el .if !"\\*([T"" \&.
          747 .if !"\\*([D"" \\*([D.
          748 .in 0
          749 .RT
          750 ..
          751 .de [1 \" journal article
          752 .if "\\*([Q"This issue" .rm [V [N [D
          753 .if !"\\*([R"" .rm [C
          754 .QP "\\*([F.\0"
          755 .if !"\\*([A"" \\*([A,
          756 .if !"\\*([T"" \\*([o\\*([T,\\*([c
          757 .ft 2
          758 .if "\\*([V"" .if !"\\*([C"" \\*([J,
          759 .if "\\*([V"" .if "\\*([C"" .if !"\\*([Q"This issue"  \\*([J
          760 .if "\\*([V"" .if "\\*([C"" .if "\\*([Q"This issue"  \\*([J,
          761 .if !"\\*([V"" \\*([J,
          762 .ft 1
          763 .if !"\\*([V"" \{.if n Vol.\&
          764 \\f3\\*([V\\f1,\}
          765 .if !"\\*([N"" \\*([N,
          766 .if !"\\*([C"" \\*([C
          767 .if !"\\*([P"" \\*([P
          768 .if !"\\*([D"" (\\*([D).
          769 .in 0
          770 .RT
          771 ..
          772 .de [2 \" book
          773 .QP "\\*([F.\0"
          774 .if !"\\*([A"" \\*([A,
          775 \\f2\\*([T,\\f1
          776 \\*([I,
          777 .if !"\\*([D"" \\*([D\c
          778 .if !"\\*([Q"NP" \&.
          779 .if !"\\*([G"" Gov't. ordering no. \\*([G
          780 .if !"\\*([O"" \\*([O
          781 .in 0
          782 .RT
          783 ..
          784 .de [4 \" report
          785 .if "\\*([I"Bell Laboratories" .rm [C
          786 .QP "\\*([F.\0"
          787 \\*([A, \\*([o\\*([T,\\*([c
          788 \\*([R\c
          789 .if !"\\*([G"" \& (\\*([G)\c
          790 .if !"\\*([I"" ,  \\*([I\c
          791 .if !"\\*([C"" ,  \\*([C\c
          792 .if !"\\*([D"" \\0(\\*([D)\c
          793 .if !"\\*([Q"NP" \&.
          794 .if !"\\*([O"" \\*([O
          795 .in 0
          796 .RT
          797 ..
          798 .de [3 \" article in book
          799 .QP "\\*([F.\0"
          800 \\*([A, \\*([o\\*([T,\\*([c
          801 in \\f2\\*([B\\f1\c
          802 .if !"\\*([E"" , ed. \\*([E\c
          803 .if "\\*([E"" ,\c
          804 .if !"\\*([I"" \ \\*([I,\c
          805 .if !"\\*([P"" \ \\*([P
          806 .if !"\\*([D"" \ (\\*([D).
          807 .in 0
          808 .RT
          809 ..
          810 .de ]<
          811 .SP 2v
          812 .ti 0
          813 .nf
          814 .ps -1
          815 .ce
          816 REFERENCES
          817 .ps
          818 .nr PS 8
          819 .nr VS 8
          820 .nr PI \w'\s8\0\0.\0'
          821 .sp .5v
          822 .fi
          823 .LP
          824 .rn RP IP
          825 ..
          826 .de Fx        \" fix date to discard all but year
          827 .ds [D \\$\\n(.$
          828 ..
          829 .de ]>
          830 .sp
          831 ..
          832 .de ]-
          833 .rm [V [P [A [T [N [C [B [O [R [I [E [Q [D [Q
          834 ..
          835 .de QP
          836 .LP
          837 .in \\n(PIu
          838 .ta \\n(PIuR
          839 .ti 0
          840 \t\\$1\\c
          841 ..
          842 .de LB
          843 .RT
          844 .nr ZB .4i
          845 .if !"\\$2"" .nr ZB \\$2n
          846 .in \\n(ZJu
          847 .ti -\\n(ZBu
          848 .ta \\n(ZBu
          849 \\$1\t\\c
          850 ..
          851 .de RS
          852 .nr ZJ +.3i
          853 ..
          854 .de RE
          855 .nr ZJ -.3i
          856 ..
          857 .de RP
          858 .ce 0
          859 .if \\n(FR=0 .ps \\n(PS
          860 .nr FR 1
          861 .in .4i
          862 .ta .2i
          863 .if \\n(.$>0 .ti 0-.1i-\h'\w'\\$1'u'
          864 .if \\n(.$>0 \\$1\h'|.4i'\c
          865 ..
          866 .ds s \s-2
          867 .de MH
          868 Bell Labs, 600 Mountain Avenue, Murray Hill, New Jersey 07974, U. S. A.
          869 ..
          870 .de HO
          871 Bell Labs, Holmdel, New Jersey 07733, U. S. A.
          872 ..
          873 .de WH
          874 Bell Labs, Whippany, New Jersey 07981, U. S. A.
          875 ..
          876 .ds n \s+2
          877 .\" REFER macros .... citations
          878 .de []
          879 .][ \\$1
          880 ..
          881 .de ][
          882 .if \\$1>5 .tm Bad arg to []
          883 .[\\$1
          884 ..
          885 .if n .ds [. [
          886 .if t .ds [. \s-2\v'-.4m'\f1
          887 .if n .ds .] ]
          888 .if t .ds .] \v'.4m'\s+2\fP
          889 .if n .ds [o ""
          890 .if n .ds [c ""
          891 .if t .ds [o `
          892 .if t .ds [c '
          893 .\" the next lines deal with the problem of .[1] or [1].
          894 .\" refer will write "linexxx\*(<.[1]\*(>.
          895 .\" and either "<." or ">." should produce the .;
          896 .\" similarly for ,
          897 .if n .ds >. .
          898 .if t .ds <. .
          899 .if n .ds >, ,
          900 .if t .ds <, ,
          901 .de [5 \" tm style
          902 .FS
          903 .IP "\\*([F.\0"
          904 .nr %T 2
          905 \\*([A, \\f2\\*([T\\f1,
          906 .ie \\n(TN \\*([M.
          907 .el Bell Laboratories internal memorandum (\\*([D).
          908 .RT
          909 .FE
          910 ..
          911 .de [0 \" other
          912 .FS
          913 .nr [: 0
          914 .if !"\\*([F"" .IP "\\*([F.\0"
          915 .if !"\\*([A"" \{.nr [: 1
          916 \\*([A\c\}
          917 .if !"\\*([T"" \{.if \\n([:>0 ,
          918 .nr [: 1
          919 \\f2\\*([T\\f1\c\}
          920 .if !"\\*([O""\{.if \\n([:>0 ,
          921 .nr [: 1
          922 .if \\n([O>0 .nr [: 0
          923 \\*([O\c
          924 .if \\n([O>0 \& \c\}
          925 .if !"\\*([D"" \{.if \\n([:>0 ,
          926 .nr [: 1
          927 \\*([D\c\}
          928 .if \\n([:>0 \&.
          929 .if !"\\*([%"" Cited p. \\*([%.
          930 .RT
          931 .FE
          932 ..
          933 .de [1 \" journal article
          934 .nr %T 1 \" title font
          935 .FS
          936 .if !"\\*([R"" .rm [C
          937 .if !"\\*([F"" .IP "\\*([F.\0"
          938 .if !"\\*([A"" \\*([A,
          939 .if !"\\*([T"" \\*([o\\*([T\\*([c,
          940 \\f2\\*([J\\f1\c
          941 .if !"\\*([C"" , \\*([C\c
          942 .if !"\\*([V"" .if n ,\& Vol.\&\c
          943 .if !"\\*([V"" ,\& \\f3\\*([V\\f1\c
          944 .if !"\\*([P"" \{\
          945 .ie \\n([P>0 , \&\c
          946 .el , \ \&\c
          947 \\*([P\c\}
          948 .if !"\\*([I"" .if "\\*([R"" , \\*([I\c
          949 .if !"\\*([O"" .if \\n([O=0 , \\*([O\c
          950 .if !"\\*([D"" \& (\\*([D)\c
          951 \&.
          952 .if !"\\*([O"" .if \\n([O>0  \\*([O
          953 .if !"\\*([%"" Cited p. \\*([%.
          954 .RT
          955 .FE
          956 ..
          957 .de [2 \" book
          958 .FS
          959 .nr %T 2
          960 .if !"\\*([F"" .IP "\\*([F.\0"
          961 .if !"\\*([A"" \\*([A,
          962 .if !"\\*([T"" \\f2\\*([T,\\f1
          963 \\*([I\c
          964 .if !"\\*([C"" , \\*([C\c
          965 .if !"\\*([D"" \& (\\*([D)\c
          966 \&.
          967 .if !"\\*([G"" Gov't. ordering no. \\*([G.
          968 .if !"\\*([O"" \\*([O
          969 .if !"\\*([%"" Cited p. \\*([%.
          970 .RT
          971 .FE
          972 ..
          973 .de [4 \" report
          974 .FS
          975 .if !"\\*([F"" .IP "\\*([F.\0"
          976 .nr %T 1
          977 \\*([A, \\*([o\\*([T\\*([c,
          978 \\*([R\c
          979 .if !"\\*([G"" \& (\\*([G)\c
          980 .if !"\\*([I"" ,  \\*([I\c
          981 .if !"\\*([C"" ,  \\*([C\c
          982 .if !"\\*([D"" \& (\\*([D)\c
          983 \&.
          984 .if !"\\*([O"" \\*([O
          985 .if !"\\*([%"" Cited p. \\*([%.
          986 .RT
          987 .FE
          988 ..
          989 .de [3 \" article in book
          990 .FS
          991 .nr %T 1
          992 .if !"\\*([F"" .IP "\\*([F.\0"
          993 .if !"\\*([A"" \\*([A,
          994 .if !"\\*([T"" \\*([o\\*([T,\\*([c
          995 .if !"\\*([P"" \\*([P
          996 in \\f2\\*([B\\f1\c
          997 .if !"\\*([E"" , ed. \\*([E\c
          998 .if !"\\*([I"" , \\*([I\c
          999 .if !"\\*([C"" , \\*([C\c
         1000 .if !"\\*([D"" \& (\\*([D)\c
         1001 \&.
         1002 .if !"\\*([O"" \\*([O
         1003 .if !"\\*([%"" Cited p. \\*([%.
         1004 .RT
         1005 .FE
         1006 ..
         1007 .de ]<
         1008 .[<
         1009 ..
         1010 .de [<
         1011 .LP
         1012 .rm FS FE
         1013 ..
         1014 .de [>
         1015 .]>
         1016 ..
         1017 .de ]>
         1018 .sp
         1019 ..
         1020 .de ]-
         1021 .[-
         1022 ..
         1023 .de [-
         1024 .rm [V [P [A [T
         1025 .rm [N [C [B [O
         1026 .rm [R [I [E [D
         1027 .rm [G [%
         1028 ..
         1029 .de ]]
         1030 .\"this is never executed and just uses up an end-of-file bug.
         1031 ..