|
|
1.1 root 1: |attribute(page.offset; init 0;
2: $ [
3: .po$
4: .nrO \n(.o
5: .nrO0 \n(.o
6: ])
7: |attribute(line.length; init 6i;
8: $ [
9: .ll$
10: .lt$
11: .nrW \n(.lu
12: ])
13: |attribute(page.length; init 11i;
14: $ [
15: .pl$
16: ])
17: |attribute(spacing; init off;
18: on [
19: .rs
20: ] off [
21: .ns
22: ])
23: |attribute(new.page; nostack;
24: [
25: .bp
26: ] odd [
27: .bp
28: .af;P \gP
29: .afP 1
30: .nr;P \nP
31: .afP \g(;P
32: .af;P 1
33: .if!\n(;P%2 \{\
34: .rs
35: .bp\}
36: .rr;P
37: ] even [
38: .bp
39: .af;P \gP
40: .afP 1
41: .nr;P \nP
42: .afP \g(;P
43: .af;P 1
44: .if\n(;P%2 \{\
45: .rs
46: .bp\}
47: .rr;P
48: ])
49: |attribute(line.spacing; stack, init 1;
50: $ [
51: .ls$
52: ])
53: |attribute(blank.lines; nostack;
54: $ [
55: .sp$
56: .ti\n(.iu
57: ] [
58: .sp1
59: .ti\n(.iu
60: ])
61: |attribute(minimum.lines; nostack;
62: $ [
63: .br
64: .ie!'\n(.z'' \{\
65: .if!'\n(.z'\*(}D' .rr :D :E
66: .nr;4 $v
67: .if!(\n(.d=\n(:D) .nr :E 0
68: .nr;4 -\n(:Eu
69: .if\n(;4 \{\
70: .sp\n(;4u
71: .nr:E +\n(;4u \}
72: .rm;4
73: .ds}D \n(.z
74: .nr:D \n(.d \}
75: .el\{\
76: .rr:D :E
77: .nr;4 $v
78: .if!(\n(nl=\n(:N) .nr :B 0
79: .nr;4 -\n(:Bu
80: .if\n(;4 \{\
81: .sp\n(;4u
82: .nr:B +\n(;4u \}
83: .rm;4
84: .nr:N \n(nl \}
85: .ti\n(.iu
86: ] [
87: .br
88: .ie!'\n(.z'' \{\
89: .if!'\n(.z'\*(}D' .rr :D :E
90: .nr;4 1v
91: .if!(\n(.d=\n(:D) .nr :E 0
92: .nr;4 -\n(:Eu
93: .if\n(;4 \{\
94: .sp\n(;4u
95: .nr:E +\n(;4u \}
96: .rm;4
97: .ds}D \n(.z
98: .nr:D \n(.d \}
99: .el\{\
100: .rr:D :E
101: .nr;4 1v
102: .if!(\n(nl=\n(:N) .nr :B 0
103: .nr;4 -\n(:Bu
104: .if\n(;4 \{\
105: .sp\n(;4u
106: .nr:B +\n(;4u \}
107: .rm;4
108: .nr:N \n(nl \}
109: .ti\n(.iu
110: ])
111: |attribute(horizontal.motion; nostack;
112: $ [\h'$']
113: number $$. [\h'\n$$.']
114: number $number.register [\h'\n($number.register'])
115: |attribute(vertical.motion; nostack;
116: $ [\v'$']
117: number $$. [\v'\n$$.']
118: number $number.register [\v'\n($number.register'])
119: |attribute(concatenate; nostack;
120: [\&\c
121: ])
122: |attribute(new.line; nostack;
123: [
124: .br
125: ])
126: |attribute(indent; stack, default 0;
127: $ [
128: .in$
129: ])
130: |attribute(indent.line; nostack;
131: $ [
132: .ti$
133: ]
134: number $$. [
135: .ti\n$$.u
136: ]
137: number $number.register [
138: .ti\n($number.registeru
139: ])
140: |attribute(fill; stack, init on;
141: on [
142: 'fi
143: ] off [
144: 'nf
145: ])
146: |attribute(adjust; stack, init both;
147: right [
148: .adr
149: ] left [
150: .adl
151: ] both [
152: .adb
153: ] on [
154: .ad
155: ] off [
156: .na
157: ])
158: |attribute(title; nostack;
159: $left $center $right [
160: .tl\(ts$left\(ts$center\(ts$right\(ts
161: ] $$. [
162: .tl\*$$.
163: ] $$.. [
164: .tl\*($$..
165: ] $ [
166: .tl$
167: ])
168: |attribute(center; stack, default off;
169: on [
170: .ce9999
171: ] off [
172: .ce0
173: ])
174: |attribute(center.block; stack, default off;
175: on [
176: .nr:Y 0
177: .br
178: .di:1
179: ] off [
180: .br
181: .di
182: .nr;q \n(.u
183: .nf
184: .nr;L \n(.L
185: .ls1
186: .nr;i \n(.i
187: .if\n(dl>\n(:Y .nr :Y \n(dl
188: .if\n(:Y<\n(.l .in (\n(.lu-\n(:Yu)/2u
189: .:1
190: .if\n(;q .fi
191: .ls\n(;L
192: .in\n(;iu
193: .rr;L ;i ;q
194: .rm:1
195: ])
196: |attribute(text; nostack;
197: $ [$]
198: roman $ [\f1\&$\fP\&]
199: italics $ [\f2\&$\fP\&]
200: bold $ [\f3\&$\fP\&]
201: bolditalics $ [\f4\&$\fP\&]
202: cw $ [\f(CW\&$\fP\&])
203: |attribute(error; nostack;
204: number $* $$. [
205: .tm"__FILE__":__LINE__: $* \n$$.
206: ] number $* $number.register [
207: .tm"__FILE__":__LINE__: $* \n($number.register
208: ] string $* $$. [
209: .tm"__FILE__":__LINE__: $* \n$$.
210: ] string $* $string.register [
211: .tm"__FILE__":__LINE__: $* \n($string.register
212: ] $* [
213: .tm"__FILE__":__LINE__: $*
214: ])
215: |attribute(here; stack, default off;
216: on [
217: .if\n(:y .tm "__FILE__":__LINE__: Here's and/or Around's can not be nested
218: .nr:y 1
219: .br
220: .di:0
221: ] off [
222: .br
223: .di
224: .nr:d 1
225: .if(\n(dn>=\n(.t)&((\n(dn<(\n(.p-\n(:r-\n(:m)):\
226: (\n(nl>(\n(.p-\n(:r-\n(:o/2u+\n(:r)))\
227: .ne\n(.tu+1v
228: .nr;q \n(.u
229: .nf
230: .nr;L \n(.L
231: .ls1
232: .nr;i \n(.i
233: .in0
234: .rs
235: .:0
236: .nr:d 0
237: .if\n(;q .fi
238: .ls\n(;L
239: .in\n(;iu
240: .nr:y 0
241: .rr;L ;i ;q
242: .rm:0
243: ])
244: |attribute(around; stack, default off;
245: on [
246: .if\n(:y .tm "__FILE__":__LINE__: Here's and/or Around's can not be nested
247: .nr:y 1
248: .nr;s \n(.s
249: .nr;f \n(.f
250: .nr;u \n(.u
251: .nr;j \n(.j
252: .nr;v \n(.v
253: .nr;L \n(.L
254: .nr;l \n(.l
255: .nr;i \n(.i
256: .ev1
257: .ps\n(;s
258: .vs\n(;sp+2p
259: .ft\n(;f
260: .nf
261: .if\n(;u .fi
262: .ad\n(;j
263: .vs\n(;vu
264: .ls\n(;L
265: .ll\n(;lu
266: .in\n(;iu
267: .ti\n(;iu
268: .hy14
269: .lt\n(;lu
270: |ifvalue around_width full [
271: .if\n(:C \{\
272: .ll\n(W0u
273: .lt\n(W0u \}
274: ]
275: .di:0
276: ] off [
277: .br
278: .di
279: |ifvalue around_width full [
280: .if\n(:C \{\
281: .ll\nWu
282: .lt\nWu \}
283: ]
284: .ev
285: .nr:z \n(:z%26+1
286: .if\n(:z-\n(:w=0 .tm "__FILE__":__LINE__: too many floating displays
287: .af;w a
288: .nr;w \n(:z
289: .rn:0 ?\n(;w
290: .nr!\n(;w 0
291: |ifvalue around_width full [
292: .nr!\n(;w 1
293: ]
294: |ifnotvalue around_width full [
295: .if!\n(:C .nr !\n(;w 1
296: ]
297: .nr|\n(;w \n(dn
298: .if(((\n(:z-\n(:w=1):(\n(:z+26-\n(:w=1))&((\n(!\n(;w=1)&(\n(:C<2))&\
299: ((\n(dn<\n(.t):((\n(dn>(\n(.p-\n(:r-\n(:m))&\
300: (\n(nl<=(\n(.p-\n(:r-\n(:o/2u+\n(:r))))) .)z
301: .nr:y 0
302: .rr;L ;f ;i ;j ;l ;s ;u ;v ;w
303: ])
304: |attribute(around_placement; nostack;
305: [
306: .)w
307: ])
308: |attribute(footnote; stack, default off;
309: on [
310: .if\n(:x .tm "__FILE__":__LINE__: Footnotes can not be nested
311: .nr:x 1
312: .nr;s \n(.s
313: .nr;f \n(.f
314: .nr;u \n(.u
315: .nr;j \n(.j
316: .nr;v \n(.v
317: .nr;L \n(.L
318: .nr;l \n(.l
319: .ev1
320: .ps\n(;s
321: .vs\n(;sp+2p
322: .ft\n(;f
323: .nf
324: .if\n(;u .fi
325: .ad\n(;j
326: .vs\n(;vu
327: .ls\n(;L
328: .ll\n(;lu
329: .in0
330: .ti0
331: .hy14
332: .lt\n(;lu
333: |ifvalue footnote_width full [
334: .if\n(:C \{\
335: .ll\n(W0u
336: .lt\n(W0u \}
337: ]
338: .da:F
339: .ie!\n(:q \{\
340: .nr;o \n(.o
341: .po0
342: .ps10
343: .vs12p
344: .ft1
345: .ie\n(.A=0 \l'72p'
346: .el __________
347: .ft
348: .vs
349: .ps
350: .po\n(;ou \}
351: .el.sp 1
352: ] off [
353: .br
354: .da
355: |ifvalue footnote_width full [
356: .if\n(:C \{\
357: .ll\nWu
358: .lt\nWu \}
359: .nr:v 1
360: ]
361: |ifnotvalue footnote_width full [
362: .if!\n(:C .nr :v 1
363: ]
364: .ev
365: .nr:x 0
366: .if!\n(:o-\n(:m \{\
367: .nr:o +\n(:Vu-1u
368: .nrdn +\n(:V-\n(.v \}
369: .nr:q +\n(dnu
370: .nr:o +\n(dnu
371: .if!\n(.pu-\n(nlu-.5p-\n(:ou .nr :o \n(.pu-\n(nlu-.5p
372: .if!\n(:ou-\n(:mu .nr :o \n(:mu
373: .if\n(:C>1&\n(:v .nr :o \n(:mu
374: .ch)f -\n(:ou
375: .rr;L ;f ;j ;l ;o ;s ;u ;v
376: ])
377: |attribute(size; stack, default 10;
378: $ [|ifvalue inline on [\s$\&]|ifvalue inline off [
379: .ps$
380: ]])
381: |attribute(space; stack, init 12;
382: $ [
383: .vs$
384: ])
385: |attribute(SPACE; nostack;
386: [
387: .vs\n(.sp+2p
388: ])
389: |attribute(font; stack, default roman;
390: roman [|ifvalue inline on [\&\f1\&]|ifvalue inline off [
391: .ft1
392: ]] italics [|ifvalue inline on [\&\f2\&]|ifvalue inline off [
393: .ft2
394: ]] bold [|ifvalue inline on [\&\f3\&]|ifvalue inline off [
395: .ft3
396: ]] bolditalics [|ifvalue inline on [\&\f4\&]|ifvalue inline off [
397: .ft4
398: ]] cw [|ifvalue inline on [\&\f(CW\&]|ifvalue inline off [
399: .ftCW
400: ]])
401: |attribute(font.family; stack, default times;
402: times [
403: .fp1 R
404: .fp2 I
405: .fp3 B
406: .fp4 BI
407: ] palatino [
408: .fp1 PA
409: .fp2 PI
410: .fp3 PB
411: .fp4 PX
412: ] bembo [
413: .fp1 B1
414: .fp2 B2
415: .fp3 B3
416: .fp4 B4
417: ] optima [
418: .fp1 O1
419: .fp2 O2
420: .fp3 O3
421: .fp4 O4
422: ] souvenir [
423: .fp1 SV
424: .fp2 SI
425: .fp3 SB
426: .fp4 SX
427: ] helvetica [
428: .fp1 H
429: .fp2 HI
430: .fp3 HB
431: .fp4 HX
432: ] cw [
433: .fp1 CW
434: .fp2 I
435: .fp3 B
436: .fp4 BI
437: ] gothic [
438: .fp1 C
439: .fp2 CX
440: .fp3 TB
441: .fp4 TX
442: ] condensed [
443: .fp1 Hcond
444: .fp2 HcondI
445: .fp3 HcondB
446: .fp4 HlightI
447: ] narrow [
448: .fp1 Hr
449: .fp2 Hi
450: .fp3 Hb
451: .fp4 Hx
452: ])
453: |attribute(if; nostack;
454: $test [
455: .if$test \
456: ] begin $test [
457: .if$test \{\
458: ] end [\}\c
459: ] else $test [
460: .ie$test \
461: ] else begin $test [
462: .ie$test \{\
463: ] else [
464: .el\
465: ] else begin [
466: .el\{\
467: ])
468: |attribute(tab; nostack;
469: [\& ])
470: |attribute(leader; nostack;
471: [\&&])
472: |attribute(thick.line; nostack;
473: $ [
474: .ps24
475: \l'$'
476: .ps
477: ] [
478: .ps24
479: \l'\n(.lu'
480: .ps
481: ])
482: |attribute(line; nostack;
483: $ [\l'$']
484: [\l'\n(.lu'])
485: |attribute(box; nostack;
486: x [\s12\o'\(mu\(sq'\s0]
487: empty [\s12\(sq\s0]
488: [\(sq])
489: |attribute(underline; stack, default off;
490: on [\kx]
491: off [\l'|\nxu\(ul'])
492: |attribute(hyphenate; stack, init on;
493: on [
494: .hy14
495: ] off [
496: .nh
497: ])
498: |attribute(case; stack, init any;
499: upper [
500: ] lower [
501: ] capitalize [
502: ] any [
503: ])
504: |attribute(tab.stops; nostack;
505: $* [
506: .ta$*
507: ] [
508: .ta.5i 1.0i 1.5i 2.0i 2.5i 3.0i 3.5i 4.0i 4.5i 5.0i 5.5i 6.0i 6.5i 7.0i 7.5i
509: ])
510: |attribute(set; nostack;
511: $* $number [
512: |for i in $* {
513: .nr$i $number
514: }] string $* $string [
515: |for i in $* {
516: .ds$i $string
517: }])
518: |attribute(store; nostack;
519: $* $$. [
520: |for i in $* {
521: .nr$i \n$$.
522: }] $* $number.register [
523: |for i in $* {
524: .nr$i \n($number.register
525: }] string $* $$. [
526: |for i in $* {
527: .ds$i \*$$.
528: }] string $* $string.register [
529: |for i in $* {
530: .ds$i \*($string.register
531: }] number.from.string $* $$. [
532: |for i in $* {
533: .nr$i \*$$.
534: }] number.from.string $* $string.register [
535: |for i in $* {
536: .nr$i \*($string.register
537: }] string.from.number $* $$. [
538: |for i in $* {
539: .ds$i \n$$.
540: }] string.from.number $* $number.register [
541: |for i in $* {
542: .ds$i \n($number.register
543: }] width $* $$. [
544: |for i in $* {
545: .nr$i \w'\*$$.'
546: }] width $* $number.register [
547: |for i in $* {
548: .nr$i \w'\*($number.register'
549: }] indent $* [
550: |for i in $* {
551: .nr$i \n(.i
552: }] linelength $* [
553: |for i in $* {
554: .nr$i \n(.l
555: }] pagewidth $* [
556: |for i in $* {
557: .nr$i \nWu
558: }] totrap $* [
559: |for i in $* {
560: .nr$i \n(.t
561: }] pageoffset $* [
562: |for i in $* {
563: .nr$i \n(.o
564: }] diversionheight $* [
565: |for i in $* {
566: .nr$i \n(dn
567: }])
568: |attribute(clear; nostack;
569: $* [
570: |for i in $* {
571: .nr$i 0
572: }] string $* [
573: .rm$*
574: ])
575: |attribute(rename; nostack;
576: $from $to [
577: .rn$from $to
578: ])
579: |attribute(add; nostack;
580: $result $$. $* [
581: .nr$result \n$$.
582: |for i in $* {
583: .nr$result +\n($i
584: }] $result $operand $* [
585: .nr$result \n($operand
586: |for i in $* {
587: .nr$result +\n($i
588: }] $result $$. [
589: .nr$result +\n$$.
590: ] $result $operand [
591: .nr$result +\n($operand
592: ] constant $result $constant $* [
593: .nr$result $constant
594: |for i in $* {
595: .nr$result +$i
596: }] constant $result $constant [
597: .nr$result +$constant
598: ] string $string $text [
599: .as$string $text
600: ] string.from.number $string $$. [
601: .as$string \n$$.
602: ] string.from.number $string $number.register [
603: .as$string \n($number.register
604: ] string.from.string $string $$. [
605: .as$string \*$$.
606: ] string.from.string $string $string.register [
607: .as$string \*($string.register
608: ])
609: |attribute(sub; nostack;
610: $result $$. $* [
611: .nr$result \n$$.
612: |for i in $* {
613: .nr$result -\n($i
614: }] $result $operand $* [
615: .nr$result \n($operand
616: |for i in $* {
617: .nr$result -\n($i
618: }] $result $$. [
619: .nr$result -\n$$.
620: ] $result $operand [
621: .nr$result -\n($operand
622: ] constant $result $constant $* [
623: .nr$result $constant
624: |for i in $* {
625: .nr$result -$i
626: }] constant $result $constant [
627: .nr$result -$constant
628: ])
629: |attribute(incr; nostack;
630: $* [
631: |for i in $* {
632: .nr$i +1
633: }])
634: |attribute(decr; nostack;
635: $* [
636: |for i in $* {
637: .nr$i -1
638: }])
639: |attribute(protect; nostack;
640: $ [
641: .ne$
642: ] [
643: .ne3
644: ])
645: |attribute(warn.orphan; nostack;
646: $ [
647: ] [
648: ])
649: |attribute(column; nostack;
650: $column $width $offset [
651: .if\n(:c<$column .nr :c $column
652: .nrW$column $width
653: .nrO$column $offset
654: ] width $width [
655: .nrW\n(:c $width
656: ] offset $offset [
657: .nrO\n(:c $offset
658: ] next [
659: .nr:c +1
660: ] clear [
661: .rr:c
662: ] new [
663: .ie!\n(:C .tm "__FILE__":__LINE__: not in multi-column mode
664: .el\{\
665: .br
666: .ne\n(.tu+1v \}
667: ] new $ [
668: .ie!\n(:C .tm "__FILE__":__LINE__: not in multi-column mode
669: .el\{\
670: .br
671: .ne\n(.tu+1v
672: .nr;d \n(.lu-\n(W\n(:Cu
673: .nr:C $
674: .nrO \n(O$u
675: .po\nOu
676: .nrW \n(W$u+\n(;du
677: .ll\nWu
678: .lt\nWu
679: .rr;d \}
680: ] old $ [
681: .ie!\n(:C .tm "__FILE__":__LINE__: not in multi-column mode
682: .el\{\
683: .br
684: .if\n(nl>\n(U\n(:C \
685: .mkU\n(:C
686: .nr;d \n(.lu-\n(W\n(:Cu
687: .nr:C $
688: .nrO \n(O$u
689: .po\nOu
690: .nrW \n(W$u+\n(;du
691: .ll\nWu
692: .lt\nWu
693: .rs
694: .ie\n(U$ .sp |\n(U$u
695: .el.sp |\n(U0u
696: .ns
697: .rr;d \}
698: ] on [
699: .ie\n(:C .tm "__FILE__":__LINE__: already in multi-column mode
700: .el\{\
701: .br
702: .nr:C 1
703: .nrW \n(W1u
704: .ll\nWu
705: .lt\nWu
706: .nrO \n(O1u
707: .po\nOu
708: .mkU0
709: .ns
710: .rrU1 U2 U3 U4 U5 U6 U7 U8 U9
711: .rr;d \}
712: ] off [
713: .ie!\n(:C .tm "__FILE__":__LINE__: already in full page mode
714: .el\{\
715: .br
716: .if\n(nl>\n(U\n(:C \
717: .mkU\n(:C
718: .nr;d \n(.lu-\n(W\n(:Cu
719: .nr:C 0
720: .nrO \n(O0u
721: .po\nOu
722: .nrW \n(W0u+\n(;du
723: .ll\nWu
724: .lt\nWu
725: .rs
726: .sp|\n(U0u
727: .if\n(nl<\n(U1 \
728: .sp|\n(U1u
729: .if\n(nl<\n(U2 \
730: .sp|\n(U2u
731: .if\n(nl<\n(U3 \
732: .sp|\n(U3u
733: .if\n(nl<\n(U4 \
734: .sp|\n(U4u
735: .if\n(nl<\n(U5 \
736: .sp|\n(U5u
737: .if\n(nl<\n(U6 \
738: .sp|\n(U6u
739: .if\n(nl<\n(U7 \
740: .sp|\n(U7u
741: .if\n(nl<\n(U8 \
742: .sp|\n(U8u
743: .if\n(nl<\n(U9 \
744: .sp|\n(U9u
745: .ti\n(.iu
746: .rrU1 U2 U3 U4 U5 U6 U7 U8 U9
747: .ns
748: .rr;d \}
749: ] 2 [
750: .ie\n(:C .tm "__FILE__":__LINE__: already in multi-column mode
751: .el\{\
752: .br
753: .nr:C 1
754: .nrW0 \nW
755: .nrW \n(.lu*8u/17u
756: .nrW1 \nW
757: .nrW2 \nW
758: .nrO0 \n(.ou
759: .nrO1 \n(.ou
760: .nrO2 \n(.lu*9u/17u+\n(.ou
761: .ll\nWu
762: .lt\nWu
763: .nr:c 2
764: .mkU0
765: .ns
766: .rrU1 U2 \}
767: ])
768: |attribute(divert.string; stack, default off;
769: $string.name [
770: .ds$string.name ]
771: off [
772: ])
773: |attribute(divert.number; stack, default off;
774: $number.name [
775: .nr$number.name ]
776: off [
777: ])
778: |attribute(divert.output; stack, default off;
779: on $string.name [
780: .nr;s \n(.s
781: .nr;f \n(.f
782: .nr;u \n(.u
783: .nr;j \n(.j
784: .nr;v \n(.v
785: .nr;L \n(.L
786: .nr;l \n(.l
787: .ev1
788: .ps\n(;s
789: .vs\n(;sp+2p
790: .ft\n(;f
791: .nf
792: .if\n(;u .fi
793: .ad\n(;j
794: .vs\n(;vu
795: .ls\n(;L
796: .ll\n(;lu
797: .in0
798: .ti0
799: .hy14
800: .lt\n(;lu
801: .di$string.name
802: ] off [
803: .br
804: .di
805: .ev
806: .rr;L ;f ;j ;l ;o ;s ;u ;v
807: ])
808: |attribute(divert.input; stack, default off;
809: on $string.name [
810: .eo
811: .de$string.name\(ts\(ts
812: ] off [
813: .\(ts\(ts
814: .ec
815: ])
816: |attribute(append.output; stack, default off;
817: on $string.name [
818: .nr;s \n(.s
819: .nr;f \n(.f
820: .nr;u \n(.u
821: .nr;j \n(.j
822: .nr;v \n(.v
823: .nr;L \n(.L
824: .nr;l \n(.l
825: .ev1
826: .ps\n(;s
827: .vs\n(;sp+2p
828: .ft\n(;f
829: .nf
830: .if\n(;u .fi
831: .ad\n(;j
832: .vs\n(;vu
833: .ls\n(;L
834: .ll\n(;lu
835: .in0
836: .ti0
837: .hy14
838: .lt\n(;lu
839: .da$string.name
840: ] off [
841: .br
842: .da
843: .ev
844: .rr;L ;f ;j ;l ;o ;s ;u ;v
845: ])
846: |attribute(append.input; stack, default off;
847: on $string.name [
848: .eo
849: .am$string.name\(ts\(ts
850: ] off [
851: .\(ts\(ts
852: .ec
853: ])
854: |attribute(invoke; nostack;
855: on $offset $what [
856: .wh15i $what
857: .ch$what \n(nlu+$offset
858: ] on number $$. $what [
859: .wh15i $what
860: .ch$what \n(nlu+\n$$.u
861: ] on number $number.register $what [
862: .wh15i $what
863: .ch$what \(nlu+\n($number.registeru
864: ] at constant $constant $what [
865: .wh15i $what
866: .ch$what $constant
867: ] at number $$. $what [
868: .wh15i $what
869: .ch$what \n$$.u
870: ] at number $number.register $what [
871: .wh15i $what
872: .ch$what \n($number.registeru
873: ] end [
874: .br
875: .di
876: ] off $what [
877: .ch$what
878: ])
879: |attribute(remember; nostack;
880: $ [
881: .mk$
882: ])
883: |attribute(return; nostack;
884: $$. [
885: .sp|\n$$.u
886: .ti\n(.iu
887: ] $ [
888: .sp|\n($u
889: .ti\n(.iu
890: ])
891: |attribute(goto; nostack;
892: $ [
893: .sp|$
894: .ti\n(.iu
895: ])
896: |attribute(string; nostack;
897: $$. [\*$$.]
898: $string.register [\*($string.register]
899: roman $$. [\f1\&\*$$.\fP\&]
900: italics $$. [\f2\&\*$$.\fP\&]
901: bold $$. [\f3\&\*$$.\fP\&]
902: bolditalics $$. [\f4\&\*$$.\fP\&]
903: cw $$. [\f(CW\&\*$$.\fP\&]
904: roman $string.register [\f1\&\*($string.register\fP\&]
905: italics $string.register [\f2\&\*($string.register\fP\&]
906: bold $string.register [\f3\&\*($string.register\fP\&]
907: bolditalics $string.register [\f4\&\*($string.register\fP\&]
908: cw $string.register [\f(CW\&\*($string.register\fP\&])
909: |attribute(macro; nostack;
910: $ [
911: .$
912: ])
913: |attribute(number; nostack;
914: $$. [\n$$.]
915: $number.register [\n($number.register]
916: ++ $$. [\n+$$.]
917: ++ $number.register [\n+($number.register]
918: format $* $format [
919: |for i in $* {
920: .af$i $format
921: }]
922: incr $* $incr [
923: |for i in $* {
924: .nr$i +0 $incr
925: }]
926: format.from.string $* $$. [
927: |for i in $* {
928: .af$i \*$$.
929: }]
930: incr $* $incr [
931: |for i in $* {
932: .nr$i +0 $incr
933: }]
934: format.from.string $* $format [
935: |for i in $* {
936: .af$i \*($format
937: }]
938: incr $* $incr [
939: |for i in $* {
940: .nr$i +0 $incr
941: }])
942: |attribute(list.pre; stack, default;
943: [
944: .rml2
945: ]
946: $pre [
947: .dsl2 $pre
948: ])
949: |attribute(list.format; stack, default;
950: [
951: .rml3
952: ]
953: $format [
954: .dsl3 $format
955: ])
956: |attribute(list.post; stack, default;
957: [
958: .rml4
959: ]
960: $post [
961: .dsl4 $post
962: ])
963: |attribute(list.indent; stack, default;
964: [
965: .rml5
966: ]
967: $indent [
968: .dsl5 $indent
969: ])
970: |attribute(list; nostack;
971: off [
972: .)C ;i l1 \*(l1
973: .in\n(;iu
974: .)C l0 l0 \*(l0
975: .rm;i
976: ] on [
977: .dsl1 \n(.i \*(l1
978: .in+\w'\*(l5'u
979: .afl0 0
980: .dsl0 \n(l0 \*(l0
981: .nrl0 0 1
982: ])
983: |attribute(file.information; nostack;
984: [
985: .lf__LINE__ __FILE__
986: ])
987: |attribute(reference.style; nostack;
988: acm [|reference_style(acm)
989: ] apa [|reference_style(apa)
990: ] att [|reference_style(att)
991: ] ieee [|reference_style(ieee)
992: ] lsa [|reference_style(lsa)
993: ] pami [|reference_style(pami)
994: ] spectrum [|reference_style(spectrum)
995: ])
996: |attribute(reference.option; nostack;
997: tm [|reference_style(same tm)
998: ] rp [|reference_style(same rp)
999: ] nroff [|reference_style(same nroff)
1000: ] troff [|reference_style(same troff)
1001: ] sort [|reference_style(same sort)
1002: ] sequence [|reference_style(same sequence)
1003: ] a [|reference_style(same a)
1004: ] d [|reference_style(same d)
1005: ] t [|reference_style(same t)
1006: ] ad [|reference_style(same ad)
1007: ] at [|reference_style(same at)
1008: ] da [|reference_style(same da)
1009: ] dt [|reference_style(same dt)
1010: ] ta [|reference_style(same ta)
1011: ] td [|reference_style(same td)
1012: ] adt [|reference_style(same adt)
1013: ] atd [|reference_style(same atd)
1014: ] dat [|reference_style(same dat)
1015: ] dta [|reference_style(same dta)
1016: ] tad [|reference_style(same tad)
1017: ] tda [|reference_style(same tda)
1018: ])
1019: |attribute(reference; stack, default off;
1020: database [|reference_database<]
1021: include [|reference_include<]
1022: list [|reference_list<]
1023: on [|reference<]
1024: off [>])
1025: |attribute(reference.placement; nostack;
1026: [|reference_placement
1027: ])
1028: |attribute(table; stack, default off;
1029: on [
1030: .TS
1031: ] off [
1032: .TE
1033: ])
1034: |attribute(ipa; stack, default off;
1035: on [@ipa(]
1036: off [)])
1037: |attribute(picture; stack, default off;
1038: on [
1039: .PS
1040: ] off [
1041: .PE
1042: ])
1043: |attribute(ped; stack, default off;
1044: on [
1045: .GS
1046: ] off[
1047: .GE
1048: ])
1049: |attribute(ideal; stack, default off;
1050: on [
1051: .IS
1052: ] off[
1053: .IE
1054: ])
1055: |attribute(equation; stack, default off;
1056: on [
1057: .br
1058: .di:4
1059: .EQ
1060: ] off [
1061: .EN
1062: .br
1063: .di
1064: .rm:4
1065: |ifvalue center.block on [
1066: .if\w@\*(10\*(ES@ \{\
1067: .if\n(:Y<\w@\*(10@ .nr :Y \w@\*(10@
1068: \!\*(10\h'\\n(.lu-\w@\*(10\*(ES@u-\\n(.iu'\*(ES
1069: .rr:D :E \}]
1070: |ifvalue center on [
1071: .if\w@\*(10\*(ES@ .tl \(ts\(ts\*(10\(ts\*(ES\(ts]
1072: |ifnotvalue center.block on [ |ifnotvalue center on [
1073: .if\w@\*(10\*(ES@ \{\
1074: .pc
1075: .tl\(ts\h'\n(.iu'\*(10\(ts\(ts\*(ES\(ts
1076: .pc% \}]]
1077: .rm10
1078: ])
1079: |attribute(inline.equation; stack, default off;
1080: on []
1081: off [])
1082: |attribute(graph; stack, default off;
1083: on [
1084: .G1
1085: ] off [
1086: .G2
1087: ])
1088: |attribute(bargraph; stack, default off;
1089: on [
1090: .B1
1091: ] off [
1092: .B0
1093: ])
1094: |attribute(computeroutput; stack, default off;
1095: on [
1096: .CW
1097: ] off [
1098: .CN
1099: ])
1100: |attribute(citation; nostack;
1101: save on [
1102: .CD "]
1103: save off string $$. [" "\*$$."
1104: ] save off string $string.register [" "\*($string.register"
1105: ] save off number $$. [" "\n$$."
1106: ] save off number $number.register [" "\n($number.register"
1107: ] save string $name $$. [\&\c
1108: .CD "$name" "\*$$."
1109: ] save string $name $string.register [\&\c
1110: .CD "$name" "\*($string.register"
1111: ] save number $name $$. [\&\c
1112: .CD "$name" "\n$$."
1113: ] save number $name $number.register [\&\c
1114: .CD "$name" "\n($number.register"
1115: ] remember on [\&\c
1116: .CU "]
1117: remember off ["]
1118: remember string $name [\&\c
1119: .CU "$name"])
1120: |attribute(index; stack, default off;
1121: on [\&\c
1122: .tmix: ]
1123: off [ \nP
1124: \&])
1125: |attribute(contents; nostack;
1126: $category $level $sequence $text [
1127: .tm.TC $category $level \*($sequence \*($text \nP
1128: ])
1129: |attribute(white.text; nostack;
1130: $text [|ifvalue verbatim off []|ifvalue verbatim on [$text]])
1131: |attribute(nl.paragraph; nostack;
1132: [|ifvalue verbatim on [
1133: ]|ifvalue verbatim off []])
1134: |attribute(format.type; stack, init none;
1135: model [
1136: .dsf0 model
1137: ] acm [
1138: .dsf0 acm
1139: ] none [
1140: .dsf0 none
1141: ])
1142: |attribute(list.type; stack, default none;
1143: fixed []
1144: calculated []
1145: none [])
1146: |attribute(list.spacing; stack, default off;
1147: off []
1148: on [])
1149: |attribute(verbatim; stack, default off;
1150: off []
1151: on [])
1152: |attribute(draft; stack, default off;
1153: off []
1154: on [])
1155: |attribute(sectioning; stack, default bysection;
1156: bysection []
1157: bychapter []
1158: byappendix [])
1159: |attribute(globalparagraph.style; stack, default flushed;
1160: indented []
1161: numbered []
1162: flushed [])
1163: |attribute(localparagraph.style; stack, default flushed;
1164: indented []
1165: numbered []
1166: flushed [])
1167: |attribute(inline; stack, default on;
1168: off []
1169: on [])
1170: |attribute(footnote_width; stack, default normal;
1171: narrow []
1172: full []
1173: normal[])
1174: |attribute(around_width; stack, default normal;
1175: narrow []
1176: full []
1177: normal[])
1178: |attribute(sawreference; stack, default off;
1179: off []
1180: on [])
1181: |attribute(sawabstract; stack, default off;
1182: off []
1183: on [])
1184: |attribute(sawkeywords; stack, default off;
1185: off []
1186: on [])
1187: |attribute(sawoverflow; stack, default off;
1188: off []
1189: on [])
1190: |attribute(sawtitlebox; stack, default off;
1191: off []
1192: on [])
1193: |attribute(sawendnote; stack, default off;
1194: off []
1195: on [])
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.