tmac.cs (21324B)
1 '''\" coversheet to match version 8/06/87 2 '''\" from comp center 1.30 7/20/87 3 '''\" 1/22/97 spacing change in addresses; 4 '''\" email on separate line - mdm 5 '''\" registers 6 '''\" a - abstract continuation flag - 0 (no), >0 (yes) 7 '''\" b - mercury selections counter 8 '''\" c - distribution continuation flag - 0 (no), 1 (yes) 9 '''\" d - flag for length calculation 10 '''\" e - complete copy basic distribution length 11 '''\" g - complete copy overflow distribution length 12 '''\" h - cover sheet basic distribution length 13 '''\" i - cover sheet overflow distribution length 14 '''\" k - keyword flag - 0 (none), 1 (some) - reused as scratch 15 '''\" l - number of vertical units per line - troff 16 '''\" m - memorandum type flag - 1 TM, 2 IM, 3 TC 17 '''\" n - document number counter 18 '''\" o - title flag - 0 (no), 1 (yes - vertical size of title diversion) 19 '''\" p - proprietary notice flag - 0 (none), 1 (default), 2(BR) 20 '''\" r - security flag - 0 (no), 1 (yes) 21 '''\" s - software flag - 0 (no), 1 (yes) 22 '''\" t - mark title position 23 '''\" u - author count 24 '''\" q v w x y z- scratch - but remembered 25 '''\" aa - ship to itds 26 '''\" strings 27 '''\" a) b)- mercury info 28 '''\" d) - date 29 '''\" k) - keywords 30 '''\" N1 - first document number 31 '''\" p) q) r)- proprietary 1 32 '''\" s) - time stamp string 33 '''\" t) - memo type (TM, IM, TC) 34 '''\" v) - document nos 35 '''\" w) - filing case nos 36 '''\" x) - work project nos 37 '''\" e( - earlier document 38 '''\" m( n( o( p(- authors 1-3 sig 39 '''\" r( - responsible person 40 '''\" s( - S software string 41 '''\" t( - memo type ("for Technical Memorandum", etc.) 42 '''\" x( - Mailing Label or DRAFT 43 '''\" N2 N3- 2nd 3rd document number 44 '''\" Fi - up to 3 filing cases 45 '''\" Xi - up to 3 work program numbers 46 '''\" diversions 47 '''\" WB - abstract 48 '''\" ZI - author info section 49 '''\" ZC - complete copy addressee primary 50 '''\" ZO - complete copy addressee overflow 51 '''\" ZS - cover sheet addressee primary 52 '''\" ZD - cover sheet addressee overflow 53 '''\" ZN - document number info 54 '''\" WT - title 55 '''\" 56 '''\" initialization 57 '''\" 58 '''\" get ms if not loaded 59 .if !\n(PS .so /usr/lib/tmac/tmac.s 60 . \" to foil ms 61 .if !'\*(d)'' \{\ 62 . tm You're trying to load the coversheet macros twice - havoc will result 63 . tm I'm quitting to keep you from wasting paper 64 . ex \} 65 .rn FE F6 66 .nr ST 0 67 .nr CS 1 68 .ch NP 16i 69 .ch FO 16i 70 .ch FX 16i 71 .ch BT 16i 72 .nr FM .01i 73 .nr 1T 1 74 .nr BE 1 75 .nr PI 5n 76 .if !\n(PD .nr PD 0.3v 77 .pl 11i 78 .de FT 79 .fp 1 H 80 .fp 2 HI 81 .fp 3 HB 82 .fp 4 HX 83 .ps 10 84 .vs 12 85 .. 86 .de FB 87 .ie !'\\*(TF'' .FP \\*(TF 88 .el .FP times 89 .ps 10 90 .vs 12 91 .. 92 .FT 93 .de FE 94 .F6 95 .nr F4 +\\n(FP 96 .. 97 .nr a 0 1 98 .nr b 0 1 99 .nr c 0 100 .nr d 0 101 .nr e 0 102 .nr g 0 103 .nr h 6 104 .nr i 0 105 .nr k 0 106 .nr m 0 107 .nr n 0 1 108 .nr o 0 109 .nr p 1 110 .nr q 0 111 .nr r 0 112 .nr s 0 113 .nr t 0 114 .nr u 0 1 115 .nr v 0 116 .nr w 0 117 .nr x 0 118 .nr y 0 119 .nr z 0 120 .nr dv 0 121 .if '\*(.T'aps' .nr dv 1 122 '''\" initialize units per vertical space 123 .nr l 120 124 .nr lp 66 125 .nr np 2 1 126 .af np i 127 .nr tp 2 1 128 .nr tc 2 129 .af tc i 130 .nr la 0 131 .nr a1 0 132 .nr a2 0 133 .nr ar 0 134 .nr u! 1 135 .nr ud 1 136 .nr ra 1 137 .di ZI 138 .di 139 .di ZN 140 .di 141 .di ZC 142 .di 143 .di ZO 144 .di 145 .di ZS 146 .di 147 .di ZD 148 .di 149 '''\"initialize date string - keep for 1st pg of tm 150 .if \n(mo-0 .ds d) January 151 .if \n(mo-1 .ds d) February 152 .if \n(mo-2 .ds d) March 153 .if \n(mo-3 .ds d) April 154 .if \n(mo-4 .ds d) May 155 .if \n(mo-5 .ds d) June 156 .if \n(mo-6 .ds d) July 157 .if \n(mo-7 .ds d) August 158 .if \n(mo-8 .ds d) September 159 .if \n(mo-9 .ds d) October 160 .if \n(mo-10 .ds d) November 161 .if \n(mo-11 .ds d) December 162 .as d) " \n(dy, 20\n(yr 163 .ds DY \*(d) 164 ''' \" initialize strings 165 .ds m! 166 .ds m( 167 .ds n! 168 .ds n( 169 .ds o! 170 .ds o( 171 .ds x! 172 .ds y! 173 .ds z! 174 ''' \" initialize proprietary notice 175 .ds o) "Lucent Technologies \(em PROPRIETARY 176 .ds p) "Use pursuant to Company Instructions 177 .ds q) 178 .ds r) 179 ''' \" initialize trademark symbol 180 .ds MT \v'-0.5m'\s-4TM\s+4\v'0.5m' 181 .ds s) 0 182 ''' \"initialize csmacro version string 183 .ds ve MCSL (07/12/90) 184 ....in 0 185 '''\" 186 ''' \" macros to collect information 187 '''\" 188 .de DT \" macro for date 189 '''\" store date if non-empty 190 .if !'\\$1'' .ds d) \\$1 \\$2 \\$3 \\$4 191 .ds DY \\$1 \\$2 \\$3 \\$4 192 .. 193 .de TI \" macro for title -TI = mm(TL) 194 .br 195 .nr aa 0 196 .nr TV 1 197 .ds x( "Mailing Label \} 198 .in 0 199 .fi 200 .ll 4.25i 201 '''\" diversion for title ZT = mm(tI) 202 .di WT 203 .. 204 .de AH \" macro for author info AH = mm(AU) 205 '''\" name loc dept ext room mail_addr company 206 '''\" don't count author unless non-empty 207 .br 208 .di 209 .if !'\\$1'' .nr u \\n+u 210 .nr AV \\nu 211 .if \\nu=1 \{\ 212 . br 213 '''\" end title diversion on first author 214 . di 215 . nr o \\n(dn 216 . ll 217 . nf 218 . ds d! \\$3 219 . nr m2 \\$3/10 \} 220 .ta 0.3i 3.i 4i 5.5i 221 .br 222 .ds D\\nu \\$2 \\$3 223 .ds \\nuL \\$5, x\\$4 224 '''\" append to author list ZI = mm(aV) 225 .da ZI 226 \\$1 \\$2 \\$5 \\$4 \\$7 227 .br 228 .da 229 .if !'\\$6'' \{\ 230 .da ZI 231 (\\$6) 232 .br 233 .da \} 234 '''\" end append; info for signature lines 235 .AA \\nu "\\$1" \\$3 \\$2 "\\$4" \\$5 \\$6 236 .ta 0.5i 1.0i 1.5i 2.0i 2.5i 237 .. 238 .de AA 239 .\"ft 3 240 .di M\\$1 241 \\$2 242 .di 243 .di A\\$1 244 \\$2 245 .if !'\\$3'' Org. \\$3 246 .if !'\\$4'' \\$4 \\$6 247 .if !'\\$5'' \\$5 248 .if !'\\$7'' \\$7 249 .sp .05i 250 .br 251 .di 252 .ft 253 .sy echo \\$2 >/tmp/tt\\n($$ 254 .sy sed -f /usr/lib/tmac/name.sed /tmp/tt\\n($$ >/tmp/tx\\n($$ 255 .so /tmp/tx\\n($$ 256 .sy rm /tmp/tx\\n($$ /tmp/tt\\n($$ 257 .if \\$1<2 .ds T1 \\*(T1-gre 258 .da G9 259 \\$4-\\$3-\\*(T1 260 .br 261 .da 262 .if !'\\*(d!'\\$3' \{\ 263 . nr u! \\n(u!+1 264 . nr m3 \\$3/10 265 . if !\\n(m2=\\n(m3 .nr ud \\n(ud+1 \} 266 .ie \\$1<4 \{\ 267 . as m! \\l'2.25i' 268 . as m( \\$2 \} 269 .el .ie \\$1<7 \{\ 270 . as n! \\l'2.25i' 271 . as n( \\$2 \} 272 .el \{\ 273 . as o! \\l'2.25i' 274 . as o( \\$2 \} 275 .. 276 .de TO \"begin list of im to people 277 .nr TO 1 278 .di 1T 279 .. 280 .de ET \"end list of im to people & output pg 281 .di 282 .SR 283 .. 284 .de AP \" at&t responsible person AP = mm(rP) 285 .br 286 .di 287 .if !'\\$1'' .ds r( \\$1 288 .rm AP 289 .. 290 .de SA \" macro for abstract info SA = mm(AS) 291 .br 292 .ie \\n(.$ \{\ 293 .ds a( \\$1 294 .if '\\$1'no' .ds a(\} 295 .el .ds a( ABSTRACT 296 .nr CS 0 297 .di 298 .fi 299 .nr LL 7.0i 300 .FB 301 .ft 1 302 .di WB \" WB = mm(aS) 303 .. 304 .de SE \" macro for end of abstract info SE = mm(AE) 305 .br 306 .di 307 .nr la \\n(dn 308 .nr CS 1 309 .ll 310 .FT 311 .ft 1 312 .nf 313 .. 314 .de KW \" macro for keyword info KW = mm(OK) 315 .ds k) 316 .if !'\\$1'' .as k) \\$1 317 .if !'\\$2'' .as k); \\$2 318 .if !'\\$3'' .as k); \\$3 319 .if !'\\$4'' .as k); \\$4 320 .if !'\\$5'' .as k); \\$5 321 .if !'\\$6'' .as k); \\$6 322 .if !'\\$7'' .as k); \\$7 323 .if !'\\$8'' .as k); \\$8 324 .if !'\\$9'' .as k); \\$9 325 '''\" set k flag if we have some keywords 326 .ie !'\\*(k)'' .nr k 1 327 .el .nr k 0 328 .. 329 .de TY \" macro for document type TY = mm(MT) 330 .if '\\$1'TM' \{\ 331 . nr m 1 332 . ds t) TM 333 . ds QF TECHNICAL MEMORANDUM 334 . ds t( "for Technical Memorandum \} 335 .if '\\$1'IM' \{\ 336 . nr m 2 337 . ds t) IM 338 . ds QF INTERNAL MEMORANDUM 339 . ds t( "for Internal Memorandum \} 340 .if '\\$1'TC' \{\ 341 . nr m 3 342 . ds t) TC 343 . ds QF TECHNICAL CORRESPONDENCE 344 . ds t( "for Technical Correspondence \} 345 .ie '\\$2'y' .nr s 1 346 .el .nr s 0 347 .. 348 .de NU \" macro for document number info NU = mm(dN fC wP) 349 .ie \\ns=1 .ds s( S 350 .el .ds s( 351 .ie \\n(wp=0 \{\ 352 . ie '\\$5'' .ds CX 000000-0000 353 . el .ds CX \\$5 354 . ds X1 \\*(CX 355 . nr wp \\n(wp+1 \} 356 .el \{\ 357 . ds CX \\$5 358 . if !'\\$5'' \{\ 359 . if \\n(wp=1 .ds X2 \\*(CX 360 . if \\n(wp=2 .ds X3 \\*(CX 361 . if \\n(wp=3 .ds X4 \\*(CX 362 . if \\n(wp=4 .ds X5 \\*(CX 363 . nr wp \\n(wp+1 364 . ds x) s\}\} 365 .if !'\\$4'' \{\ 366 . ie !\\n(fc=0 \{\ 367 . if \\n(fc=1 .ds F2 \\$4 368 . if \\n(fc=2 .ds F3 \\$4 369 . if \\n(fc=3 .ds F4 \\$4 370 . if \\n(fc=4 .ds F5 \\$4 371 . ds w) s 372 . nr fc \\n(fc+1 \} 373 . el \{\ 374 . ds F1 \\$4 375 . nr fc \\n(fc+1 \} \} 376 .ie !'\\$1'' \{\ 377 . ds NN \\$1-\\$2-\\$3\\*(t)\\*(s( 378 . if \\nn=0 .ds N1 \\*(NN 379 . if \\nn=1 \{\ 380 . ds v) s 381 . ds N2 \\*(NN\} 382 . if \\nn=2 .ds N3 \\*(NN 383 . if \\nn=3 .ds N4 \\*(NN 384 . if \\nn=4 .ds N5 \\*(NN 385 . ie \\nn<4 .as x! \\l'2.25i' 386 . el ie \\nn<7 .as y! \\l'2.25i' 387 . el .as z! \\l'2.25i' 388 . nr n \\n+n \} 389 .if !'\\$6'' \{\ 390 . ie !\\n(a!=0 \{\ 391 . if \\n(a!=1 .as Z1 " \\$6 392 . if \\n(a!=2 .as Z1 \\$6 393 . nr a! \\n(a!+1 \} 394 . el \{\ 395 . ds Z1 " \\$6 396 . nr a! \\n(a!+1 \} \} 397 .el .ds NN 398 .ta 0.8i 3.5i 5.55i 399 .br 400 .da ZN \" ZN = mm(dM fC wO) 401 \\*(NN \\$4 \\*(CX 402 .br 403 .da 404 .ta 0.5i 1.0i 1.5i 405 .. 406 .de MY \" macro for mercury selections MY = mm(mE) 407 .ds a) 408 .ds b) 409 .if '\\$1'y' \{\ 410 . as a) " CHM - Chemistry and Materials 411 . nr b \\n+b \} 412 .if '\\$2'y' \{\ 413 . as a) " CMM - Communications 414 . nr b \\n+b \} 415 .if '\\$3'y' \{\ 416 . as a) " CMP - Computing 417 . nr b \\n+b 418 . if \\nb=3 .rn a) b) \} 419 .if '\\$4'y' \{\ 420 . as a) " ELC - Electronics 421 . nr b \\n+b 422 . if \\nb=3 .rn a) b) \} 423 .if '\\$5'y' \{\ 424 . as a) " LFS - Life Sciences 425 . nr b \\n+b 426 . if \\nb=3 .rn a) b) \} 427 .if '\\$6'y' \{\ 428 . as a) " MAS - Mathematics and Statistics 429 . nr b \\n+b 430 . if \\nb=3 .rn a) b) \} 431 . if \\nb<6 \{\ 432 . if '\\$7'y' \{\ 433 . as a) " PHY - Physics 434 . nr b \\n+b 435 . if \\nb=3 .rn a) b) \} \} 436 . if \\nb<6 \{\ 437 . if '\\$8'y' \{\ 438 . as a) " MAN - Manufacturing 439 . nr b \\n+b \} \} 440 .if \\nb=3 .rn b) a) 441 .. 442 .de RL \" lucent distribution ok RL = mm(rA or fA) 443 .if '\\$1'n' .nr ra 2 444 .rm RL 445 .. 446 .de ED \" earlier document number ED = mm(eD) 447 .if !'\\$1'' .ds e( \\$1 448 .rm ED 449 .. 450 .de PR \" macro for proprietary marking PR = mm(PM) 451 .if '\\$1'BP' .nr p 1 452 .if '\\$1'BR' \{\ 453 . nr p 2 454 . ds o) "Lucent Technologies \(em PROPRIETARY (RESTRICTED) 455 . ds p) "Solely for authorized persons having a need to know 456 . ds q) " pursuant to Company Instructions \} 457 .if '\\$1'0' .nr p 0 458 .. 459 .de GS \" GS = mm(gS) 460 .nr r 1 461 .. 462 .de CI 463 .. 464 .de XE 465 '''\" basic distribution leng-to be tailored-set e & h 466 .if \\nd=0 \{\ 467 . nr d 1 468 . if \\nr=0 .nr e \\ne+2 469 . if \\nu<=3 .nr e \\ne+3 470 . if \\nu<=6 .nr e \\ne+3 471 . if \\nu<=9 .nr e \\ne+3 472 . if \\nn<=3 .nr e \\ne+2 473 . if \\nn<=6 .nr e \\ne+2 474 . if \\nn<=9 .nr e \\ne+2 475 . if \\n(ra<=2 .nr e \\ne-3 476 . nr e \\ne+27 477 . nr h \\ne \} 478 .. 479 .de CO \" macro for complete copy addressees CO = mm(cC) 480 .XE 481 .ta 2.0i 482 .nf 483 .br 484 .ie \\ne>0 \{\ 485 . da ZC \" ZC = mm(cA) 486 . ds y( \\$1 487 . ie '\\$1'y' .so /usr/lib/tmac/complet.1127 488 . el .if !'\\$1'' .so /usr/lib/tmac/complet.\\*(y( 489 . dt \\ne OC \} 490 .el .da ZC 491 .. 492 .de OC \" macro for complete copy overflow - OC = mm(cD) 493 .ta 2.0i 494 .br 495 .da 496 .da ZO \" ZO = mm(cO) 497 .ie \\n(ar>0 .dt \\n(arv ZW 498 .el .dt 55 ZW 499 .. 500 .de ZW 501 .br 502 .da 503 .ie \\n(dn>0 .g (\\n(dn)/\\nl+4 504 .da CZ 505 .. 506 .de CV \" macro for cover sheet only addresses CV = mm(cS) 507 .XE 508 .ta 2.0i 509 .nf 510 .br 511 .ie \\nh>0 \{\ 512 . da ZS \" ZS = mm(dA) 513 . ds y( \\$1 514 . ie '\\$1'y' .so /usr/lib/tmac/cover.1127 515 . el .if !'\\$1'' .so /usr/lib/tmac/cover.\\*(y( 516 . dt \\nh OV \} 517 .el .da ZD 518 .. 519 .de OV \" macro for cover sheet only overflow OV = mm(cT) 520 .ta 2.0i 521 .br 522 .da 523 .da ZD \" ZD = mm(cO) 524 .ie \\n(ar>0 .dt \\n(arv WW 525 .el .dt 55 WW 526 .. 527 .de WW 528 .br 529 .da 530 .if \\n(dn>0 .nr i (\\n(dn)/\\nl+4 \" was ie with no el 531 .da DZ 532 .. 533 .de CE \" ending all distribution diversions CE = mm(cE) 534 .br 535 .if "\\n(.z"ZC" \{\ 536 . nr g 0 537 . rm OC \} 538 .if "\\n(.z"ZO" \{\ 539 . nr g -1 540 . rm OC \} 541 .if "\\n(.z"CZ" \{\ 542 . nr g -2 543 . rm OC \} 544 .if "\\n(.z"ZS" \{\ 545 . nr i 0 546 . rm OV \} 547 .if "\\n(.z"ZD" \{\ 548 . nr i -1 549 . rm OV \} 550 .if "\\n(.z"DZ" \{\ 551 . nr i -2 552 . rm )V \} 553 .da 554 .if \\ng=-1 \{\ 555 . ie \\n(dn>0 .nr g (\\n(dn)/\\nl+4 556 . el .nr g 0 \} 557 .if \\ni=-1 \{\ 558 . ie \\n(dn>0 .nr i (\\n(dn)/\\nl+4 559 . el .nr i 0 \} 560 .. 561 '''\" 562 '''\" macros to help format document 563 '''\" 564 .de HD 565 .po .5i \"was .25 566 .if "\\*(.T"aps" .tl '--''--' 567 .sp|0.2i 568 .. 569 .de FC \" footer macro FC = mm(fO) 570 .pl 11.0i 571 'bp 572 .. 573 .de ST \" macro for abstract overflow trap ST = mm(yY) 574 .ZB 575 .rm ST \" ZB = mm(aT) 576 .. 577 .de ZB 578 .ch ST 16i \" macro for abstract overflow trap ZB = mm(aT) 579 .if \\na>0 \{\ 580 . ft 2 581 . ce 582 (continued) 583 . ft 1 \} 584 .pl 11.0i 585 .nr a \\n+a 586 .rn ZB XX 587 'bp 588 .rn XX ZB 589 .wh -0.35i ZB 590 .HC \" HC = mm(cH) 591 .HX \" HX = mm(tH) 592 'sp 0.05i 593 .ce 594 .ft 3 595 Abstract (continued) 596 .ft 1 597 .in 0.2i 598 'sp 1 599 .FB 600 .. 601 .de TK \" macro for thick lines TKK = mm(tK) 602 .ps 24 603 \l'7.5i' 604 .ps 605 .. 606 .de HX \" macro for Title headings and text HX = mm(tH) 607 .TK 608 'sp 0.05i 609 '''\" mark t - Title heading 610 .mk t 611 .ft 3 612 Title: 613 .ft 614 'sp|\\ntu 615 .in 0.7i 616 .WT 617 .in 0 618 .ta 0.5i 619 .nr q \\no/\\nl 620 .ie \\nq>2 'sp|\\ntu+\\nq 621 .el 'sp|\\ntu+2 622 .TK 623 . \" m1 - mark end of title section - save 624 .mk m1 625 .. 626 .de HC \" macro for continuation header HC = mm(cH) 627 .nr np \\n+(np 628 .nf 629 .in 0 630 .FT 631 .ft 3 632 .ta 4.80i 633 .nr tc \\n(tp 634 \\*(N1\f2 (page \\n(np of \\n(tc) 635 .sp 0.1i 636 .. 637 .de DL \" macro for distribution list headers DL = mm(dH) 638 .ft 3 639 .ta 1.0i 4.75i 640 \\$1 \\$2 641 .sp 0.05i 642 .ft 1 643 .ta 0.5i 1.0i 644 .. 645 .de EJ \" macro for ejecting continuation page EJ = mm(eP) 646 'bp 647 .wh 0 HD 648 '''\" put out continuation page header & title section 649 .HC 650 .HX 651 .. 652 .de CP \" macro for continuation page CP = mm(cP) 653 '''\" calc vert. units for cc overflow (if any) 654 .ie \\nv<=\\n(.t .nr v 1 655 .el .nr v 0 656 .if \\nv=1 .if \\nw<=\\n(.t .nr v 2 657 . \" check if cont page needs to be ejected 658 .in 0 659 .if \\nc=1 \{\ 660 . \" - if no abstract overflow 661 . if \\na=0 .EJ 662 . if \\na>0 \{\ 663 . \"or if abstract over but no room for list overfl 664 . ie \\nv<2 .EJ 665 . \" just tk line if abstract over & room for list 666 . el .TK \} 667 . FT 668 . ie \\ne=0 \{\ 669 . if \\ng>4 .if \\ni>4 .DL "Complete Copy" "Cover Sheet Only" 670 . if \\ng>4 .if !\\ni>4 .DL "Complete Copy" "" 671 . if !\\ng>4 .if \\ni>4 .DL "" "Cover Sheet Only" \} 672 . el \{\ 673 . if \\ng>4 .if \\ni>4 .DL "Complete Copy (continued)" "Cover Sheet Only (continued)"1 674 . if \\ng>4 .if !\\ni>4 .DL "Complete Copy (continued)" "" 675 . if !\\ng>4 .if \\ni>4 .DL "" "Cover Sheet Only (continued)" \} 676 . mk z 677 . nr q \\n(.t/\\nl 678 '''\" put out complete copy list overflow 679 . in 0.2i 680 . ZO 681 . in 0 682 . mk x 683 . sp|\\nzu 684 . in 4i 685 '''\" put out cover sheet list overflow 686 . ZD 687 . mk y 688 . in 0 689 . if \\nx-\\ny .sp|\\nxu 690 . TK \} 691 .. 692 .de ZP \"compute total pages and diversion lengths 693 '''\" calculate vert. units for cc overflow (if any) 694 .ie \\ng>4 .nr v (\\ng)*\\nl 695 .el .nr v 0 696 '''\" also for cs overflow (if any) 697 .ie \\ni>4 .nr w (\\ni)*\\nl 698 .el .nr w 0 699 .ie \\nv>\\nw .nr j \\nv 700 .el .nr j \\nw 701 . \" set c=1 if either g or i >0 702 .if \\ng>4 .nr c 1 703 .if \\ni>4 .nr c 1 704 . \" calculate total pages in job (default 2) 705 . \" a1 - page 1 portion abstract (units) 706 .nr a1 \\nyu-\\nxu-1v 707 .ie \\n(la>\\n(a1 \{\ 708 . \" ar - remainder abstract (units) 709 . nr ar \\n(la-\\n(a1 710 . nr tp \\n+(tp 711 . \" a2 - available continuation page space 712 . \" m1 is mark after tk line after title 713 . \" 2v for Abstract (continued) + one blank 714 . nr a2 11.0i-\\n(m1-2v 715 . ZZ \} 716 .el .if \\nc>0 .nr tp \\n+(tp 717 .. 718 .de ZZ \" ZZ = mm(t1) 719 .ie \\n(ar>\\n(a2 \{\ 720 . nr ar \\n(ar-\\n(a2 721 . nr tp \\n+(tp 722 . ZZ \} 723 .el .if \\n(ar+\\nj>\\n(a2 .nr tp \\n+(tp 724 .. 725 '''\" 726 '''\" main macro to handle output of cover sheet 727 '''\" mm(CS) 728 .de SC 729 .nr CS 0 730 .nr ST 1 731 .if \\nu=0 \{\ 732 . tm WARNING: author must be supplied \} 733 .if \\no=0 \{\ 734 . tm WARNING: document title must be supplied \} 735 .if \\nm=0 \{\ 736 . tm WARNING: memorandum type undefined or unknown \} 737 .if \\nm=1 .if \\nb=0 \{\ 738 . tm WARNING: technical memoranda must have at least one mercury class \} 739 .if \\nn=0 \{\ 740 . tm WARNING: document number must be supplied \} 741 .XE 742 .ll 7.5i 743 .ft 1 744 .if \\n(nl .bp 745 .in 0 746 .HD 747 '''\" the rs is to restore spacing - ditches big space at top 748 .rs 749 .sp1 750 .sp 0.05i 751 .nf 752 .ps 16 753 .ft 3 754 .ta 4.85i 755 . \" put out page 1 heading 756 Document Cover Sheet 757 .wh 0 HD 758 .sp 0.1i 759 .ta 0.15i 4.55i 760 \s36\(FA\s0 \\*(t( 761 .ft 762 .ps 10 763 .HX 764 .sp 0.05i 765 .ft 3 766 .ie \\nu>1 .ds u) s 767 .el .ds u) 768 .ta 0.5i 3.0i 3.95i 5.25i 769 Author\\*(u) (Computer Address) Location Phone Number Company (if other than BL) 770 .ft 771 '''\" output author info 772 .ZI 773 .if !'\\*(r('' \{\ 774 . ta 0.3i 2.6i 775 \\*(r( (Responsible BL Person) \} 776 .TK 777 .sp 0.05i 778 .ft 3 779 .ta 1.0i 3.3i 5.55i 780 Document No\\*(v). Filing Case No\\*(w). Project No\\*(x). 781 .ft 782 .sp 0.05i 783 '''\" output document number 784 .ZN 785 .TK 786 '''\" output keywords if they exist 787 .if \\nk>0 \{\ 788 . ft 3 789 Keywords: 790 . ft 791 . sp 0.05i 792 . ti 0.2i 793 \\*(k) 794 . TK \} 795 '''\" output mercury info if it exists 796 .if \\nb>0 \{\ 797 . ft 3 798 MERCURY Announcement Bulletin Sections 799 . ft 800 . sp 0.05i 801 . ta 0.6i 3.1i 5.6i 802 . ps 8 803 . if \\nb>3 \\*(b) 804 \\*(a) 805 . ps 806 . TK \} 807 .ft 3 808 Abstract 809 .ft 810 .mk x 811 .nr b1 \\nx/\\n(.v+1 812 .nr b2 (\\n(b1*\\n(.v)-\\nx 813 .sp \\n(b2u 814 .mk x 815 '''\" calculate position (19v includes 2v to print version at bottom of page) 816 .nr y \\n(lpv-19v 817 .if \\n(F4>0 .nr y \\ny-\\n(F4 818 .sp|\\nyu 819 .sp -1 820 .ZP 821 '''\" handle abstract page 1 continuation 822 .ie \\n(la>\\n(a1 \{\ 823 . ce 824 . ft2 825 (continued on page iii) 826 . ft1 827 . br \} 828 .el .sp1 829 .if \\n(F4>0 \{\ 830 . FA 831 . FG \} 832 .TK 833 .ps 8 834 .vs 10 835 .nr qq \\$1+\\$2+\\n(tp 836 \f3Total Pages\f1 (including document cover sheet): \\s+2\\n(qq\\s-2 837 .ie !'\\*(e('' \{\ 838 Supersedes or amends document number \\*(e(. \} 839 .el .sp 840 .ps 841 .vs 842 .mk z 843 .sp .67i 844 '''\" output proprietary notice if it exists 845 .if \\np>0 \{\ 846 .ft 2 847 .ti (4i-\\w'\\*(o)'u)/2u 848 \\*(o) 849 .ft 850 .ti (4i-\\w'\\*(p)'u)/2u 851 \\*(p) 852 .ti (4i-\\w'\\*(q)'u)/2u 853 \\*(q) \} 854 .sp |\\nzu+11v 855 .ta 5.35i 856 \\s8\\*(ve\\s0 857 .ie !'\\*(s)'' \{\ 858 \s8Timestamp: \\*(s)\s0 BELL LABORATORIES \} 859 .el \{\ 860 BELL LABORATORIES \} 861 .sp|\\nzu 862 .sp 1 863 .ft 3 864 .ti 5.25i 865 \\*(x( 866 .ft 867 .sp|\\nxu 868 .in 0.2i 869 .nf 870 '''\" abstract 871 .if !\\n(la=\\n(a1 \{\ 872 . wh -0.25i ST \} 873 .pl \\nyu 874 .ta 0.5i 1.0i 1.5i 2.0i 2.5i 875 .FB 876 .ft 1 877 '''\" output the abstract 878 .WB 879 .if \\n(la=\\n(a1 .sp-1 880 .rn ZB XX 881 .wh -0.25i FC 882 '''\" output continuation page 883 .CP 884 'bp 885 .FT 886 .ft 1 887 .in 0 888 .wh 0 HD 889 .nf 890 .ft 3 891 .ta 5.00i 892 .nr tc \\n(tp 893 Initial Distribution Specifications \\*(N1\f2 (page ii of \\n(tc)\f3 894 .ft 1 895 .TK 896 .if \\ne>0 \{\ 897 . DL " Complete Copy" " Cover Sheet Only" 898 . mk z 899 '''\" put out complete copy list 900 . in 0.2i 901 . ZC 902 . in 0 903 . if !\\ng=0 \{\ 904 . ft 2 905 . ti 1.25i 906 (continued) 907 . ft 1 \} 908 . sp|\\nzu 909 . in 4i 910 '''\" put out cover sheet list 911 . ZS 912 . if !\\ni=0 \{\ 913 . ft 2 914 . ti 4.75i 915 (continued) 916 . ft 1 \} 917 . in 0 918 '''\" starter space value - then tailor 919 . sp|5 920 . sp \\ne 921 . TK \} 922 .if \\nr=1 \{\ 923 \f3Government Security Classified\f1 924 . ft 1 925 . sp -0.05i 926 . TK \} 927 \f3Future Lucent Technologies Distribution by ITDS\f1 928 .ti 0.5i 929 .sp 0.05i 930 .ie \\n(ra=2 \{\ 931 \f3DO NOT RELEASE\f1 to any Lucent Technologies employee without appropriate approval for each request. \} 932 .el \{\ 933 \f3RELEASE\f1 to any Lucent Technologies employee (excluding contract employees). \} 934 .TK 935 '''\" put out author signature section 936 .ft 3 937 Author Signature\\*(u) 938 .ft 1 939 .sp1 940 .ta 2.635i 5.25i 941 \\*(m! 942 .ta 0.25i 2.875i 5.5i 943 \\*(m( 944 .if \\nu>3 \{\ 945 . sp 0.1i 946 . ta 2.635i 5.25i 947 \\*(n! 948 . ta 0.25i 2.875i 5.5i 949 \\*(n( \} 950 .if \\nu>6 \{\ 951 . sp 0.1i 952 . ta 2.635i 5.25i 953 \\*(o! 954 . ta 0.25i 2.875i 5.5i 955 \\*(o( \} 956 .sp -0.1i 957 .TK 958 '''\" output organizational approval section 959 .ie \\np>1 \{\ 960 \f3Organizational Approval\f1 (Department Head approval \f3required\ff1 for \f2\\*(o)\f1.) \} 961 .el \{\ 962 \f3Organizational Approval\f1 (Optional) \} 963 .sp 1 964 .ta 2.635i 5.25i 965 \\*(x! 966 . ta 0.25i 2.875i 5.5i 967 \\*(Z1 968 .if \\nn>3 \{\ 969 . sp .1i 970 .ta 2.635i 5.25i 971 \\*(y! \} 972 .if \\nn>6 \{\ 973 . sp .1i 974 \\*(z! \} 975 .sp -0.1i 976 .TK 977 '''\" recipient section always output 978 .ft 3 979 For Use by Recipient of Cover Sheet: 980 .ft 1 981 .ps -3 982 .vs -4 983 .sp.05i 984 .mk z 985 Computing network users may order copies via the \f2library \-k\f1 command; 986 for information, type \f2man library\f1 after the UNIX prompt. 987 '''.sp1 988 .rn fo xx 989 Otherwise: 990 Enter PAN if BL (or SS# if non-BL). \l'1.5i' 991 Return this sheet to any ITDS location. 992 .sp|\\nzu 993 .in 4i 994 Internal Technical Document Service 995 '''.sp1 996 .ta 1i 2i 3i 997 ( ) AK 2H-28 ( ) IH 7M-103 ( ) DR 2F-19 ( ) NW-ITDS 998 ( ) ALC 1B-102 ( ) MV 1L-19 ( ) INH 1C-114 ( ) PR 5-2120 999 ( ) CB 30-2011 ( ) WH 3E-204 ( ) IW 2Z-156 1000 ( ) HO 4F-112 ( ) MT 3B-117 1001 .in 1002 .ps 1003 .vs 1004 .SR 1005 .. 1006 . \"IZ - initialization 1007 .de IZ 1008 .FB 1009 .nr TN 0 1010 .em EM 1011 .po 1i 1012 .nr PO 1i 1013 .if \\n(FM=0 .nr FM 1i 1014 .nr YY 0-\\n(FMu 1015 .if !\\n(PD .if n nr PD 1v 1016 .if t .if !\\n(PD .nr PD 0.3v 1017 .wh 0 NP 1018 .wh \\n(.pu-\\n(FMu FO 1019 .ch FO 16i 1020 .wh \\n(.pu-\\n(FMu FX 1021 .ch FO \\n(.pu-\\n(FMu 1022 .if t .wh -\\n(FMu/2u BT 1023 .if n .wh -\\n(FMu/2u-1v BT 1024 .. 1025 .\" macro to restore ms foiling 1026 .de SR 1027 .nr BE 0 1028 .nr 1T 1 1029 .nr FM 0 1030 .nr PD 0 1031 .nr HM 0 1032 .nr KG 0 1033 .nr FP 0 1034 .nr GA 0 1035 .nr FP 0 1036 .\" changed rn F5 FE added rn FJ FS 1037 .rn FK FE 1038 .rn FJ FS 1039 .if '\\$1'' .bp 1040 .if !'\\$1'' \{\ 1041 .di ZA 1042 .ce 1043 \\*(a( 1044 .sp 1045 .WB 1046 .di 1047 .rn ZA WB\} 1048 .nr FC -1 1049 .nr % 1 1050 .IZ 1051 .rm IZ 1052 .if '\\$1'' .RT 1053 .ds MN \\*(N1 \\*(N2 \\*(N3 \\*(N4 \\*(N5 1054 .nr MM \\nn 1055 .nr MC \\n(fc 1056 .nr MG \\n(wp 1057 .nr NA \\nu 1058 .if '\\n(ST'1' \{\ 1059 '''.so /usr/lib/tmac/tmac.rscover XXX 1060 .so \*(.P/lib/tmac/tmac.rscover 1061 . \" a line for troff to eat 1062 .S1 \} 1063 .ll 6i 1064 .nr LL 6i 1065 .rr a b c d e f g h i j k 1066 .rr l m n o p q r s t u 1067 .rr v w x y z np tp nc tc 1068 .rr ud u! m2 dv 1069 .rr lp np la a1 a2 ar wp fc m1 1070 .rm DT TI AH SE KW TY NU MY 1071 .rm PR CI CO OC CV OV CE HD 1072 .rm FC ST TK HX HC DL EJ 1073 .rm CP SC a) b) k) N1 p) q) r) 1074 .rm N2 N3 N4 N5 X1 X2 X3 X4 X5 1075 .rm X1 X2 X3 X4 X5 F1 F2 F3 F4 1076 .rm F5 1077 .rm d) o) s) ve m! n! o! e( r( 1078 .rm x! y! z! x( d! ve u) 1079 .rm t) w) x) y) z) a( b( c( m( 1080 .rm n( o( p( s( t( SA ZI ZC ZO 1081 .rm ZS ZD ZN FT FB CX NN GS 1082 .rm ZB XX ZP ZZ 1083 .rm TM IM MF MR LT OK RP TR 1084 .rm TX AU AX AI AE SY S2 S0 1085 .rm S3 1086 .. 1087 .de RP 1088 .nr ST 2 1089 .SS 1090 .. 1091 .de TR 1092 .nr ST 3 1093 .ds MN \\$1 1094 .SS 1095 .. 1096 .de SS \"RP or TR rename the world so old macros called 1097 .rm SG 1098 .nr CS 0 1099 .nr BE 0 1100 .nr 1T 0 1101 .nr FM 0 1102 .nr PD 0 1103 .nr HM 0 1104 .nr KG 0 1105 .nr FP 0 1106 .nr GA 0 1107 .nr FP 0 1108 .ll 6i 1109 .nr LL 6i 1110 .\" changed rn F5 FE added rn FJ FS 1111 .rn F6 FE 1112 .nr FC -1 1113 .nr % 1 1114 .IZ 1115 .rm IZ 1116 .pn 0 1117 .de TI 1118 .TL 1119 \\.. 1120 .de SA 1121 .AB \\\\$1 1122 \\.. 1123 .de SE 1124 .AE 1125 \\.. 1126 .de AH 1127 .AU 1128 \\\\$1 1129 \\.. 1130 .de DT 1131 .ND \\\\$1 \\\\$2 \\\\$3 1132 \\.. 1133 .br 1134 .rr a b c d e f g h i j k 1135 .rr l m n o p q r s t u 1136 .rr v w x y z np tp nc tc 1137 .rr ud u! m2 dv 1138 .rr lp np la a1 a2 ar wp fc m1 1139 .rm DT KW TY NU MY 1140 .rm PR CI OC OV HD 1141 .rm FC ST TK HX HC DL EJ 1142 .rm CP SC a) b) k) N1 p) q) r) 1143 .rm d) o) s) ve m! n! o! e( r( 1144 .rm x! y! z! x( d! ve u) 1145 .rm t) w) x) y) z) a( b( c( m( 1146 .rm n( o( p( s( t( ZI ZC ZO 1147 .rm ZS ZD ZN FT FB CX NN GS 1148 .rm ZB XX ZP ZZ 1149 .rm TM IM MF MR LT 1150 ..