| tmac.pm - 9base - revived minimalist port of Plan 9 userland to Unix | |
| git clone git://git.suckless.org/9base | |
| Log | |
| Files | |
| Refs | |
| README | |
| LICENSE | |
| --- | |
| tmac.pm (17719B) | |
| --- | |
| 1 .\" 10/22/92 activate next line before installing | |
| 2 .pi /home/anselm/plan9port/bin/auxpm | |
| 3 . | |
| 4 . \" IZ - initialization | |
| 5 .de IZ | |
| 6 .fp 10 S \" force a font out into prefix | |
| 7 .nr PS 10 \" point size | |
| 8 .nr VS 12 \" line spacing | |
| 9 .ps \\n(PS | |
| 10 .ie \\n(VS>=41 .vs \\n(VSu | |
| 11 .el .vs \\n(VSp | |
| 12 .nr LL 6i \" line length | |
| 13 .ll \\n(LLu | |
| 14 .nr LT \\n(.l \" title length | |
| 15 .lt \\n(LTu | |
| 16 .if !\\n(HM .nr HM 1i \" top of page | |
| 17 .if !\\n(FM .nr FM 1i \" footer margin | |
| 18 .if !\\n(FO .nr FO \\n(.p-\\n(FM \" bottom of page | |
| 19 . \" to set text ht to N, set FO to N + \n(HM. d… | |
| 20 .pl 32767u \" safety first: big pages for pm | |
| 21 .if !\\n(PO .nr PO \\n(.ou \" page offset | |
| 22 .nr PI 5n \" .PP paragraph indent | |
| 23 .nr QI 5n \" .QS indent | |
| 24 .nr DI 5n \" .DS indent | |
| 25 .nr PD 0.3v \" paragraph vertical separation | |
| 26 .nr TS 0.5v \" space around tables | |
| 27 .nr Kf 0.5v \" space around .KF/.KE | |
| 28 .nr Ks 0.5v \" space around .KS/.KE | |
| 29 . | |
| 30 .nr P1 .4i \" indent for .P1/.P2 | |
| 31 .nr dP 1 \" delta point size for programs in .P1/.P2 | |
| 32 .nr dV 2p \" delta vertical for programs | |
| 33 .nr dT 8 \" delta tab stop for programs | |
| 34 .nr DV .5v \" space before start of program | |
| 35 .nr IP 0 \" ? | |
| 36 .nr IR 0 \" ? | |
| 37 .nr I1 \\n(PIu | |
| 38 .ev 1 | |
| 39 .if !\\n(FL .nr FL \\n(LLu \" footnote length | |
| 40 .ll \\n(FLu | |
| 41 .ps 8 \" text size & leading in footnote | |
| 42 .vs 10p | |
| 43 .ev | |
| 44 .if \\*(CH .ds CH "\(hy \\\\n(PN \(hy | |
| 45 .ds # #\\\\n(.c \\\\n(.F | |
| 46 . | |
| 47 . | |
| 48 .ME \" initialize date strings | |
| 49 .rm ME | |
| 50 . \" accents: \*'e \*`e \*:u \*^e \*~n \*va \*,c | |
| 51 .ds ' \h'\w'e'u*4/10'\z\(aa\h'-\w'e'u*4/10' | |
| 52 .ds ` \h'\w'e'u*4/10'\z\(ga\h'-\w'e'u*4/10' | |
| 53 .ds : \\v'-0.6m'\\h'(1u-(\\\\n(.fu%2u))*0.13m+0.00m'\\z.\\h'0.2m'\\z.\\h… | |
| 54 .ds ^ \\\\k:\\h'-\\\\n(.fu+1u/2u*2u+\\\\n(.fu-1u*0.13m+0.06m'\\z^\\h'|\\… | |
| 55 .ds ~ \\\\k:\\h'-\\\\n(.fu+1u/2u*2u+\\\\n(.fu-1u*0.13m+0.06m'\\z~\\h'|\\… | |
| 56 .ds v \\\\k:\\\\h'+\\\\w'e'u/4u'\\\\v'-0.6m'\\\\s6v\\\\s0\\\\v'0.6m'\\\\… | |
| 57 .ds , \\\\k:\\\\h'\\\\w'c'u*0.4u'\\\\z,\\\\h'|\\\\n:u' | |
| 58 .. | |
| 59 . | |
| 60 . | |
| 61 . \" SP - generate paddable space | |
| 62 .de SP | |
| 63 .br | |
| 64 .nr X 1v | |
| 65 .if \\n(.$ .nr X \\$1v | |
| 66 .ie '\\$2'exactly' \{\ | |
| 67 \v'\\nXu'\ \h'-\w'\ 'u'\c | |
| 68 .sp \\$1\} | |
| 69 .el .X "SP \\nX \\$2" | |
| 70 .. | |
| 71 . \" NE - need space on this page | |
| 72 .de NE | |
| 73 .nr X 1v | |
| 74 .if \\n(.$ .nr X \\$1v | |
| 75 .X "NE \\nX \\$2" | |
| 76 .. | |
| 77 . \" BP, FL, FC - begin page, flush figures, flush column | |
| 78 .de BP | |
| 79 .br | |
| 80 .X CMD BP | |
| 81 .. | |
| 82 .de FL | |
| 83 .br | |
| 84 .X CMD FL | |
| 85 .. | |
| 86 .de FC | |
| 87 .br | |
| 88 .X CMD FC | |
| 89 .. | |
| 90 . \" X - generate an x X ... command in the output | |
| 91 .de X | |
| 92 ....ie '\\n(.z'' \\!x X \\$1 \\$2 \\$3 \\$4 \\$5 \\$6 \\$7 \\$8 \\$9 | |
| 93 ....el \\!.X "\\$1 \\$2 \\$3 \\$4 \\$5 \\$6 \\$7 \\$8 \\$9 | |
| 94 ... | |
| 95 .if !'\\n(.z'' .if \\n(.$=1 \\!.X "\\$1 | |
| 96 .if !'\\n(.z'' .if \\n(.$=2 \\!.X "\\$1 \\$2 | |
| 97 .if !'\\n(.z'' .if \\n(.$=3 \\!.X "\\$1 \\$2 \\$3 | |
| 98 .if !'\\n(.z'' .if \\n(.$>3 \\!.X "\\$1 \\$2 \\$3 \\$4 \\$5 \\$6 \\$7 \\… | |
| 99 .if '\\n(.z'' .if \\n(.$=1 \\!x X \\$1 \\*# | |
| 100 .if '\\n(.z'' .if \\n(.$=2 \\!x X \\$1 \\$2 \\*# | |
| 101 .if '\\n(.z'' .if \\n(.$=3 \\!x X \\$1 \\$2 \\$3 \\*# | |
| 102 .if '\\n(.z'' .if \\n(.$=4 \\!x X \\$1 \\$2 \\$3 \\$4 \\*# | |
| 103 .if '\\n(.z'' .if \\n(.$>4 \\!x X \\$1 \\$2 \\$3 \\$4 \\$5 \\$6 \\$7 \\$… | |
| 104 .. | |
| 105 . \" DA - force date | |
| 106 .de DA | |
| 107 .if \\n(.$ .ds DY \\$1 \\$2 \\$3 \\$4 | |
| 108 .ds CF \\*(DY | |
| 109 .. | |
| 110 . \" ND - set new or no date | |
| 111 .de ND | |
| 112 .ds DY \\$1 \\$2 \\$3 \\$4 | |
| 113 .rm CF | |
| 114 .. | |
| 115 .de ME \" ME - set month strings | |
| 116 .if \\n(mo-0 .ds MO January | |
| 117 .if \\n(mo-1 .ds MO February | |
| 118 .if \\n(mo-2 .ds MO March | |
| 119 .if \\n(mo-3 .ds MO April | |
| 120 .if \\n(mo-4 .ds MO May | |
| 121 .if \\n(mo-5 .ds MO June | |
| 122 .if \\n(mo-6 .ds MO July | |
| 123 .if \\n(mo-7 .ds MO August | |
| 124 .if \\n(mo-8 .ds MO September | |
| 125 .if \\n(mo-9 .ds MO October | |
| 126 .if \\n(mo-10 .ds MO November | |
| 127 .if \\n(mo-11 .ds MO December | |
| 128 .if \\n(dw-0 .ds DW Sunday | |
| 129 .if \\n(dw-1 .ds DW Monday | |
| 130 .if \\n(dw-2 .ds DW Tuesday | |
| 131 .if \\n(dw-3 .ds DW Wednesday | |
| 132 .if \\n(dw-4 .ds DW Thursday | |
| 133 .if \\n(dw-5 .ds DW Friday | |
| 134 .if \\n(dw-6 .ds DW Saturday | |
| 135 .if "\\*(DY"" .ds DY \\*(MO \\n(dy, 19\\n(yr | |
| 136 .. | |
| 137 . \" FP - font position for a family | |
| 138 .de FP | |
| 139 .if '\\$1'palatino'\{\ | |
| 140 . fp 1 PA | |
| 141 . fp 2 PI | |
| 142 . fp 3 PB | |
| 143 . fp 4 PX\} | |
| 144 .if '\\$1'lucidasans'\{\ | |
| 145 . fp 1 R LucidaSans | |
| 146 . fp 2 I LucidaSansI | |
| 147 . fp 3 B LucidaSansB | |
| 148 . fp 5 CW LucidaCW\} | |
| 149 .if '\\$1'century'\{\ | |
| 150 . ie '\\*(.T'202'\{\ | |
| 151 . fp 1 NR Centsb | |
| 152 . fp 2 NI CentI | |
| 153 . fp 3 NB CentB | |
| 154 . fp 4 NX CentBI\} | |
| 155 . el \{\ | |
| 156 . fp 1 NR | |
| 157 . fp 2 NI | |
| 158 . fp 3 NB | |
| 159 . fp 4 NX\}\} | |
| 160 .if '\\$1'helvetica'\{\ | |
| 161 . fp 1 H | |
| 162 . fp 2 HI | |
| 163 . fp 3 HB | |
| 164 . fp 4 HX\} | |
| 165 .if '\\$1'bembo'\{\ | |
| 166 . ie '\\*(.T'202'\{\ | |
| 167 . fp 1 B1 Bembo | |
| 168 . fp 2 B2 BemboI | |
| 169 . fp 3 B3 BemboB | |
| 170 . fp 4 B4 BemboBI\} | |
| 171 . el \{\ | |
| 172 . fp 1 B1 | |
| 173 . fp 2 B2 | |
| 174 . fp 3 B3 | |
| 175 . fp 4 B4\}\} | |
| 176 .if '\\$1'optima'\{\ | |
| 177 . fp 1 R Optima | |
| 178 . fp 2 I OptimaI | |
| 179 . fp 3 B OptimaB | |
| 180 . fp 4 BI OptimaBI\} | |
| 181 .if '\\$1'souvenir'\{\ | |
| 182 . fp 1 R Souvenir | |
| 183 . fp 2 I SouvenirI | |
| 184 . fp 3 B SouvenirB | |
| 185 . fp 4 BI SouvenirBI\} | |
| 186 .if '\\$1'melior'\{\ | |
| 187 . fp 1 R Melior | |
| 188 . fp 2 I MeliorI | |
| 189 . fp 3 B MeliorB | |
| 190 . fp 4 BI MeliorBI\} | |
| 191 .if '\\$1'times'\{\ | |
| 192 . fp 1 R | |
| 193 . fp 2 I | |
| 194 . fp 3 B | |
| 195 . fp 4 BI\} | |
| 196 .. | |
| 197 . \" TL - title | |
| 198 .de TL | |
| 199 .br | |
| 200 .if !\\n(1T .BG | |
| 201 ....hy 0 | |
| 202 .ft 3 | |
| 203 .ps \\n(PS+2p | |
| 204 .vs \\n(VS+2p | |
| 205 .ll \\n(LLu | |
| 206 .ce 100 \" turned off in .RT | |
| 207 .sp .5i | |
| 208 .. | |
| 209 . \" AU - remember author(s) | |
| 210 .de AU | |
| 211 .ft 1 | |
| 212 .ps \\n(PS | |
| 213 .ie \\n(VS>=41 .vs \\n(VSu | |
| 214 .el .vs \\n(VSp | |
| 215 .SP .5 | |
| 216 .. | |
| 217 . \" AI - author's institution | |
| 218 .de AI | |
| 219 .SP .25 | |
| 220 .ft 2 | |
| 221 .. | |
| 222 . \" AB - begin abstract | |
| 223 .de AB | |
| 224 .nr AB 1 \" we're in abstract | |
| 225 .if !\\n(1T .BG | |
| 226 .ft 1 | |
| 227 .ps \\n(PS | |
| 228 .vs \\n(VSp | |
| 229 .ce | |
| 230 .in +\\n(.lu/12u | |
| 231 .ll -\\n(.lu/12u | |
| 232 .SP 1 | |
| 233 .ie \\n(.$ \\$1 | |
| 234 .el ABSTRACT | |
| 235 .SP .75 | |
| 236 .RT | |
| 237 .. | |
| 238 . \" AE - end of abstract | |
| 239 .de AE | |
| 240 .br | |
| 241 .nr AB 0 | |
| 242 .in 0 | |
| 243 .ll \\n(LLu | |
| 244 .ps \\n(PS | |
| 245 .ie \\n(VS>=41 .vs \\n(VSu | |
| 246 .el .vs \\n(VSp | |
| 247 .SP | |
| 248 .. | |
| 249 . \" 2C - 2 columns | |
| 250 .de 2C | |
| 251 .MC 2 | |
| 252 .. | |
| 253 . \" 1C - 1 column | |
| 254 .de 1C | |
| 255 .MC 1 | |
| 256 .. | |
| 257 . \" MC - multiple columns | |
| 258 .de MC | |
| 259 .br | |
| 260 .if \\n(1T .RT | |
| 261 .if \\n(1T .NP | |
| 262 .if !\\n(OL .nr OL \\n(LL | |
| 263 .if \\n(CW=0 .nr CW \\n(LL*7/15 | |
| 264 .if \\n(GW=0 .nr GW \\n(LL-(2*\\n(CW) | |
| 265 .nr x \\n(CW+\\n(GW | |
| 266 .if "\\$1"" .MC 2 | |
| 267 .if \\$1=1 \{\ | |
| 268 . X MC 1 0 | |
| 269 . nr LL \\n(OLu\} | |
| 270 .if \\$1=2 \{\ | |
| 271 . X MC 2 \\nx | |
| 272 . nr LL \\n(CWu\} | |
| 273 .ll \\n(LLu | |
| 274 .if \\$1>2 .tm -mpm can't handle more than two columns | |
| 275 .if \\n(1T .RT | |
| 276 .. | |
| 277 . \" TS - table start, TE - table end; also TC, TQ, TH | |
| 278 .de TS | |
| 279 .br | |
| 280 .if !\\n(1T .RT | |
| 281 .SP \\n(TSu TS | |
| 282 .X "US TS | |
| 283 .if \\$1H .TQ | |
| 284 .nr IX 1 | |
| 285 .. | |
| 286 .de TC | |
| 287 .nr TZ \\n(.lu | |
| 288 .if \\n(.$ .nr TZ \\$1n | |
| 289 .ta \\n(TZuR | |
| 290 .. | |
| 291 .de TD | |
| 292 .LP | |
| 293 .nr TZ 0 | |
| 294 .. | |
| 295 .de TQ | |
| 296 .di TT | |
| 297 .nr IT 1 | |
| 298 .. | |
| 299 .de TH | |
| 300 .if \\n(.d>0.5v \{\ | |
| 301 . nr T. 0 | |
| 302 . T# 0\} | |
| 303 .di | |
| 304 .nr TQ \\n(.i | |
| 305 .nr HT 1 | |
| 306 .in 0 | |
| 307 .mk #a | |
| 308 .mk #b | |
| 309 .mk #c | |
| 310 .mk #d | |
| 311 .mk #e | |
| 312 .mk #f | |
| 313 .TT | |
| 314 .in \\n(TQu | |
| 315 .mk #T | |
| 316 .. | |
| 317 . \" TE - table end | |
| 318 .de TE | |
| 319 .nr IX 0 | |
| 320 .if \\n(IT .if !\\n(HT \{\ | |
| 321 . di | |
| 322 . nr EF \\n(.u | |
| 323 . nf | |
| 324 . TT | |
| 325 . if \\n(EF .fi\} | |
| 326 .nr IT 0 | |
| 327 .nr HT 0 | |
| 328 .rm a+ b+ c+ d+ e+ f+ g+ h+ i+ j+ k+ l+ n+ m+ | |
| 329 .rr 32 33 34 35 36 37 38 40 79 80 81 82 | |
| 330 .rr a| b| c| d| e| f| g| h| i| j| k| l| m| | |
| 331 .rr a- b- c- d- e- f- g- h- i- j- k- l- m- | |
| 332 .X "END US TE | |
| 333 .SP \\n(TSu TE | |
| 334 .bp | |
| 335 .. | |
| 336 . \" EQ - equation, breakout and display | |
| 337 .de EQ | |
| 338 .nr EF \\n(.u | |
| 339 .rm EE | |
| 340 .nr LE 1 \" 1 is center | |
| 341 .ds EL \\$1 | |
| 342 .if "\\$1"L" \{\ | |
| 343 . ds EL \\$2 | |
| 344 . nr LE 0\} | |
| 345 .if "\\$1"C" .ds EL \\$2 | |
| 346 .if "\\$1"R" \{\ | |
| 347 . ds EL \\$2 \" 2 is right adjust | |
| 348 . nr LE 2\} | |
| 349 .if "\\$1"I" \{\ | |
| 350 . nr LE 0 | |
| 351 . if "\\$3"" .ds EE \\h'|10n' | |
| 352 . el .ds EE \\h'\\$3' | |
| 353 . ds EL \\$2\} | |
| 354 .if \\n(YE .nf | |
| 355 .di EZ | |
| 356 .. | |
| 357 . \" EN - end of equation | |
| 358 .de EN | |
| 359 .br | |
| 360 .di | |
| 361 .rm EZ | |
| 362 .nr ZN \\n(dn | |
| 363 .if \\n(ZN .if !\\n(YE .LP | |
| 364 .if !\\n(ZN .if !"\\*(EL"" .nr ZN 1 | |
| 365 .if \\n(ZN \{\ | |
| 366 . SP .5v EQ | |
| 367 . X "US EQ"\} | |
| 368 'pc | |
| 369 .if \\n(BD .nr LE 0 \" don't center if block display or mark/lineup | |
| 370 .if \\n(MK \{\ | |
| 371 . if \\n(LE=1 .ds EE \\h'|10n' | |
| 372 . nr LE 0\} | |
| 373 'lt \\n(.lu | |
| 374 .if !\\n(EP .if \\n(ZN \{\ | |
| 375 . if \\n(LE=1 .tl \(ts\(ts\\*(10\(ts\\*(EL\(ts | |
| 376 . if \\n(LE=2 .tl \(ts\(ts\(ts\\*(10\\*(EL\(ts | |
| 377 . if !\\n(LE \{\ | |
| 378 . if !\\n(BD .tl \(ts\\*(EE\\*(10\(ts\(ts\\*(EL\(ts | |
| 379 . if \\n(BD .if \\n(BD<\\w\(ts\\*(10\(ts .nr BD \\w\(ts\\… | |
| 380 . if \\n(BD \!\\*(10\\t\\*(EL\}\} | |
| 381 .if \\n(EP .if \\n(ZN \{\ | |
| 382 . if \\n(LE=1 .tl \(ts\\*(EL\(ts\\*(10\(ts\(ts | |
| 383 . if \\n(LE=2 .tl \(ts\\*(EL\(ts\(ts\\*(10\(ts | |
| 384 . if !\\n(LE \{\ | |
| 385 . if !\\n(BD .tl \(ts\\*(EL\\*(EE\\*(10\(ts\(ts\(ts | |
| 386 . if \\n(BD .if \\n(BD<\\w\(ts\\*(10\(ts .nr BD \\w\(ts\\… | |
| 387 . if \\n(BD \!\\h'-\\\\n(.iu'\\*(EL\\h'|0'\\*(10\}\} | |
| 388 'lt \\n(LLu | |
| 389 'pc % | |
| 390 .if \\n(YE .if \\n(EF .fi | |
| 391 .if \\n(ZN .X "END US EQ" | |
| 392 .if \\n(ZN .SP .5v EN | |
| 393 .if \\n(ZN .bp | |
| 394 .. | |
| 395 . \" PS - start picture | |
| 396 .de PS \" $1 is height, $2 is width, in inches | |
| 397 .br | |
| 398 .nr X 0.35v | |
| 399 .if \\$1>0 .X "SP \\nX PS" | |
| 400 .ie \\$1>0 .nr $1 \\$1 | |
| 401 .el .nr $1 0 | |
| 402 .X "US PS \\$1 | |
| 403 .in (\\n(.lu-\\$2)/2u | |
| 404 .. | |
| 405 . \" PE - end of picture | |
| 406 .de PE | |
| 407 .in | |
| 408 .X "END US PE | |
| 409 .nr X .65v | |
| 410 .if \\n($1>0 .X "SP \\nX PE" | |
| 411 .bp | |
| 412 .. | |
| 413 .de IS \" for -mpm only | |
| 414 .KS | |
| 415 .. | |
| 416 .de IE | |
| 417 .KE | |
| 418 .bp | |
| 419 .. | |
| 420 . \" NP - new page | |
| 421 .de NP | |
| 422 .ev 2 | |
| 423 .bp | |
| 424 .if \\n(KF=0 \{\ | |
| 425 . nr PX \\n(.s | |
| 426 . nr PF \\n(.f | |
| 427 . nr PV \\n(.v | |
| 428 . lt \\n(LTu | |
| 429 . ps \\n(PS | |
| 430 . vs \\n(PS+2 | |
| 431 . ft 1 | |
| 432 . if \\n(PO .po \\n(POu \" why isn't this reset??? | |
| 433 . PT \\$1 | |
| 434 . bp | |
| 435 . rs | |
| 436 . BT | |
| 437 . bp | |
| 438 . nr %# +1 | |
| 439 . ps \\n(PX | |
| 440 . vs \\n(PVu | |
| 441 . ft \\n(PF \} | |
| 442 .ev | |
| 443 .. | |
| 444 . | |
| 445 .ds %e .tl '\\*(LH'\\*(CH'\\*(RH' | |
| 446 .ds %o .tl '\\*(LH'\\*(CH'\\*(RH' | |
| 447 .ds %E .tl '\\*(LF'\\*(CF'\\*(RF' | |
| 448 .ds %O .tl '\\*(LF'\\*(CF'\\*(RF' | |
| 449 . | |
| 450 . \" PT - page title | |
| 451 .de PT | |
| 452 .nr PN \\n(%# | |
| 453 .X "PT \\n(%# | |
| 454 .sp \\n(HMu/2u | |
| 455 .if \\n(OL .lt \\n(OLu \" why isn't this reset??? | |
| 456 .if \\n(BT>0 .if \\n(%#%2 \\*(%o | |
| 457 .if \\n(BT>0 .if !\\n(%#%2 \\*(%e | |
| 458 .if \\n(BT=0 .tl '\0''' \" put out something or spacing i… | |
| 459 .X "END PT \\n(%# | |
| 460 .. | |
| 461 . \" BT - bottom title | |
| 462 .de BT | |
| 463 .X "BT \\n(%# | |
| 464 .sp |\\n(FMu/2u+\\n(FOu-1v | |
| 465 .if \\n(%#%2 \\*(%O | |
| 466 .if !\\n(%#%2 \\*(%E | |
| 467 .nr BT \\n(BT+1 | |
| 468 .X "END BT \\n(%# | |
| 469 .. | |
| 470 . \" KS - non-floating keep | |
| 471 .de KS | |
| 472 .br | |
| 473 .if "\\n(.z"" .NP \" defends poorly against including ht of page stuff … | |
| 474 .X "US KS 0 | |
| 475 .nr KS +1 | |
| 476 .SP \\n(Ksu | |
| 477 .. | |
| 478 . \" KF - floating keep | |
| 479 .de KF | |
| 480 .ev 1 | |
| 481 .br | |
| 482 .if \\n(KS>0 .tm KF won't work inside KS, line \\n(.c, file \\n(.F | |
| 483 .if \\n(KF>0 .tm KF won't work inside KF, line \\n(.c, file \\n(.F | |
| 484 .nr KF 1 | |
| 485 .nr 10 0 | |
| 486 . if !'\\$1'' .nr 10 \\$1u | |
| 487 . if '\\$1'bottom' .nr 10 \\n(FOu-1u | |
| 488 . if '\\$1'top' .nr 10 \\n(HM | |
| 489 . if \\n(10 .X "UF \\n(10 KF" | |
| 490 . if !\\n(10 .X "UF \\n(HM KF" | |
| 491 . nr X \\n(FOu-2u | |
| 492 . if \\n(10 .X "UF \\n(10 KF" | |
| 493 . if !\\n(10 .X "UF \\nX KF" | |
| 494 .nr SJ \\n(.u | |
| 495 .ps \\n(PS | |
| 496 .if \\n(VS>40 .vs \\n(VSu | |
| 497 .if \\n(VS<=39 .vs \\n(VSp | |
| 498 .ll \\n(LLu | |
| 499 .lt \\n(LTu | |
| 500 .SP \\n(Kfu | |
| 501 .. | |
| 502 . \" KE - end of KS/KF | |
| 503 .de KE | |
| 504 .bp | |
| 505 .ie \\n(KS>0 \{\ | |
| 506 . SP \\n(Ksu | |
| 507 . X "END US KS | |
| 508 . nr KS -1 \} | |
| 509 .el .ie \\n(KF>0 \{\ | |
| 510 . SP \\n(Kfu | |
| 511 . nr KF 0 | |
| 512 . X "END UF KF" | |
| 513 . if \\n(SJ .fi | |
| 514 . ev \} | |
| 515 .el .tm .KE without preceding .KS or .KF, line \\n(.c, file \\n(.F | |
| 516 .. | |
| 517 . | |
| 518 . \" DS - display. .DS C center; L left-adjust; I indent … | |
| 519 .de DS \" $2 = amount of indent | |
| 520 .KS | |
| 521 .nf | |
| 522 .\\$1D \\$2 \\$1 | |
| 523 .ft 1 | |
| 524 .if !\\n(IF \{\ | |
| 525 . ps \\n(PS | |
| 526 . if \\n(VS>40 .vs \\n(VSu | |
| 527 . if \\n(VS<=39 .vs \\n(VSp\} | |
| 528 .. | |
| 529 .de D | |
| 530 .ID \\$1 | |
| 531 .. | |
| 532 .de CD | |
| 533 .XD | |
| 534 .ce 1000 | |
| 535 .. | |
| 536 .de ID | |
| 537 .XD | |
| 538 .if \\n(.$=0 .in +\\n(DIu | |
| 539 .if \\n(.$=1 .if "\\$1"I" .in +\\n(DIu | |
| 540 .if \\n(.$=1 .if !"\\$1"I" .in +\\$1n | |
| 541 .if \\n(.$>1 .in +\\$2n | |
| 542 .....in +0.5i | |
| 543 .....if \\n(.$ .if !"\\$1"I" .if !"\\$1"" .in \\n(DIu | |
| 544 .....if \\n(.$ .if !"\\$1"I" .if !"\\$1"" .in +\\$1n | |
| 545 .. | |
| 546 .de LD | |
| 547 .XD | |
| 548 .. | |
| 549 .de XD | |
| 550 .nf | |
| 551 .nr OI \\n(.i | |
| 552 .SP \\n(DVu | |
| 553 .. | |
| 554 . \" BD - block display: save everything, then center it. | |
| 555 .de BD | |
| 556 .XD | |
| 557 .nr BD 1 | |
| 558 .nf | |
| 559 .in \\n(OIu | |
| 560 .di DD | |
| 561 .. | |
| 562 . \" DE - display end | |
| 563 .de DE | |
| 564 .ce 0 | |
| 565 .if \\n(BD>0 .XF | |
| 566 .nr BD 0 | |
| 567 .in \\n(OIu | |
| 568 .SP \\n(DVu | |
| 569 .KE | |
| 570 .fi | |
| 571 .. | |
| 572 . \" XF - finish a block display to be recentered. | |
| 573 .de XF | |
| 574 .di | |
| 575 .if \\n(dl>\\n(BD .nr BD \\n(dl | |
| 576 .if \\n(BD<\\n(.l .in (\\n(.lu-\\n(BDu)/2u | |
| 577 .nr EI \\n(.l-\\n(.i | |
| 578 .ta \\n(EIuR | |
| 579 .nf | |
| 580 .DD | |
| 581 .in \\n(OIu | |
| 582 .. | |
| 583 . | |
| 584 . | |
| 585 . \" SH - (unnumbered) section heading | |
| 586 .de SH | |
| 587 .RT | |
| 588 .nr X 1v | |
| 589 .nr Y 3v | |
| 590 .if \\n(1T .NP | |
| 591 .if \\n(1T .X "NE \\nY SH" \" should these be reversed, change Y … | |
| 592 .if \\n(1T .X "SP \\nX SH | |
| 593 .ft 3 | |
| 594 .. | |
| 595 . \" NH - numbered heading | |
| 596 .de NH | |
| 597 .RT | |
| 598 .nr X 1v | |
| 599 .nr Y 3v | |
| 600 .if \\n(1T .NP | |
| 601 .if \\n(1T .X "NE \\nY NH" \" should these be reversed, change Y … | |
| 602 .if \\n(1T .X "SP \\nX NH | |
| 603 .ft 3 | |
| 604 .nr NS \\$1 | |
| 605 .if !\\n(.$ .nr NS 1 | |
| 606 .if !\\n(NS .nr NS 1 | |
| 607 .nr H\\n(NS +1 | |
| 608 .if !\\n(NS-4 .nr H5 0 | |
| 609 .if !\\n(NS-3 .nr H4 0 | |
| 610 .if !\\n(NS-2 .nr H3 0 | |
| 611 .if !\\n(NS-1 .nr H2 0 | |
| 612 .if !\\$1 .if \\n(.$ .nr H1 1 | |
| 613 .ds SN \\n(H1. | |
| 614 .if \\n(NS-1 .as SN \\n(H2. | |
| 615 .if \\n(NS-2 .as SN \\n(H3. | |
| 616 .if \\n(NS-3 .as SN \\n(H4. | |
| 617 .if \\n(NS-4 .as SN \\n(H5. | |
| 618 \\*(SN | |
| 619 .. | |
| 620 . \" RT - reset at beginning of each PP, LP, etc. | |
| 621 .de RT | |
| 622 .if !\\n(AB .if !\\n(1T .BG | |
| 623 .ce 0 | |
| 624 .if !\\n(AB .if !\\n(KF .if !\\n(IF .if !\\n(IX .if !\\n(BE .di | |
| 625 .if \\n(QP \{\ | |
| 626 . ll +\\n(QIu | |
| 627 . in -\\n(QIu | |
| 628 . nr QP -1\} | |
| 629 .if !\\n(AB \{\ | |
| 630 . ll \\n(LLu\} | |
| 631 .if !\\n(IF .if !\\n(AB \{\ | |
| 632 . ps \\n(PS | |
| 633 . ie \\n(VS>=41 .vs \\n(VSu | |
| 634 . el .vs \\n(VSp\} | |
| 635 .ie \\n(IP \{\ | |
| 636 . in \\n(I\\n(IRu | |
| 637 . nr IP -1\} | |
| 638 .el .if !\\n(IR \{\ | |
| 639 . nr I1 \\n(PIu | |
| 640 . nr I2 0 | |
| 641 . nr I3 0 | |
| 642 . nr I4 0 | |
| 643 . nr I5 0\} | |
| 644 .if !\\n(AB .ft 1 | |
| 645 .ta 5n 10n 15n 20n 25n 30n 35n 40n 45n 50n 55n 60n 65n 70n 75n 80n | |
| 646 .fi | |
| 647 .. | |
| 648 . \" BG - begin, execute at first TL, AB, NH, SH, PP, etc. | |
| 649 .de BG \" IZ has been called, so registers have so… | |
| 650 .br | |
| 651 .if \\n(CW>0 .if \\n(LL=0 .nr LL \\n(CW+\\n(CW+\\n(GW | |
| 652 .ll \\n(LLu | |
| 653 .lt \\n(LLu | |
| 654 .po \\n(POu | |
| 655 .nr YE 1 \" ok to cause break in .EQ (earlier ones won't) | |
| 656 .ev 0 | |
| 657 .hy 14 | |
| 658 .ev | |
| 659 .ev 1 | |
| 660 .hy 14 | |
| 661 .ev | |
| 662 .ev 2 | |
| 663 .hy 14 | |
| 664 .ev | |
| 665 .nr 1T 1 | |
| 666 .X "PARM NP \\n(HM | |
| 667 .X "PARM FO \\n(FO | |
| 668 .if !\\n(%# .nr %# 1 | |
| 669 .. | |
| 670 . \" PP - paragraph | |
| 671 .de PP | |
| 672 .RT | |
| 673 .if \\n(1T .NP | |
| 674 .if \\n(1T .X "SP \\n(PD PP" | |
| 675 .if \\n(1T .X "BS 2 PP" | |
| 676 .ti +\\n(PIu | |
| 677 .. | |
| 678 . \" LP - left aligned paragraph | |
| 679 .de LP | |
| 680 .RT | |
| 681 .if \\n(1T .NP | |
| 682 .if \\n(1T .X "SP \\n(PD LP" | |
| 683 .if \\n(1T .X "BS 2 LP" | |
| 684 .. | |
| 685 . \" IP - indented paragraph | |
| 686 .de IP | |
| 687 .RT | |
| 688 .if !\\n(IP .nr IP +1 | |
| 689 .if \\n(1T .NP | |
| 690 .if \\n(1T .X "SP \\n(PD PP" | |
| 691 .if \\n(1T .X "BS 2 IP" | |
| 692 .nr IU \\n(IR+1 | |
| 693 .if \\n(.$>1 .nr I\\n(IU \\$2n+\\n(I\\n(IRu | |
| 694 .if \\n(I\\n(IU=0 .nr I\\n(IU \\n(PIu+\\n(I\\n(IRu | |
| 695 .in \\n(I\\n(IUu | |
| 696 .nr TY \\n(TZ-\\n(.i | |
| 697 .nr JQ \\n(I\\n(IU-\\n(I\\n(IR | |
| 698 .ta \\n(JQu \\n(TYuR | |
| 699 .if \\n(.$ \{\ | |
| 700 .ti \\n(I\\n(IRu | |
| 701 \&\\$1\t\c\} | |
| 702 .. | |
| 703 . \" QP - quoted paragraph (within IP) | |
| 704 .de QP | |
| 705 .RT | |
| 706 .if \\n(1T .NP | |
| 707 .if \\n(1T .X "SP \\n(PD QP" | |
| 708 .if \\n(1T .X "BS 2 QP" | |
| 709 .nr QP 1 | |
| 710 .in +\\n(QIu | |
| 711 .ll -\\n(QIu | |
| 712 .ti \\n(.iu | |
| 713 .. | |
| 714 . \" RS - prepare for double indenting | |
| 715 .de RS | |
| 716 .nr IS \\n(IP | |
| 717 .RT | |
| 718 .nr IP \\n(IS | |
| 719 .nr IU \\n(IR | |
| 720 .nr IR +1 | |
| 721 .if !\\n(I\\n(IR .nr I\\n(IR \\n(I\\n(IU+\\n(PIu | |
| 722 .in \\n(I\\n(IRu | |
| 723 .nr TY \\n(TZ-\\n(.i | |
| 724 .ta \\n(TYuR | |
| 725 .. | |
| 726 . \" RE - retreat to the left | |
| 727 .de RE | |
| 728 .nr IS \\n(IP | |
| 729 .RT | |
| 730 .nr IP \\n(IS | |
| 731 .if \\n(IR>0 .nr IR -1 | |
| 732 .in \\n(I\\n(IRu | |
| 733 .. | |
| 734 . \" B - bold font | |
| 735 .de B | |
| 736 .nr PQ \\n(.f | |
| 737 .ft 3 | |
| 738 .if \\n(.$ \&\\$1\\f\\n(PQ\\$2 | |
| 739 .. | |
| 740 . \" BI - bold italic | |
| 741 .de BI | |
| 742 .nr PQ \\n(.f | |
| 743 .ft 4 | |
| 744 .if \\n(.$ \&\\$1\\f\\n(PQ\\$2 | |
| 745 .. | |
| 746 . \" R - Roman font | |
| 747 .de R | |
| 748 .nr PQ \\n(.f | |
| 749 .ft 1 | |
| 750 .if \\n(.$ \&\\$1\f\\n(PQ\\$2 | |
| 751 .. | |
| 752 . \" I - italic font | |
| 753 .de I | |
| 754 .nr PQ \\n(.f | |
| 755 .ft 2 | |
| 756 .if \\n(.$ \&\\$1\^\f\\n(PQ\\$2 | |
| 757 .. | |
| 758 . \" CW - constant width font from -ms | |
| 759 .de CW | |
| 760 .nr PQ \\n(.f | |
| 761 .if \\n(.$=0 .ft CW | |
| 762 .if \\n(.$>0 \%\&\\$3\f(CW\\$1\\f\\n(PQ\\$2 | |
| 763 .. | |
| 764 .de IT \" ditto to italicize argument | |
| 765 .nr Sf \\n(.f | |
| 766 \%\&\\$3\f2\\$1\f\\n(Sf\&\\$2 | |
| 767 .. | |
| 768 . \" TA - tabs set in ens or chars | |
| 769 .de TA | |
| 770 .ta \\$1n \\$2n \\$3n \\$4n \\$5n \\$6n \\$7n \\$8n \\$9n | |
| 771 .. | |
| 772 . \" SM - make smaller size | |
| 773 .de SM | |
| 774 .ie \\n(.$ \&\\$3\s-2\\$1\s0\\$2 | |
| 775 .el .ps -2 | |
| 776 .. | |
| 777 . \" LG - make larger size | |
| 778 .de LG | |
| 779 .ie \\n(.$ \&\\$3\s+2\\$1\s0\\$2 | |
| 780 .el .ps +2 | |
| 781 .. | |
| 782 . \" NL - return to normal size | |
| 783 .de NL | |
| 784 .ps \\n(PS | |
| 785 .. | |
| 786 . \" FS - begin footnote | |
| 787 .de FS | |
| 788 .if \\n(IF>0 .tm .FS within .FS/.FE, line \\n(.c, file \\n(.F | |
| 789 .if \\n(KF>0 .tm .FS won't work inside .KF, line \\n(.c, file \\n(.F | |
| 790 .if \\n(KS>0 .tm .FS won't work inside .KS, line \\n(.c, file \\n(.F | |
| 791 .nr IF 1 | |
| 792 .ev 1 | |
| 793 .ps \\n(PS-2 | |
| 794 .ie \\n(VS>=41 .vs \\n(VSu-2p | |
| 795 .el .vs \\n(VSp-2p | |
| 796 .ll \\n(LLu | |
| 797 .br | |
| 798 .nr X \\n(FOu | |
| 799 .X "BF \\nX FS | |
| 800 .SP .3v | |
| 801 ....FA \" deleted by authority of cvw, 10/17/88 | |
| 802 .. | |
| 803 . \" FE - end footnote | |
| 804 .de FE | |
| 805 .if !\\n(IF .tm .FE without .FS, line \\n(.c, file \\n(.F | |
| 806 .br | |
| 807 .X "END BF FE | |
| 808 .bp | |
| 809 .ev | |
| 810 .nr IF 0 | |
| 811 .. | |
| 812 . \" FA - the line for a footnote | |
| 813 .de FA | |
| 814 \l'1i' | |
| 815 .br | |
| 816 .. | |
| 817 . \" Tm - message to be passed on | |
| 818 .de Tm | |
| 819 .ev 2 | |
| 820 .if \\n(.$=1 .X "TM \\$1 | |
| 821 .if \\n(.$=2 .X "TM \\$1 \\$2 | |
| 822 .if \\n(.$=3 .X "TM \\$1 \\$2 \\$3 | |
| 823 .if \\n(.$=4 .X "TM \\$1 \\$2 \\$3 \\$4 | |
| 824 .if \\n(.$=5 .X "TM \\$1 \\$2 \\$3 \\$4 \\$5 | |
| 825 .if \\n(.$=6 .X "TM \\$1 \\$2 \\$3 \\$4 \\$5 \\$6 | |
| 826 .if \\n(.$=7 .X "TM \\$1 \\$2 \\$3 \\$4 \\$5 \\$6 \\$7 | |
| 827 .if \\n(.$=8 .X "TM \\$1 \\$2 \\$3 \\$4 \\$5 \\$6 \\$7 \\$8 | |
| 828 .if \\n(.$=9 .X "TM \\$1 \\$2 \\$3 \\$4 \\$5 \\$6 \\$7 \\$8 \\$9 | |
| 829 .br | |
| 830 .ev | |
| 831 .. | |
| 832 .de MH | |
| 833 AT&T Bell Laboratories | |
| 834 Murray Hill, New Jersey 07974 | |
| 835 .. | |
| 836 .de HO | |
| 837 AT&T Bell Laboratories | |
| 838 Holmdel, New Jersey 07733 | |
| 839 .. | |
| 840 .de WH | |
| 841 AT&T Bell Laboratories | |
| 842 Whippany, New Jersey 07981 | |
| 843 .. | |
| 844 .de IH | |
| 845 AT&T Bell Laboratories | |
| 846 Naperville, Illinois 60540 | |
| 847 .. | |
| 848 . \" UL - underline argument, don't italicize | |
| 849 .de UL | |
| 850 \\$1\l'|0\(ul'\\$2 | |
| 851 .. | |
| 852 . \" UX - print $2 UNIX $1 | |
| 853 .de UX | |
| 854 .ie \\n(UX \\$2\s-1UNIX\s0\\$1 | |
| 855 .el \{\ | |
| 856 \\$2\s-1UNIX\\s0\\$1\(rg | |
| 857 .nr UX 1\} | |
| 858 .. | |
| 859 . \" QS - start quote | |
| 860 .de QS | |
| 861 .br | |
| 862 .LP | |
| 863 .in +\\n(QIu | |
| 864 .ll -\\n(QIu | |
| 865 .. | |
| 866 . \" QE - end quote | |
| 867 .de QE | |
| 868 .br | |
| 869 .ll +\\n(QIu | |
| 870 .in -\\n(QIu | |
| 871 .LP | |
| 872 .. | |
| 873 . \" B1 - begin boxed stuff | |
| 874 .de B1 | |
| 875 .br | |
| 876 .di BB | |
| 877 .nr BC 0 | |
| 878 .if "\\$1"C" .nr BC 1 | |
| 879 .nr BE 1 | |
| 880 .. | |
| 881 . \" B2 - end boxed stuff | |
| 882 .de B2 | |
| 883 .br | |
| 884 .nr BI 1n | |
| 885 .if \\n(.$>0 .nr BI \\$1n | |
| 886 .di | |
| 887 .nr BE 0 | |
| 888 .nr BW \\n(dl | |
| 889 .nr BH \\n(dn | |
| 890 .ne \\n(BHu+\\n(.Vu | |
| 891 .nr BQ \\n(.j | |
| 892 .nf | |
| 893 .ti 0 | |
| 894 .if \\n(BC>0 .in +(\\n(.lu-\\n(BWu)/2u | |
| 895 .in +\\n(BIu | |
| 896 .ls 1 | |
| 897 .BB | |
| 898 .ls | |
| 899 .in -\\n(BIu | |
| 900 .nr BW +2*\\n(BI | |
| 901 .sp -1 | |
| 902 \l'\\n(BWu\(ul'\L'-\\n(BHu'\l'|0\(ul'\h'|0'\L'\\n(BHu' | |
| 903 .if \\n(BC>0 .in -(\\n(.lu-\\n(BWu)/2u | |
| 904 .if \\n(BQ .fi | |
| 905 .br | |
| 906 .. | |
| 907 . \" BX - boxed stuff | |
| 908 .de BX | |
| 909 \(br\|\\$1\|\(br\l'|0\(rn'\l'|0\(ul' | |
| 910 .. | |
| 911 . | |
| 912 . \" macros for programs, etc. | |
| 913 . | |
| 914 .ig | |
| 915 programs are displayed between .P1/.P2 pairs | |
| 916 default is to indent by 1/2 inch, nofill, dP smaller | |
| 917 .P1 x causes an indent of x instead. | |
| 918 | |
| 919 .P3 can be used to specify optional page-break points | |
| 920 inside .P1/.P2 | |
| 921 .. | |
| 922 . | |
| 923 . \" P1 - start of program | |
| 924 .de P1 | |
| 925 .nr $1 \\n(P1 | |
| 926 .if \\n(.$ .nr $1 \\$1n | |
| 927 .br | |
| 928 .X "SP \\n(DV P1" | |
| 929 .X "US P1" | |
| 930 .in \\n($1u | |
| 931 .nf | |
| 932 .nr v \\n(.v | |
| 933 .ps -\\n(dP | |
| 934 .vs -\\n(dVu | |
| 935 .ft CW | |
| 936 .nr t \\n(dT*\\w'x'u | |
| 937 .ta 1u*\\ntu 2u*\\ntu 3u*\\ntu 4u*\\ntu 5u*\\ntu 6u*\\ntu 7u*\\ntu 8u*\\… | |
| 938 .. | |
| 939 . \" P2 - end of program | |
| 940 .de P2 | |
| 941 .br | |
| 942 .ps \\n(PS | |
| 943 .vs \\nvu | |
| 944 .ft 1 | |
| 945 .in | |
| 946 .X "END US P1 | |
| 947 .X "SP \\n(DV P2" | |
| 948 .fi | |
| 949 .. | |
| 950 . \" P3 - provides optional unpadded break in P1/P2 | |
| 951 .de P3 | |
| 952 .nr x \\n(DV | |
| 953 .nr DV 0 | |
| 954 .P2 | |
| 955 .P1 \\n($1u | |
| 956 .nr DV \\nx | |
| 957 .. | |
| 958 .de [ | |
| 959 [ | |
| 960 .. | |
| 961 .de ] | |
| 962 ] | |
| 963 .. | |
| 964 .IZ | |
| 965 .rm IZ | |
| 966 .so /home/anselm/plan9port/tmac/tmac.srefs |