9base

revived minimalist port of Plan 9 userland to Unix
git clone git://git.suckless.org/9base
Log | Files | Refs | README | LICENSE

tmac.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 ..