|
|
1.1 ! root 1: .\" @(#)tmac.sun 1.1 84/12/21 SMI; The Sun Macro Package ! 2: .ds // /usr/lib/ms/ ! 3: . \" IZ - initialize (before text begins) ! 4: .de IZ ! 5: .nr FM 1i ! 6: .nr YY -\\n(FMu ! 7: .nr XX 0 1 ! 8: .nr IP 0 ! 9: .nr PI 4n ! 10: .nr QI 5n ! 11: .nr FI 2n ! 12: .nr I0 \\n(PIu ! 13: .if n .nr PD 1v ! 14: .if t .nr PD .5v ! 15: .if n .nr DD 1v ! 16: .if t .nr DD .5v ! 17: .nr PS 11 ! 18: .nr VS 13 ! 19: .ps \\n(PS ! 20: .vs \\n(VSp ! 21: .nr dP 1 ! 22: .nr dV 1 ! 23: .nr ML 3v ! 24: .nr IR 0 ! 25: .nr TB 0 ! 26: .nr SJ \\n(.j ! 27: .if \\nO .po \\nOu ! 28: .nr PO \\n(.ou ! 29: .nr LL 6.5i ! 30: .ll \\n(LLu ! 31: .lt 6.5i ! 32: .ev 1 ! 33: .nr FL 6i ! 34: .ll \\n(FLu ! 35: .ps 8 ! 36: .vs 10p ! 37: .ev ! 38: .ds CH - \\\\n(PN - ! 39: .if n .ds CF \\*(DY ! 40: .wh 0 NP ! 41: .wh -\\n(FMu FO ! 42: .ch FO 16i ! 43: .wh -\\n(FMu FX ! 44: .ch FO -\\n(FMu ! 45: .wh -\\n(FMu/2u BT ! 46: .. ! 47: . \" RT - reset (at new paragraph) ! 48: .de RT ! 49: .if !\\n(1T .BG ! 50: .if !\\n(IK .if !\\n(IF .if !\\n(IX .if !\\n(BE .di ! 51: .if \\n(TM .ls 2 ! 52: .ce 0 ! 53: .ul 0 ! 54: .if \\n(QP \{\ ! 55: . ll +\\n(QIu ! 56: . in -\\n(QIu ! 57: . nr QP -1 ! 58: .\} ! 59: .if \\n(NX<=1 .if !\\n(AJ .ll \\n(LLu ! 60: .if !\\n(IF \{\ ! 61: . ps \\n(PS ! 62: . if \\n(VS>=40 .vs \\n(VSu ! 63: . if \\n(VS<=39 .vs \\n(VSp ! 64: .\} ! 65: .if !\\n(IP .nr I0 \\n(PIu ! 66: .if \\n(IP \{\ ! 67: . in -\\n(I\\n(IRu ! 68: . nr IP -1 ! 69: .\} ! 70: .ft 1 ! 71: .TA ! 72: .fi ! 73: .. ! 74: . \" TA - set default tabs ! 75: .de TA ! 76: .if n .ta 8n 16n 24n 32n 40n 48n 56n 64n 72n 80n ! 77: .if t .ta 5n 10n 15n 20n 25n 30n 35n 40n 45n 50n 55n 60n 65n 70n 75n ! 78: .. ! 79: . \" BG - begin (at first paragraph) ! 80: .de BG ! 81: .br ! 82: .nr YE 1 ! 83: .di ! 84: .ce 0 ! 85: .nr KI 0 ! 86: .hy 14 ! 87: .nr 1T 1 ! 88: .S\\n(ST ! 89: .rm S0 S1 S2 SY TX AX WT RP ! 90: .\"redefs ! 91: .de TL ! 92: .ft 3 ! 93: .ce 99 ! 94: .sp ! 95: .LG ! 96: \\.. ! 97: .de AU ! 98: .ft 2 ! 99: .if n .ul 0 ! 100: .ce 99 ! 101: .sp ! 102: .NL ! 103: \\.. ! 104: .de AI ! 105: .ft 1 ! 106: .if n .ul 0 ! 107: .ce 99 ! 108: .if n .sp ! 109: .if t .sp .5 ! 110: .NL ! 111: \\.. ! 112: .RA ! 113: .rn FJ FS ! 114: .rn FK FE ! 115: .nf ! 116: .ev 1 ! 117: .ps \\n(PS-2 ! 118: .vs \\n(.s+2p ! 119: .ev ! 120: .if !\\n(KG .nr FP 0 ! 121: .nr KG 0 ! 122: .if \\n(FP \{\ ! 123: . FS ! 124: . FG ! 125: . FE ! 126: .\} ! 127: .br ! 128: .if \\n(TV .if n .sp 2 ! 129: .if \\n(TV .if t .sp 1 ! 130: .fi ! 131: .ll \\n(LLu ! 132: .. ! 133: . \" RA - redefine abstract ! 134: .de RA ! 135: .de AB ! 136: .br ! 137: .if !\\n(1T .BG ! 138: .ce ! 139: .sp ! 140: .if !\\n(.$ ABSTRACT ! 141: .if \\n(.$ .if !\\$1no \\$1 ! 142: .if !\\n(.$ .sp ! 143: .if \\n(.$ .if !\\$1no .sp ! 144: .sp ! 145: .nr AJ 1 ! 146: .in +\\n(.lu/12u ! 147: .ll -\\n(.lu/12u ! 148: .RT ! 149: .if \\n(TM .ls 1 ! 150: \\.. ! 151: .de AE ! 152: .nr AJ 0 ! 153: .br ! 154: .in 0 ! 155: .ll \\n(LLu ! 156: .if \\n(VS>=40 .vs \\n(VSu ! 157: .if \\n(VS<=39 .vs \\n(VSp ! 158: .if \\n(TM .ls 2 ! 159: \\.. ! 160: .. ! 161: . \" RP - released paper format ! 162: .de RP ! 163: .nr ST 2 ! 164: .if \\$1no .nr ST 1 ! 165: .pn 0 ! 166: .br ! 167: .. ! 168: . \" TL - source file for cover sheet ! 169: .de TL ! 170: .rn TL @T ! 171: .so \*(//ms.cov ! 172: .TL ! 173: .rm @T ! 174: .. ! 175: . \" Paragraph Depth ! 176: .de PD ! 177: .if t .nr PD .5v ! 178: .if n .nr PD 1v ! 179: .if !\\$1 .nr PD \\$1v ! 180: .. ! 181: . \" PP - regular paragraph ! 182: .de PP ! 183: .RT ! 184: .if \\n(1T .sp \\n(PDu ! 185: .ne 1.1 ! 186: .ti +\\n(PIu ! 187: .. ! 188: . \" LP - left paragraph ! 189: .de LP ! 190: .RT ! 191: .if \\n(1T .sp \\n(PDu ! 192: .ne 1.1 ! 193: .ti \\n(.iu ! 194: .. ! 195: . \" IP - indented paragraph ! 196: .de IP ! 197: .RT ! 198: .if \\n(1T .sp \\n(PDu ! 199: .ne 1.1 ! 200: .if !\\n(IP .nr IP +1 ! 201: .if \\n(.$-1 .nr I\\n(IR \\$2n ! 202: .in +\\n(I\\n(IRu ! 203: .ta \\n(I\\n(IRu ! 204: .if \\n(.$ \{\ ! 205: .ds HT \&\\$1\^\^\^ ! 206: .ti -\\n(I\\n(IRu ! 207: \\*(HT\t\c ! 208: .if \w\\*(HTu>(\\n(I\\n(IRu) .br ! 209: .\} ! 210: .. ! 211: . \" XP - exdented paragraph ! 212: .de XP ! 213: .RT ! 214: .if \\n(1T .sp \\n(PDu ! 215: .ne 1.1 ! 216: .if !\\n(IP .nr IP +1 ! 217: .in +\\n(I\\n(IRu ! 218: .ti -\\n(I\\n(IRu ! 219: .. ! 220: . \" QP - quote paragraph ! 221: .de QP ! 222: .ti \\n(.iu ! 223: .RT ! 224: .if \\n(1T .sp \\n(PDu ! 225: .ne 1.1 ! 226: .nr QP 1 ! 227: .in +\\n(QIu ! 228: .ll -\\n(QIu ! 229: .ti \\n(.iu ! 230: .if \\n(TM .ls 1 ! 231: .. ! 232: . \" SH - section header ! 233: .de SH ! 234: .ti \\n(.iu ! 235: .RT ! 236: .if \\n(1T .sp ! 237: .RT ! 238: .ne 3.1 ! 239: .ft B ! 240: .. ! 241: . \" $1 = C: As Chapter Heading; TOC Entry ! 242: . \" UH - UnNumbered $1 = M: As Chapter Heading; no TOC entry ! 243: . \" Headings $1 = H: Centered Heading; no TOC entry ! 244: . \" $1 = HC: Centered Heading; TOC Entry ! 245: . \" $1 = S: Left Adjusted Heading; no TOC entry ! 246: . \" $1 = SC: Left Adjusted Heading; TOC Entry ! 247: . \" $1 = CONTENTS: Setup for Table of Contents ! 248: . \" $1 = INDEX: Setup for Index ! 249: . \" $1 = TABLES: Setup for List of Tables ! 250: . \" $1 = FIGURES: Setup for List of Figures ! 251: .de UH ! 252: .SH ! 253: .if '\\$1'C' \{\ ! 254: .ne 1.0i+2v ! 255: .ad c ! 256: .ps 18 ! 257: .vs 24 ! 258: \\& ! 259: .sp 0.5i ! 260: \\$2 ! 261: .sp 0.5i ! 262: .ps ! 263: .vs ! 264: .ad b ! 265: .R ! 266: \} ! 267: .if '\\$1'M' \{\ ! 268: .ne 1.0i+2v ! 269: .ad c ! 270: .ps 18 ! 271: .vs 24 ! 272: \\& ! 273: .sp 0.5i ! 274: \\$2 ! 275: .sp 0.5i ! 276: .ps ! 277: .vs ! 278: .ad b ! 279: .R ! 280: \} ! 281: .if '\\$1'H' \{\ ! 282: .ne 0.7i+2v ! 283: .ad c ! 284: .if \\n(NS=2 .ft B ! 285: .if \\n(NS=2 .ps 14p ! 286: .if \\n(NS=2 .vs 18p ! 287: \\& ! 288: .sp 0.25i ! 289: \\$2 ! 290: .sp 0.1i ! 291: .ad b ! 292: .R \} ! 293: .if '\\$1'S' \{\ ! 294: .ne 0.2i+2v ! 295: .if \\n(NS=3 .ft I ! 296: .if \\n(NS=3 .ps 12p ! 297: .if \\n(NS=3 .vs 15p ! 298: \\& ! 299: .sp 0.1i ! 300: \\$2 ! 301: .sp 0.1i ! 302: .R \} ! 303: .if '\\$1'HC' \{\ ! 304: .ne 0.7i+2v ! 305: .ad c ! 306: .if \\n(NS=2 .ft B ! 307: .if \\n(NS=2 .ps 14p ! 308: .if \\n(NS=2 .vs 18p ! 309: \\& ! 310: .sp 0.25i ! 311: \\$2 ! 312: .sp 0.1i ! 313: .ad b ! 314: .R \} ! 315: .if '\\$1'SC' \{\ ! 316: .ne 0.2i+2v ! 317: .if \\n(NS=3 .ft I ! 318: .if \\n(NS=3 .ps 12p ! 319: .if \\n(NS=3 .vs 15p ! 320: \\& ! 321: .sp 0.1i ! 322: \\$2 ! 323: .sp 0.1i ! 324: .R \} ! 325: .if '\\$1'C' .if \\n(IK \!.tm .CE U "\\$2" \\\\n(PN \\n(dT \\n(H1 ! 326: .if '\\$1'C' .if !\\n(IK .tm .CE U "\\$2" \\n(PN \\n(dT \\n(H1 ! 327: .if '\\$1'HC' .if \\n(IK \!.tm .CE UH "\\$2" \\\\n(PN \\n(dT \\n(H1 ! 328: .if '\\$1'HC' .if !\\n(IK .tm .CE UH "\\$2" \\n(PN \\n(dT \\n(H1 ! 329: .if '\\$1'SC' .if \\n(IK \!.tm .CE UH "\\$2" \\\\n(PN \\n(dT \\n(H1 ! 330: .if '\\$1'SC' .if !\\n(IK .tm .CE UH "\\$2" \\n(PN \\n(dT \\n(H1 ! 331: .if '\\$1'CONTENTS' .nr cF 1 ! 332: .if '\\$1'TABLES' .nr cF 1 ! 333: .if '\\$1'FIGURES' .nr cF 1 ! 334: .if '\\$1'INDEX' .nr cF 1 ! 335: .if \\n(cF \{\ ! 336: .LP ! 337: .EH '''' ! 338: .OH '''' ! 339: .EF ''\- \\\\\\\\n(PN \-'' ! 340: .OF ''\- \\\\\\\\n(PN \-'' ! 341: .if \\nP .pn \\nP+1 ! 342: .if \\nP .nr PN \\nP ! 343: .nf ! 344: .if '\\$1'CONTENTS' .ds hD Contents ! 345: .if '\\$1'TABLES' .ds hD Tables ! 346: .if '\\$1'FIGURES' .ds hD Figures ! 347: .if '\\$1'INDEX' .ds hD Index ! 348: .ps 11 ! 349: .nr PS 11 ! 350: .vs 14 ! 351: .nr VS 14 ! 352: .ne 1.0i+2v ! 353: \\& ! 354: .sp 0.5i ! 355: .ce ! 356: .ps 18 ! 357: .vs 24 ! 358: .ft B ! 359: \\*(hD ! 360: .sp 0.5i ! 361: .R ! 362: .ps 11 ! 363: .nr PS 11 ! 364: .vs 14 ! 365: .nr VS 14 ! 366: .af PN i ! 367: .if !'\\$1'INDEX' \{\ ! 368: .ll -0.5i ! 369: .in +0.5i \} ! 370: .if '\\$1'INDEX' \{\ ! 371: .ps 10 ! 372: .nr PS 10 ! 373: .vs 12 ! 374: .nr VS 12 ! 375: .2C\}\} ! 376: .. ! 377: . \" SE - Make special entry in the Contents File ! 378: .de SE ! 379: .if \\n(IK \!.tm SE \\$1\t\\$2\t\\$3\t\\$4\t\\$5\t\\$6\t\\$7\t\\$8\t\\$9\t\\\\n(PN\t\\n(dT\t\\n(H1 ! 380: .if !\\n(IK .tm SE \\$1\t\\$2\t\\$3\t\\$4\t\\$5\t\\$6\t\\$7\t\\$8\t\\$9\t\\n(PN\t\\n(dT\t\\n(H1 ! 381: .. ! 382: . \" H - Header - $1=level, $2=text ! 383: . \" $1: [1-5]=levels, C=chapter, A=appendix, PA=paperappendix ! 384: .de H ! 385: .ti \\n(.iu ! 386: .RT ! 387: .if \\n(1T .sp ! 388: .RT ! 389: .ne 3.1 ! 390: .ft B ! 391: .nr NS \\$1 ! 392: .if '\\$1'C' .nr NS 1 ! 393: .if '\\$1'C' .nr dT 1 ! 394: .if '\\$1'A' .nr NS 1 ! 395: .if '\\$1'A' .nr dT 1 ! 396: .if '\\$1'PA' .nr NS 1 ! 397: .if \\n(NS=1 .if !'\\$1'1' .if !'\\$1'PA'\{\ ! 398: .if \\nC .nr H1 \\nC-1 ! 399: .nr C 0 ! 400: .nr T1 0 ! 401: .nr F1 0 ! 402: .bp 1 \} ! 403: .if '\\$1'A' .if !\\n(aP \{\ ! 404: .nr aP 1 ! 405: .nr H1 0 ! 406: .af H1 A \} ! 407: .if '\\$1'PA' .if !\\n(aP \{\ ! 408: .nr aP 1 ! 409: .nr H1 0 ! 410: .af H1 A \} ! 411: .af PN 1 ! 412: .nr H\\n(NS +1 ! 413: .if !\\n(NS-4 .nr H5 0 ! 414: .if !\\n(NS-3 .nr H4 0 ! 415: .if !\\n(NS-2 .nr H3 0 ! 416: .if !\\n(NS-1 .nr H2 0 ! 417: .if \\n(NS=1 .ds MT \\$2 ! 418: .if \\n(NS=1 .if !'\\$1'1' .if !'\\$1'PA'\{\ ! 419: .ad c ! 420: .ps 18 ! 421: .vs 24 ! 422: \\& ! 423: .sp 0.5i ! 424: .if '\\$1'C' .ds hS Chapter \\n(H1 ! 425: .if '\\$1'A' .ds hS Appendix \\n(H1 ! 426: \\*(hS ! 427: .sp ! 428: \\$2 ! 429: .sp 0.5i ! 430: .ps ! 431: .vs ! 432: .ad b \} ! 433: .if \\n(NS>=1 .if !'\\$1'C' .if !'\\$1'A' .if !'\\$1'PA'\{\ ! 434: .sp 10p ! 435: .ne 33p+20p ! 436: .ds SN \\n(H1. ! 437: .if \\n(NS>1 .as SN \\n(H2. ! 438: .if \\n(NS>2 .as SN \\n(H3. ! 439: .if \\n(NS>3 .as SN \\n(H4. ! 440: .if \\n(NS>4 .as SN \\n(H5. ! 441: .if \\n(NS=1 .ft B ! 442: .if \\n(NS=1 .ps 16p ! 443: .if \\n(NS=1 .vs 18p ! 444: .if \\n(NS=2 .ft B ! 445: .if \\n(NS=2 .ps 14p ! 446: .if \\n(NS=2 .vs 18p ! 447: .if \\n(NS=3 .ft I ! 448: .if \\n(NS=3 .ps 12p ! 449: .if \\n(NS=3 .vs 15p ! 450: .if \\n(NS=4 .ft I ! 451: .if \\n(NS=4 .ps 11p ! 452: .if \\n(NS=4 .vs 15p ! 453: .if \\n(NS=5 .ft R ! 454: .if \\n(NS=5 .ps \\n(PSp ! 455: .if \\n(NS=5 .vs \\n(VSp ! 456: .in +\\w'\\*(SN\\ \\ 'u ! 457: .ta \\w'\\*(SN\\ \\ 'u ! 458: .ti -\\w'\\*(SN\\ \\ 'u ! 459: \\*(SN\\ \\ \t\c ! 460: \&\\$2 ! 461: .in ! 462: .ps ! 463: .vs ! 464: .sp 7p \} ! 465: .if '\\$1'PA'\{\ ! 466: .sp 13p ! 467: .ne 33p+20p ! 468: .ft B ! 469: .ps 16p ! 470: .vs 18p ! 471: .in +\\w'\\*(SN\\ \\ 'u ! 472: .ta \\w'\\*(SN\\ \\ 'u ! 473: .ti -\\w'\\*(SN\\ \\ 'u ! 474: .ds SN Appendix \\n(H1. ! 475: .ti -\\w'\\*(SN\\ \\ 'u ! 476: \\*(SN\\ \\ \t\c ! 477: \&\\$2 ! 478: .in ! 479: .ps ! 480: .vs ! 481: .sp 7p \} ! 482: .R ! 483: .if '\\$1'C' .if \\n(IK \!.tm .CE C "\\$2" \\\\n(PN \\n(dT \\n(H1 ! 484: .if '\\$1'C' .if !\\n(IK .tm .CE C "\\$2" \\n(PN \\n(dT \\n(H1 ! 485: .if '\\$1'A' .if \\n(IK \!.tm .CE A "\\$2" \\\\n(PN \\n(dT \\n(H1 ! 486: .if '\\$1'A' .if !\\n(IK .tm .CE A "\\$2" \\n(PN \\n(dT \\n(H1 ! 487: .if '\\$1'1' .if \\n(IK \!.tm .CE N "\\$2" \\\\n(PN \\n(dT \\n(H1 ! 488: .if '\\$1'1' .if !\\n(IK .tm .CE N "\\$2" \\n(PN \\n(dT \\n(H1 ! 489: .if '\\$1'PA' .if \\n(IK \!.tm .CE N "\\$2" \\\\n(PN \\n(dT \\n(H1 ! 490: .if '\\$1'PA' .if !\\n(IK .tm .CE N "\\$2" \\n(PN \\n(dT \\n(H1 ! 491: .if \\n(NS>1 .if \\n(IK \!.tm .CE N "\\$2" \\\\n(PN \\n(dT \\n(H1 \\n(H2 \\n(H3 \\n(H4 \\n(H5 ! 492: .if \\n(NS>1 .if !\\n(IK .tm .CE N "\\$2" \\n(PN \\n(dT \\n(H1 \\n(H2 \\n(H3 \\n(H4 \\n(H5 ! 493: .. ! 494: . \" TN - Table Caption ! 495: .de TN ! 496: .nr T1 +1 ! 497: .sp ! 498: .if \\n(dT .ds tS Table \\n(H1-\\n(T1: \\$1 ! 499: .if !\\n(dT .ds tS Table \\n(T1: \\$1 ! 500: .ce ! 501: \\*(tS ! 502: .sp ! 503: .ie \\n(IK \!.tm .CE T "\\$1" \\\\n(PN \\n(dT \\n(H1 \\n(T1 ! 504: .el .tm .CE T "\\$1" \\n(PN \\n(dT \\n(H1 \\n(T1 ! 505: .. ! 506: . \" FN - Figure Caption ! 507: .de FN ! 508: .nr F1 +1 ! 509: .sp ! 510: .if \\n(dT .ds tS Figure \\n(H1-\\n(F1: \\$1 ! 511: .if !\\n(dT .ds tS Figure \\n(F1: \\$1 ! 512: .ce ! 513: \\*(tS ! 514: .sp ! 515: .ie \\n(IK \!.tm .CE F "\\$1" \\\\n(PN \\n(dT \\n(H1 \\n(F1 ! 516: .el .tm .CE F "\\$1" \\n(PN \\n(dT \\n(H1 \\n(F1 ! 517: .. ! 518: . \" CE - table of contents entry ! 519: . \" $1 : header type; $2 : text; $3 : page number; $4 : document type ! 520: . \" $5 : chapter number; $6, 7, 8 : additional numbers ! 521: .de CE ! 522: .fi ! 523: .na ! 524: .nh ! 525: .rm lS ! 526: .ds rS \\$3 ! 527: .if !'\\$4'0' .ds rS \\$5-\\$3 ! 528: .if '\\$1'N' .if '\\$6\\$7\\$8\\$9'' .ds rS \fB\\$3\fP ! 529: .if '\\$1'C' .if !'\\$5'' .if !'\\$5'0' .ds rS \fB\\$5-\\$3\fP ! 530: .if '\\$1'A' .if !'\\$5'' .if !'\\$5'0' .ds rS \fB\\$5-\\$3\fP ! 531: .if '\\$1'T' .if '\\$4'0' .ds lS Table \\$6\ \ ! 532: .if '\\$1'F' .if '\\$4'0' .ds lS Figure \\$6\ \ ! 533: .if '\\$1'T' .if '\\$4'1' .ds lS Table \\$5-\\$6\ \ ! 534: .if '\\$1'F' .if '\\$4'1' .ds lS Figure \\$5-\\$6\ \ ! 535: .if '\\$1'A' .ds lS \fBAppendix \\$5\fP\ \ ! 536: .if '\\$1'C' .ds lS \fBChapter \\$5\fP\ \ ! 537: .if '\\$1'N' .ds lS \\$5.\ \ ! 538: .if '\\$1'N' .if '\\$6\\$7\\$8\\$9'' .ds lS \fB\\$5.\fP\ \ ! 539: .if '\\$1'N' .if !'\\$6'' .if !'\\$6'0' .ds lS " \\$5.\\$6.\ \ ! 540: .if '\\$1'N' .if !'\\$7'' .if !'\\$7'0' .ds lS " \\$5.\\$6.\\$7.\ \ ! 541: .if '\\$1'N' .if !'\\$8'' .if !'\\$8'0' .ds lS " \\$5.\\$6.\\$7.\\$8.\ \ ! 542: .if '\\$1'N' .if !'\\$9'' .if !'\\$9'0' .ds lS " \\$5.\\$6.\\$7.\\$8.\\$9\ \ ! 543: .if '\\$1'N' .if '\\$6\\$7\\$8\\$9'' .ne 3 ! 544: .if '\\$1'U' .ne 3 ! 545: .if '\\$1'A' .ne 3 ! 546: .if '\\$1'C' .ne 3 ! 547: .if '\\$1'N' .if '\\$6\\$7\\$8\\$9'' .sp ! 548: .if '\\$1'U' .sp ! 549: .if '\\$1'A' .sp ! 550: .if '\\$1'C' .sp ! 551: .\" Reduce line length, save section # width, increase indent: ! 552: .nr $l \\n(.l \"save line length ! 553: .ll -8n \"try 8 ens for now ! 554: .nr wN \\w\\*(lSu \"wN = width of section number ! 555: .in +\\n(wNu ! 556: .\" Output number (lS) and text ($2) with short line length ! 557: .ti -\\n(wNu \"don't indent first line ! 558: .vs \\n(.sp+2p \"normalize spacing ! 559: .\" We need at least two lines for this 'moving-backward' hack to work: ! 560: .ne 2v ! 561: \&\\*(lS\\$2 ! 562: .\"Restore line length and indent ! 563: .ll ! 564: .in ! 565: .\" Go back to previous line, output leader & page number: ! 566: .nf \"leaders only work right in no-fill mode! ! 567: .\" If last line broke, we have to correct for indent: ! 568: .if (\\w\\*(lS\\$2u)<=(\\n(.lu-\\n(.iu-8n) .nr wN 0 ! 569: .ll -\\n(wNu ! 570: .ti +\\n(wNu ! 571: .ta \\n(.lu-\\n(.iu-5nR \\n(.lu-\\n(.iuR ! 572: .sp -1v ! 573: .vs \"(now can restore original vertical spacing) ! 574: \\h'|\\n(.nu+.5n'\s-3\a\s+3\t\\*(rS ! 575: .\"Restore line length (again): ! 576: .ll ! 577: .. ! 578: . \" NH - numbered header ! 579: .de NH ! 580: .SH ! 581: .nr NS \\$1 ! 582: .if !\\n(.$ .nr NS 1 ! 583: .if !\\n(NS .nr NS 1 ! 584: .nr H\\n(NS +1 ! 585: .if !\\n(NS-4 .nr H5 0 ! 586: .if !\\n(NS-3 .nr H4 0 ! 587: .if !\\n(NS-2 .nr H3 0 ! 588: .if !\\n(NS-1 .nr H2 0 ! 589: .if !\\$1 .if \\n(.$ .nr H1 1 ! 590: .if \\$1S \{\ ! 591: . nr NS \\n(.$-1 ! 592: . nr H1 \\$2 ! 593: . nr H2 \\$3 ! 594: . nr H3 \\$4 ! 595: . nr H4 \\$5 ! 596: . nr H5 \\$6 ! 597: .\} ! 598: .ds SN \\n(H1. ! 599: .if \\n(NS-1 .as SN \\n(H2. ! 600: .if \\n(NS-2 .as SN \\n(H3. ! 601: .if \\n(NS-3 .as SN \\n(H4. ! 602: .if \\n(NS-4 .as SN \\n(H5. ! 603: \\*(SN ! 604: .. ! 605: . \" LS - listing start ! 606: .de LS ! 607: .ie \\$1no .ID \\$2 ! 608: .el .DS I \\$1 ! 609: .nr PQ \\n(.f ! 610: .ft L ! 611: .ps -\\n(dP ! 612: .vs -\\n(dV ! 613: .nr @ \\w'x'u*8 ! 614: .if \\n(.$ .nr @ \\w'x'u*\\$2 ! 615: .if \\n(.$ .if \\$1no .nr @ \\w'x'u*\\$3 ! 616: .ta \\n@u +\\n@u +\\n@u +\\n@u +\\n@u +\\n@u +\\n@u +\\n@u +\\n@u +\\n@u ! 617: .. ! 618: . \" LE - listing end ! 619: .de LE ! 620: .ft \\n(PQ ! 621: .ps \\n(PS ! 622: .if \\n(VS>=40 .vs \\n(VSu ! 623: .if \\n(VS<=39 .vs \\n(VSp ! 624: .DE ! 625: .. ! 626: . \" DS - display with keep (L=left I=indent C=center B=block) ! 627: .de DS ! 628: .KS ! 629: .\\$1D \\$2 \\$1 ! 630: .ft 1 ! 631: .ps \\n(PS ! 632: .if \\n(VS>=40 .vs \\n(VSu ! 633: .if \\n(VS<=39 .vs \\n(VSp ! 634: .. ! 635: .de D ! 636: .ID \\$1 ! 637: .. ! 638: . \" ID - indented display with no keep ! 639: .de ID ! 640: .XD ! 641: .if t .in +.5i ! 642: .if n .in +8 ! 643: .if \\n(.$ .if !\\$1I .if !\\$1 \{\ ! 644: . in \\n(OIu ! 645: . in +\\$1n ! 646: .\} ! 647: .. ! 648: . \" LD - left display with no keep ! 649: .de LD ! 650: .XD ! 651: .. ! 652: . \" CD - centered display with no keep ! 653: .de CD ! 654: .XD ! 655: .ce 999 ! 656: .. ! 657: . \" XD - real display macro ! 658: .de XD ! 659: .nf ! 660: .nr OI \\n(.i ! 661: .sp \\n(DDu ! 662: .if \\n(TM .ls 1 ! 663: .. ! 664: . \" DE - end display of any kind ! 665: .de DE ! 666: .ce 0 ! 667: .if \\n(BD .DF ! 668: .nr BD 0 ! 669: .in \\n(OIu ! 670: .KE ! 671: .if \\n(TM .ls 2 ! 672: .sp \\n(DDu ! 673: .fi ! 674: .. ! 675: . \" BD - block display: center entire block ! 676: .de BD ! 677: .XD ! 678: .nr BD 1 ! 679: .nf ! 680: .in \\n(OIu ! 681: .di DD ! 682: .. ! 683: . \" DF - finish block display ! 684: .de DF ! 685: .di ! 686: .if \\n(dl>\\n(BD .nr BD \\n(dl ! 687: .if \\n(BD<\\n(.l .in (\\n(.lu-\\n(BDu)/2u ! 688: .nr EI \\n(.l-\\n(.i ! 689: .ta \\n(EIuR ! 690: .DD ! 691: .in \\n(OIu ! 692: .. ! 693: . \" KS - begin regular keep ! 694: .de KS ! 695: .nr KN \\n(.u ! 696: .if !\\n(IK .if !\\n(IF .KQ ! 697: .nr IK +1 ! 698: .. ! 699: . \" KQ - real keep processor ! 700: .de KQ ! 701: .br ! 702: .nr KI \\n(.i ! 703: .ev 2 ! 704: .TA ! 705: .br ! 706: .in \\n(KIu ! 707: .ps \\n(PS ! 708: .if \\n(VS>=40 .vs \\n(VSu ! 709: .if \\n(VS<=39 .vs \\n(VSp ! 710: .ll \\n(LLu ! 711: .lt \\n(LTu ! 712: .if \\n(NX>1 .ll \\n(CWu ! 713: .if \\n(NX>1 .lt \\n(CWu ! 714: .di KK ! 715: .nr TB 0 ! 716: .. ! 717: . \" KF - begin floating keep ! 718: .de KF ! 719: .nr KN \\n(.u ! 720: .if !\\n(IK .FQ ! 721: .nr IK +1 ! 722: .. ! 723: . \" FQ - real floating keep processor ! 724: .de FQ ! 725: .nr KI \\n(.i ! 726: .ev 2 ! 727: .TA ! 728: .br ! 729: .in \\n(KIu ! 730: .ps \\n(PS ! 731: .if \\n(VS>=40 .vs \\n(VSu ! 732: .if \\n(VS<=39 .vs \\n(VSp ! 733: .ll \\n(LLu ! 734: .lt \\n(LTu ! 735: .if \\n(NX>1 .ll \\n(CWu ! 736: .if \\n(NX>1 .lt \\n(CWu ! 737: .di KK ! 738: .nr TB 1 ! 739: .. ! 740: . \" KE - end keep ! 741: .de KE ! 742: .if \\n(IK .if !\\n(IK-1 .if !\\n(IF .RQ ! 743: .if \\n(IK .nr IK -1 ! 744: .. ! 745: . \" RQ - real keep release ! 746: .de RQ ! 747: .br ! 748: .di ! 749: .nr NF 0 ! 750: .if \\n(dn-\\n(.t .nr NF 1 ! 751: .if \\n(TC .nr NF 1 ! 752: .if \\n(NF .if !\\n(TB .sp 200 ! 753: .if !\\n(NF .if \\n(TB .nr TB 0 ! 754: .nf ! 755: .rs ! 756: .nr TC 5 ! 757: .in 0 ! 758: .ls 1 ! 759: .if !\\n(TB \{\ ! 760: . ev ! 761: . br ! 762: . ev 2 ! 763: . KK ! 764: .\} ! 765: .ls ! 766: .ce 0 ! 767: .if !\\n(TB .rm KK ! 768: .if \\n(TB .da KJ ! 769: .if \\n(TB \!.KD \\n(dn ! 770: .if \\n(TB .KK ! 771: .if \\n(TB .di ! 772: .nr TC \\n(TB ! 773: .if \\n(KN .fi ! 774: .in ! 775: .ev ! 776: .. ! 777: . \" start picture ! 778: .de PS ! 779: . \" $1 is height, $2 is width in units ! 780: .if t .sp .3 ! 781: .in (\\n(.lu-\\$2u)/2u ! 782: .ne \\$1u ! 783: .. ! 784: . \" end of picture ! 785: .de PE ! 786: .in ! 787: .if t .sp .6 ! 788: .. ! 789: . \" KD - keep redivert ! 790: .de KD ! 791: .nr KM 0 ! 792: .if \\n(.zKJ .nr KM 1 ! 793: .if \\n(KM \!.KD \\$1 ! 794: .if !\\n(KM .if \\n(.t<\\$1 .di KJ ! 795: .. ! 796: . \" EM - end macro (process leftover keep) ! 797: .de EM ! 798: .br ! 799: .if !\\n(TB .if t .wh -1p CM ! 800: .if \\n(TB \{\ ! 801: \&\c ! 802: ' bp ! 803: . NP ! 804: . ch CM 160 ! 805: .\} ! 806: .. ! 807: .de XK ! 808: .nr TD 1 ! 809: .nf ! 810: .ls 1 ! 811: .in 0 ! 812: .rn KJ KL ! 813: .KL ! 814: .rm KL ! 815: .if \\n(.zKJ .di ! 816: .nr TB 0 ! 817: .if \\n(.zKJ .nr TB 1 ! 818: .br ! 819: .in ! 820: .ls ! 821: .fi ! 822: .nr TD 0 ! 823: .. ! 824: . \" NP - new page ! 825: .de NP ! 826: .if !\\n(LT .nr LT \\n(LLu ! 827: .if \\n(FM+\\n(HM>=\\n(.p \{\ ! 828: . tm HM + FM longer than page ! 829: . ab ! 830: .\} ! 831: .\".if t .CM ! 832: .if !\\n(HM .nr HM 1i ! 833: .po \\n(POu ! 834: .nr PF \\n(.f ! 835: .nr PX \\n(.s ! 836: .ft 1 ! 837: .ps \\n(PS ! 838: 'sp \\n(HMu/2u ! 839: .PT ! 840: 'sp |\\n(HMu ! 841: .HD \"undefined ! 842: .ps \\n(PX ! 843: .ft \\n(PF ! 844: .nr XX 0 1 ! 845: .nr YY 0-\\n(FMu ! 846: .ch FO 16i ! 847: .ch FX 17i ! 848: .ch FO -\\n(FMu ! 849: .ch FX \\n(.pu-\\n(FMu ! 850: .if \\n(MF .FV ! 851: .nr MF 0 ! 852: .mk ! 853: .os ! 854: .ev 1 ! 855: .if !\\n(TD .if \\n(TC<5 .XK ! 856: .nr TC 0 ! 857: .ev ! 858: .nr TQ \\n(.i ! 859: .nr TK \\n(.u ! 860: .if \\n(IT \{\ ! 861: . in 0 ! 862: . nf ! 863: . TT ! 864: . in \\n(TQu ! 865: . if \\n(TK .fi ! 866: .\} ! 867: .ns ! 868: .mk #T ! 869: .if t .if \\n(.o+\\n(LL>7.54i .tm PO + LL wider than 7.54i ! 870: .. ! 871: . \" PT - page titles ! 872: .de PT ! 873: .lt \\n(LTu ! 874: .pc % ! 875: .nr PN \\n% ! 876: .nr PT \\n% ! 877: .if \\n(P1 .nr PT 2 ! 878: .if \\n(PT>1 .if !\\n(EH .if !\\n(OH .tl \\*(LH\\*(CH\\*(RH ! 879: .if \\n(PT>1 .if \\n(OH .if o .tl \\*(O1 ! 880: .if \\n(PT>1 .if \\n(EH .if e .tl \\*(E2 ! 881: .lt \\n(.lu ! 882: .. ! 883: . \" OH - odd page header ! 884: .de OH ! 885: .nr OH 1 ! 886: .if !\\n(.$ .nr OH 0 ! 887: .ds O1 \\$1 \\$2 \\$3 \\$4 \\$5 \\$6 \\$7 \\$8 \\$9 ! 888: .. ! 889: . \" EH - even page header ! 890: .de EH ! 891: .nr EH 1 ! 892: .if !\\n(.$ .nr EH 0 ! 893: .ds E2 \\$1 \\$2 \\$3 \\$4 \\$5 \\$6 \\$7 \\$8 \\$9 ! 894: .. ! 895: . \" P1 - PT on 1st page ! 896: .de P1 ! 897: .nr P1 1 ! 898: .. ! 899: . \" FO - footer ! 900: .de FO ! 901: .rn FO FZ ! 902: .if \\n(IT .nr T. 1 ! 903: .if \\n(IT .if !\\n(FC .T# 1 ! 904: .if \\n(IT .br ! 905: .nr FC +1 ! 906: .if \\n(NX<2 .nr WF 0 ! 907: .nr dn 0 ! 908: .if \\n(FC<=1 .if \\n(XX .XF ! 909: .rn FZ FO ! 910: .nr MF 0 ! 911: .if \\n(dn .nr MF 1 ! 912: .if !\\n(WF .nr YY 0-\\n(FMu ! 913: .if !\\n(WF .ch FO \\n(YYu ! 914: .if !\\n(dn .nr WF 0 ! 915: .if \\n(FC<=1 .if !\\n(XX \{\ ! 916: . if \\n(NX>1 .RC ! 917: . if \\n(NX<2 'bp ! 918: .\} ! 919: .nr FC -1 ! 920: .if \\n(ML .ne \\n(MLu ! 921: .. ! 922: . \" BT - bottom title ! 923: .de BT ! 924: .nr PF \\n(.f ! 925: .nr PX \\n(.s ! 926: .ft 1 ! 927: .ps \\n(PS ! 928: .lt \\n(LTu ! 929: .po \\n(POu ! 930: .if \\n(TM .if \\n(CT \{\ ! 931: . tl ''\\n(PN'' ! 932: . nr CT 0 ! 933: .\} ! 934: .if \\n% .if !\\n(EF .if !\\n(OF .tl \\*(LF\\*(CF\\*(RF ! 935: .if \\n% .if \\n(OF .if o .tl \\*(O3 ! 936: .if \\n% .if \\n(EF .if e .tl \\*(E4 ! 937: .ft \\n(PF ! 938: .ps \\n(PX ! 939: .. ! 940: . \" OF - odd page footer ! 941: .de OF ! 942: .nr OF 1 ! 943: .if !\\n(.$ .nr OF 0 ! 944: .ds O3 \\$1 \\$2 \\$3 \\$4 \\$5 \\$6 \\$7 \\$8 \\$9 ! 945: .. ! 946: . \" EF - even page footer ! 947: .de EF ! 948: .nr EF 1 ! 949: .if !\\n(.$ .nr EF 0 ! 950: .ds E4 \\$1 \\$2 \\$3 \\$4 \\$5 \\$6 \\$7 \\$8 \\$9 ! 951: .. ! 952: . \" 2C - double column ! 953: .de 2C ! 954: .MC ! 955: .. ! 956: . \" 1C - single column ! 957: .de 1C ! 958: .MC \\n(LLu ! 959: .hy 14 ! 960: .. ! 961: . \" MC - multiple columns, arg is col width ! 962: .de MC ! 963: .nr L1 \\n(LL*7/15 ! 964: .if \\n(.$ .nr L1 \\$1n ! 965: .nr NQ \\n(LL/\\n(L1 ! 966: .if \\n(NQ<1 .nr NQ 1 ! 967: .if \\n(NQ>2 .if (\\n(LL%\\n(L1)=0 .nr NQ -1 ! 968: .if !\\n(1T \{\ ! 969: . BG ! 970: . if n .sp 4 ! 971: . if t .sp 2 ! 972: .\} ! 973: .if !\\n(NX .nr NX 1 ! 974: .if !\\n(NX=\\n(NQ \{\ ! 975: . RT ! 976: . if \\n(NX>1 .bp ! 977: . mk ! 978: . nr NC 1 ! 979: . po \\n(POu ! 980: .\} ! 981: .if \\n(NQ>1 .hy 12 ! 982: .nr NX \\n(NQ ! 983: .nr CW \\n(L1 ! 984: .ll \\n(CWu ! 985: .nr FL \\n(CWu*11u/12u ! 986: .if \\n(NX>1 .nr GW (\\n(LL-(\\n(NX*\\n(CW))/(\\n(NX-1) ! 987: .nr RO \\n(CW+\\n(GW ! 988: .ns ! 989: .. ! 990: .de RC ! 991: .if \\n(NC>=\\n(NX .C2 ! 992: .if \\n(NC<\\n(NX .C1 ! 993: .nr NC \\n(ND ! 994: .if \\n(iL>0 .if !"\\*(iC"" \{\ ! 995: .if \\n(.i>0 .ti -\\n(.i ! 996: \\*(iC ! 997: .ti -4 \} ! 998: .. ! 999: .de C1 ! 1000: .rt ! 1001: .po +\\n(ROu ! 1002: .nr ND \\n(NC+1 ! 1003: .nr XX 0 1 ! 1004: .if \\n(MF .FV ! 1005: .ch FX \\n(.pu-\\n(FMu ! 1006: .ev 1 ! 1007: .if \\n(TB .XK ! 1008: .nr TC 0 ! 1009: .ev ! 1010: .nr TQ \\n(.i ! 1011: .if \\n(IT .in 0 ! 1012: .if \\n(IT .TT ! 1013: .if \\n(IT .in \\n(TQu ! 1014: .mk #T ! 1015: .ns ! 1016: .. ! 1017: .de C2 ! 1018: .po \\n(POu ! 1019: 'bp ! 1020: .nr ND 1 ! 1021: .. ! 1022: . \" RS - right shift ! 1023: .de RS ! 1024: .nr IS \\n(IP ! 1025: .RT ! 1026: .nr IP \\n(IS ! 1027: .if \\n(IP .in +\\n(I\\n(IRu ! 1028: .nr IR +1 ! 1029: .nr I\\n(IR \\n(PIu ! 1030: .in +\\n(I\\n(IRu ! 1031: .. ! 1032: . \" RE - retreat left ! 1033: .de RE ! 1034: .nr IS \\n(IP ! 1035: .RT ! 1036: .nr IP \\n(IS ! 1037: .if \\n(IR .nr IR -1 ! 1038: .if \\n(IP<=0 .in -\\n(I\\n(IRu ! 1039: .. ! 1040: . \" I - italic font ! 1041: .de I ! 1042: .nr PQ \\n(.f ! 1043: .if t .ft 2 ! 1044: .ie \\$1 .if n .ul 999 ! 1045: .el .if n .ul 1 ! 1046: .if t .if !\\$1 \&\f\\n(PQ\\$3\fI\\$1\|\f\\n(PQ\\$2 ! 1047: .if n .if \\n(.$=1 \&\\$1 ! 1048: .if n .if \\n(.$>2 \&\\$3\c ! 1049: .if n .if \\n(.$>1 \&\\$1\c ! 1050: .if n .if \\n(.$>1 \&\\$2 ! 1051: .. ! 1052: . \" B - bold font ! 1053: .de B ! 1054: .nr PQ \\n(.f ! 1055: .if t .ft 3 ! 1056: .ie \\$1 .if n .ul 999 ! 1057: .el .if n .ul 1 ! 1058: .if t .if !\\$1 \&\f\\n(PQ\\$3\fB\\$1\f\\n(PQ\\$2 ! 1059: .if n .if \\n(.$=1 \&\\$1 ! 1060: .if n .if \\n(.$>2 \&\\$3\c ! 1061: .if n .if \\n(.$>1 \&\\$1\c ! 1062: .if n .if \\n(.$>1 \&\\$2 ! 1063: .. ! 1064: . \" R - Roman font ! 1065: .de R ! 1066: .if n .ul 0 ! 1067: .ft 1 ! 1068: .. ! 1069: . \" L - listing font ! 1070: .de L ! 1071: .if n .ul ! 1072: \%\&\\$3\fL\\$1\f1\&\\$2 ! 1073: .. ! 1074: . \" LB - bold listing font ! 1075: .de LB ! 1076: .if n .ul ! 1077: \%\&\\$3\f(LB\\$1\f1\&\\$2 ! 1078: .. ! 1079: . \" UL - underline in troff ! 1080: .de UL ! 1081: .if t \\$1\l'|0\(ul'\\$2 ! 1082: .if n .I \\$1 \\$2 ! 1083: .. ! 1084: . \" SM - make text small ! 1085: .de SM ! 1086: .ps -2 ! 1087: .if !"\\$1"" \\$3\&\\$1\\$2 ! 1088: .if !"\\$1"" .ps +2 ! 1089: .. ! 1090: . \" LG - larger ! 1091: .de LG ! 1092: .ps +2 ! 1093: .if !"\\$1"" \\$3\&\\$1\\$2 ! 1094: .if !"\\$1"" .ps -2 ! 1095: .. ! 1096: . \" NL - normal ! 1097: .de NL ! 1098: .ps \\n(PS ! 1099: .. ! 1100: . \" combinations of Roman, italic, bold ! 1101: .de RI ! 1102: \&\fR\\$1\fI\\$2\^\fR\\$3\fI\\$4\^\fR\\$5\fI\\$6\^\fR\\$7\fI\\$8\^\fR\\$9 ! 1103: .. ! 1104: .de RB ! 1105: \&\fR\\$1\fB\\$2\fR\\$3\fB\\$4\fR\\$5\fB\\$6\fR\\$7\fB\\$8\fR\\$9 ! 1106: .. ! 1107: .de IR ! 1108: \&\fI\\$1\^\fR\\$2\fI\\$3\^\fR\\$4\fI\\$5\^\fR\\$6\fI\\$7\^\fR\\$8\fI\\$9\^\fR ! 1109: .. ! 1110: .de IB ! 1111: \&\fI\\$1\^\fB\\$2\fI\\$3\^\fB\\$4\fI\\$5\^\fB\\$6\fI\\$7\^\fB\\$8\fI\\$9\^\fR ! 1112: .. ! 1113: .de BR ! 1114: \&\fB\\$1\fR\\$2\fB\\$3\fR\\$4\fB\\$5\fR\\$6\fB\\$7\fR\\$8\fB\\$9\fR ! 1115: .. ! 1116: .de BI ! 1117: \&\fB\\$1\fI\\$2\^\fB\\$3\fI\\$4\^\fB\\$5\fI\\$6\^\fB\\$7\fI\\$8\^\fB\\$9\fR ! 1118: .. ! 1119: . \" \** - numbered footnote ! 1120: .ds * \\*([.\\n+*\\*(.] ! 1121: . \" FJ - replaces FS after cover ! 1122: .de FJ ! 1123: 'ce 0 ! 1124: .di ! 1125: .ev 1 ! 1126: .ll \\n(FLu ! 1127: .da FF ! 1128: .br ! 1129: .if \\n(IF .tm Nested footnote ! 1130: .nr IF 1 ! 1131: .if !\\n+(XX-1 .FA ! 1132: .if !\\n(MF .if !\\n(.$ .if \\n* .FP \\n* ! 1133: .if !\\n(MF .if \\n(.$ .FP \\$1 no ! 1134: .. ! 1135: . \" FK - replaces FE after cover ! 1136: .de FK ! 1137: .br ! 1138: .in 0 ! 1139: .nr IF 0 ! 1140: .di ! 1141: .ev ! 1142: .if !\\n(XX-1 .nr dn +\\n(.v ! 1143: .nr YY -\\n(dn ! 1144: .if !\\n(NX .nr WF 1 ! 1145: .if \\n(dl>\\n(CW .nr WF 1 ! 1146: .if (\\n(nl+\\n(.v)<=(\\n(.p+\\n(YY) .ch FO \\n(YYu ! 1147: .if (\\n(nl+\\n(.v)>(\\n(.p+\\n(YY) \{\ ! 1148: . if \\n(nl>(\\n(HM+1.5v) .ch FO \\n(nlu+\\n(.vu ! 1149: . if \\n(nl+\\n(FM+1v>\\n(.p .ch FX \\n(.pu-\\n(FMu+2v ! 1150: . if \\n(nl<=(\\n(HM+1.5v) .ch FO \\n(HMu+(4u*\\n(.vu) ! 1151: .\} ! 1152: .. ! 1153: . \" FS - begin footnote on cover ! 1154: .de FS ! 1155: .ev 1 ! 1156: .br ! 1157: .ll \\n(FLu ! 1158: .da FG ! 1159: .if !\\n(.$ .if \\n* .FP \\n* ! 1160: .if \\n(.$ .FP \\$1 no ! 1161: .. ! 1162: . \" FE - end footnote on cover ! 1163: .de FE ! 1164: .br ! 1165: .di ! 1166: .nr FP \\n(dn ! 1167: .if !\\n(1T .nr KG 1 ! 1168: .ev ! 1169: .. ! 1170: . \" FA - print line before footnotes ! 1171: .de FA ! 1172: .in 0 ! 1173: .if n _________________________ ! 1174: .if t \l'1i' ! 1175: .br ! 1176: .. ! 1177: . \" FP - footnote paragraph ! 1178: .de FP ! 1179: .sp \\n(PDu/2u ! 1180: .if \\n(FF<2 .ti \\n(FIu ! 1181: .if \\n(FF=3 \{\ ! 1182: . in \\n(FIu*2u ! 1183: . ta \\n(FIu*2u ! 1184: . ti 0 ! 1185: .\} ! 1186: .if !\\n(FF \{\ ! 1187: . ie "\\$2"no" \\$1\0\c ! 1188: . el \\*([.\\$1\\*(.]\0\c ! 1189: .\} ! 1190: .if \\n(FF .if \\n(FF<3 \{\ ! 1191: . ie "\\$2"no" \\$1\0\c ! 1192: . el \\$1.\0\c ! 1193: .\} ! 1194: .if \\n(FF=3 \{\ ! 1195: . ie "\\$2"no" \\$1\t\c ! 1196: . el \\$1.\t\c ! 1197: .\} ! 1198: .. ! 1199: . \" FV - get leftover footnote from previous page ! 1200: .de FV ! 1201: .FS ! 1202: .nf ! 1203: .ls 1 ! 1204: .FY ! 1205: .ls ! 1206: .fi ! 1207: .FE ! 1208: .. ! 1209: . \" FX - divert leftover footnote for next page ! 1210: .de FX ! 1211: .if \\n(XX .di FY ! 1212: .if \\n(XX .ns ! 1213: .. ! 1214: . \" XF - actually print footnote ! 1215: .de XF ! 1216: .if \\n(nlu+1v>(\\n(.pu-\\n(FMu) .ch FX \\n(nlu+1.9v ! 1217: .ev 1 ! 1218: .nf ! 1219: .ls 1 ! 1220: .FF ! 1221: .rm FF ! 1222: .nr XX 0 1 ! 1223: .br ! 1224: .ls ! 1225: .di ! 1226: .fi ! 1227: .ev ! 1228: .. ! 1229: . \" TS - source file for tbl ! 1230: .de TS ! 1231: .rn TS @T ! 1232: .so \*(//ms.tbl ! 1233: .TS \\$1 \\$2 ! 1234: .rm @T ! 1235: .. ! 1236: . \" EQ - source file for eqn ! 1237: .de EQ ! 1238: .rn EQ @T ! 1239: .so \*(//ms.eqn ! 1240: .EQ \\$1 \\$2 ! 1241: .rm @T ! 1242: .. ! 1243: . \" ]- - source file for refer ! 1244: .de ]- ! 1245: .rn ]- @T ! 1246: .so \*(//ms.ref ! 1247: .]- ! 1248: .rm @T ! 1249: .. ! 1250: . \" [< - for refer -s or -e ! 1251: .de ]< ! 1252: .rn ]< @T ! 1253: .so \*(//ms.ref ! 1254: .]< ! 1255: .rm @T ! 1256: .. ! 1257: .if \n(.V>19 .ds [. \f1[ ! 1258: .if \n(.V>19 .ds .] ]\fP ! 1259: .if \n(.V<20 .ds [. \f1\s-2\v'-.4m' ! 1260: .if \n(.V<20 .ds .] \v'.4m'\s+2\fP ! 1261: .ds <. . ! 1262: .ds <, , ! 1263: .if n .ds Q \&" ! 1264: .if n .ds U \&" ! 1265: .if n .ds - \%-- ! 1266: .if t .ds Q `` ! 1267: .if t .ds U '' ! 1268: .if t .ds - \(em ! 1269: .ds ' \h'\w'e'u/5'\z\'\h'-\w'e'u/5' ! 1270: .ds ` \h'\w'e'u/5'\z\`\h'-\w'e'u/5' ! 1271: .ds ^ \h'\w'o'u/10'\z^\h'-\w'e'u/10' ! 1272: .ds , \h'\w'c'u/5'\z,\h'-\w'e'u/5' ! 1273: .ds : \h'\w'u'u/5'\z"\h'-\w'e'u/5' ! 1274: .ds ~ \h'\w'n'u/10'\z~\h'-\w'e'u/10' ! 1275: .ds C \h'\w'c'u/5'\v'-.6m'\s-4\zv\s+4\v'.6m'\h'-\w'c'u/5' ! 1276: . \" AM - better accent marks ! 1277: .de AM ! 1278: .so \*(//ms.acc ! 1279: .. ! 1280: . \" TM - thesis mode ! 1281: .de TM ! 1282: .so \*(//ms.ths ! 1283: .. ! 1284: . \" BX - word in a box ! 1285: .de BX ! 1286: .if t \(br\|\\$1\|\(br\l'|0\(rn'\l'|0\(ul' ! 1287: .if n \(br\\kA\|\\$1\|\\kB\(br\v'-1v'\h'|\\nBu'\l'|\\nAu'\v'1v'\l'|\\nAu' ! 1288: .. ! 1289: . \" B1 - source file for boxed text ! 1290: .de B1 ! 1291: .rn B1 @T ! 1292: .so \*(//ms.tbl ! 1293: .B1 \\$1 ! 1294: .rm @T ! 1295: .. ! 1296: . \" XS - table of contents ! 1297: .de XS ! 1298: .rn XS @T ! 1299: .so \*(//ms.toc ! 1300: .XS \\$1 \\$2 ! 1301: .rm @T ! 1302: .. ! 1303: . \" IX - Make an Index Entry ! 1304: .de IX ! 1305: .if \\nI .if \\n(dT .if \\n(IK \!.tm .IE\t\\$1\t\\$2\t\\$3\t\\n(H1-\\\\n(PN\t ! 1306: .if \\nI .if \\n(dT .if !\\n(IK .tm .IE\t\\$1\t\\$2\t\\$3\t\\n(H1-\\n(PN\t ! 1307: .if \\nI .if !\\n(dT .if \\n(IK \!.tm .IE\t\\$1\t\\$2\t\\$3\t\\\\n(PN\t ! 1308: .if \\nI .if !\\n(dT .if !\\n(IK .tm .IE\t\\$1\t\\$2\t\\$3\t\\n(PN\t ! 1309: .if !\\nI .if \\n(dT .if \\n(IK \!.tm .IE\tENTRY\t\\$1\t\\$2\t\\$3\t\\$4\t\\$5\t\\$6\t\\n(H1-\\\\n(PN ! 1310: .if !\\nI .if \\n(dT .if !\\n(IK .tm .IE\tENTRY\t\\$1\t\\$2\t\\$3\t\\$4\t\\$5\t\\$6\t\\n(H1-\\n(PN ! 1311: .if !\\nI .if !\\n(dT .if \\n(IK \!.tm .IE\tENTRY\t\\$1\t\\$2\t\\$3\t\\$4\t\\$5\t\\$6\t\\\\n(PN ! 1312: .if !\\nI .if !\\n(dT .if !\\n(IK .tm .IE\tENTRY\t\\$1\t\\$2\t\\$3\t\\$4\t\\$5\t\\$6\t\\n(PN ! 1313: .. ! 1314: . \" IH - Make an Index Header ! 1315: .de IH ! 1316: .if \\n(dT .if \\n(IK \!.tm .IE\tHEADER\t\\$1\t\\$2\t\\$3\t\\$4\t\\n(H1-\\\\n(PN ! 1317: .if \\n(dT .if !\\n(IK .tm .IE\tHEADER\t\\$1\t\\$2\t\\$3\t\\$4\t\\n(H1-\\n(PN ! 1318: .if !\\n(dT .if \\n(IK \!.tm .IE\tHEADER\t\\$1\t\\$2\t\\$3\t\\$4\t\\\\n(PN ! 1319: .if !\\n(dT .if !\\n(IK .tm .IE\tHEADER\t\\$1\t\\$2\t\\$3\t\\$4\t\\n(PN ! 1320: .. ! 1321: . \" UX - UNIX macro ! 1322: .de UX ! 1323: .ie \\n(UX \s-1UNIX\s0\\$1 ! 1324: .el \{\ ! 1325: \s-1UNIX\s0\\$1\(dg ! 1326: .FS ! 1327: \(dg \s-1UNIX\s0 is a trademark of Bell Laboratories. ! 1328: .FE ! 1329: .nr UX 1 ! 1330: .\} ! 1331: .. ! 1332: .\" ! 1333: .\" Here is the SUN normal form macro, ! 1334: .\" which tries to align for the cross grid ! 1335: .\" ! 1336: .de Sn ! 1337: .ta 2i 3i 4i 5i 6i ! 1338: .nr PS 10 ! 1339: .nr VS 12 ! 1340: .nr LL 5.8i ! 1341: .nr PO +.75i ! 1342: .ps 10 ! 1343: .vs 12 ! 1344: .ll 5.8i ! 1345: .po +.75i ! 1346: .tl ''' ! 1347: .. ! 1348: .\" ! 1349: .\" Do a small type display ! 1350: .\" ! 1351: .de Ds ! 1352: .DS ! 1353: .ps 10 ! 1354: .vs 12 ! 1355: .. ! 1356: .de De ! 1357: .DE ! 1358: .. ! 1359: .\" ! 1360: .\" These are my memo macros, invoked by using ! 1361: .\" .MM and then specifying the appropriate pieces. ! 1362: .\" Relies on the -ms or -msun macros. ! 1363: .\" ! 1364: .\" .MM -- initialize memo ! 1365: .\" .TO -- Send it to ! 1366: .\" .FR -- From ! 1367: .\" .DA -- String for date ! 1368: .\" .SU -- String for subject ! 1369: .\" .CC -- Carbon Copies ! 1370: .\" .DI -- Distribution List ! 1371: .\" .EC -- End copy list ! 1372: .\" ! 1373: .de MM ! 1374: .vs 10p ! 1375: .sp 8v ! 1376: .ll 6.0i ! 1377: .ps 26 ! 1378: .br ! 1379: .in +5i ! 1380: .ft 3 ! 1381: s\|\|u\|\|n ! 1382: .br ! 1383: .ps 12 ! 1384: .ft 1 ! 1385: microsystems ! 1386: .in -5i ! 1387: .br ! 1388: .sp ! 1389: .ps 12 ! 1390: .. ! 1391: .de TO ! 1392: .mk ! 1393: .ps 9 ! 1394: To: ! 1395: .ps 11 ! 1396: .if t .ti +\w'Subject: 'u ! 1397: .rt ! 1398: \\$1 \\$2 \\$3 \\$4 \\$5 \\$6 \\$7 ! 1399: .. ! 1400: .de DA ! 1401: .if t .in +6i ! 1402: .if t .in -\w'\\$1 \\$2 \\$3 \\$4 \\$5 \\$6 \\$7'u ! 1403: .if t .in -\w'Date: 'u ! 1404: .if t .rt ! 1405: .if n .sp ! 1406: Date: ! 1407: .if t .br ! 1408: .if t .rt ! 1409: .if t .ti +\w'Date: 'u ! 1410: \\$1 \\$2 \\$3 \\$4 \\$5 \\$6 \\$7 ! 1411: .br ! 1412: .if t .in +w'\\$1 \\$2 \\$3 \\$4 \\$5 \\$6 \\$7'u ! 1413: .if t .in +w'Date: 'u ! 1414: .if t .in -6i ! 1415: .sp ! 1416: .. ! 1417: .de FR ! 1418: .mk ! 1419: .ps 9 ! 1420: From: ! 1421: .if t .rt ! 1422: .ps 11 ! 1423: .if t .ti +\w'Subject: 'u ! 1424: \\$1 \\$2 \\$3 \\$4 \\$5 \\$6 \\$7 ! 1425: .if t .rt ! 1426: .sp ! 1427: .. ! 1428: .de SU ! 1429: .mk ! 1430: .ps 9 ! 1431: Subject: ! 1432: .if t .rt ! 1433: .ps 11 ! 1434: .if t .ti +\w'Subject: 'u ! 1435: \\$1 \\$2 \\$3 \\$4 \\$5 \\$6 \\$7 ! 1436: .if t .rt ! 1437: .sp ! 1438: .. ! 1439: .de CC ! 1440: .mk ! 1441: .ps 9 ! 1442: CC: ! 1443: .ps 11 ! 1444: .in +\w'Subject: 'u ! 1445: .if t .rt ! 1446: .nf ! 1447: .. ! 1448: .de DI ! 1449: .ps 9 ! 1450: Distribution ! 1451: .br ! 1452: .mk ! 1453: List: ! 1454: .ps 11 ! 1455: .in +\w'Subject: 'u ! 1456: .rt ! 1457: .nf ! 1458: .. ! 1459: .de EC ! 1460: .sp ! 1461: .in -\w'Subject: 'u ! 1462: .fi ! 1463: .. ! 1464: .de pp ! 1465: .sp ! 1466: .. ! 1467: .\" ! 1468: .\" These are macros for making foils. ! 1469: .\" .Fp invokes the foil package initialization stuff, ! 1470: .\" .Fl gets you a foil, and ! 1471: .\" .It gets an item ! 1472: .\" .Tl gets a title for the foil ! 1473: .\" .Ip gets a second paragraph in the bullet ! 1474: .\" .Tp gets a text paragraph, not printed on foils ! 1475: .\" .Te ends a text paragraph ! 1476: .\" ! 1477: .de Fp ! 1478: .EF 'Copyright 1984 Sun Micro''Educational Material' ! 1479: .OF 'Copyright 1984 Sun Micro''Educational Material' ! 1480: .. ! 1481: .de Fl ! 1482: .bp 1 ! 1483: .LP ! 1484: .sp 2 ! 1485: .ll 6.5i ! 1486: .nr PS 18 ! 1487: .nr VS 21 ! 1488: .ps 18 ! 1489: .vs 21 ! 1490: .. ! 1491: .de Tl ! 1492: .ps \\n(PS+10 ! 1493: .vs \\n(VS+11 ! 1494: .ce 10 ! 1495: .ft 3 ! 1496: \\$1 \\$2 \\$3 ! 1497: \\$4 \\$5 \\$6 \\$7 ! 1498: .ft 1 ! 1499: .ce 0 ! 1500: .br ! 1501: .ps \\n(PS ! 1502: .vs \\n(VS ! 1503: .. ! 1504: .de Sl ! 1505: .ps \\n(PS+4 ! 1506: .vs \\n(VS+5 ! 1507: \\$1 \\$2 \\$3 \\$4 \\$5 \\$6 \\$7 ! 1508: .br ! 1509: .ps \\n(PS ! 1510: .vs \\n(VS ! 1511: .. ! 1512: .de St ! 1513: .rs ! 1514: .ps \\n(PS+4 ! 1515: .vs \\n(VS+5 ! 1516: \|\| ! 1517: .sp -2 ! 1518: \\$1 \\$2 \\$3 \\$4 \\$5 \\$6 \\$7 ! 1519: .sp 2 ! 1520: .br ! 1521: .ps \\n(PS ! 1522: .vs \\n(VS ! 1523: .. ! 1524: .de It ! 1525: .sp 1 ! 1526: .IP \(bu ! 1527: .ps \\n(PS+6 ! 1528: .vs \\n(VS+7 ! 1529: \\$1 \\$2 \\$3 \\$4 \\$5 \\$6 \\$7 ! 1530: .sp 1 ! 1531: .ps \\n(PS ! 1532: .vs \\n(VS ! 1533: .. ! 1534: .de Ip ! 1535: .sp 1 ! 1536: .. ! 1537: .de Tp ! 1538: .ig Te ! 1539: .. ! 1540: .co ! 1541: .if \n(mo-0 .ds MO January ! 1542: .if \n(mo-1 .ds MO February ! 1543: .if \n(mo-2 .ds MO March ! 1544: .if \n(mo-3 .ds MO April ! 1545: .if \n(mo-4 .ds MO May ! 1546: .if \n(mo-5 .ds MO June ! 1547: .if \n(mo-6 .ds MO July ! 1548: .if \n(mo-7 .ds MO August ! 1549: .if \n(mo-8 .ds MO September ! 1550: .if \n(mo-9 .ds MO October ! 1551: .if \n(mo-10 .ds MO November ! 1552: .if \n(mo-11 .ds MO December ! 1553: .ds DY \*(MO \n(dy, 19\n(yr ! 1554: .nr * 0 1 ! 1555: .IZ ! 1556: .em EM ! 1557: .rm IZ RA //
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.