|
|
1.1 root 1: \def\LL{<<}
2: \def\GG{>>}
3: \def\LLS{[[}
4: \def\RRS{]]}
5:
6: % make \hsize in code sufficient for 80 columns
7: \setbox0=\hbox{\tt m}
8: \newdimen\codehsize
9: \codehsize=83\wd0 % 80 columns wasn't enough; I don't know why
10:
11: \chardef\other=12
12: \def\setupcode{\parindent=0pt\parskip=0pt
13: \hsize=\codehsize
14: \chardef\\=`\\
15: \chardef\{=`\{
16: \chardef\}=`\}
17: \catcode`\$=\other
18: \catcode`\&=\other
19: \catcode`\#=\other
20: \catcode`\%=\other
21: \catcode`\~=\other
22: \catcode`\_=\other
23: \catcode`\^=\other
24: \obeyspaces \newlines\tt
25: }
26: {\catcode`\^^M=\active % make CR an active character
27: \gdef\newlines{\catcode`\^^M=\active % make CR an active character
28: \def^^M{\par\startline}}%
29: \gdef\eatline#1^^M{\relax}%
30: }
31: %%% DON'T \gdef^^M{\par\startline}}% in case ^^M appears in a \write
32: \def\startline{\noindent\hskip\parindent\ignorespaces}
33:
34: {\obeyspaces\global\let =\ } % from texbook, p 381
35: \def\setupmodname{%
36: \catcode`\$=3
37: \catcode`\&=4
38: \catcode`\#=6
39: \catcode`\%=14
40: \catcode`\~=13
41: \catcode`\_=8
42: \catcode`\^=7
43: \catcode`\ =10
44: \catcode`\^^M=5
45: \rm}
46: \def\LA{\begingroup\setupmodname\it$\langle${}}
47: \def\RA{\/$\rangle$\endgroup}
48: \def\code{\begingroup\setupcode}
49: \def\edoc{\endgroup}
50:
51: \def\begindocs#1{\filbreak}
52: \def\enddocs{\par}
53: \def\begincode#1{\nobreak\begingroup\setupcode\bchack}
54: {\catcode`\^^M=\active % make CR an active character
55: \gdef\bchack#1^^M{\relax}%
56: }
57: \def\endcode{\endgroup\filbreak}
58: \newbox\equivbox
59: \setbox\equivbox=\hbox{$\equiv$}
60: % \moddef can't have an argument because there might be \code...\edoc
61: \def\moddef{\LA}
62: \def\endmoddef{\RA\unhcopy\equivbox}
63:
64: \def\filename#1{\vfil\eject\mark{#1}}
65:
66:
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.