V10/vol2/ADM/monk.mac
|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)