| Commit | Line | Data |
|---|---|---|
| 92d0a6a6 JR |
1 | .\" @(#)e.tmac 2.31 (Berkeley) 5/21/88 |
| 2 | .\" Modified by James Clark for use with groff. | |
| 3 | .\" | |
| 4 | .\" Copyright (c) 1988 Regents of the University of California. | |
| 5 | .\" All rights reserved. | |
| 6 | .\" | |
| 7 | .\" Redistribution and use in source and binary forms are permitted | |
| 8 | .\" provided that this notice is preserved and that due credit is given | |
| 9 | .\" to the University of California at Berkeley. The name of the University | |
| 10 | .\" may not be used to endorse or promote products derived from this | |
| 11 | .\" software without specific prior written permission. This software | |
| 12 | .\" is provided ``as is'' without express or implied warranty. | |
| 13 | .\" %beginstrip% | |
| 14 | .\" | |
| 15 | .\"********************************************************************** | |
| 16 | .\"* * | |
| 17 | .\"* ****** - M E N R O F F / T R O F F M A C R O S ****** * | |
| 18 | .\"* * | |
| 19 | .\"* Produced for your edification and enjoyment by: * | |
| 20 | .\"* Eric Allman * | |
| 21 | .\"* Electronics Research Laboratory * | |
| 22 | .\"* U.C. Berkeley. * | |
| 23 | .\"* current address: * | |
| 24 | .\"* Britton-Lee, Inc. * | |
| 25 | .\"* 1919 Addison Street Suite 105 * | |
| 26 | .\"* Berkeley, California 94704 * | |
| 27 | .\"* * | |
| 28 | .\"* VERSION 2.31 First Release: 11 Sept 1978 * | |
| 29 | .\"* * | |
| 30 | .\"* Documentation is available. * | |
| 31 | .\"* * | |
| 32 | .\"********************************************************************** | |
| 33 | .\" | |
| 34 | .\" Code on .de commands: | |
| 35 | .\" *** a user interface macro. | |
| 36 | .\" &&& a user interface macro which is redefined | |
| 37 | .\" when used to be the real thing. | |
| 38 | .\" $$$ a macro which may be redefined by the user | |
| 39 | .\" to provide variant functions. | |
| 40 | .\" --- an internal macro. | |
| 41 | .\" | |
| 4d3e9548 JL |
42 | . |
| 43 | .do nr need_eo_h 0 | |
| 44 | .do nr need_eo_tl 0 | |
| 45 | .do nr need_tl 1 | |
| 46 | . | |
| 47 | .do mso devtag.tmac | |
| 48 | . | |
| 92d0a6a6 JR |
49 | .if !\n(.g .ig |
| 50 | .de @R \" --- initialize number register to 0, if undefined | |
| 51 | .if !r\\$1 .nr \\$1 0 | |
| 52 | .. | |
| 4d3e9548 JL |
53 | . |
| 54 | .\" --- check whether grohtml needs end of title/heading | |
| 55 | .de @html_check_need_title | |
| 56 | .do if (\\n[need_eo_tl] == 1) \ | |
| 57 | \{\ | |
| 58 | . do nr need_eo_tl 0 | |
| 59 | . do DEVTAG-EO-TL | |
| 60 | .\} | |
| 61 | .do if (\\n[need_tl] == 1) \ | |
| 62 | \{\ | |
| 63 | . do DEVTAG-TL | |
| 64 | . do nr need_tl 0 | |
| 65 | . do nr need_eo_tl 1 | |
| 66 | .\} | |
| 67 | .do if \\n[need_eo_h]>0 .do DEVTAG-EO-H | |
| 68 | .do nr need_eo_h 0 | |
| 69 | .. | |
| 70 | . | |
| 71 | .de @check_need_title | |
| 72 | .. | |
| 73 | . | |
| 74 | .ie '\*(.T'html' \ | |
| 75 | . do als check_need_title @html_check_need_title | |
| 76 | .el \ | |
| 77 | . do als check_need_title @check_need_title | |
| 78 | . | |
| 92d0a6a6 JR |
79 | .@R pf |
| 80 | .if \n(pf .nx | |
| 4d3e9548 | 81 | . |
| 92d0a6a6 JR |
82 | .if !\n(.g .ig |
| 83 | .de @S \" --- initialize string/macro to empty, if undefined | |
| 84 | .if !d\\$1 .ds \\$1 \" empty | |
| 85 | .. | |
| 4d3e9548 | 86 | . |
| 92d0a6a6 | 87 | .@R @\" \" debugging level |
| 4d3e9548 JL |
88 | . |
| 89 | . | |
| 92d0a6a6 | 90 | .\" *** INTERNAL GP MACROS *** |
| 4d3e9548 JL |
91 | . |
| 92 | . | |
| 92d0a6a6 JR |
93 | .de @C \" --- change ev's, taking info with us |
| 94 | .nr _S \\n(.s | |
| 95 | .nr _V \\n(.v | |
| 96 | .nr _F \\n(.f | |
| 97 | .nr _J \\n(.j | |
| 98 | .do ds _A \\n[.fam] | |
| 99 | .nr _I \\n(.i | |
| 100 | .ev \\$1 | |
| 101 | .ps \\n(_S | |
| 102 | .vs \\n(_Vu | |
| 103 | .ft \\n(_F | |
| 104 | .ad \\n(_J | |
| 105 | .do @fam \\*(_A | |
| 106 | 'in \\n(_Iu | |
| 107 | .xl \\n($lu | |
| 108 | .lt \\n($lu | |
| 109 | .rr _S | |
| 110 | .rr _V | |
| 111 | .rr _F | |
| 112 | .rr _I | |
| 113 | .rr _J | |
| 114 | .ls 1 | |
| 115 | 'ce 0 | |
| 116 | .. | |
| 4d3e9548 | 117 | . |
| 92d0a6a6 JR |
118 | .de @D \" --- determine display type (Indent, Left, Center) |
| 119 | .ds |p "\\$3 | |
| 120 | .nr _d 0 | |
| 121 | .if "\\$2"C" \ | |
| 122 | . nr _d 1 | |
| 123 | .if "\\$2"L" \ | |
| 124 | . nr _d 2 | |
| 125 | .if "\\$2"I" \ | |
| 126 | . nr _d 3 | |
| 127 | .if "\\$2"M" \ | |
| 128 | . nr _d 4 | |
| 4d3e9548 JL |
129 | .if !\\n(_d \ |
| 130 | \{\ | |
| 92d0a6a6 JR |
131 | . nr _d \\$1 |
| 132 | . ds |p "\\$2 | |
| 133 | .\} | |
| 4d3e9548 | 134 | . |
| 92d0a6a6 | 135 | .. |
| 4d3e9548 | 136 | . |
| 92d0a6a6 JR |
137 | .de @z \" --- end macro |
| 138 | .if \n@>1 .tm >> @z, .z=\\n(.z ?a=\\n(?a | |
| 139 | .if !"\\n(.z"" \ | |
| 140 | \{\ | |
| 141 | . tm Line \\n(c. -- Unclosed block, footnote, or other diversion (\\n(.z) | |
| 142 | . di | |
| 143 | . ex | |
| 144 | .\} | |
| 145 | .if \\n(?a \ | |
| 146 | . bp \" force out final table | |
| 147 | .ds bp | |
| 148 | .ds @b\" \" don't start another page | |
| 149 | .br | |
| 150 | .if \n@>1 .tm << @z | |
| 151 | .. | |
| 4d3e9548 JL |
152 | . |
| 153 | . | |
| 92d0a6a6 | 154 | .\" *** STANDARD HEADERS AND FOOTERS *** |
| 4d3e9548 JL |
155 | . |
| 156 | . | |
| 92d0a6a6 JR |
157 | .ie \n(.g .ds $* \\\\$* |
| 158 | .el .ds $* \\\\$1 \\\\$2 \\\\$3 \\\\$4 \\\\$5 \\\\$6 \\\\$7 \\\\$8 \\\\$9 | |
| 4d3e9548 | 159 | . |
| 92d0a6a6 JR |
160 | .de he \" *** define header |
| 161 | .ie !\\n(.$ \ | |
| 162 | \{\ | |
| 163 | . rm |4 | |
| 164 | . rm |5 | |
| 165 | .\} | |
| 166 | .el \ | |
| 167 | \{\ | |
| 168 | . ds |4 "\*($* | |
| 169 | . ds |5 "\*($* | |
| 170 | .\} | |
| 171 | .. | |
| 4d3e9548 | 172 | . |
| 92d0a6a6 JR |
173 | .de eh \" *** define even header |
| 174 | .ie !\\n(.$ \ | |
| 175 | . rm |4 | |
| 176 | .el \ | |
| 177 | . ds |4 "\*($* | |
| 178 | .. | |
| 4d3e9548 | 179 | . |
| 92d0a6a6 JR |
180 | .de oh \" *** define odd header |
| 181 | .ie !\\n(.$ \ | |
| 182 | . rm |5 | |
| 183 | .el \ | |
| 184 | . ds |5 "\*($* | |
| 185 | .. | |
| 4d3e9548 | 186 | . |
| 92d0a6a6 JR |
187 | .de fo \" *** define footer |
| 188 | .ie !\\n(.$ \ | |
| 189 | \{\ | |
| 190 | . rm |6 | |
| 191 | . rm |7 | |
| 192 | .\} | |
| 193 | .el \ | |
| 194 | \{\ | |
| 195 | . ds |6 "\*($* | |
| 196 | . ds |7 "\*($* | |
| 197 | .\} | |
| 198 | .. | |
| 4d3e9548 | 199 | . |
| 92d0a6a6 JR |
200 | .de ef \" *** define even foot |
| 201 | .ie !\\n(.$ \ | |
| 202 | . rm |6 | |
| 203 | .el \ | |
| 204 | . ds |6 "\*($* | |
| 205 | .. | |
| 4d3e9548 | 206 | . |
| 92d0a6a6 JR |
207 | .de of \" *** define odd footer |
| 208 | .ie !\\n(.$ \ | |
| 209 | . rm |7 | |
| 210 | .el \ | |
| 211 | . ds |7 "\*($* | |
| 212 | .. | |
| 4d3e9548 | 213 | . |
| 92d0a6a6 JR |
214 | .de ep \" *** end page (must always be followed by a .bp) |
| 215 | .if \\n(nl>0 \ | |
| 216 | \{\ | |
| 217 | . wh 0 | |
| 218 | . rs | |
| 219 | . @b | |
| 220 | .\} | |
| 221 | .. | |
| 4d3e9548 JL |
222 | . |
| 223 | . | |
| 92d0a6a6 | 224 | .\" *** INTERNAL HEADER AND FOOTER MACROS *** |
| 4d3e9548 JL |
225 | . |
| 226 | . | |
| 92d0a6a6 JR |
227 | .de @h \" --- header |
| 228 | .if \n@>1 .tm >> @h %=\\n% ?a=\\n(?a ?b=\\n(?b ?w=\\n(?w | |
| 229 | .if (\\n(.i+\\n(.o)>=\\n(.l \ | |
| 230 | . tm Line \\n(c. -- Offset + indent exceeds line length | |
| 231 | .\" initialize a pile of junk | |
| 232 | .nr ?h \\n(?H \" transfer "next page" to "this page" | |
| 233 | .nr ?H 0 | |
| 234 | .nr ?c \\n(?C | |
| 235 | .nr ?C 0 | |
| 236 | .rn |4 |0 | |
| 237 | .rn |5 |1 | |
| 238 | .rn |6 |2 | |
| 239 | .rn |7 |3 | |
| 240 | .nr _w 0 \" reset max footnote width | |
| 241 | .nr ?W 0 \" no wide floats this page (yet) | |
| 242 | .nr ?I 1 | |
| 243 | .\" begin actual header stuff | |
| 244 | .ev 2 | |
| 245 | .rs | |
| 246 | .if \\n(hm>0 \ | |
| 4d3e9548 JL |
247 | . if !'\*(.T'html' \ |
| 248 | . sp |\\n(hmu \" move to header position | |
| 92d0a6a6 JR |
249 | .@t $h\" \" output header title |
| 250 | .if \\n(tm<=0 \ | |
| 251 | . nr tm \n(.Vu | |
| 4d3e9548 JL |
252 | .if !'\*(.T'html' \ |
| 253 | . sp |\\n(tmu \" move to top of text | |
| 92d0a6a6 JR |
254 | .ev |
| 255 | .mk _k \" for columned output | |
| 256 | .if \\n(?n .nm 1 \" restore line numbering if n1 mode | |
| 257 | .nr $c 1 \" set first column | |
| 258 | .if \n@>4 .tm -- @h >> .ns nl=\\n(nl %=\\n% _k=\\n(_k tm=\\n(tm | |
| 259 | .ie \\n(?s \ | |
| 260 | \{\ | |
| 261 | . nr ?s 0 | |
| 262 | . rs | |
| 263 | ' @b | |
| 264 | .\} | |
| 265 | .el \ | |
| 266 | . @n\" \" begin the column | |
| 267 | .if \n@>2 .tm << @h | |
| 268 | .. | |
| 4d3e9548 | 269 | . |
| 92d0a6a6 JR |
270 | .de @n \" --- new column or page |
| 271 | .if \n@>3 .tm >> @n nl=\\n(nl %=\\n% ?f=\\n(?f ?o=\\n(?o | |
| 272 | .if \\n(bm<=0 \ | |
| 273 | . nr bm \\n(.Vu | |
| 274 | .if (\\n(_w<=\\n($l)&(\\n(?W=0) \ | |
| 275 | \{\ | |
| 276 | . nr _b (\\n(ppp*\\n($vu)/200u \" compute fudge factor (must be < 1P) | |
| 277 | . if \\n(_bu>((\\n(bmu-\\n(fmu-((\\n(tpp*\\n($vu)/100u))/2u) \ | |
| 278 | . nr _b (\\n(ppp*\\n($vu)/100u-\n(.Vu | |
| 279 | . nr _b +\\n(bmu | |
| 280 | .\} | |
| 281 | .nr _B \\n(_bu | |
| 282 | .ch @f | |
| 283 | .wh -\\n(_bu @f | |
| 284 | .nr _b +(\\n(ppp*\\n($vu)/100u \" add 1 paragraph v in case of sweep past | |
| 285 | .if \n@>2 .tm @n .p=\\n(.p bm=\\n(bm _b=\\n(_b _B=\\n(_B | |
| 286 | .nr ?f 0 \" reset footnote flag | |
| 287 | .if \\n(?o \ | |
| 288 | \{\ | |
| 289 | . (f _\" \" reprocess footnotes which run off page | |
| 290 | . nf | |
| 291 | . |o | |
| 292 | . fi | |
| 293 | . )f | |
| 294 | . rm |o | |
| 295 | .\} | |
| 296 | .nr ?o 0 | |
| 297 | .if \\n(?T \ | |
| 298 | \{\ | |
| 299 | . nr _i \\n(.i | |
| 300 | . in 0 | |
| 301 | . |h\" \" output the table header | |
| 302 | . in \\n(_iu | |
| 303 | . rr _i | |
| 304 | . mk #T \" for tbl commands | |
| 305 | . ns | |
| 306 | .\} | |
| 307 | .if (\\n(?a)&((\\n($c<2):(\\n(?w=0)) \ | |
| 308 | \{\ | |
| 309 | . nr ?a 0 \" output floating keep | |
| 310 | . @k |t | |
| 311 | . if \\n(?w \ | |
| 312 | . mk _k \" don't overstrike wide keeps | |
| 313 | . nr ?w 0 | |
| 314 | .\} | |
| 315 | .os | |
| 316 | .$H\" \" special column header macro | |
| 317 | .ns | |
| 318 | .. | |
| 4d3e9548 | 319 | . |
| 92d0a6a6 JR |
320 | .de @f \" --- footer |
| 321 | .if \n@>1 .tm >> @f %=\\n% nl=\\n(nl ?a=\\n(?a ?b=\\n(?b ?f=\\n(?f | |
| 322 | .if \n@>2 .nr VL \\n(.pu-\\n(nlu | |
| 323 | .if \n@>2 .tm @f bm=\\n(bm _B=\\n(_B _b=\\n(_b .p-nl=\\n(VL | |
| 324 | .ec | |
| 325 | .if \\n(?T \ | |
| 326 | \{\ | |
| 327 | . nr T. 1 \" for tbl commands (to output bottom line) | |
| 328 | . T# 1\" \" output the sides and bottom lines | |
| 329 | . br | |
| 330 | .\} | |
| 331 | .ev 2 | |
| 332 | .ce 0 | |
| 333 | .if \\n(?b \ | |
| 334 | \{\ | |
| 335 | . nr ?b 0 | |
| 336 | . @k |b\" \" output bottom of page tables | |
| 337 | .\} | |
| 338 | .if \\n(?f \ | |
| 339 | . @o\" \" output footnote if present | |
| 340 | .ie \\n($c<\\n($m \ | |
| 341 | . @c\" \" handle new column | |
| 342 | .el \ | |
| 343 | . @e\" \" new page | |
| 344 | .ev | |
| 345 | .if \n@>2 .tm << @f | |
| 346 | .. | |
| 4d3e9548 | 347 | . |
| 92d0a6a6 JR |
348 | .de @o \" --- output footnote |
| 349 | .nf | |
| 350 | .ls 1 | |
| 351 | .in 0 | |
| 352 | .if \n@>2 .tm @o last printed text = \\n(nl placing @r trap at -\\n(_B | |
| 353 | .wh -\\n(_Bu @r | |
| 354 | .|f | |
| 355 | .fi | |
| 356 | .if \n@>2 .tm @o triggered @r (?o) = \\n(?o | |
| 357 | .if \\n(?o \ | |
| 358 | \{\ | |
| 359 | . di \" just in case triggered @r | |
| 360 | . if \\n(dn=0 \ | |
| 361 | \{\ | |
| 362 | . rm |o | |
| 363 | . nr ?o 0 | |
| 364 | . \} | |
| 365 | . nr dn \\n(_D | |
| 366 | . rr _D | |
| 367 | .\} | |
| 368 | .rm |f | |
| 369 | .ch @r | |
| 370 | .. | |
| 4d3e9548 | 371 | . |
| 92d0a6a6 JR |
372 | .de @c \" --- new column |
| 373 | .if \n@>2 .tm >> @c %=\\n% | |
| 374 | .rs | |
| 375 | .sp |\\n(_ku | |
| 376 | .@O +\\n($lu+\\n($su | |
| 377 | .nr $c +1 | |
| 378 | .@n | |
| 379 | .. | |
| 4d3e9548 | 380 | . |
| 92d0a6a6 JR |
381 | .de @e \" --- end page |
| 382 | .if \n@>2 .tm >> @e | |
| 383 | .@O \\n(_ou | |
| 384 | .rs | |
| 385 | .sp |\\n(.pu-\\n(fmu-((\\n(tpp*\\n($vu)/100u) \" move to footer position | |
| 386 | .@t $f\" \" output footer title | |
| 387 | .nr ?h 0 | |
| 388 | .bp | |
| 389 | .. | |
| 4d3e9548 | 390 | . |
| 92d0a6a6 JR |
391 | .de @t \" --- output header or footer title |
| 392 | .if !\\n(?h \ | |
| 393 | \{\ | |
| 394 | . sz \\n(tp\" \" set header/footer type fonts, etc. | |
| 395 | . @F \\n(tf | |
| 396 | . lt \\n(_Lu \" make title span entire page | |
| 397 | . nf | |
| 398 | . \\$1 | |
| 399 | . br | |
| 400 | .\} | |
| 401 | .. | |
| 4d3e9548 | 402 | . |
| 92d0a6a6 JR |
403 | .de $h \" $$$ print header |
| 404 | .ds |z | |
| 405 | .if !\\n(?c \ | |
| 406 | \{\ | |
| 407 | . if e .ds |z "\\*(|0 | |
| 408 | . if o .ds |z "\\*(|1 | |
| 409 | .\} | |
| 410 | .if !\(ts\\*(|z\(ts\(ts \ | |
| 411 | ' tl \\*(|z | |
| 412 | .rm |z | |
| 413 | .. | |
| 4d3e9548 | 414 | . |
| 92d0a6a6 JR |
415 | .de $f \" $$$ print footer |
| 416 | .ds |z | |
| 417 | .if \\n(?c \ | |
| 418 | \{\ | |
| 419 | . if e .ds |z "\\*(|0 | |
| 420 | . if o .ds |z "\\*(|1 | |
| 421 | .\} | |
| 422 | .if \(ts\\*(|z\(ts\(ts \ | |
| 423 | \{\ | |
| 424 | . if e .ds |z "\\*(|2 | |
| 425 | . if o .ds |z "\\*(|3 | |
| 426 | .\} | |
| 427 | .if !\(ts\\*(|z\(ts\(ts \ | |
| 428 | ' tl \\*(|z | |
| 429 | .rm |z | |
| 430 | .. | |
| 4d3e9548 | 431 | . |
| 92d0a6a6 JR |
432 | .de @r \" --- reprocess overflow footnotes |
| 433 | .if \n@>3 .tm >> @r .z=\\n(.z ?f=\\n(?f ?a=\\n(?a ?b=\\n(?b _b=\\n(_b | |
| 434 | .di |o \" save overflow footnote | |
| 435 | .nr ?o 1 | |
| 436 | .nr _D \\n(dn | |
| 437 | .ns | |
| 438 | .. | |
| 4d3e9548 JL |
439 | . |
| 440 | . | |
| 92d0a6a6 | 441 | .\" *** COMMANDS WITH VARIANT DEFINITIONS *** |
| 4d3e9548 JL |
442 | . |
| 443 | . | |
| 444 | .if !'\*(.T'html' .rn bp @b \" --- begin page | |
| 445 | . | |
| 92d0a6a6 JR |
446 | .de bp \" *** begin new page (overrides columns) |
| 447 | .nr $c \\n($m \" force new page, not new column | |
| 448 | .ie \\n(nl>0 \ | |
| 449 | . @b \\$1 | |
| 450 | .el \ | |
| 451 | \{\ | |
| 452 | . if \\n(.$>0 \ | |
| 453 | . pn \\$1 | |
| 454 | . if \\n(?I \ | |
| 455 | . @h\" \" 'spring' the header trap | |
| 456 | .\} | |
| 457 | .br | |
| 458 | .wh 0 @h \" reset header | |
| 459 | .. | |
| 4d3e9548 | 460 | . |
| 92d0a6a6 JR |
461 | .rn ll xl \" *** special line length (local) |
| 462 | .de ll \" *** line length (global to environments) | |
| 463 | .xl \\$1 | |
| 464 | .lt \\$1 | |
| 465 | .nr $l \\n(.l | |
| 466 | .if (\\n($m<=1):(\\n($l>\\n(_L) \ | |
| 467 | . nr _L \\n(.l | |
| 468 | .. | |
| 4d3e9548 | 469 | . |
| 92d0a6a6 | 470 | .rn po @O \" --- local page offset |
| 4d3e9548 | 471 | . |
| 92d0a6a6 JR |
472 | .de po \" *** page offset |
| 473 | .@O \\$1 | |
| 474 | .nr _o \\n(.o | |
| 475 | .. | |
| 4d3e9548 | 476 | . |
| 92d0a6a6 JR |
477 | .\" Redefine the fam request to set the family in |
| 478 | .\" environment 2 as well as the current environment. | |
| 479 | .if !\n(.g .ig | |
| 480 | .do rn fam @fam \" --- set family in current environment | |
| 481 | .do de fam \" *** set font family in ev 2 and current ev | |
| 482 | .do @fam \\$1 | |
| 483 | .ev 2 | |
| 484 | .do @fam \\$1 | |
| 485 | .ev | |
| 486 | .. | |
| 4d3e9548 JL |
487 | . |
| 488 | . | |
| 92d0a6a6 | 489 | .\" *** MISCELLANEOUS ROFF COMMANDS *** |
| 4d3e9548 JL |
490 | . |
| 491 | . | |
| 92d0a6a6 JR |
492 | .de hx \" *** suppress headers and footers next page |
| 493 | .nr ?H 1 | |
| 494 | .. | |
| 4d3e9548 | 495 | . |
| 92d0a6a6 JR |
496 | .de ix \" *** indent, no break |
| 497 | 'in \\$1 | |
| 498 | .. | |
| 4d3e9548 | 499 | . |
| 92d0a6a6 JR |
500 | .de bl \" *** contiguous blank lines |
| 501 | .br | |
| 502 | .ne \\$1 | |
| 503 | .rs | |
| 504 | .sp \\$1 | |
| 505 | .. | |
| 4d3e9548 | 506 | . |
| 92d0a6a6 JR |
507 | .de n1 \" *** line numbering 1 |
| 508 | .nm 1 | |
| 509 | .xl -\w'0000'u | |
| 510 | .nr ?n 1 | |
| 511 | .. | |
| 4d3e9548 | 512 | . |
| 92d0a6a6 JR |
513 | .de n2 \" *** line numbering 2 |
| 514 | .nm \\$1 | |
| 515 | .ie \\n(.$ \ | |
| 516 | . xl -\w'0000'u | |
| 517 | .el \ | |
| 518 | . xl \\n($lu | |
| 519 | .. | |
| 4d3e9548 | 520 | . |
| 92d0a6a6 JR |
521 | .de pa \" *** new page |
| 522 | .bp \\$1 | |
| 523 | .. | |
| 4d3e9548 | 524 | . |
| 92d0a6a6 JR |
525 | .de ro \" *** roman page numbers |
| 526 | .af % i | |
| 527 | .. | |
| 4d3e9548 | 528 | . |
| 92d0a6a6 JR |
529 | .de ar \" *** arabic page numbers |
| 530 | .af % 1 | |
| 531 | .. | |
| 4d3e9548 | 532 | . |
| 92d0a6a6 JR |
533 | .de m1 \" *** position one space |
| 534 | .nr _0 \\n(hmu | |
| 535 | .nr hm \\$1v | |
| 536 | .nr tm +\\n(hmu-\\n(_0u | |
| 537 | .rr _0 | |
| 538 | .. | |
| 4d3e9548 | 539 | . |
| 92d0a6a6 JR |
540 | .de m2 \" *** position two space |
| 541 | .nr tm \\n(hmu+\\n(tpp+\\$1v | |
| 542 | .. | |
| 4d3e9548 | 543 | . |
| 92d0a6a6 JR |
544 | .de m3 \" *** position three space |
| 545 | .nr bm \\n(fmu+\\n(tpp+\\$1v | |
| 546 | .. | |
| 4d3e9548 | 547 | . |
| 92d0a6a6 JR |
548 | .de m4 \" *** position four space |
| 549 | .nr _0 \\n(fmu | |
| 550 | .nr fm \\$1v | |
| 551 | .nr bm +\\n(fmu-\\n(_0u | |
| 552 | .. | |
| 4d3e9548 | 553 | . |
| 92d0a6a6 JR |
554 | .de sk \" *** leave a blank page (next page) |
| 555 | .if \\n(.$>0 \ | |
| 556 | . tm Line \\n(c. -- I cannot skip multiple pages | |
| 557 | .nr ?s 1 | |
| 558 | .. | |
| 4d3e9548 JL |
559 | . |
| 560 | . | |
| 92d0a6a6 | 561 | .\" *** MISCELLANEOUS USER SUPPORT COMMANDS *** |
| 4d3e9548 JL |
562 | . |
| 563 | . | |
| 92d0a6a6 JR |
564 | .if !\n(.g .ig |
| 565 | .de re \" *** reset tabs (TROFF defines 15 stops default) | |
| 566 | .ta T 0.5i | |
| 567 | .. | |
| 4d3e9548 | 568 | . |
| 92d0a6a6 JR |
569 | .if \n(.g .ig |
| 570 | .de re | |
| 571 | .ta 0.5i +0.5i +0.5i +0.5i +0.5i +0.5i +0.5i +0.5i +0.5i +0.5i +0.5i +0.5i +0.5i +0.5i +0.5i | |
| 572 | .. | |
| 4d3e9548 | 573 | . |
| 92d0a6a6 JR |
574 | .de ba \" *** set base indent |
| 575 | .ie \\n(.$ \ | |
| 576 | . nr $i \\$1n | |
| 577 | .el \ | |
| 578 | . nr $i \\n(siu*\\n($0u | |
| 579 | .. | |
| 4d3e9548 | 580 | . |
| 92d0a6a6 JR |
581 | .de hl \" *** draw horizontal line |
| 582 | .br | |
| 4d3e9548 JL |
583 | .if '\*(.T'html' \ |
| 584 | \{\ | |
| 585 | . HR | |
| 586 | . do return | |
| 587 | .\} | |
| 92d0a6a6 JR |
588 | .ie \n(.g .do nr _I \\n[.in] |
| 589 | .el .nr _I \\n(.i | |
| 590 | \l'\\n(.lu-\\n(_Iu' | |
| 591 | .sp | |
| 592 | .. | |
| 4d3e9548 JL |
593 | . |
| 594 | . | |
| 92d0a6a6 | 595 | .\" *** PARAGRAPHING *** |
| 4d3e9548 JL |
596 | . |
| 597 | . | |
| 92d0a6a6 JR |
598 | .de pp \" *** paragraph |
| 599 | .lp \\n(piu | |
| 600 | .. | |
| 4d3e9548 | 601 | . |
| 92d0a6a6 JR |
602 | .de lp \" *** left aligned paragraph |
| 603 | .@p | |
| 604 | .if \\n(.$ \ | |
| 605 | . ti +\\$1 | |
| 606 | .nr $p 0 1 | |
| 607 | .. | |
| 4d3e9548 | 608 | . |
| 92d0a6a6 JR |
609 | .de ip \" *** indented paragraph w/ optional tag |
| 610 | .if (\\n(ii>0)&(\\n(ii<1n) \ | |
| 611 | . nr ii \\n(iin | |
| 612 | .nr _0 \\n(ii | |
| 613 | .if \\n(.$>1 \ | |
| 614 | . nr _0 \\$2n | |
| 615 | .@p \\n(_0u | |
| 616 | .nr _I \\n(.iu | |
| 617 | .in 0 | |
| 618 | .di |i | |
| 619 | \&\\$1 | |
| 620 | .br | |
| 621 | .di | |
| 622 | .in \\n(_Iu | |
| 623 | .ds |j \\*(|i\\ | |
| 4d3e9548 | 624 | .ie \\w"\\*(|j" \ |
| 92d0a6a6 JR |
625 | \{\ |
| 626 | . ti -\\n(_0u | |
| 627 | . ie \\w"\\*(|j">=\\n(_0 \ | |
| 628 | \{\ | |
| 4d3e9548 | 629 | . do DEVTAG-COL 1 |
| 92d0a6a6 | 630 | \\*(|j |
| 4d3e9548 | 631 | . do DEVTAG-COL-NEXT 2 |
| 92d0a6a6 JR |
632 | . br |
| 633 | . \} | |
| 4d3e9548 JL |
634 | . el \ |
| 635 | \{\ | |
| 636 | . do DEVTAG-COL 1 | |
| 637 | \\*(|j\h'|\\n(_0u'\c | |
| 638 | . do DEVTAG-COL 2 | |
| 639 | . \} | |
| 92d0a6a6 | 640 | .\} |
| 4d3e9548 | 641 | .el .do DEVTAG-COL 2 |
| 92d0a6a6 JR |
642 | .rr _0 |
| 643 | .rm |i |j | |
| 644 | .. | |
| 4d3e9548 | 645 | . |
| 92d0a6a6 JR |
646 | .de np \" *** numbered paragraph |
| 647 | .\" use string comparison in case user has changed format of $p | |
| 648 | .if '\\n($p'-1' \ | |
| 649 | . nr $p 0 \" reset number after .bu | |
| 650 | .nr $p +1 \" increment paragraph number | |
| 651 | .@p \w'\0(000)\0'u | |
| 652 | .ti -\w'\0(000)\0'u | |
| 653 | \0(\\n($p)\h'|\w'\0(000)\0'u'\c | |
| 654 | .. | |
| 4d3e9548 | 655 | . |
| 92d0a6a6 JR |
656 | .de bu \" *** bulleted paragraph |
| 657 | .br | |
| 658 | .\" use string comparison in case user has changed format of $p | |
| 659 | .if '\\n($p'-1' \ | |
| 660 | . ns \" don't space between .bu paragraphs | |
| 661 | .nr $p 0-1 \" mark "bulleted paragraph" mode | |
| 662 | .@p \w'\0\(bu\0'u | |
| 663 | .ti -\w'\0\(bu\0'u | |
| 664 | \0\(bu\0\c | |
| 665 | .. | |
| 4d3e9548 | 666 | . |
| 92d0a6a6 | 667 | .de @p \" --- initialize for paragraph |
| 4d3e9548 | 668 | .do check_need_title |
| 92d0a6a6 JR |
669 | .if "\\n(.z"|e" .tm Line \\n(c. -- Unmatched continued equation |
| 670 | .in \\n($iu+\\n(pou | |
| 671 | .if \\n(.$ \ | |
| 672 | . in +\\$1n | |
| 673 | .ce 0 | |
| 674 | .fi | |
| 675 | .@F \\n(pf | |
| 676 | .sz \\n(pp | |
| 677 | .sp \\n(psu | |
| 678 | .ne \\n(.Lv+\\n(.Vu | |
| 679 | .ns | |
| 680 | .. | |
| 4d3e9548 JL |
681 | . |
| 682 | . | |
| 92d0a6a6 | 683 | .\" *** SECTION HEADINGS *** |
| 4d3e9548 JL |
684 | . |
| 685 | . | |
| 92d0a6a6 JR |
686 | .de sh \" *** section heading |
| 687 | .fi | |
| 4d3e9548 | 688 | .do check_need_title |
| 92d0a6a6 JR |
689 | .if (\\n(si>0)&(\\n(si<1n) \ |
| 690 | . nr si \\n(sin | |
| 4d3e9548 | 691 | .if '\*(.T'html' .nr si 0 |
| 92d0a6a6 | 692 | .ce 0 |
| 4d3e9548 JL |
693 | .if '\*(.T'html' \ |
| 694 | \{\ | |
| 695 | . do DEVTAG-SH \\$1 | |
| 696 | . do nr need_eo_h 1 | |
| 697 | .\} | |
| 92d0a6a6 JR |
698 | .@d "\\$1" +1 \\$3 \\$4 \\$5 \\$6 \\$7 \\$8 |
| 699 | .if !"\\$2"_" \ | |
| 700 | \{\ | |
| 701 | . ds |n \&\\$2 | |
| 702 | . $p "\\*(|n" "\\*($n" \\n($0 | |
| 703 | . $0 "\\*(|n" "\\*($n" \\n($0 | |
| 704 | . rm |n | |
| 705 | .\} | |
| 706 | .nr $p 0 1 \" reset .np count | |
| 707 | .. | |
| 4d3e9548 | 708 | . |
| 92d0a6a6 JR |
709 | .de @d \" --- change section depth |
| 710 | .if !""\\$1" \ | |
| 711 | . nr $0 \\$1 | |
| 712 | .if \\n($0&(\\n(.$>1) \ | |
| 713 | . nr $\\n($0 \\$2 | |
| 714 | .ds $n \&\" | |
| 715 | .ie \\n($0>=1 \ | |
| 716 | \{\ | |
| 717 | . if '\\n($1'0' \ | |
| 718 | . nr $1 1 | |
| 719 | . if (\\n(.$>=3) .if !"\\$3"-" \ | |
| 720 | . nr $1 \\$3 | |
| 721 | . as $n \\n($1 | |
| 722 | .\} | |
| 723 | .el \ | |
| 724 | . nr $1 0 | |
| 725 | .ie \\n($0>=2 \ | |
| 726 | \{\ | |
| 727 | . if '\\n($2'0' \ | |
| 728 | . nr $2 1 | |
| 729 | . if (\\n(.$>=4) .if !"\\$4"-" \ | |
| 730 | . nr $2 \\$4 | |
| 731 | . as $n .\\n($2 | |
| 732 | .\} | |
| 733 | .el \ | |
| 734 | . nr $2 0 | |
| 735 | .ie \\n($0>=3 \ | |
| 736 | \{\ | |
| 737 | . if '\\n($3'0' \ | |
| 738 | . nr $3 1 | |
| 739 | . if (\\n(.$>=5) .if !"\\$5"-" \ | |
| 740 | . nr $3 \\$5 | |
| 741 | . as $n .\\n($3 | |
| 742 | .\} | |
| 743 | .el \ | |
| 744 | . nr $3 0 | |
| 745 | .ie \\n($0>=4 \ | |
| 746 | \{\ | |
| 747 | . if '\\n($4'0' \ | |
| 748 | . nr $4 1 | |
| 749 | . if (\\n(.$>=6) .if !"\\$6"-" \ | |
| 750 | . nr $4 \\$6 | |
| 751 | . as $n .\\n($4 | |
| 752 | .\} | |
| 753 | .el \ | |
| 754 | . nr $4 0 | |
| 755 | .ie \\n($0>=5 \ | |
| 756 | \{\ | |
| 757 | . if '\\n($5'0' \ | |
| 758 | . nr $5 1 | |
| 759 | . if (\\n(.$>=7) .if !"\\$7"-" \ | |
| 760 | . nr $5 \\$7 | |
| 761 | . as $n .\\n($5 | |
| 762 | .\} | |
| 763 | .el \ | |
| 764 | . nr $5 0 | |
| 765 | .ie \\n($0>=6 \ | |
| 766 | \{\ | |
| 767 | . if '\\n($6'0' \ | |
| 768 | . nr $6 1 | |
| 769 | . if (\\n(.$>=8) .if !"\\$8"-" \ | |
| 770 | . nr $6 \\$8 | |
| 771 | . as $n .\\n($6 | |
| 772 | .\} | |
| 773 | .el \ | |
| 774 | . nr $6 0 | |
| 775 | .. | |
| 4d3e9548 | 776 | . |
| 92d0a6a6 JR |
777 | .de sx \" *** heading up, no increment (2.1.1 -> 2.1) |
| 778 | .ce 0 | |
| 779 | .ul 0 | |
| 780 | .nr _0 \\n($0-1 | |
| 781 | .if \\n(.$ .nr _0 +1 | |
| 782 | .if \\n(.$ .nr _0 \\$1 | |
| 783 | .@d \\n(_0 | |
| 784 | .rr _0 | |
| 785 | .$p "" "" \\n($0 | |
| 786 | .nr $p 0 1 \" reset .np count | |
| 787 | .. | |
| 4d3e9548 | 788 | . |
| 92d0a6a6 JR |
789 | .de uh \" *** unnumbered section heading |
| 790 | .$p "\\$1" | |
| 791 | .$0 "\\$1" | |
| 792 | .. | |
| 4d3e9548 | 793 | . |
| 92d0a6a6 JR |
794 | .de $p \" $$$ print section heading |
| 795 | .if (\\n(si>0)&(\\n(.$>2) \ | |
| 796 | . nr $i \\$3*\\n(si | |
| 797 | .in \\n($iu | |
| 798 | .ie !"\\$1\\$2"" \ | |
| 799 | \{\ | |
| 800 | . sp \\n(ssu \" one of them is non-null | |
| 801 | . ne \\n(.Lv+\\n(.Vu+\\n(psu+((\\n(spp*\\n($vu*\\n(.Lu)/100u) | |
| 802 | . \" exdent if \\$3 > 0 | |
| 803 | . ie 0\\$3 \ | |
| 804 | . ti -(\\n(siu-\\n(sou) | |
| 805 | . el \ | |
| 806 | . ti +\\n(sou | |
| 807 | . @F \\n(sf | |
| 808 | . sz \\n(sp | |
| 809 | . if 0\\$3 \ | |
| 810 | . $\\$3 | |
| 811 | . if \w"\\$2">0 \\$2. | |
| 812 | . if \w"\\$1">0 \\$1\f1\ \ \& | |
| 813 | .\} | |
| 814 | .el \ | |
| 815 | . sp \\n(psu | |
| 816 | .@F \\n(pf | |
| 817 | .sz \\n(pp | |
| 818 | .. | |
| 4d3e9548 JL |
819 | . |
| 820 | . | |
| 92d0a6a6 | 821 | .\" *** COLUMNNED OUTPUT *** |
| 4d3e9548 JL |
822 | . |
| 823 | . | |
| 92d0a6a6 JR |
824 | .de 2c \" *** double columned output |
| 825 | .br | |
| 826 | .if \\n($m>1 \ | |
| 827 | . 1c\" \" revert to 1c if already 2c | |
| 828 | .nr $c 1 | |
| 829 | .nr $m 2 | |
| 830 | .if \\n(.$>1 \ | |
| 831 | . nr $m \\$2 | |
| 832 | .if \\n(.$>0 \ | |
| 833 | . nr $s \\$1n \" param 1: column seperation | |
| 834 | .nr $l (\\n(.l-((\\n($m-1)*\\n($s))/\\n($m | |
| 835 | .xl \\n($lu | |
| 836 | .mk _k | |
| 837 | .ns | |
| 838 | .. | |
| 4d3e9548 | 839 | . |
| 92d0a6a6 JR |
840 | .de 1c \" *** single columned output |
| 841 | .br | |
| 842 | .nr $c 1 | |
| 843 | .nr $m 1 | |
| 844 | .ll \\n(_Lu \" return to normal output | |
| 845 | .sp |\\n(.hu | |
| 846 | .@O \\n(_ou | |
| 847 | .. | |
| 4d3e9548 | 848 | . |
| 92d0a6a6 JR |
849 | .de bc \" *** begin column |
| 850 | .sp 24i | |
| 851 | .. | |
| 4d3e9548 JL |
852 | . |
| 853 | . | |
| 92d0a6a6 | 854 | .\" *** FLOATING TABLES AND NONFLOATING BLOCKS *** |
| 4d3e9548 JL |
855 | . |
| 856 | . | |
| 92d0a6a6 JR |
857 | .de (z \" *** begin floating keep |
| 858 | .if \n@>4 .tm >> (z, .z=\n(.z | |
| 859 | .@D 4 \\$1 \\$2 | |
| 860 | .@( | |
| 861 | .. | |
| 4d3e9548 | 862 | . |
| 92d0a6a6 JR |
863 | .de )z \" *** end floating keep |
| 864 | .if \n@>4 .tm >> )z, .z=\n(.z | |
| 865 | .sp \\n(zsu | |
| 866 | .@) | |
| 867 | .if \n@>4 .tm -- )z << @), .z=\n(.z | |
| 868 | .rr _0 | |
| 869 | .if !\\n(?b \ | |
| 870 | . nr dn +(\\n(ppp*\\n($vu)/200u+\\n(zsu | |
| 871 | .nr dl -\n(.H \" fudge factor necessary to make it work | |
| 872 | .ie ((\\n(dn+\n(.V)>=\\n(.t):(\\n(?a):((\\n(dl>\\n($l)&(\\n($c>1)) \ | |
| 873 | \{\ | |
| 874 | . nr ?a 1 | |
| 875 | . if (\\n(dl>\\n($l)&(\\n($m>1) \ | |
| 876 | . nr ?w 1 \" mark wider than one column (top) | |
| 877 | . ds |x |t | |
| 878 | .\} | |
| 879 | .el \ | |
| 880 | \{\ | |
| 881 | . nr ?b 1 | |
| 882 | . if (\\n(dl>\\n($l)&(\\n($m>1) \ | |
| 883 | . nr ?W 1 \" mark wider than one column (bottom) | |
| 884 | . nr _b +\\n(dnu | |
| 885 | . \" avoid moving @f back past the current position | |
| 886 | . if \\n(.p-\\n(nl-\n(.V<\\n(_b \ | |
| 887 | . nr _b \\n(.p-\\n(nl-\n(.V | |
| 888 | . ch @f -\\n(_bu | |
| 889 | . ds |x |b | |
| 890 | .\} | |
| 891 | .da \\*(|x \" copy to save macro | |
| 892 | .nf | |
| 893 | .ls 1 | |
| 894 | .nr ?k 1 | |
| 895 | .if \n@>4 .tm -- )z >> \\*(|x | |
| 896 | \!.if \\\\n(nl>(\\\\n(tm+2v) .ne \\n(dnu-\\n(zsu | |
| 897 | .|k\" \" and the body | |
| 898 | .ec | |
| 899 | .if \n@>4 .tm -- )z << \\*(|x, .z=\\n(.z | |
| 900 | .nr ?k 0 | |
| 901 | .rm |k\" \" remove the temp macro | |
| 902 | .da | |
| 903 | .in 0 | |
| 904 | .ls 1 | |
| 905 | .xl \\n($lu | |
| 906 | .ev | |
| 907 | .if \n@>4 .tm << )z, .z=\\n(.z | |
| 908 | .. | |
| 4d3e9548 | 909 | . |
| 92d0a6a6 JR |
910 | .de @k \" --- output floating keep |
| 911 | .if \n@>4 .tm >> @k, $1=\\$1, .z=\\n(.z | |
| 912 | .ev 1 | |
| 913 | .nf | |
| 914 | .ls 1 | |
| 915 | .in 0 | |
| 916 | .sp \\n(zsu | |
| 917 | .\\$1 | |
| 918 | .ec | |
| 919 | .br | |
| 920 | .rm \\$1 | |
| 921 | .ev | |
| 922 | .. | |
| 4d3e9548 | 923 | . |
| 92d0a6a6 JR |
924 | .de (t \" XXX temp ref to (z |
| 925 | .(z \\$1 \\$2 | |
| 926 | .. | |
| 4d3e9548 | 927 | . |
| 92d0a6a6 JR |
928 | .de )t \" XXX temp ref to )t |
| 929 | .)z \\$1 \\$2 | |
| 930 | .. | |
| 4d3e9548 | 931 | . |
| 92d0a6a6 JR |
932 | .de (b \" *** begin block |
| 933 | .br | |
| 934 | .@D 3 \\$1 \\$2 | |
| 935 | .sp \\n(bsu | |
| 936 | .@( | |
| 4d3e9548 | 937 | .if '\*(.T'html' .sp \\n(bsu |
| 92d0a6a6 | 938 | .. |
| 4d3e9548 | 939 | . |
| 92d0a6a6 JR |
940 | .de )b \" *** end block |
| 941 | .br | |
| 942 | .@) | |
| 943 | .if (\\n(bt=0):(\\n(.t<\\n(bt) \ | |
| 944 | . ne \\n(dnu \" make it all on one page | |
| 945 | .ls 1 | |
| 946 | .nf | |
| 947 | .|k | |
| 948 | .ec | |
| 949 | .fi | |
| 950 | .in 0 | |
| 951 | .xl \\n($lu | |
| 952 | .ev | |
| 953 | .rm |k | |
| 954 | .sp \\n(bsu+\\n(.Lv-1v | |
| 955 | .. | |
| 4d3e9548 | 956 | . |
| 92d0a6a6 JR |
957 | .de @( \" --- begin keep |
| 958 | .if !"\\n(.z"" .tm Line \\n(c. -- Invalid nested keep \\n(.z | |
| 959 | .@M | |
| 960 | .di |k | |
| 961 | \!'rs | |
| 962 | .. | |
| 4d3e9548 | 963 | . |
| 92d0a6a6 JR |
964 | .de @M \" --- set modes for display |
| 965 | .nr ?k 1 | |
| 966 | .@C 1 | |
| 967 | .@F \\n(df | |
| 968 | .if \\n($R .@V | |
| 969 | .vs \\n(.sp*\\n($Vu/100u | |
| 970 | .nf | |
| 971 | .if "\\*(|p"F" \ | |
| 972 | . fi \" set fill mode if "F" parameter | |
| 973 | .if \\n(_d=4 \ | |
| 974 | . in 0 | |
| 975 | .if \\n(_d=3 \ | |
| 976 | \{\ | |
| 977 | . in +\\n(biu | |
| 978 | . xl -\\n(biu | |
| 979 | .\} | |
| 980 | .if \\n(_d=1 \ | |
| 981 | . ce 10000 | |
| 982 | .. | |
| 4d3e9548 | 983 | . |
| 92d0a6a6 JR |
984 | .de @) \" --- end keep |
| 985 | .br | |
| 986 | .if !"\\n(.z"|k" .tm Line \\n(c. -- Close of a keep which has never been opened | |
| 987 | .nr ?k 0 | |
| 988 | .di | |
| 989 | .in 0 | |
| 990 | .ce 0 | |
| 991 | .. | |
| 4d3e9548 | 992 | . |
| 92d0a6a6 JR |
993 | .de (c \" *** begin block centered text |
| 994 | .if "\\n(.z"|c" .tm Line \\n(c. -- Nested .(c requests | |
| 995 | .di |c | |
| 996 | .. | |
| 4d3e9548 | 997 | . |
| 92d0a6a6 JR |
998 | .de )c \" *** end block centered text |
| 999 | .if !"\\n(.z"|c" .tm Line \\n(c. -- Unmatched .)c | |
| 1000 | .br \" force out final line | |
| 1001 | .di | |
| 1002 | .if \n@>4 .tm >> .)c .l=\\n(.l .i=\\n(.i $i=\\n($i dl=\\n(dl | |
| 1003 | .ev 1 | |
| 1004 | .ls 1 | |
| 1005 | .in (\\n(.lu-\\n(.iu-\\n(dlu)/2u | |
| 1006 | .if \n@>4 .tm -- .)c << .in .l=\\n(.l .i=\\n(.i dl=\\n(dl | |
| 1007 | .nf | |
| 1008 | .|c | |
| 1009 | .ec | |
| 1010 | .in | |
| 1011 | .ls | |
| 1012 | .ev | |
| 1013 | .rm |c | |
| 1014 | .. | |
| 4d3e9548 JL |
1015 | . |
| 1016 | . | |
| 92d0a6a6 | 1017 | .\" *** BLOCK QUOTES (OR WHATEVER) AND LISTS *** |
| 4d3e9548 JL |
1018 | . |
| 1019 | . | |
| 92d0a6a6 JR |
1020 | .de (q \" *** begin block quote |
| 1021 | .br | |
| 1022 | .@C 1 | |
| 1023 | .fi | |
| 1024 | .sp \\n(qsu | |
| 1025 | .in +\\n(qiu | |
| 1026 | .xl -\\n(qiu | |
| 1027 | .sz \\n(qp | |
| 1028 | .. | |
| 4d3e9548 | 1029 | . |
| 92d0a6a6 JR |
1030 | .de )q \" *** end block quote |
| 1031 | .br | |
| 1032 | .ev | |
| 1033 | .sp \\n(qsu+\\n(.Lv-1v | |
| 1034 | .nr ?k 0 | |
| 1035 | .. | |
| 4d3e9548 | 1036 | . |
| 92d0a6a6 JR |
1037 | .de (l \" *** begin list |
| 1038 | .br | |
| 1039 | .sp \\n(bsu | |
| 1040 | .@D 3 \\$1 \\$2 | |
| 1041 | .@M | |
| 4d3e9548 | 1042 | .if '\*(.T'html' .sp \\n(bsu |
| 92d0a6a6 | 1043 | .. |
| 4d3e9548 | 1044 | . |
| 92d0a6a6 JR |
1045 | .de )l \" *** end list |
| 1046 | .br | |
| 1047 | .ev | |
| 1048 | .sp \\n(bsu+\\n(.Lv-1v | |
| 1049 | .nr ?k 0 | |
| 1050 | .. | |
| 4d3e9548 JL |
1051 | . |
| 1052 | . | |
| 92d0a6a6 | 1053 | .\" *** PREPROCESSOR SUPPORT *** |
| 4d3e9548 JL |
1054 | . |
| 1055 | . | |
| 92d0a6a6 JR |
1056 | .\" |
| 1057 | .\" EQN | |
| 1058 | .\" | |
| 1059 | .de EQ \" *** equation start | |
| 4d3e9548 JL |
1060 | .do if \\n[need_eo_h]>0 .do DEVTAG-EO-H |
| 1061 | .do nr need_eo_h 0 | |
| 92d0a6a6 | 1062 | .ec |
| 4d3e9548 JL |
1063 | .if "\*(.T"html" \ |
| 1064 | \{\ | |
| 1065 | . do nr e-EQ-ll \\n(.l | |
| 1066 | . ll 1000n | |
| 1067 | .\} | |
| 1068 | .do HTML-IMAGE | |
| 92d0a6a6 JR |
1069 | .if !\\n(?e \ |
| 1070 | \{\ | |
| 1071 | . if "\\n(.z"|e" .tm Line \\n(c. -- Nested .EQ request | |
| 1072 | . @D 1 "\\$1" "\\$2" | |
| 1073 | . @C 2 | |
| 1074 | . di |e | |
| 1075 | .\} | |
| 1076 | .ls 1 | |
| 1077 | .in 0 | |
| 1078 | .nf | |
| 1079 | .. | |
| 4d3e9548 | 1080 | . |
| 92d0a6a6 JR |
1081 | .de EN \" *** equation end |
| 1082 | .br | |
| 4d3e9548 JL |
1083 | .do HTML-IMAGE-END |
| 1084 | .if "\*(.T"html" \ | |
| 1085 | . do ll \\n[e-EQ-ll]u | |
| 92d0a6a6 JR |
1086 | .ie "\\$1"C" \ |
| 1087 | \{\ | |
| 1088 | . nr ?e 1 | |
| 1089 | . sp \\n(esu | |
| 1090 | .\} | |
| 1091 | .el \ | |
| 1092 | \{\ | |
| 1093 | . nr ?e 0 | |
| 1094 | . di | |
| 1095 | . if \\n(dn \ | |
| 1096 | . @q\" \" actual equation output | |
| 1097 | . rm |e | |
| 1098 | . ev | |
| 1099 | .\} | |
| 1100 | .. | |
| 4d3e9548 | 1101 | . |
| 92d0a6a6 JR |
1102 | .de @q \" --- equation output |
| 1103 | .nr _Q \\n(dnu | |
| 1104 | .ev | |
| 1105 | .sp \\n(esu \" output rest of preceeding text | |
| 1106 | .if !"\\n(.z"" \!.ne \\n(_Qu | |
| 1107 | .ne \\n(_Qu+\n(.Vu \" keep it on one page | |
| 1108 | .@C 2\" \" .ev 2 may be jumbled from header | |
| 1109 | .if \\n(_d=1 \ | |
| 1110 | . in (\\n(.lu+\\n($iu-\\n(dlu)/2u | |
| 1111 | .if \\n(_d=2 \ | |
| 1112 | . in \\n($iu | |
| 1113 | .if \\n(_d=3 \ | |
| 1114 | . in \\n(biu+\\n($iu | |
| 1115 | .if \\n(_d=4 \ | |
| 1116 | . in 0 | |
| 1117 | .mk _q | |
| 1118 | .if \n@>1 .tm --@e: _Q=\\n(_Q _q=\\n(_q nl=\\n(nl |p=\\*(|p | |
| 1119 | .if !"\\*(|p"" \ | |
| 1120 | \{\ | |
| 1121 | . rs | |
| 1122 | . sp (\\n(_Qu-\\n(.vu)/2u | |
| 1123 | . tl """\\*(|p" | |
| 1124 | . rt \\n(_qu | |
| 1125 | .\} | |
| 1126 | .|e | |
| 1127 | .sp |\\n(_qu+\\n(_Qu | |
| 1128 | .sp \\n(esu+\\n(.Lv-1v | |
| 1129 | .rr _q | |
| 1130 | .rr _Q | |
| 1131 | .. | |
| 4d3e9548 | 1132 | . |
| 92d0a6a6 JR |
1133 | .\" |
| 1134 | .\" TBL | |
| 1135 | .\" | |
| 1136 | .de TS \" *** table start | |
| 1137 | .sp \\n(bsu | |
| 4d3e9548 JL |
1138 | .if "\*(.T"html" \ |
| 1139 | \{\ | |
| 1140 | . do nr e-TS-ll \\n(.l | |
| 1141 | . ll 1000n | |
| 1142 | .\} | |
| 1143 | .do HTML-IMAGE | |
| 92d0a6a6 JR |
1144 | .@C 1 |
| 1145 | .fi \" drop into fill mode for text boxes | |
| 1146 | .if "\\$1"H" \ | |
| 1147 | \{\ | |
| 1148 | . di |h \" save header part | |
| 1149 | . nr ?T 1 | |
| 1150 | .\} | |
| 1151 | .ls 1 | |
| 1152 | .ch @f -(\\n(_bu+1v) \" set pseudo-trap for bottom line | |
| 1153 | .if \\n(.p-\\n(_b-1v<=\\n(nl \ | |
| 1154 | . ch @f \\n(nlu+\n(.Vu | |
| 1155 | .. | |
| 4d3e9548 | 1156 | . |
| 92d0a6a6 JR |
1157 | .de TH \" *** end header part of table |
| 1158 | .nr T. 0 | |
| 1159 | .T# 0 | |
| 1160 | .di | |
| 1161 | .nr _T \\n(?T | |
| 1162 | .nr ?T 0 | |
| 1163 | .ne \\n(dnu+1v | |
| 1164 | .nr ?T \\n(_T | |
| 1165 | .nr _i \\n(.i | |
| 1166 | .in 0 | |
| 1167 | .|h\" \" put in the initial header | |
| 1168 | .in \\n(_iu | |
| 1169 | .rr _i | |
| 1170 | .mk #T | |
| 1171 | .. | |
| 4d3e9548 | 1172 | . |
| 92d0a6a6 JR |
1173 | .de TE \" *** table end |
| 1174 | .nr ?T 0 | |
| 1175 | .ch @f -\\n(_bu \" reset pseudo-trap | |
| 1176 | .if \\n(.p-\\n(_b<=\\n(nl \ | |
| 1177 | . ch @f \\n(nlu+\n(.Vu | |
| 1178 | .ev | |
| 4d3e9548 JL |
1179 | .do HTML-IMAGE-END |
| 1180 | .if "\*(.T"html" \ | |
| 1181 | . do ll \\n[e-TS-ll]u | |
| 92d0a6a6 JR |
1182 | .sp \\n(bsu+\\n(.Lv-1v |
| 1183 | .re | |
| 1184 | .. | |
| 4d3e9548 | 1185 | . |
| 92d0a6a6 JR |
1186 | .de T& |
| 1187 | .. | |
| 4d3e9548 | 1188 | . |
| 92d0a6a6 JR |
1189 | .\" |
| 1190 | .\" REFER | |
| 1191 | .\" | |
| 1192 | .de ][ \" *** refer output | |
| 1193 | .if \\$1>5 .tm Bad arg to [] | |
| 1194 | .[\\$1 | |
| 1195 | .. | |
| 4d3e9548 | 1196 | . |
| 92d0a6a6 JR |
1197 | .de [0 \" --- other |
| 1198 | .(f | |
| 1199 | .ip "\\*([F.\0" | |
| 1200 | .if !"\\*([A"" \\*([A, | |
| 1201 | .if !"\\*([T"" \\f2\\*([T\\f1\c | |
| 1202 | .if !"\\*([T"" .if !"\\*([O"" ,\ \" | |
| 1203 | .ie !"\\*([O"" \\*([O | |
| 1204 | .el .if !"\\*([T"" \&. | |
| 1205 | .if !"\\*([D"" \\*([D. | |
| 1206 | .@p | |
| 1207 | .)f | |
| 1208 | .. | |
| 4d3e9548 | 1209 | . |
| 92d0a6a6 JR |
1210 | .de [1 \" --- journal article |
| 1211 | .(f | |
| 1212 | .ip "\\*([F.\0" | |
| 1213 | \\*([A, | |
| 1214 | .if !"\\*([T"" \\*(lq\\*([T,\\*(rq | |
| 1215 | .if "\\*([V"" \\f2\\*([J\\f1, | |
| 1216 | .if !"\\*([V"" \\f2\\*([J\\f1 | |
| 1217 | .if !"\\*([V"" \\f3\\*([V\\f1\c | |
| 1218 | .if !"\\*([N"" (\\*([N)\c | |
| 1219 | .if !"\\*([P"" \ | |
| 1220 | \{\ | |
| 1221 | . ie \\n([P>0 \ pp.\& | |
| 1222 | . el \ p.\& | |
| 1223 | \\*([P | |
| 1224 | .\} | |
| 1225 | .if !"\\*([I"" .if "\\*([R"" \\*([I, | |
| 1226 | (\\*([D). | |
| 1227 | .if !"\\*([O"" \\*([O | |
| 1228 | .)f | |
| 1229 | .. | |
| 4d3e9548 | 1230 | . |
| 92d0a6a6 JR |
1231 | .de [2 \" --- book |
| 1232 | .(f | |
| 1233 | .ip "\\*([F.\0" | |
| 1234 | \\*([A, \\f2\\*([T,\\f1 | |
| 1235 | \\*([I\c | |
| 1236 | .if !"\\*([C"" , \\*([C\c | |
| 1237 | (\\*([D). | |
| 1238 | .if !"\\*([G"" Gov't. ordering no. \\*([G | |
| 1239 | .if !"\\*([O"" \\*([O | |
| 1240 | .)f | |
| 1241 | .. | |
| 4d3e9548 | 1242 | . |
| 92d0a6a6 JR |
1243 | .de [3 \" --- article in book |
| 1244 | .(f | |
| 1245 | .ip "\\*([F.\0" | |
| 1246 | \\*([A, \\*(lq\\*([T,\\*(rq | |
| 1247 | .if !"\\*([P"" pp. \\*([P | |
| 1248 | in \\f2\\*([B\\f1, \c | |
| 1249 | .if !"\\*([E"" ed. \\*([E, \c | |
| 1250 | .if !"\\*([I"" \\*([I\c | |
| 1251 | .if !"\\*([C"" , \\*([C\c | |
| 1252 | (\\*([D). | |
| 1253 | .if !"\\*([O"" \\*([O | |
| 1254 | .)f | |
| 1255 | .. | |
| 4d3e9548 | 1256 | . |
| 92d0a6a6 JR |
1257 | .de [4 \" --- report |
| 1258 | .(f | |
| 1259 | .ip "\\*([F.\0" | |
| 1260 | \\*([A, \\*(lq\\*([T,\\*(rq | |
| 1261 | \\*([R\c | |
| 1262 | .if !"\\*([G"" \& (\\*([G)\c | |
| 1263 | .if !"\\*([I"" , \\*([I\c | |
| 1264 | .if !"\\*([C"" , \\*([C\c | |
| 1265 | (\\*([D). | |
| 1266 | .if !"\\*([O"" \\*([O | |
| 1267 | .)f | |
| 1268 | .. | |
| 4d3e9548 | 1269 | . |
| 92d0a6a6 JR |
1270 | .de [5 \" --- tm style |
| 1271 | .(f | |
| 1272 | .ip "\\*([F.\0" | |
| 1273 | \\*([A, \\f2\\*([T\\f1, | |
| 1274 | .ie \\n(TN \\*([M. | |
| 1275 | .el Bell Laboratories internal memorandum (\\*([D). | |
| 1276 | .)f | |
| 1277 | .. | |
| 4d3e9548 | 1278 | . |
| 92d0a6a6 JR |
1279 | .de ]< |
| 1280 | .$p References | |
| 1281 | .lp | |
| 1282 | .rm (f )f | |
| 1283 | .. | |
| 4d3e9548 | 1284 | . |
| 92d0a6a6 JR |
1285 | .de ]> |
| 1286 | .sp | |
| 1287 | .. | |
| 4d3e9548 | 1288 | . |
| 92d0a6a6 JR |
1289 | .de ]- |
| 1290 | .rm [V [P [A [T [N [C [B [O [R [I [E [D | |
| 1291 | .. | |
| 4d3e9548 | 1292 | . |
| 92d0a6a6 JR |
1293 | .ie \n(.V<1v \ |
| 1294 | \{\ | |
| 1295 | . ds [. \s-2\v'-.4m'\f1 | |
| 1296 | . ds .] \v'.4m'\s+2\fP | |
| 1297 | .\} | |
| 1298 | .el \ | |
| 1299 | \{\ | |
| 1300 | . ds [. " [ | |
| 1301 | . ds .] ] | |
| 1302 | .\} | |
| 4d3e9548 | 1303 | . |
| 92d0a6a6 JR |
1304 | .\" |
| 1305 | .\" IDEAL | |
| 1306 | .\" | |
| 1307 | .de IS \" *** start ideal picture | |
| 1308 | .nr g7 \\n(.u | |
| 1309 | .ls 1 | |
| 1310 | .. | |
| 4d3e9548 | 1311 | . |
| 92d0a6a6 JR |
1312 | .de IF |
| 1313 | .if \\n(g7 .fi | |
| 1314 | .ls | |
| 1315 | .. | |
| 4d3e9548 | 1316 | . |
| 92d0a6a6 JR |
1317 | .de IE \" *** end ideal picture |
| 1318 | .if \\n(g7 .fi | |
| 1319 | .ls | |
| 1320 | .. | |
| 4d3e9548 | 1321 | . |
| 92d0a6a6 JR |
1322 | .\" |
| 1323 | .\" PIC | |
| 1324 | .\" | |
| 1325 | .de PS \" *** start picture: $1=height, $2=width in units or inches | |
| 1326 | .sp 0.3 | |
| 4d3e9548 | 1327 | .do HTML-IMAGE |
| 92d0a6a6 JR |
1328 | .nr g7 \\$2 |
| 1329 | .in (u;\\n(.l-\\n(g7>?0/2) | |
| 1330 | .ne \\$1u | |
| 1331 | .nr g7 \\n(.u | |
| 1332 | .ls 1 | |
| 1333 | .. | |
| 4d3e9548 | 1334 | . |
| 92d0a6a6 JR |
1335 | .de PE \" *** end picture |
| 1336 | .ls | |
| 1337 | .in | |
| 1338 | .if \\n(g7 .fi | |
| 4d3e9548 | 1339 | .do HTML-IMAGE-END |
| 92d0a6a6 JR |
1340 | .sp .6 |
| 1341 | .. | |
| 4d3e9548 | 1342 | . |
| 92d0a6a6 JR |
1343 | .\" |
| 1344 | .\" GREMLIN | |
| 1345 | .\" | |
| 1346 | .de GS \" *** start gremlin picture | |
| 4d3e9548 JL |
1347 | .ie '\*(.T'html' \ |
| 1348 | \{\ | |
| 1349 | . ie "\\$1"L" .do HTML-IMAGE-LEFT | |
| 1350 | . el .ie "\\$1"R" .do HTML-IMAGE-RIGHT | |
| 1351 | . el .do HTML-IMAGE | |
| 1352 | .\} | |
| 1353 | .el \ | |
| 1354 | \{\ | |
| 1355 | . nr g7 (\\n(.lu-\\n(g1u)/2u | |
| 1356 | . if "\\$1"L" .nr g7 \\n(.iu | |
| 1357 | . if "\\$1"R" .nr g7 \\n(.lu-\\n(g1u | |
| 1358 | . in \\n(g7u | |
| 1359 | . nr g7 \\n(.u | |
| 1360 | . ls 1 | |
| 1361 | . nf | |
| 1362 | . ne \\n(g2u | |
| 1363 | .\} | |
| 92d0a6a6 | 1364 | .. |
| 4d3e9548 | 1365 | . |
| 92d0a6a6 | 1366 | .de GE \" *** end gremlin picture |
| 4d3e9548 JL |
1367 | .ie '\*(.T'html' .do HTML-IMAGE-END |
| 1368 | .el \ | |
| 1369 | \{\ | |
| 1370 | . GF | |
| 1371 | . sp .6 | |
| 1372 | .\} | |
| 92d0a6a6 | 1373 | .. |
| 4d3e9548 | 1374 | . |
| 92d0a6a6 JR |
1375 | .de GF \" *** finish gremlin picture; stay at top |
| 1376 | .ls | |
| 1377 | .in | |
| 1378 | .if \\n(g7 .fi | |
| 1379 | .. | |
| 4d3e9548 JL |
1380 | . |
| 1381 | . | |
| 92d0a6a6 | 1382 | .\" *** FONT AIDS *** |
| 4d3e9548 JL |
1383 | . |
| 1384 | . | |
| 92d0a6a6 JR |
1385 | .de sz \" *** set point size and vertical spacing |
| 1386 | .ps \\$1 | |
| 1387 | .if \\n($r .@v | |
| 1388 | .vs \\n(.sp*\\n($vu/100u \" default vs at pointsize + 20% | |
| 1389 | .. | |
| 4d3e9548 | 1390 | . |
| 92d0a6a6 JR |
1391 | .de @v \" --- possibly set $v from $r |
| 1392 | .if (1i>=240u)&(1p<=\\n($r)&(\\n($r<=4p) .nr $v \\n($r00/1p | |
| 1393 | .. | |
| 4d3e9548 | 1394 | . |
| 92d0a6a6 JR |
1395 | .de @V \" --- possibly set $V from $R |
| 1396 | .if (1i>=240u)&(1p<=\\n($R)&(\\n($R<=4p) .nr $V \\n($R00/1p | |
| 1397 | .. | |
| 4d3e9548 | 1398 | . |
| 92d0a6a6 JR |
1399 | .de @E \" --- store in _F argument to \f for restoring font |
| 1400 | .ie \\n(.f<10 \ | |
| 1401 | . ds _F \\n(.f | |
| 1402 | .el \ | |
| 1403 | \{\ | |
| 1404 | . ie \\n(.f<100&\n(.g \ | |
| 1405 | . ds _F (\\n(.f | |
| 1406 | . el \ | |
| 1407 | . ds _F P | |
| 1408 | .\} | |
| 1409 | .. | |
| 4d3e9548 | 1410 | . |
| 92d0a6a6 | 1411 | .de r \" *** enter roman font |
| 4d3e9548 | 1412 | .do check_need_title |
| 92d0a6a6 JR |
1413 | .@E |
| 1414 | .ft 1 | |
| 1415 | .if \\n(.$ \&\\$1\f\\*(_F\\$2 | |
| 4d3e9548 | 1416 | .do check_need_title |
| 92d0a6a6 | 1417 | .. |
| 4d3e9548 | 1418 | . |
| 92d0a6a6 | 1419 | .de i \" *** enter italic |
| 4d3e9548 | 1420 | .do check_need_title |
| 92d0a6a6 JR |
1421 | .@E |
| 1422 | .ft 2 | |
| 1423 | .if \\n(.$ \&\\$1\f\\*(_F\\$2 | |
| 4d3e9548 | 1424 | .do check_need_title |
| 92d0a6a6 | 1425 | .. |
| 4d3e9548 | 1426 | . |
| 92d0a6a6 | 1427 | .de b \" *** enter boldface |
| 4d3e9548 | 1428 | .do check_need_title |
| 92d0a6a6 JR |
1429 | .@E |
| 1430 | .ft 3 | |
| 1431 | .if \\n(.$ \&\\$1\f\\*(_F\\$2 | |
| 4d3e9548 | 1432 | .do check_need_title |
| 92d0a6a6 | 1433 | .. |
| 4d3e9548 | 1434 | . |
| 92d0a6a6 | 1435 | .de rb \" *** enter real boldface |
| 4d3e9548 | 1436 | .do check_need_title |
| 92d0a6a6 JR |
1437 | .@E |
| 1438 | .ft 3 | |
| 1439 | .if \\n(.$ \&\\$1\f\\*(_F\\$2 | |
| 4d3e9548 | 1440 | .do check_need_title |
| 92d0a6a6 | 1441 | .. |
| 4d3e9548 | 1442 | . |
| 92d0a6a6 | 1443 | .de bi \" *** enter bold italic |
| 4d3e9548 | 1444 | .do check_need_title |
| 92d0a6a6 JR |
1445 | .@E |
| 1446 | .ft 4 | |
| 1447 | .if \\n(.$ \&\\$1\f\\*(_F\\$2 | |
| 4d3e9548 | 1448 | .do check_need_title |
| 92d0a6a6 | 1449 | .. |
| 4d3e9548 | 1450 | . |
| 92d0a6a6 JR |
1451 | .de u \" *** enter underlined word |
| 1452 | \&\\$1\l'|0\(ul'\\$2 | |
| 1453 | .. | |
| 4d3e9548 | 1454 | . |
| 92d0a6a6 JR |
1455 | .\" a better version of u |
| 1456 | .if !\n(.g .ig | |
| 1457 | .de u | |
| 1458 | \Z'\\$1'\v'.25m'\D'l \w'\\$1'u 0'\v'-.25m'\\$2 | |
| 1459 | .. | |
| 4d3e9548 | 1460 | . |
| 92d0a6a6 JR |
1461 | .de q \" *** enter quoted word |
| 1462 | \&\\*(lq\\$1\\*(rq\\$2 | |
| 1463 | .. | |
| 4d3e9548 | 1464 | . |
| 92d0a6a6 | 1465 | .de bx \" *** enter boxed word |
| 4d3e9548 JL |
1466 | .ie '\*(.T'html' \\$1\\$2 |
| 1467 | .el \k~\(br\|\\$1\|\(br\l'|\\n~u\(rn'\l'|\\n~u\(ul'\^\\$2 | |
| 92d0a6a6 | 1468 | .. |
| 4d3e9548 | 1469 | . |
| 92d0a6a6 JR |
1470 | .de sm \" *** print in smaller font |
| 1471 | \s-1\\$1\\s0\\$2 | |
| 1472 | .. | |
| 4d3e9548 | 1473 | . |
| 92d0a6a6 JR |
1474 | .de @F \" --- change font (0 -> no change) |
| 1475 | .nr ~ \\$1 | |
| 1476 | .if \\n~>0 \ | |
| 1477 | . ft \\n~ | |
| 1478 | .rr ~ | |
| 1479 | .. | |
| 4d3e9548 JL |
1480 | . |
| 1481 | . | |
| 92d0a6a6 | 1482 | .\" *** FOOTNOTING *** |
| 4d3e9548 JL |
1483 | . |
| 1484 | . | |
| 92d0a6a6 JR |
1485 | .de (f \" *** begin footnote |
| 1486 | .ec | |
| 1487 | .if "\\n(.z"|f" .tm Line \\n(c. -- Invalid footnote nesting | |
| 1488 | .ie "\\n(.z"" \ | |
| 1489 | \{\ | |
| 1490 | . nr _D \\n(dn | |
| 1491 | . nr _0 1v+\\n(nlu | |
| 1492 | . ev 2 | |
| 1493 | . da |f | |
| 1494 | . in 0 | |
| 1495 | . xl \\n($lu-\\n(fuu | |
| 1496 | . @F \\n(ff | |
| 1497 | . sz \\n(fp | |
| 1498 | . vs \\n(.sp*\\n($Vu/100u | |
| 1499 | . if !\\n(?f \ | |
| 1500 | \{\ | |
| 1501 | . nr _b +1v \" allow space for $s | |
| 1502 | . $s | |
| 1503 | . \} | |
| 1504 | . br | |
| 1505 | . if \\n(.p-\\n(_b-\\n(_0-\\n(.h-1v-\\n(fs<0 \ | |
| 1506 | \{\ | |
| 1507 | . da\" \" won't fit on page at all | |
| 1508 | . bc | |
| 1509 | . if !\\n(?f \ | |
| 1510 | . rm |f | |
| 1511 | . da |f | |
| 1512 | .\" next five lines could be dropped if headers had their own environment | |
| 1513 | . in 0 \" reset everything from .bc | |
| 1514 | . xl \\n($lu-\\n(fuu | |
| 1515 | . @F \\n(ff | |
| 1516 | . sz \\n(fp | |
| 1517 | . vs \\n(.sp*\\n($Vu/100u | |
| 1518 | . if !\\n(?f \ | |
| 1519 | . $s | |
| 1520 | . br | |
| 1521 | . \} | |
| 1522 | . rr _0 | |
| 1523 | . sp \\n(fsu | |
| 1524 | . nr ?f 1 | |
| 1525 | . fi | |
| 1526 | . if !"\\$1"_" \ | |
| 1527 | . ti \\n(fiu | |
| 1528 | . if \n@>2 .tm << (f $f=\\n($f | |
| 1529 | .\} | |
| 1530 | .el \ | |
| 1531 | \{\ | |
| 1532 | . ev 2 | |
| 1533 | . in 0 | |
| 1534 | . xl \\n($lu-\\n(fuu | |
| 1535 | . @F \\n(ff | |
| 1536 | . sz \\n(fp | |
| 1537 | . vs \\n(.sp*\\n($Vu/100u | |
| 1538 | . fi | |
| 1539 | \!.(f \\$1 | |
| 1540 | \!.@N | |
| 1541 | .\} | |
| 1542 | .. | |
| 4d3e9548 | 1543 | . |
| 92d0a6a6 JR |
1544 | .de @N \" --- set no fill mode in the top-level diversion |
| 1545 | .ie "\\n(.z"" .nf | |
| 1546 | .el \!.@N | |
| 1547 | .. | |
| 4d3e9548 | 1548 | . |
| 92d0a6a6 JR |
1549 | .de )f \" *** end footnote |
| 1550 | .ie "\\n(.z"|f" \ | |
| 1551 | \{\ | |
| 1552 | . if \\n* \ | |
| 1553 | . nr $f +1 | |
| 1554 | . ds * \\*{\\n($f\\*}\k* | |
| 1555 | . nr * 0 | |
| 1556 | . in 0 | |
| 1557 | . da | |
| 1558 | . ev | |
| 1559 | . if \\n(_w<\\n(dl \ | |
| 1560 | . nr _w \\n(dl \" compute maximum fn width | |
| 1561 | . nr _b +\\n(dn | |
| 1562 | . ch @f -\\n(_bu | |
| 1563 | . if \\n(.p-\\n(_b<=\\n(nl \ | |
| 1564 | . ch @f \\n(nlu+\n(.Vu | |
| 1565 | . nr dn \\n(_D | |
| 1566 | . rr _D | |
| 1567 | .\} | |
| 1568 | .el \ | |
| 1569 | \{\ | |
| 1570 | . br | |
| 1571 | \!.)f | |
| 1572 | . ev | |
| 1573 | .\} | |
| 1574 | .. | |
| 4d3e9548 | 1575 | . |
| 92d0a6a6 JR |
1576 | .@R ff |
| 1577 | .if \n(ff<=0 \ | |
| 1578 | . nr ff 1 \" footnote font: Times Roman | |
| 1579 | .@R fp | |
| 1580 | .if \n(fp<=0 \ | |
| 1581 | . nr fp 8 \" footnote pointsize | |
| 4d3e9548 | 1582 | . |
| 92d0a6a6 JR |
1583 | .de $s \" $$$ footnote separator |
| 1584 | \l'2i' | |
| 1585 | .. | |
| 4d3e9548 JL |
1586 | . |
| 1587 | . | |
| 92d0a6a6 | 1588 | .\" *** DELAYED TEXT *** |
| 4d3e9548 JL |
1589 | . |
| 1590 | . | |
| 92d0a6a6 JR |
1591 | .de (d \" *** begin delayed text |
| 1592 | .am |d )d | |
| 1593 | .sp \\n(bsu | |
| 1594 | .. | |
| 4d3e9548 | 1595 | . |
| 92d0a6a6 JR |
1596 | .de )d \" *** end delayed text |
| 1597 | .if \\n# \ | |
| 1598 | . nr $d +1 | |
| 1599 | .ds # [\\n($d]\k# | |
| 1600 | .rr # | |
| 1601 | .. | |
| 4d3e9548 | 1602 | . |
| 92d0a6a6 JR |
1603 | .de pd \" *** print delayed text |
| 1604 | .|d | |
| 1605 | .rm |d | |
| 1606 | .nr $d 1 1 | |
| 1607 | .ds # [1]\k# | |
| 1608 | .. | |
| 4d3e9548 JL |
1609 | . |
| 1610 | . | |
| 92d0a6a6 | 1611 | .\" *** INDEXES (TABLE OF CONTENTS) *** |
| 4d3e9548 JL |
1612 | . |
| 1613 | . | |
| 92d0a6a6 | 1614 | .nr _x 0 1 |
| 4d3e9548 | 1615 | .do nr _xn 0 |
| 92d0a6a6 | 1616 | .af _x a |
| 4d3e9548 | 1617 | . |
| 92d0a6a6 JR |
1618 | .de (x \" *** begin index entry |
| 1619 | .if \n@>4 .tm >> (x, .z=\\n(.z | |
| 1620 | .ds |X x | |
| 1621 | .if \\n(.$>0 \ | |
| 1622 | . ds |X \\$1 | |
| 1623 | .ie "\\n(.z"" \ | |
| 1624 | . nr _z 0 | |
| 1625 | .el \ | |
| 1626 | . nr _z 1 | |
| 1627 | .@\\n(_z | |
| 1628 | .. | |
| 4d3e9548 | 1629 | . |
| 92d0a6a6 JR |
1630 | .de @0 \" --- finish (x if no current diversion |
| 1631 | .am %\\*(|X )x | |
| 1632 | .sp \\n(xsu | |
| 1633 | .ti -\\n(piu | |
| 1634 | .. | |
| 4d3e9548 | 1635 | . |
| 92d0a6a6 JR |
1636 | .de @1 \" --- finish (x if current diversion |
| 1637 | .if "\\n(_x"z" .nr _x 0 | |
| 1638 | .de =\\n+(_x )x | |
| 1639 | .. | |
| 4d3e9548 | 1640 | . |
| 92d0a6a6 JR |
1641 | .de )x \" *** end index entry |
| 1642 | .if \n@>4 .tm >> )x, .z=\\n(.z | |
| 1643 | .ie "\\n(.z"" \ | |
| 1644 | \{\ | |
| 1645 | . ds |x \\n% | |
| 1646 | . if \\n(.$>0 \ | |
| 1647 | . ds |x \\$1 | |
| 1648 | . if "\\*(|x"_" \ | |
| 1649 | . ig .. | |
| 1650 | . am %\\*(|X .. | |
| 1651 | . if \w"\\$2">(\\n(.l-\\n(.i-\\n(.k) \ | |
| 1652 | . ti +\\n(xuu | |
| 1653 | \\\\a\\\\t\\$2\\*(|x | |
| 1654 | ... | |
| 1655 | . rm |x | |
| 1656 | . rm |X | |
| 1657 | .\} | |
| 1658 | .el \ | |
| 1659 | \{\ | |
| 1660 | \!.(x \\*(|X | |
| 1661 | \!\\\\*(=\\n(_x\\\\ | |
| 1662 | \!.)x \\$1 \\$2 | |
| 1663 | \!.rm =\\n(_x | |
| 1664 | .\} | |
| 1665 | .. | |
| 4d3e9548 | 1666 | . |
| 92d0a6a6 JR |
1667 | .de xp \" *** print the index |
| 1668 | .br | |
| 1669 | .@C 2 | |
| 1670 | .ls 1 | |
| 1671 | .vs \\n(.sp*\\n($Vu/100u | |
| 1672 | .fi | |
| 1673 | .in +\\n(piu | |
| 1674 | .ds |X x | |
| 1675 | .if \\n(.$>0 \ | |
| 1676 | . ds |X \\$1 | |
| 1677 | .xl -(\\n(xuu+\w'...'u) | |
| 1678 | .di |x | |
| 1679 | .%\\*(|X | |
| 1680 | .br | |
| 1681 | .di | |
| 1682 | .rm %\\*(|X | |
| 1683 | .xl \\n($lu | |
| 1684 | .rm |X | |
| 1685 | .ev | |
| 1686 | .nf | |
| 1687 | .in 0 | |
| 1688 | .ta \\n(.lu-\\n(xuuR \\n(.luR | |
| 1689 | .|x | |
| 1690 | .fi | |
| 1691 | .in | |
| 1692 | .rm |x | |
| 1693 | .. | |
| 4d3e9548 JL |
1694 | . |
| 1695 | . | |
| 1696 | .\" *** HTML VERSIONS OF .x(, .x), AND .xp *** | |
| 1697 | . | |
| 1698 | . | |
| 1699 | .de (x-html \" --- create TAG and divert text | |
| 1700 | .nr _x +1 | |
| 1701 | .do nr _xn +1 | |
| 1702 | .do TAG "_x\\n[_x] | |
| 1703 | .br | |
| 1704 | .do di |x\\n[_xn] | |
| 1705 | .br | |
| 1706 | .. | |
| 1707 | . | |
| 1708 | .de )x-html \" --- end diversion | |
| 1709 | .br | |
| 1710 | .di | |
| 1711 | .. | |
| 1712 | . | |
| 1713 | .de xp-html \" --- create list of links | |
| 1714 | .do nr _xx 1 | |
| 1715 | .br | |
| 1716 | .do ev xp-html-ev | |
| 1717 | .sp | |
| 1718 | .do ULS | |
| 1719 | .do while \\n[_xx]<=\\n[_xn] \ | |
| 1720 | \{\ | |
| 1721 | . br | |
| 1722 | . do unformat |x\\n[_xx] | |
| 1723 | . do di xp-html-div | |
| 1724 | . br | |
| 1725 | . ll 100i | |
| 1726 | . fi | |
| 1727 | . do |x\\n[_xx] | |
| 1728 | . br | |
| 1729 | . di | |
| 1730 | . do asciify xp-html-div | |
| 1731 | . do rm xp-html-as | |
| 1732 | . do as xp-html-as # | |
| 1733 | . do as xp-html-as _x\\n[_xx] | |
| 1734 | . ll | |
| 1735 | . LI | |
| 1736 | . do URL \\*[xp-html-as] "\\*[xp-html-div] | |
| 1737 | . do rm xp-html-as | |
| 1738 | . do nr _xx +1 | |
| 1739 | .\} | |
| 1740 | .do ULE | |
| 1741 | .sp | |
| 1742 | .ev | |
| 1743 | .. | |
| 1744 | . | |
| 1745 | .if '\*(.T'html' \ | |
| 1746 | \{\ | |
| 1747 | . rm (x | |
| 1748 | . do als (x (x-html | |
| 1749 | . rm )x | |
| 1750 | . do als )x )x-html | |
| 1751 | . rm xp | |
| 1752 | . do als xp xp-html | |
| 1753 | .\} | |
| 1754 | . | |
| 1755 | . | |
| 1756 | .\" *** CHAPTERS AND TITLES *** | |
| 1757 | . | |
| 1758 | . | |
| 1759 | .de +c \" *** begin chapter | |
| 92d0a6a6 JR |
1760 | .ep\" \" force out footnotes |
| 1761 | .if \\n(?o:\\n(?a \ | |
| 1762 | \{\ | |
| 1763 | . bp \" force out a table or more footnote | |
| 1764 | . rs | |
| 1765 | . ep | |
| 1766 | .\} | |
| 1767 | .nr ?C 1 | |
| 1768 | .nr $f 1 1 | |
| 1769 | .ds * \\*{1\\*}\k* | |
| 1770 | .if \\n(?R \ | |
| 1771 | . pn 1 | |
| 1772 | .bp | |
| 1773 | .in \\n($iu \" reset the indent | |
| 1774 | .rs | |
| 1775 | .ie \\n(.$ \ | |
| 1776 | . $c "\\$1" | |
| 1777 | .el \ | |
| 1778 | . sp 3 | |
| 1779 | .. | |
| 4d3e9548 | 1780 | . |
| 92d0a6a6 JR |
1781 | .de ++ \" *** declare chapter type |
| 1782 | .nr _0 0 | |
| 1783 | .if "\\$1"C" \ | |
| 1784 | . nr _0 1 \" chapter | |
| 1785 | .if "\\$1"RC" \ | |
| 1786 | . nr _0 11 \" renumbered chapter | |
| 1787 | .if "\\$1"A" \ | |
| 1788 | . nr _0 2 \" appendix | |
| 1789 | .if "\\$1"RA" \ | |
| 1790 | . nr _0 12 \" renumbered appendix | |
| 1791 | .if "\\$1"P" \ | |
| 1792 | . nr _0 3 \" preliminary material | |
| 1793 | .if "\\$1"B" \ | |
| 1794 | . nr _0 4 \" bibliographic material | |
| 1795 | .if "\\$1"AB" \ | |
| 1796 | . nr _0 5 \" abstract | |
| 1797 | .if \\n(_0=0 \ | |
| 1798 | . tm Line \\n(c. -- Bad mode to .++ | |
| 1799 | .nr ?R 0 | |
| 1800 | .if \\n(_0>10 \ | |
| 1801 | .\{ | |
| 1802 | . nr ?R 1 | |
| 1803 | . nr _0 -10 | |
| 1804 | .\} | |
| 1805 | .nr ch 0 1 | |
| 1806 | .if (\\n(_0=3):(\\n(_0=5) \ | |
| 1807 | . pn 1 \" must do before .ep | |
| 1808 | .if !\\n(_0=\\n(_M .if \\n(_M=3 \ | |
| 1809 | . pn 1 \" must do before .ep | |
| 1810 | .ep\" \" end page for correct page number types | |
| 1811 | .if \\n(_0=1 \ | |
| 1812 | \{\ | |
| 1813 | . af ch 1 | |
| 1814 | . af % 1 | |
| 1815 | .\} | |
| 1816 | .if \\n(_0=2 \ | |
| 1817 | \{\ | |
| 1818 | . af ch A | |
| 1819 | . af % 1 | |
| 1820 | .\} | |
| 1821 | .if \\n(_0=3 \ | |
| 1822 | . af % i | |
| 1823 | .if \\n(_0=4 \ | |
| 1824 | . af % 1 | |
| 1825 | .if \\n(_0=5 \ | |
| 1826 | . af % 1 | |
| 1827 | .if \\n(.$>1 \ | |
| 1828 | . he \\$2 | |
| 1829 | .nr _M \\n(_0 | |
| 1830 | .rr _0 | |
| 1831 | .. | |
| 4d3e9548 | 1832 | . |
| 92d0a6a6 JR |
1833 | .de $c \" $$$ print chapter title |
| 1834 | .sz 12 | |
| 1835 | .ft 3 | |
| 1836 | .ce 1000 | |
| 1837 | .if \\n(_M<3 \ | |
| 1838 | . nr ch +1 | |
| 1839 | .ie \\n(_M=1 CHAPTER\ \ \\n(ch | |
| 1840 | .el .if \\n(_M=2 APPENDIX\ \ \\n(ch | |
| 1841 | .if \w"\\$1" .sp 3-\\n(.L | |
| 1842 | .if \w"\\$1" \\$1 | |
| 1843 | .if (\\n(_M<3):(\w"\\$1") \ | |
| 1844 | . sp 4-\\n(.L | |
| 1845 | .ce 0 | |
| 1846 | .ft | |
| 1847 | .sz | |
| 1848 | .ie \\n(_M=1 \ | |
| 1849 | . $C Chapter \\n(ch "\\$1" | |
| 1850 | .el .if \\n(_M=2 \ | |
| 1851 | . $C Appendix \\n(ch "\\$1" | |
| 1852 | .. | |
| 4d3e9548 | 1853 | . |
| 92d0a6a6 JR |
1854 | .de tp \" *** title page |
| 1855 | .hx | |
| 1856 | .bp | |
| 1857 | .br | |
| 1858 | .rs | |
| 1859 | .pn \\n% | |
| 1860 | .. | |
| 4d3e9548 | 1861 | . |
| 92d0a6a6 JR |
1862 | .\" *** DATES *** |
| 1863 | .if \n(mo=1 .ds mo January | |
| 1864 | .if \n(mo=2 .ds mo February | |
| 1865 | .if \n(mo=3 .ds mo March | |
| 1866 | .if \n(mo=4 .ds mo April | |
| 1867 | .if \n(mo=5 .ds mo May | |
| 1868 | .if \n(mo=6 .ds mo June | |
| 1869 | .if \n(mo=7 .ds mo July | |
| 1870 | .if \n(mo=8 .ds mo August | |
| 1871 | .if \n(mo=9 .ds mo September | |
| 1872 | .if \n(mo=10 .ds mo October | |
| 1873 | .if \n(mo=11 .ds mo November | |
| 1874 | .if \n(mo=12 .ds mo December | |
| 1875 | .if \n(dw=1 .ds dw Sunday | |
| 1876 | .if \n(dw=2 .ds dw Monday | |
| 1877 | .if \n(dw=3 .ds dw Tuesday | |
| 1878 | .if \n(dw=4 .ds dw Wednesday | |
| 1879 | .if \n(dw=5 .ds dw Thursday | |
| 1880 | .if \n(dw=6 .ds dw Friday | |
| 1881 | .if \n(dw=7 .ds dw Saturday | |
| 1882 | .nr y2 \n(yr%100 | |
| 1883 | .af y2 00 | |
| 1884 | .nr y4 \n(yr+1900 | |
| 1885 | .ds td \*(mo \n(dy, \n(y4 | |
| 4d3e9548 JL |
1886 | . |
| 1887 | . | |
| 92d0a6a6 | 1888 | .\" *** PARAMETRIC INITIALIZATIONS *** |
| 4d3e9548 JL |
1889 | . |
| 1890 | . | |
| 92d0a6a6 JR |
1891 | .rr x |
| 1892 | .nr $v \n(.v00+\n(.sp-1/\n(.sp \" vs as percentage of ps for .sz request | |
| 1893 | .nr $V \n($v \" same for displays & footnotes | |
| 1894 | .nr hm 4v \" header margin | |
| 1895 | .nr tm 7v \" top margin | |
| 1896 | .nr bm 6v \" bottom margin | |
| 1897 | .nr fm 3v \" footer margin | |
| 1898 | .nr tf 3 \" title font: (real) Times Bold | |
| 1899 | .nr tp 10 \" title point size | |
| 1900 | .hy 14 | |
| 1901 | .nr bi 4m \" indent for blocks | |
| 1902 | .nr pi 5n \" indent for paragraphs | |
| 1903 | .nr pf 1 \" normal text font | |
| 1904 | .nr pp 10 \" normal text point size | |
| 1905 | .nr qi 4n \" indent for quotes | |
| 1906 | .nr qp -1 \" down one point | |
| 1907 | .nr ii 5n \" indent for .ip's and .np's | |
| 1908 | .nr $m 1 \" max number of columns | |
| 1909 | .nr $s 4n \" column separation | |
| 1910 | .nr sf 3 \" section font -- Times Bold | |
| 1911 | .nr sp 10 \" section title pointsize | |
| 1912 | .nr ss 12p \" section prespacing | |
| 1913 | .nr si 0 \" section indent | |
| 4d3e9548 JL |
1914 | . |
| 1915 | . | |
| 92d0a6a6 | 1916 | .\" *** OTHER INITIALIZATION *** |
| 4d3e9548 JL |
1917 | . |
| 1918 | . | |
| 92d0a6a6 JR |
1919 | .\" GNU pic sets this register to 1, to indicate that \x should not be used. |
| 1920 | .@R 0x | |
| 1921 | .ds { \v'-0.4m'\x'\\n(0x=0*-0.2m'\s-3 | |
| 1922 | .ds } \s0\v'0.4m' | |
| 1923 | .\" for compatibility with traditional -me | |
| 1924 | .\" (the first will work only in compatibility mode) | |
| 1925 | .ds [ \*{ | |
| 1926 | .ds ] \*} | |
| 1927 | .ds < \v'0.4m'\x'\\n(0x=0*0.2m'\s-3 | |
| 1928 | .ds > \s0\v'-0.4m' | |
| 1929 | .ds - \(em | |
| 1930 | .\" Avoid warnings from groff -ww. | |
| 1931 | .@S |0 | |
| 1932 | .@S |1 | |
| 1933 | .@S |2 | |
| 1934 | .@S |3 | |
| 1935 | .@S $H | |
| 1936 | .@S $0 | |
| 1937 | .@S $1 | |
| 1938 | .@S $2 | |
| 1939 | .@S $3 | |
| 1940 | .@S $4 | |
| 1941 | .@S $5 | |
| 1942 | .@S $6 | |
| 1943 | .@S $7 | |
| 1944 | .@S $8 | |
| 1945 | .@S $9 | |
| 1946 | .@S .. | |
| 4d3e9548 | 1947 | . |
| 92d0a6a6 JR |
1948 | .@R po\" \" simulated page offset |
| 1949 | .@R $0\" \" section depth | |
| 1950 | .@R $i\" \" paragraph base indent | |
| 1951 | .@R $p\" \" numbered paragraph number | |
| 1952 | .@R $r\" \" ratio of vs to ps (may override $v) | |
| 1953 | .@R $R\" \" same for displays (may override $V) | |
| 1954 | .@R df\" \" display font: same as surrounding text | |
| 1955 | .@R so\" \" additional section title offset | |
| 1956 | .@R fu\" \" footnote undent | |
| 1957 | .@R bt\" \" block keep threshold | |
| 1958 | .@R *\" \" has \** been referenced? | |
| 1959 | .@R ?a\" \" pending floating keep at page top? | |
| 1960 | .@R ?b\" \" pending floating keep at page bottom? | |
| 1961 | .@R ?C\" \" at chapter header? | |
| 1962 | .@R ?e\" \" in equation? | |
| 1963 | .@R ?H\" \" suppress headers and footers next page? | |
| 1964 | .@R ?I\" \" has the header trap been sprung? | |
| 1965 | .@R ?n\" \" n1 mode? | |
| 1966 | .@R ?o\" \" footnote overflow? | |
| 1967 | .@R ?R\" \" renumbered chapter? | |
| 1968 | .@R ?s\" \" skip next page? | |
| 1969 | .@R ?T\" \" inside .TS H? | |
| 1970 | .@R ?W\" \" wide floating keep at page bottom? | |
| 1971 | .@R ?w\" \" wide floating keep at page top? | |
| 4d3e9548 | 1972 | . |
| 92d0a6a6 JR |
1973 | .nr fi 0.3i |
| 1974 | .nr _o \n(.o | |
| 1975 | .nr $b 3 \" bold | |
| 1976 | .nr ps 0.35v | |
| 1977 | .if \n(ps<\n(.V .nr ps \n(.V | |
| 1978 | .nr bs \n(ps \" block pre/post spacing | |
| 1979 | .nr qs \n(ps \" quote pre/post spacing | |
| 1980 | .nr zs 1v \" float-block pre/postspacing | |
| 1981 | .nr xs 0.2v \" index prespacing | |
| 1982 | .nr xu 0.5i \" index undent | |
| 1983 | .nr fs 0.2v \" footnote prespacing | |
| 1984 | .nr es 0.5v \" equation pre/postspacing | |
| 1985 | .if \n(es<\n(.V .nr es \n(.V | |
| 1986 | .wh 0 @h \" set header | |
| 1987 | .nr $l \n(.lu \" line length | |
| 1988 | .nr _L \n(.lu \" line length of page | |
| 1989 | .nr $c 1 \" current column number | |
| 1990 | .nr $f 1 1 \" footnote number | |
| 1991 | .ds * \*{1\*}\k*\" \" footnote "name" | |
| 1992 | .nr $d 1 1 \" delayed text number | |
| 1993 | .ds # [1]\k#\" \" delayed text "name" | |
| 1994 | .nr _M 1 \" chapter mode is chapter | |
| 1995 | .ds lq \(lq\" \" left quote | |
| 1996 | .ds rq \(rq\" \" right quote | |
| 1997 | .em @z | |
| 4d3e9548 JL |
1998 | . |
| 1999 | . | |
| 92d0a6a6 | 2000 | .\" *** FOREIGN LETTERS AND SPECIAL CHARACTERS *** |
| 4d3e9548 JL |
2001 | . |
| 2002 | . | |
| 92d0a6a6 JR |
2003 | .ds #h ((1u-(\\\\n(.fu%2u))*0.13m) |
| 2004 | .ds #v 0.6m | |
| 4d3e9548 | 2005 | . |
| 92d0a6a6 JR |
2006 | .\" \" accents |
| 2007 | .ds ' \k_\h'-(\\n(.wu*8/10-\*(#h)'\(aa\h'|\\n_u' | |
| 2008 | .ds ` \k_\h'-(\\n(.wu*7/10-\*(#h)'\(ga\h'|\\n_u' | |
| 4d3e9548 | 2009 | . |
| 92d0a6a6 JR |
2010 | .\" \" umlaut |
| 2011 | .ds : \k_\h'-(\\n(.wu*8/10-\*(#h+0.1m)'\v'-\*(#v'\z.\h'0.2m'.\h'|\\n_u'\v'\*(#v' | |
| 4d3e9548 | 2012 | . |
| 92d0a6a6 JR |
2013 | .\" \" circumflex and tilde |
| 2014 | .ds ^ \k_\h'-(\\n(.wu-\*(#h-0.05m)'^\h'|\\n_u' | |
| 2015 | .ds ~ \k_\h'-(\\n(.wu-\*(#h-0.05m)'~\h'|\\n_u' | |
| 4d3e9548 | 2016 | . |
| 92d0a6a6 JR |
2017 | .\" \" cedilla and czech |
| 2018 | .ds , \k_\h'-(\\n(.wu)',\h'|\\n_u' | |
| 2019 | .ds v \k_\h'-(\\n(.wu*9/10-\*(#h)'\v'-\*(#v'\s-4v\s0\v'\*(#v'\h'|\\n_u' | |
| 4d3e9548 | 2020 | . |
| 92d0a6a6 JR |
2021 | .\" \" Norwegian A or angstrom |
| 2022 | .ds o \k_\h'-(\\n(.wu+\w'\(de'u-\*(#h)/2u'\v'-0.4n'\z\(de\v'0.4n'\h'|\\n_u' | |
| 4d3e9548 | 2023 | . |
| 92d0a6a6 JR |
2024 | .\" \" there exists, for all |
| 2025 | .ds qe \s-2\v'0.45m'\z\(em\v'-0.625m'\z\(em\v'-0.625m'\(em\v'0.8m'\s0\h'-0.1m'\v'-0.05m'\(br\v'0.05m'\h'0.1m' | |
| 2026 | .ds qa \z\e\h'0.35m'\z\(sl\h'-0.33m'\v'-0.3m'\s-4\(em\s0\v'0.3m'\h'0.15m' | |
| 2027 | .rm #h #v | |
| 2028 | .ll 6.0i | |
| 2029 | .lt 6.0i | |
| 4d3e9548 | 2030 | . |
| 92d0a6a6 JR |
2031 | .de @U |
| 2032 | .tm The \\$1 macro has been removed from this version of the -me macros. | |
| 2033 | .. | |
| 4d3e9548 | 2034 | . |
| 92d0a6a6 JR |
2035 | .de lo |
| 2036 | .@U lo | |
| 2037 | .. | |
| 4d3e9548 | 2038 | . |
| 92d0a6a6 JR |
2039 | .de th |
| 2040 | .@U th | |
| 2041 | .. | |
| 4d3e9548 | 2042 | . |
| 92d0a6a6 JR |
2043 | .de ac |
| 2044 | .@U ac | |
| 2045 | .. | |
| 4d3e9548 JL |
2046 | . |
| 2047 | .\" EOF |