.IF XCRIBL THEN START
. UNDERLINE _ "";
. FONT 1 "TIMESROMAN10"
. FONT 2 "TIMESROMAN10I"
. FONT 3 "GACHA10"
. FONT 4 "MATH10"
. FONT 5 "TIMESROMAN10B"
. SELECT 1;
.END ELSE UNDERLINE _ " "; ;
.PAGEWIDTH _ IF XCRIBL THEN 79 ELSE 71; PAGEDEPTH _ 67;
.PAGE FRAME PAGEWIDTH WIDE PAGEDEPTH HIGH;
.TITLE AREA PREHEAD LINES 1 TO 2;
.TITLE AREA HEADING LINES 3 TO 7;
.AREA TEXT LINES 8 TO PAGEDEPTH;
.<
>
.PLACE PREHEAD; SELECT 1
.PLACE HEADING; SELECT 1
.PLACE TEXT; SELECT 1
.nofill preface 0; fill preface 1;
.BEFORE PAGE
.PLACE PREHEAD;
.CENTER
{FORUSE}
.STANDARD TITLES
.turn on "\^{%"
.oddleftborder _ evenleftborder _ 1000;
.compact
.at "~" phrase "~" "phrase"
.macro indexer
.at "~" phrase "~" "phrase"
.turn on "{"
.send index }~phrase~ {page}%{
.turn off
.
.at "~" phrase "~" "phrase" <>
.next page
.at "[[" begin indent 0,0; nofill;
.at "]]" end; continue;
.at ";;" begin; nofill;
.end; continue
.MACRO KEEP(N) IF LINES LEQ N THEN NEXT PAGE;;
.MACRO DOSEC(CNT, NSKIPS, NAME, LBL, LEVEL) BEGIN
.FILL; NOJUST; INDENT INDENT2, INDENT2+5, 15; KEEP 6; SKIP NSKIPS
.NEXT CNT
.IF "LBL" NEQ NULL THEN LBL:
{!}. NAME
.SENDTOC(|{!}. NAME|, LEVEL)
.END
.MACRO SEC(NAME, LBL) DOSEC(SECTION, 2, |NAME|, LBL, 1)
.SKIP 1
.MACRO SSEC(NAME, LBL) DOSEC(SSECTION, 1, |NAME|, LBL, 2)
.MACRO SUBSEC(NAME, LBL) DOSEC(SSECTION, 1, |NAME|, LBL, 2)
.MACRO SSSEC(NAME, LBL) DOSEC(SSSECTION, 1, |NAME|, LBL, 3)
.COUNT SECTION FROM 1 TO 99;
.COUNT SSECTION FROM 1 TO 99 IN SECTION PRINTING "!.1";
.COUNT SSSECTION FROM 1 TO 99 IN SSECTION PRINTING "!.1"
.MACRO SH(HEAD!) SUBJECT _ "HEAD!";
.MACRO PTS BEGIN; NARROW 5,0; INDENT 0,2
.MACRO EPTS BREAK; END
.MACRO DEFS BEGIN; NARROW 5,0; INDENT 0,26; TABS 27,30
.MACRO EDEFS BREAK; END
.MACRO TOC INSERT CONTENTS; ISTOC_TRUE; PORTION BODY
.MACRO SENDTOC(ENTRY,LEVEL) IF ISTOC THEN START
.SEND CONTENTS
ENTRY{PAGE}
.
.END
.MACRO FINISH
.IF ISTOC THEN START
.PORTION CONTENTS; CENTER
Contents
.SKIP 4; NOFILL; RECEIVE; END
.ISTOC_FALSE
.MACRO SEE(LBL) "see page " ; PAGE! LBL
.expur1_1;expur2_2;expur3_3;
.FORUSE_"For Xerox Internal Use Only -- "&date;
.macro expurgate(r)
.if r="" then rr_1 else rr_r;
.if rr=expur1 or rr=expur2 or rr=expur3 then start
.macro question
.tty_"Type 'X' if you want to expurgate.";
.rr_tty;if rr="X" or rr="x" then start
.tty_"Do you wish to expunge PARC material?";
.rr_tty;if rr="Y" or rr="y" then start
. expur1_0;
. FORUSE_"For Xerox Internal Use Only -- "&date;
. end;
.tty_"Do you wish to expunge experimental systems?";
.rr_tty;if rr="Y" or rr="y" then start
. expur3_0;
. FORUSE_"For Xerox Internal Use Only -- "&date;
. end;
.tty_"Do you wish to expunge proprietary material?";
.rr_tty;if rr="Y" or rr="y" then start
. expur2_0;
. FORUSE_"Cleared version of "&date;
. tty_"Is this documentation for University of Rochester?";
. rr_tty; if rr="Y" or rr="y" then FORUSE_"For use only by University of Rochester";
. end;
.end
.
.macro copyright
.if expur2=0 then start
.if XCRIBL then start
%4c%* Xerox Corporation {year}
.end else start
Copyright Xerox Corporation {year}
.end
.end
.
.macro genindex
.portion index
.EVERY HEADING(|INDEX|,{date},{page})
.SKIP 3
.nofill
.turn on ""
.tabs 21,45
.letter _ phr _ waspg _ null;
.at "~" phrase "~" pgno "%"
.if ^letter NEQ ^"phrase"[1] then skip 1;
.if ^"phrase" NEQ ^phr then
. start
. break
. }phrase\ . \pgno{
. end
.else
. start
. if pgno NEQ waspg then
. start
. if chars < 4 then
. start
. },{
. break
. }\\pgno{
. end
.else },pgno{;
. end
. end
. phr _ "phrase";
. letter _ "phrase"[1];
. waspg _ pgno;
.
.receive "~~"
.!und _ "---------------------------------------------------------------"
.
.macro italic(str)
.turn on "%{";
.if xcribl then start
. }%2str%*{
.end else start
. }str{ <>
.end
.turn off;
.
.
.at "$&" str "&" italic(|str|)
.macro under(str)
.turn on "{";
.if xcribl then start
. }str{
.end else start
. }str{
.end
.turn off;
.
.
.at "$_" str "_" under(|str|)
.
.macro bolden(str)
.turn on "%{";
.if xcribl then start
. }%5str%*{
.end else start
. }str{
.end
.turn off;
.
.
.at "$|" str "|" bolden(|str|)