|
|
1.1 root 1: |macro(top.of.page;
2: [
3: '\" ;P page number register TEMP
4: .nr ;! 1
5: .de TP
6: 'sp 1v+1p
7: .af ;P \\gP \" save format of page_counter
8: .af P 1 \" normal format for next line
9: .nr ;P \\n P \" must use different name for P
10: .af P \\g(;P \" restore format to P
11: .af ;P 1 \" normal format for control register
12: 'sp 0 \"changed from 2
13: .ie \\n(;!>1 \{ \" output headers
14: .tl \\*(PH
15: .if !\\n(;P%2 .tl \\*(EH
16: .if \\n(;P%2 .tl \\*(OH \}
17: .el 'sp 2+.75i-8p \"changed from 1
18: 'sp 1v \"changed from 2
19: .ns
20: .rr ;P \" free storage
21: .nr ;! 2
22: ..
23: ])
24:
25: |macro(bottom.of.page;
26: [
27: .deBP
28: .ev2
29: .if\\n(:C \{\
30: .ll\\n(W0u
31: .lt\\n(W0u \}
32: .rs
33: 'sp 1+8p
34: .af;P \\gP
35: .afP 1
36: .nr;P \\n P
37: .afP \\g(;P
38: .af;P 1
39: .if!\\n(;P%2 .tl \\*(EF
40: .if\\n(;P%2 .tl \\*(OF
41: .if\\n(:C \{\
42: .ll\\nWu
43: .lt\\nWu \}
44: .ev
45: .rr;P
46: ..
47: ])
48:
49: |environment(titlebox;
50: ;
51:
52: new.page,
53: fill off, inline off, size +2, space +2, font bold, center on,
54: macro TI, font roman, size -2, space -2, SPACE,
55: blank.lines, size +1, inline on,
56: |for i in 1 2 3 [
57: if "\nA>=$i",
58: string A$i,
59: ]
60: inline off, font roman, size -1, inline on, blank.lines 1v-6p,
61: text italics "AT&T Bell Laboratories", new.line,
62: text italics "Murray Hill, New Jersey 07974", new.line,
63: center off, fill on,
64:
65: |ifvalue sawabstract on {
66: blank.lines, center on, size +1, text italics "ABSTRACT",
67: size -1, center off, minimum.lines,
68: indent +.5i, line.length -.5i, line.spacing 1, paragraph,
69: macro AS, line.length +.5i, indent -.5i,
70: }
71: minimum.lines)
72: |comment<summary: titlebox (produce title box here)>
73:
74: |environment(reference_placement;
75: |ifvalue sawreference on [
76: minimum.lines 1v, protect, incr S0,
77: clear S1 S2 S3,
78: set string Ts "References",
79: font bold,
80: |ifvalue sectioning bychapter [
81: number CH, text ".",
82: ]
83: number S0,
84: |ifvalue sectioning bysection [
85: text ".",
86: ]
87: text " ", string Ts, font roman,
88: paragraph,
89: clear string Rs,
90: |ifvalue sectioning bychapter [
91: store string.from.number Rs CH,
92: add string Rs ".",
93: ]
94: |ifvalue sectioning byappendix [
95: store string.from.number Rs AC,
96: add string Rs ".",
97: ]
98: add string.from.number Rs S0,
99: |ifvalue sectioning bysection [
100: contents section 1 Rs Ts,
101: ]
102: |ifvalue sectioning bychapter [
103: contents section 2 Rs Ts,
104: ]
105: |ifvalue sectioning byappendix [
106: contents section 2 Rs Ts,
107: ]
108: reference.placement
109: ];
110:
111: sawreference off)
112: |comment<summary: reference_placement (produce references here)>
113:
114: |environment(Oreference_placement;
115: |ifvalue sawreference on [
116: minimum.lines 3,
117: set string Ts "References",
118: inline off, size +1, center on,
119: font bold, string Ts, font roman,
120: center off, size -1, inline on,
121: minimum.lines,
122: clear string Rs,
123: contents section 1 Rs Ts,
124: reference.placement
125: ];
126:
127: sawreference off)
128: |comment<summary: reference_placement (produce references here)>
129:
130: |environment(appendix;
131: blank.lines 3,
132: number format AC A, incr AC,
133: clear S0 S1 S2 S3,
134: set string Rs "Appendix ",
135: add string.from.number Rs AC,
136: divert.string Ts;
137:
138: sectioning byappendix,
139: center on, size +1, font bold,
140: string Rs, blank.lines, string Ts,
141: font roman, size -1, center off,
142: minimum.lines 1, paragraph,
143: store string.from.number Rs AC,
144: contents section 1 Rs Ts)
145: |comment<summary: appendix (numbered appendix; IT)>
146:
147: |environment(Tappendix;
148: blank.lines -1,
149: number format AC A, incr AC,
150: clear S0 S1 S2 S3,
151: set string Rs "Appendix ",
152: add string.from.number Rs AC,
153: divert.string Ts;
154:
155: sectioning byappendix,
156: center on, size +1, font bold,
157: string Rs, blank.lines, string Ts,
158: font roman, size -1, center off,
159: minimum.lines 1, paragraph,
160: store string.from.number Rs AC,
161: contents section 1 Rs Ts)
162: |comment<summary: appendix (numbered appendix; IT)>
163:
164: |environment(index;
165: divert.input on Ts;)
166: |comment<summary: index (toss this item for index)>
167:
168: |environment(section;
169: divert.string Ts;
170:
171: minimum.lines 1v, protect, incr S0,
172: clear S1 S2 S3,
173: font bold,
174: |ifvalue sectioning bychapter [
175: number CH, text ".",
176: ]
177: |ifvalue sectioning byappendix [
178: number AC, text ".",
179: ]
180: number S0,
181: |ifvalue sectioning bysection [
182: text ".",
183: ]
184: text " ", string Ts, font roman,
185: paragraph,
186: clear string Rs,
187: |ifvalue sectioning bychapter [
188: store string.from.number Rs CH,
189: add string Rs ".",
190: ]
191: |ifvalue sectioning byappendix [
192: store string.from.number Rs AC,
193: add string Rs ".",
194: ]
195: add string.from.number Rs S0,
196: |ifvalue sectioning bysection [
197: contents section 1 Rs Ts,
198: ]
199: |ifvalue sectioning bychapter [
200: contents section 2 Rs Ts,
201: ]
202: |ifvalue sectioning byappendix [
203: contents section 2 Rs Ts,
204: ])
205: |comment<summary: section (numbered section; IT)>
206:
207: |associate(paragraph;
208: minimum.lines 4p;
209:
210: |ifvalue localparagraph.style indented [
211: indent.line +5n,
212: ]
213: |ifvalue localparagraph.style numbered [
214: incr S3, number format S3 i,
215: store string.from.number Ts S3,
216: add string Ts ") ",
217: string italics Ts,
218: ]
219: |ifvalue globalparagraph.style indented [
220: localparagraph.style indented,
221: ]
222: |ifvalue globalparagraph.style numbered [
223: localparagraph.style numbered,
224: ]
225: |ifvalue globalparagraph.style flushed [
226: localparagraph.style flushed,
227: ];
228:
229: [numbered;;
230: localparagraph.style numbered]
231: [n;;
232: localparagraph.style numbered]
233: [indented;;
234: localparagraph.style indented]
235: [i;;
236: localparagraph.style indented]
237: [flushed;;
238: localparagraph.style flushed]
239: [f;;
240: localparagraph.style flushed])
241: |comment<summary: paragraph (n, i, f, numbered, indented, flushed)>
242:
243: |associate(p;
244: minimum.lines 4p;
245:
246: |ifvalue localparagraph.style indented [
247: indent.line +5n,
248: ]
249: |ifvalue localparagraph.style numbered [
250: incr S3, number format S3 i,
251: store string.from.number Ts S3,
252: add string Ts ") ",
253: string italics Ts,
254: ]
255: |ifvalue globalparagraph.style indented [
256: localparagraph.style indented,
257: ]
258: |ifvalue globalparagraph.style numbered [
259: localparagraph.style numbered,
260: ]
261: |ifvalue globalparagraph.style flushed [
262: localparagraph.style flushed,
263: ];
264:
265: [numbered;;
266: localparagraph.style numbered]
267: [n;;
268: localparagraph.style numbered]
269: [indented;;
270: localparagraph.style indented]
271: [i;;
272: localparagraph.style indented]
273: [flushed;;
274: localparagraph.style flushed]
275: [f;;
276: localparagraph.style flushed])
277: |comment<summary: p (alias for paragraph)>
278:
279: |attribute<ps.include; nostack;
280: $file $x $y [\X'PI:\n(.o:\n(.i:\n(.l:\n(.t:\*($file:\*($y,\*($x,0,0::'\c
281: ] $file $x $y $xoffset $yoffset [\X'PI:\n(.o:\n(.i:\n(.l:\n(.t:\*($file:\*($y,\*($x,\*($yoffset,\*($xoffset::'\c
282: ]>
283:
284: |associate(postscript;
285: incr D, clear T,
286: clear string T1,
287: set string T2 "8.5i",
288: set string T3 "11i",
289: set string T4 T5 "0";
290:
291: if begin "!@T1@@",
292: ps.include T1 T2 T3 T4 T5,
293: if end;
294:
295: [file $; incr T, set string T1 $;]
296: [x $; incr T, set string T2 $;]
297: [y $; incr T, set string T3 $;]
298: [xoffset $; incr T, set string T4 $;]
299: [yoffset $; incr T, set string T5 $;]
300: [$; incr T, set string T\nT $;])
301: |comment<summary: postscript (file, x, y, xoffset, yoffset)>
302:
303: |attribute<draw.rule; nostack;
304: $x [\D'l $x 0']
305: $x $y [\D'l $x $y']>
306:
307: |environment(ruled.display;
308: minimum.lines 1, draw.rule 3i;
309:
310: minimum.lines 1, draw.rule 3i)
311: |comment<summary: ruled.display (produce ruled display here)>
312:
313: |attribute(figsize; ;
314: $ [
315: .ps$
316: ])
317:
318: |environment(figsmall;
319: figsize -1; figsize +1)
320: |comment<summary: small (reduce the point size)>
321:
322: |style(page_length -2v, page_width 6.5i, paragraph_style indented)
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.