Annotation of researchv10dc/vol2/monk/monk.mac, revision 1.1.1.1

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)

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.