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