|macro(top.of.page; [ '\" ;P page number register TEMP .nr ;! 1 .de TP 'sp .af ;P \\gP \" save format of page_counter .af P 1 \" normal format for next line .nr ;P \\n P \" must use different name for P .af P \\g(;P \" restore format to P .af ;P 1 \" normal format for control register 'sp 2 .ie \\n(;!>1 \{ \" output headers .tl \\*(PH .if !\\n(;P%2 .tl \\*(EH .if \\n(;P%2 .tl \\*(OH \} .el 'sp 1 'sp 2 .rr ;P \" free storage .nr ;! 2 .. ]) |style(page_width 6.5i) |environment(titlebox; ; new.page, fill off, inline off, size +2, space +2, font bold, center on, macro TI, font roman, size -2, space -2, SPACE, blank.lines, size +1, inline on, |for i in 1 2 3 [ if "\nA>=$i", string A$i, ] inline off, font roman, size -1, inline on, blank.lines, text italics "AT&T Bell Laboratories", new.line, text italics "Murray Hill, New Jersey 07974", new.line, center off, fill on, |ifvalue sawabstract on { blank.lines, center on, size +1, text italics "ABSTRACT", size -1, center off, minimum.lines, indent +.5i, line.length -.5i, line.spacing 1, paragraph, macro AS, line.length +.5i, indent -.5i, } minimum.lines) |comment<summary: titlebox (produce title box here)> |environment(reference_placement; |ifvalue sawreference on [ spacing on, blank.lines 3, set string Ts "References", inline off, size +1, center on, font bold, string Ts, font roman, center off, size -1, inline on, minimum.lines, clear string Rs, contents section 1 Rs Ts, reference.placement ]; sawreference off) |comment<summary: reference_placement (produce references here)> |environment(appendix; spacing on, blank.lines 3, number format AC A, incr AC, clear S0 S1 S2 S3, set string Rs "Appendix ", add string.from.number Rs AC, divert.string Ts; sectioning byappendix, center on, size +1, font bold, string Rs, blank.lines, string Ts, font roman, size -1, center off, minimum.lines 1, paragraph, store string.from.number Rs AC, contents section 1 Rs Ts) |comment<summary: appendix (numbered appendix; IT)> |environment(index; divert.input on Ts;) |comment<summary: index (toss this item for index)> |associate(paragraph; minimum.lines .3v; |ifvalue localparagraph.style indented [ indent.line +5n, ] |ifvalue localparagraph.style numbered [ incr S3, number format S3 i, store string.from.number Ts S3, add string Ts ") ", string italics Ts, ] |ifvalue globalparagraph.style indented [ localparagraph.style indented, ] |ifvalue globalparagraph.style numbered [ localparagraph.style numbered, ] |ifvalue globalparagraph.style flushed [ localparagraph.style flushed, ]; [numbered;; localparagraph.style numbered] [n;; localparagraph.style numbered] [indented;; localparagraph.style indented] [i;; localparagraph.style indented] [flushed;; localparagraph.style flushed] [f;; localparagraph.style flushed]) |comment<summary: paragraph (n, i, f, numbered, indented, flushed)> |associate(p; minimum.lines .3v; |ifvalue localparagraph.style indented [ indent.line +5n, ] |ifvalue localparagraph.style numbered [ incr S3, number format S3 i, store string.from.number Ts S3, add string Ts ") ", string italics Ts, ] |ifvalue globalparagraph.style indented [ localparagraph.style indented, ] |ifvalue globalparagraph.style numbered [ localparagraph.style numbered, ] |ifvalue globalparagraph.style flushed [ localparagraph.style flushed, ]; [numbered;; localparagraph.style numbered] [n;; localparagraph.style numbered] [indented;; localparagraph.style indented] [i;; localparagraph.style indented] [flushed;; localparagraph.style flushed] [f;; localparagraph.style flushed]) |comment<summary: p (alias for paragraph)> |style(paragraph_style indented)