|
|
1.1 root 1: |REGISTER(current_diversion, .z)
2:
3: |associate(mercury;
4: clear temporary_counter, clear string temporary_array[0] temporary_array[1]
5: temporary_array[2] temporary_array[3] temporary_array[4] temporary_array[5]
6: temporary_array[6] temporary_array[7] temporary_array[8] temporary_array[9];
7:
8: if begin EQUAL(temporary_array[0], yes),
9: incr mercury_counter,
10: set string mercury_array[mercury_counter]
11: "CHM - Chemistry and Materials",
12: if end,
13: if begin EQUAL(temporary_array[1], yes),
14: incr mercury_counter, set string mercury_array[mercury_counter]
15: "CMM - Communications",
16: if end,
17: if begin EQUAL(temporary_array[2], yes),
18: incr mercury_counter, set string mercury_array[mercury_counter]
19: "CMP - Computing",
20: if end,
21: if begin EQUAL(temporary_array[3], yes),
22: incr mercury_counter, set string mercury_array[mercury_counter]
23: "ELC - Electronics",
24: if end,
25: if begin EQUAL(temporary_array[4], yes),
26: incr mercury_counter, set string mercury_array[mercury_counter]
27: "LFS - Life Sciences",
28: if end,
29: if begin EQUAL(temporary_array[5], yes),
30: incr mercury_counter,
31: set string mercury_array[mercury_counter]
32: "MAN - Manufacturing",
33: if end,
34: if begin EQUAL(temporary_array[6], yes),
35: incr mercury_counter,
36: set string mercury_array[mercury_counter]
37: "MAS - Mathematics and Statistics",
38: if end,
39: if begin EQUAL(temporary_array[7], yes),
40: incr mercury_counter, set string mercury_array[mercury_counter]
41: "MKT - Marketing",
42: if end,
43: if begin EQUAL(temporary_array[8], yes),
44: incr mercury_counter, set string mercury_array[mercury_counter]
45: "PHY - Physics",
46: if end,
47: if begin EQUAL(temporary_array[9], yes),
48: incr mercury_counter, set string mercury_array[mercury_counter]
49: "STD - Standards",
50: if end;
51:
52: [chm;
53: incr temporary_counter, incr mercury_counter,
54: set string mercury_array[mercury_counter]
55: "CHM - Chemistry and Materials";]
56: [cmm;
57: incr temporary_counter, incr mercury_counter,
58: set string mercury_array[mercury_counter] "CMM - Communications";]
59: [cmp;
60: incr temporary_counter, incr mercury_counter,
61: set string mercury_array[mercury_counter] "CMP - Computing";]
62: [elc;
63: incr temporary_counter, incr mercury_counter,
64: set string mercury_array[mercury_counter] "ELC - Electronics";]
65: [lfs;
66: incr temporary_counter, incr mercury_counter,
67: set string mercury_array[mercury_counter] "LFS - Life Sciences";]
68: [man;
69: incr temporary_counter, incr mercury_counter,
70: set string mercury_array[mercury_counter] "MAN - Manufacturing";]
71: [mas;
72: incr temporary_counter, incr mercury_counter,
73: set string mercury_array[mercury_counter]
74: "MAS - Mathematics and Statistics";]
75: [mkt;
76: incr temporary_counter, incr mercury_counter,
77: set string mercury_array[mercury_counter] "MKT - Marketing";]
78: [phy;
79: incr temporary_counter, incr mercury_counter,
80: set string mercury_array[mercury_counter] "PHY - Physics";]
81: [std;
82: incr temporary_counter, incr mercury_counter,
83: set string mercury_array[mercury_counter] "STD - Standards";]
84: [yes;
85: incr temporary_counter,
86: set string temporary_array[temporary_counter] yes;]
87: [no;
88: incr temporary_counter,
89: set string temporary_array[temporary_counter] no;])
90: |comment<summary: mercury (chm, cmm, cmp, elc, lfs, man, mas, mkt, phy, std mercury distribution for cover sheet)>
91:
92: |associate(proprietary_class;;;
93: [yes;
94: set string proprietary_string yes;]
95: [no;
96: set string proprietary_string no;])
97: |comment<summary: proprietary_class (proprietary classification for cover sheet)>
98:
99: |associate(government_security;;;
100: [yes;
101: set string government_string yes;]
102: [no;
103: set string government_string no;])
104: |comment<summary: government_security (government security clearance for cover sheet)>
105:
106: |associate(earlier;;;
107:
108: [document_number $;
109: set string earlier_document_number_string $;]
110: [$;
111: set string earlier_document_number_string $;])
112: |comment<summary: earlier (replacing earlier document_number for cover sheet)>
113:
114: |associate(att;;;
115:
116: [is_release yes;
117: set string att_release_string yes;]
118: [is_release no;
119: set string att_release_string no;]
120: [yes;
121: set string att_release_string yes;]
122: [no;
123: set string att_release_string no;])
124: |comment<summary: att (is_release for cover sheet)>
125:
126: |environment(dh_name;
127: divert.string dh_string;)
128: |comment<summary: dh_name (department head's name for cover sheet)>
129:
130: |environment(director_name;
131: divert.string director_string;)
132: |comment<summary: director_name (director's name for cover sheet)>
133:
134: |environment(distribute_complete_memo;
135: divert.input on complete_memo_string;)
136: |comment<summary: distribute_complete_memo (distribution list for complete memo for cover sheet)>
137:
138: |environment(distribute_cover_sheet;
139: divert.input on cover_sheet_string;)
140: |comment<summary: distribute_cover_sheet (distribution list for cover sheet for cover sheet)>
141:
142: |associate(add_totals;;;
143:
144: [text $;
145: add constant text_counter $, add constant other_marker $;]
146: [other $;
147: add constant other_counter $;]
148: [figures $;
149: add constant figure_counter $;]
150: [tables $;
151: add constant table_counter $;]
152: [references $;
153: add constant reference_counter $;])
154: |comment<summary: add_totals (text, other, figure, table, reference counts for cover sheet)>
155:
156: |environment(other;
157: store other_marker page_counter;)
158: |comment<summary: other (end of text body/start of attached pages)>
159:
160: |environment(cover_sheet;
161: clear string page_header page_footer, new.page, line.spacing 1,
162: inline off, size 10, inline on, font.family helvetica,
163: line.length 7.5i, page.length +.75i, page.offset .3i, indent 0,
164: cs_heading_page1,
165: cs_title,
166: cs_authors,
167: cs_numbers,
168: cs_keywords,
169: cs_mercury,
170: cs_abstract_part1,
171: cs_footer_page1,
172: cs_abstract_part2,
173: cs_heading_page2,
174: cs_distribution_list,
175: cs_spacing,
176: cs_government,
177: cs_att,
178: cs_signatures,
179: cs_proprietary,
180: cs_earlier,
181: cs_footer_page2,
182: cs_abstract_continuation,
183: cs_distribution_continuation;)
184: |comment<summary: cover_sheet (produce the coversheet here)>
185:
186: |environment(cs_heading_page1;
187: spacing on, goto 0.2i, inline off, size 16, space 18, font bold,
188: title "AT&T Bell Laboratories" " " "Document Cover Sheet",
189: title " " " " "for Technical Memorandum";
190:
191: thick.line)
192:
193: |environment(cs_title;
194: new.line, remember position0,
195: text bold "Title:", horizontal.motion 5.5i,
196: text bold "Author's Date:",
197: return position0,
198: indent +.5i, line.length 5.0i,
199: macro title_string,
200: line.length 7.5i, indent -.5i,
201: return position0, blank.lines, indent.line 6i,
202: string date_string, new.line;
203:
204: blank.lines -0.1i, thick.line)
205:
206: |environment(cs_authors;
207: tab.stops 1.5i 4.45i 5.7i 6.95i,
208: if else GT(author_counter, 1),
209: set string plural_string "s",
210: if else,
211: clear string plural_string,
212: tab, text bold "Author",
213: string bold plural_string,
214: tab, text bold "Location", tab, text bold "Ext.",
215: tab, text bold "Dept.",
216: tab.stops 4.2i 4.5i 5.5i 6.7i, indent .2i,
217: |for i in 1 2 3 4 5 6 7 8 9 [
218: if begin GE(author_counter, $i),
219: new.line, string author_array[$i], tab,
220: string location_array[$i], text " ", string room_array[$i], tab,
221: string extension_array[$i], tab, string department_array[$i],
222: if end,
223: ]
224: new.line;
225:
226: blank.lines -0.1i, thick.line)
227:
228: |environment(cs_numbers;
229: tab.stops 0.9i 3.4i 5.65i,
230: if else GT(document_counter, 1),
231: set string plural_string "s",
232: if else,
233: clear string plural_string,
234: tab, text bold "Document No",
235: string bold plural_string, text bold ".",
236: tab, text bold "Filing Case No",
237: string bold plural_string, text bold ".",
238: tab, text bold "Project No",
239: string bold plural_string, text bold ".",
240: tab.stops 0.8i 3.5i 5.75i,
241: |for i in 1 2 3 4 5 6 7 8 9 [
242: if begin GE(document_counter, $i),
243: new.line, tab, string document_array[$i],
244: tab, string file_case_array[$i], tab, string work_program_array[$i],
245: if end,
246: ]
247: new.line;
248:
249: blank.lines -0.1i, thick.line)
250:
251: |environment(cs_keywords;
252: text bold "Keywords:",
253: blank.lines 0.1i, indent.line .2i, adjust off,
254: macro keyword_string, new.line;
255:
256: blank.lines -0.1i, thick.line)
257:
258: |environment(cs_mercury;
259: tab.stops 2i 4i,
260: text bold "MERCURY Announcement Bulletin Sections:",
261: blank.lines 0.1i, indent .9i, inline off, size 8, space 10,
262: |for i in 1 4 7 [
263: if begin GE(mercury_counter, $i),
264: set i_plus_one $i+1,
265: set i_plus_two $i+2,
266: string mercury_array[$i], tab,
267: string mercury_array[i_plus_one], tab,
268: string mercury_array[i_plus_two],
269: if end,
270: ]
271: ;
272:
273: blank.lines -0.1i, thick.line)
274:
275: |environment(cs_abstract_part1;
276: text bold "Abstract:", minimum.lines 0, paragraph,
277: remember position0;)
278:
279: |environment(cs_footer_page1;
280: goto 9.375i,
281: remember position1,
282: thick.line,
283:
284: store total_counter page_counter, decr total_counter,
285: add total_counter text_counter, add total_counter other_counter,
286: add constant total_counter 2,
287: store other_counter total_counter, sub other_counter other_marker,
288: store text_counter total_counter, sub text_counter other_counter,
289: size -2,
290: text bold "Total Pages ", text "(including document cover sheet): ",
291: size +2, number total_counter,
292:
293: return position1, blank.lines .5i, indent .6i,
294: if else begin EQUAL(proprietary_string, yes),
295: text bold " AT&T \(em PROPRIETARY (Restricted)",
296: indent -.1i,
297: new.line, text "Solely for authorized persons having a need to know",
298: new.line, text "Use pursuant to Company Instructions.",
299: new.line, text "Requires Department Head approval (see below).",
300: if end,
301: if else begin,
302: text bold " AT&T \(em PROPRIETARY",
303: indent -.1i,
304: new.line, text "Use pursuant to Company Instructions",
305: if end,
306: indent 0,
307:
308: return position1, blank.lines .2i, indent.line 5.25i,
309: text bold "Mailing Label";)
310:
311: |environment(cs_abstract_part2;
312: return position0, indent .2i, line.length 7i,
313: invoke at constant 9.375i catch_diverter, macro abstract_string,
314: if begin EQUAL(current_diversion, catch_output),
315: invoke end, rename catch_output abstract_string,
316: store diversionheight more_abstract,
317: if end;
318:
319: invoke off catch_diverter, line.length 7.5i)
320:
321: |environment(cs_heading_page2;
322: new.page, spacing on, goto 0.2i,
323:
324: text bold "Initial Distribution Specifications",
325: horizontal.motion 3.0i,
326: string bold document_array[1],
327: new.line;
328:
329: blank.lines -0.1i, thick.line)
330:
331: |environment(cs_distribution_list;
332: horizontal.motion 1.25i,
333: text bold "Complete Copy", horizontal.motion 2.75i,
334: text bold "Cover Sheet Only",
335: new.line, remember position0, fill off, indent .2i,
336: set temporary_counter 6.25i,
337: if UNEQUAL(proprietary_string, yes),
338: if NULL(dh_string),
339: if NULL(director_string),
340: add constant temporary_counter 0.6875i,
341: if UNEQUAL(government_string, yes),
342: add constant temporary_counter 0.25i,
343: if LE(author_counter, 3),
344: add constant temporary_counter 0.4375i,
345: if LE(author_counter, 6),
346: add constant temporary_counter 0.4375i,
347: if NULL(earlier_document_number_string),
348: add constant temporary_counter 0.25i,
349: invoke on number temporary_counter catch_diverter,
350: macro complete_memo_string,
351: if else begin EQUAL(current_diversion, catch_output),
352: invoke end, rename catch_output complete_memo_string,
353: store diversionheight more_completememo,
354: if end,
355: if else,
356: clear string complete_memo_string,
357: return position0, indent 4i,
358: invoke on number temporary_counter catch_diverter,
359: macro cover_sheet_string,
360: if else begin EQUAL(current_diversion, catch_output),
361: invoke end, rename catch_output cover_sheet_string,
362: store diversionheight more_coversheet,
363: if end,
364: if else,
365: clear string cover_sheet_string;
366:
367: indent 0, invoke off catch_diverter)
368:
369: |environment(cs_spacing;
370: goto 6.75i,
371:
372: if UNEQUAL(proprietary_string, yes),
373: if NULL(dh_string),
374: if NULL(director_string),
375: blank.lines 0.6875i,
376: if UNEQUAL(government_string, yes),
377: blank.lines 0.25i,
378: if LE(author_counter, 3),
379: blank.lines 0.4375i,
380: if LE(author_counter, 6),
381: blank.lines 0.4375i,
382: if NULL(earlier_document_number_string),
383: blank.lines 0.25i;
384:
385: thick.line)
386:
387: |environment(cs_government;
388: if begin EQUAL(government_string, yes),
389: text bold "Government Security Classified",
390: blank.lines -0.1i, thick.line,
391: if end;)
392:
393: |environment(cs_att;
394: if else begin EQUAL(att_release_string, no),
395: text bold "Future AT&T Distribution by ITDS - ",
396: text "Obtain approval for release to any AT&T employee",
397: blank.lines -0.1i, thick.line,
398: if end,
399: if else begin,
400: text bold "Future AT&T Distribution by ITDS - ",
401: text "Release to any AT&T employee (excluding contract employees)",
402: blank.lines -0.1i, thick.line,
403: if end;)
404:
405: |environment(cs_signatures;
406: if else GT(author_counter, 1),
407: set string plural_string "s",
408: if else,
409: clear string plural_string,
410: text bold "Author Signature",
411: string bold plural_string, new.line,
412: if EQUAL(author_counter, 0),
413: blank.lines 0.4375i,
414: |for i in 0 3 6 [
415: tab.stops 2.635i 5.25i,
416: if GT(author_counter,$i),
417: blank.lines 0.1i,
418: if EQUAL(author_counter, ($i+1)),
419: line 2.25i,
420: if begin EQUAL(author_counter, ($i+2)),
421: line 2.25i, tab, line 2.25i,
422: if end,
423: if begin GT(author_counter, ($i+2)),
424: line 2.25i, tab, line 2.25i, tab, line 2.25i,
425: if end,
426: new.line,
427: if begin GT(author_counter, $i),
428: tab.stops 0.25i 2.875i 5.5i,
429: set i_plus_one $i+1,
430: set i_plus_two $i+2,
431: set i_plus_three $i+3,
432: tab, string author_array[i_plus_one],
433: tab, string author_array[i_plus_two],
434: tab, string author_array[i_plus_three],
435: if end,
436: ]
437: ;
438:
439: blank.lines -0.1i, thick.line)
440:
441: |environment(cs_proprietary;
442: if begin EQUAL(proprietary_string, yes),
443: text bold "Organizational Approval ",
444: size -1, text "(Department Head approval required)", size +1,
445: if begin NULL(dh_string),
446: if begin NULL(director_string),
447: tab.stops .5i 4i,
448: blank.lines 0.1i,
449: tab, tab, line 3i,
450: new.line, tab.stops 7iR,
451: tab, text "Department Head",
452: blank.lines -0.1i, thick.line,
453: if end,
454: if end,
455: if end,
456: if begin NOTNULL(dh_string),
457: if begin NOTNULL(director_string),
458: if begin UNEQUAL(proprietary_string, yes),
459: text bold "Organizational Approval ",
460: size -1, text "(Optional)", size +1,
461: if end,
462: tab.stops .5i 4i,
463: blank.lines 0.1i,
464: if else begin NOTNULL(dh_string),
465: if else begin NOTNULL(director_string),
466: tab, line 3i, tab, line 3i,
467: if end,
468: if else begin,
469: tab, tab, line 3i,
470: if end,
471: if end,
472: if else begin,
473: tab, tab, line 3i,
474: if end,
475: new.line, tab.stops .8i 4.3i,
476: if else begin NOTNULL(dh_string),
477: if else begin NOTNULL(director_string),
478: tab,
479: string dh_string, text ", Department Head",
480: tab,
481: string director_string, text ", Director",
482: if end,
483: if else begin,
484: tab, tab,
485: string dh_string, text ", Department Head",
486: if end,
487: if end,
488: if else begin,
489: tab, tab,
490: string director_string, text ", Director",
491: if end,
492: blank.lines -0.1i, thick.line,
493: if end,
494: if end;)
495:
496: |environment(cs_earlier;
497: if begin NOTNULL(earlier_document_number_string),
498: text bold
499: "Supersedes or amends document number ",
500: string earlier_document_number_string,
501: new.line, blank.lines -0.1i, thick.line,
502: if end;)
503:
504: |environment(cs_footer_page2;
505: text bold "For Use by Recipient of Cover Sheet:",
506: new.line, remember position0, size -3, space -4,
507: blank.lines -.1i, line.length 3.5i, indent .1i, indent.line -.1i,
508: text "Computing network users may order copies via the ",
509: text italics "library -k ", text "command;",
510: new.line, text "for information, type ",
511: text italics "man library ", text "after the ",
512: size -1, text "UNIX", size +1, text " prompt.",
513: new.line, blank.lines 0.05i, indent.line -.1i,
514: text "Otherwise:",
515: new.line,
516: text "Enter ", size -1, text "PAN", size +1, text " if ",
517: size -1, text "AT&T-BL (SS#", size +1, text " if non ",
518: size -1, text "AT&T-BL.) ", size +1, line 1.2i,
519: new.line, text "Return this sheet to any ",
520: size -1, text "ITDS", size +1, text " location.",
521: new.line, return position0, line.length 8.0i, indent 4i,
522: text "\ Internal Technical Document Service",
523: blank.lines, tab.stops 1i 2i 3i,
524: text "( ) AK 2H-28", tab, text "( ) IH 7M-103", tab,
525: text "( ) DR 2F-19", tab, text "( ) NW-ITDS", new.line,
526: text "( ) ALC 1B-102", tab, text "( ) MV 3L-19", tab,
527: text "( ) INH 1C-114", tab, text "( ) PR 5-2120", new.line,
528: text "( ) CB 30-2011", tab, text "( ) WH 3E-204", tab,
529: text "( ) IW 2Z-156", new.line,
530: text "( ) HO 4F-112", tab, tab, text "( ) MT 3B-117", new.line,
531: line.length 7.5i;
532:
533: indent 0, SPACE)
534:
535: |environment(cs_abstract_continuation;
536: if begin GT(more_abstract, 0),
537: new.page, spacing on, goto 0.2i,
538:
539: horizontal.motion 5.2i, string bold document_array[1],
540: new.line, blank.lines -0.1i, thick.line,
541:
542: new.line, text bold "Title:",
543: horizontal.motion 0.375i, macro title_string,
544: new.line, blank.lines -0.1i, thick.line,
545:
546: center on, text bold "Abstract (continued)", new.line, center off,
547: fill off, macro abstract_string, fill on,
548: blank.lines -0.1i, thick.line,
549: if end;)
550:
551: |environment(cs_distribution_continuation;
552: store temporary_counter more_completememo,
553: store totrap position0,
554: if GT(more_coversheet, temporary_counter),
555: store temporary_counter more_coversheet,
556:
557: if begin GT(temporary_counter, 0),
558: if begin GE(temporary_counter, position0),
559: new.page, spacing on, goto 0.2i,
560:
561: horizontal.motion 5.2i, string bold document_array[1],
562: new.line, blank.lines -0.1i, thick.line,
563:
564: new.line, text bold "Title:",
565: horizontal.motion 0.375i, macro title_string,
566: new.line, blank.lines -0.1i, thick.line,
567: if end,
568: new.line,
569:
570: remember position0,
571: if begin GT(more_completememo, 0),
572: horizontal.motion 1.25i,
573: text bold "Complete Copy (continued)", new.line,
574: fill off, macro complete_memo_string, fill on,
575: if begin GT(more_completememo, more_coversheet),
576: blank.lines -0.1i, thick.line,
577: if end,
578: if end,
579:
580: if begin GT(more_coversheet, 0),
581: return position0, horizontal.motion 4.5i,
582: text bold "Cover Sheet Only (continued)", new.line,
583: fill off, macro cover_sheet_string, fill on,
584: if begin GE(more_coversheet, more_completememo),
585: blank.lines -0.1i, thick.line,
586: if end,
587: if end,
588: if end,
589: new.line;)
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.