|
|
1.1 root 1: \vsize 8.5truein %set to 6.67in for book
2: \hsize 6truein %set to 4in for book
3: \hsize 4in
4: \vsize 40pc %
5: \hfuzz=5.0pt
6: \newdimen\pagedepth
7: \pagedepth=\vsize\advance\pagedepth by -8pt
8: \hyphenpenalty=200
9: \clubpenalty=200\widowpenalty=300\brokenpenalty=200
10: \pretolerance=500 \tolerance=250
11: \parindent=12pt
12: \parskip=0pt plus 0.5pt
13: \input cmfont.tex
14: \newdimen\titlebaselineskip\titlebaselineskip=24pt
15: \font\titlefont=cmr10 scaled \magstep4
16: \font\runningheadfont=cmr7 scaled \magstephalf
17: \def\grad{\nabla}
18: \def\bold#1{\hbox{\bf#1}}%
19: %\def\fat#1{\hbox{\rlap{$#1$}\kern0.25pt\rlap{$#1$}\kern0.25pt$#1$}}%
20: \def\fat#1{{\bmit#1}}
21: %\def\hatfat#1{\smash{\hat{\fat#1}}\vphantom{#1}}
22: \def\hatfat#1{\hat{\fat#1}}
23: \def\hatbold#1{\smash{\hat{\bold#1}}\vphantom{\bold #1}}
24: \def\and{\hbox{and}}
25: \def\for{\hbox{for}}
26: \def\where{\hbox{where}}
27: %\def\vert{\,|\,}
28: \def\given{\,|\,}
29: \def\ast{{*}}
30: \def\pr{\mathop{\rm pr}\nolimits}
31: \def\tr{\mathop{\rm tr}\nolimits}
32: \def\var{\mathop{\rm var}\nolimits}
33: \def\cv{\mathop{\rm cv}\nolimits}
34: \def\cov{\mathop{\rm cov}\nolimits}
35: \def\se{\mathop{\rm s.e.}\nolimits}
36: \def\diag{\mathop{\rm diag}}
37: \def\odds{\mathop{\rm odds}}
38: \def\logit{\mathop{\rm logit}}
39: \def\sign{\mathop{\rm sign}}
40: \def\DET{\mathop{\rm DET}}
41: \def\subdot{{\hbox{\bf .}}}
42: \def\point{{\tenbf .}}% plotting point
43: \def\i.e.{i.e.}
44: \def\apriori{{a~priori}}
45: \def\versus{{vs.}}
46: \def\etal{{\it et~al.}}
47: \def\Mark#1{\mark{\number\chapno.\number\sectionno\ \ #1}\ignorespaces}
48: \def\alphabeta{\mkern-1.2\thinmuskip\alpha\!\beta\mkern-0.5\thinmuskip}
49: \newdimen\dpth
50: \def\up#1{\setbox0=\hbox{$#1$}\dpth=\dp0\raise\dpth\box0}
51: \def\upchi{{\up\chi}}
52: \def\low#1{\lower 2.5pt\hbox{\sevenrm #1}}%
53: \def\rA{r_{\mkern-0.5\thinmuskip\hbox{\sixrm A}}}%
54: \def\rD{r_{\mkern-0.5\thinmuskip\hbox{\sixrm D}}}%
55: \def\rG{r_{\mkern-0.5\thinmuskip\hbox{\sixrm G}}}%
56: \def\rP{r_{\mkern-0.5\thinmuskip\hbox{\sixrm P}}}%
57: \def\onerP{\low1\rP}%
58: \def\onerD{\low1\rD}%
59: \def\onerG{\low1\rG}%
60: %\def\scrX{\hbox{\rlap{\italicfourteen x}\kern 0.35pt{\italicfourteen x}}}
61: %\def\wide#1{\hbox{\rlap{\italictwelve#1}\kern0.2pt\italictwelve#1}}
62: %\def\scrM{\wide{M}}
63: \def\vhalf{{\textstyle{1\over2}}}
64: \def\half{{\hbox{\frac1/2}}}
65: \def\threehalf{{\hbox{\frac3/2}}}
66: \def\ignore#1{\relax}
67: %\def\negsmallskip{\vskip -3pt plus -1pt minus -1pt}
68: %\def\negmedskip{\vskip -6pt plus -2pt minus -2pt}
69: \def\negbigskip{\vskip -12pt plus -4pt minus -4pt}
70: \def\sectionskip{{\widowpenalty=10000\need 3.0pc \vskip 18pt plus 4pt minus 2pt}}
71: \def\Sectionskip{{\widowpenalty=10000\need 5.7pc \vskip 24pt plus 5pt minus 2pt}}
72: \newcount\exno
73: \def\beginexercises{\begingroup\exno=0 \negbigskip}
74: \def\endexercises{\endgroup}
75: \def\exercise{\advance\exno by 1
76: \setbox0=\hbox{\bf\number\chapno.\number\exno\kern10pt}%
77: \vskip 5pt plus 3pt\par\penalty-50 \noindent\box0\ignorespaces}
78: % {\parindent=\wd0 \smallskip\par\penalty-50
79: % \indent\llap{\box0}\ignorespaces}}
80: \def\makeheadline{\vbox to 0pt{\vskip-16.5pt
81: \line{\noindent\vbox to 8.5pt{}\the\headline}\vss}
82: \nointerlineskip}
83: \def\makefootline{\baselineskip=20pt \noindent\line{\the\footline}}
84: \def\plainoutput{\shipout\vbox{\makeheadline\pagebody\makefootline\hfil}%
85: \advancepageno
86: \ifnum\outputpenalty>-20000 \else\dosupereject\fi}
87: \def\pagebody{\vbox to\vsize{
88: \ifvoid\margin\else
89: \rlap{\kern\hsize\kern 8pt\vbox to0pt{\box\margin \vss}}\fi
90: \boxmaxdepth=\maxdepth \pagecontents}}
91: % could use \raggedbottom or re-define \pagecontents
92: \voffset=2\baselineskip
93: %\headline={\runningheadfont\ifodd\pageno\rightheadline \else\leftheadline\fi}
94: \headline={\ifnum\pageno=\startingpage \hfil\else
95: {\runningheadfont\ifodd\pageno\rightheadline\else\leftheadline\fi}\fi}
96: \footline={\ifnum\pageno=\startingpage
97: {\runningheadfont\ifodd\pageno\rightfootline
98: \else\leftfootline\fi}\else\hfil\fi}
99: \def\rightheadline{\botmark\hfil\folio}
100: \def\leftheadline{\folio\hfil\chaptername}
101: \def\chaptername{}
102: %\nopagenumbers
103: \def\rightfootline{\ifproofmode\draftmessage\fi\hfil\folio}
104: \def\leftfootline{\folio\hfil\ifproofmode\draftmessage\fi}
105: \def\today{\number\day\space \ifcase\month\or
106: Jan\or Feb\or Mar\or Apr\or May\or June\or
107: July\or Aug\or Sept\or Oct\or Nov\or Dec\fi
108: \space\number\year}
109: \def\s{\kern 1pt}
110: \newcount\startingpage\startingpage=1
111: \newcount\chapno\chapno=1
112: \newcount\sectionno\sectionno=0
113: \newcount\subsectionno\subsectionno=0
114: \newdimen\titleheight
115: \def\Chapter#1 #2#3{
116: \message{#1 #2:#3} % show the chapter title on the terminal
117: \iftoc\immediate\write\conts{\string\first {#1} {#2 #3} {\the\pageno}}\else\fi
118: \chapno=#1 \sectionno=0 \subsectionno=0 \eqnum=0 \figno=0
119: \sectionheading{{C\s H\s A\s P\s T\s E\s R\s\ \ #1}} {#2} {#3}
120: \def\rightheadline{\botmark\hfil\folio}}
121: \def\chapter#1 #2{\Chapter{#1} {#2}{}}
122: \def\frac#1/#2{\leavevmode
123: \raise.05ex\hbox{\the\scriptfont0 #1}\kern-.1em
124: {\the\scriptfont0 /}\kern-.10em\lower.05ex\hbox{\the\scriptfont0 #2}}
125: \def\need#1 {\vskip 0pt plus #1 \penalty -200 \vskip 0pt plus -#1}
126: \def\allowpagebreak{\vadjust{\vskip 0pt plus 12pt \penalty0 \vskip 0pt plus -12pt}}%
127: %
128: % indexing gadgets taken from page 415 and following pages
129: \newinsert\margin
130: \dimen\margin=\maxdimen
131: \count\margin=0 \skip\margin=0pt
132: %
133: % taken from page 423
134: \newwrite\inx
135: \immediate\openout\inx=index % file for index reminders
136: \def\marginstyle{\sevenrm % marginal notes are in 7-point type
137: \vrule height6pt depth2pt width 0pt } % a strut for \insert\margin
138: %
139: \newif\ifsilent
140: \def\specialhat{\ifmmode\def\next{^}\else\let\next=\beginxref\fi\next}
141: \def\beginxref{\futurelet\next\beginxrefswitch}
142: \def\beginxrefswitch{\ifx\next\specialhat\let\next=\silentxref
143: \else\silentfalse\let\next=\xref\fi \next}
144: \catcode`\^=\active \let ^=\specialhat
145: \def\silentxref^{\silenttrue\xref}
146: %
147: %taken from page 424
148: \chardef\bslash=`\\ % \bslash makes a backslash (in tt fonts)
149: \def\xref{\futurelet\next\xrefswitch} % branch on the next character
150: \def\xrefswitch{\begingroup\ifx\next|\aftergroup\vxref
151: \else\ifx\next\<\aftergroup\anglexref
152: \else\aftergroup\normalxref \fi\fi \endgroup}
153: \def\vxref|{\catcode`\\=\active \futurelet\next\vxrefswitch}
154: \def\vxrefswitch#1|{\catcode`\\=0
155: \ifx\next\empty\def\xreftype{2}%
156: \def\next{{\tt\bslash\text}}% code 2, |\arg|
157: \else\def\xreftype{1}\def\next{{\text}}\fi % code 1, |arg|
158: \edef\text{#1}\makexref}
159: {\catcode`\|=0 \catcode`\\=\active |gdef\{}}
160: \def\anglexref\<#1>{\def\xreftype{3}\def\text{#1}%
161: \def\next{\<\text>}\makexref} % code 3, \<arg>
162: \def\normalxref#1{\def\xreftype{0}\def\text{#1}\let\next=\text\makexref}
163: %
164: \newif\ifproofmode
165: \proofmodetrue % this should be false when making camera-ready copy
166: \def\makexref{\ifproofmode\insert\margin{\hbox{\marginstyle\text}}%
167: \xdef\writeit{\write\inx{\text\space!\xreftype\space
168: \noexpand\number\pageno.}}\writeit
169: \else\ifhmode\kern0pt \fi\fi
170: \ifsilent\ignorespaces\else\next\fi}
171: %
172: \def\Section#1{\advance\sectionno by 1 \subsectionno=0
173: \line{\bf ^|\number\chapno.\number\sectionno\ \ \ #1| \hfil}%
174: \Mark{\uppercase{#1}}%
175: \message{Section \number\chapno.\number\sectionno: #1.}
176: \iftoc\immediate\write\conts{\string\second{\the\chapno.\number\sectionno }{#1}{\the\pageno}} \else\fi
177: \vskip 10pt plus 3pt minus 2pt
178: \noindent\nobreak\ignorespaces
179: }
180: \def\section#1{\penalty-100 \advance\subsectionno by 1
181: ^^|\number\chapno.\number\sectionno.\number\subsectionno\ \ #1|%
182: \leftline{\rm\number\chapno.\number\sectionno.\number\subsectionno\ \ \it#1}%
183: \message{Section \number\chapno.\number\sectionno.\number\subsectionno: #1.}
184: \iftoc\immediate\write\conts{\string\third{\number\chapno.\number\sectionno.\number\subsectionno}{#1}{\the\pageno}}\else\fi
185: \vskip 5pt plus 2pt minus 1pt
186: \noindent\nobreak\ignorespaces
187: }
188: \newdimen\digitwidth
189: \newdimen\signwidth
190: \newif\ifpicturemode\picturemodetrue
191: %\input cmfont.tex
192: \def\makestrut#1 #2 {\hbox{\vrule height#1pt depth#2pt width0pt}}
193: \def\medstrut{\makestrut 10.5 4.5 }
194: \def\bigstrut{\makestrut 12.5 5.5 }
195: \def\Bigstrut{\makestrut 17.0 7.0 }
196: \def\tmstyle{\proofmodefalse\hsize=6.0in\vsize=8.5in
197: \pagedepth=\vsize\advance\pagedepth by -8pt
198: \def\leftheadline{\botmark\hfil\folio}
199: \def\rightfootline{\hfil\folio}
200: \def\leftfootline{\hfil\folio}}
201: \def\doubleeqalignno#1{%
202: \openup 1\jot \tabskip=0pt plus 40em
203: \halign to \displaywidth{%
204: \tabskip=0pt plus 40em
205: \hfil$\displaystyle{##}$\tabskip=0pt &$\displaystyle{{}##}$\hfil
206: \tabskip=0em plus 40em minus 40em&
207: \hfil$\displaystyle{##}$\tabskip=0pt &$\displaystyle{{}##}$\hfil
208: \tabskip=0pt plus 40em&\llap{$##$}\tabskip=0pt\crcr#1\crcr}}
209: \def\tsum{\mathop{\textstyle\sum}}
210: \def\sweep{{\cal S}}
211: \newdimen\wdth
212: \def\Dashfill{\cleaders\hbox to 4pt{\hss$-$\hss}\hfill}
213: \def\dashfill{\cleaders\hbox to 1em{\hss---\hss}\hfill}
214: \def\dashfill{\setbox0=\hbox{---}\wdth=\wd0\cleaders\hbox to\wdth{---}\hfill}
215: % \Dashfill is a heavier line than \dashfill
216: \newif\ifrightinsertmode\rightinsertmodetrue
217: \newif\ifquerymode\querymodetrue
218: \newdimen\marginsize\marginsize=2.5in
219: \def\query#1{%
220: \leavevmode\ifproofmode
221: \ifquerymode \qquery{#1}\fi%
222: \else
223: \vadjust{}\strut{}%
224: \fi\ignorespaces}
225: \def\qquery#1{%
226: \vadjust{%
227: \setbox0=\vbox to 0pt{
228: \vss
229: \hsize=\marginsize
230: \textfont0=\sevenrm
231: \textfont1=\seveni
232: \textfont2=\sevensy
233: \sevenrm
234: \fam0
235: \baselineskip=8pt
236: \parindent=0pt
237: \boxmaxdepth=0pt
238: \raggedright
239: \noindent
240: #1\vrule height0pt depth\dp\strutbox width0pt
241: }% end of the \vbox containing the query
242: \ifrightinsertmode
243: \hbox to \hsize{\hfil\rlap{\hskip 10pt \box0%
244: }% end of the \rlap to get out into the margin
245: }% end of the \hbox to get to the right end of the line
246: \else
247: \hbox to \hsize{\llap{\box0\hskip 10pt%
248: }% end of the \llap to get out into the margin
249: \hfil}% end of the \hbox to get to the left end of the line
250: \fi
251: }% end of the \vadjust
252: \strut{}%
253: }% end of the \qquery macro
254: % These macros are for unnumbered in situ displayed tables as opposed
255: % to floating displays, which usually have numbers for reference.
256: % The format is \displaystart 3pc ... \displayend
257: % If there are fewer than 3 lines left on the current page a new page is
258: % begun with abovedisplayskip glue set to zero.
259: % The display glue for these tables has less shrinkage than ordinary
260: % $$ ... $$ displays.
261: \def\displaystart#1 {\need#1 \vskip 8pt plus 3pt minus 7pt
262: $$\abovedisplayskip=-8pt
263: \belowdisplayskip=12pt plus3pt minus6pt
264: \predisplaypenalty0 \postdisplaypenalty0 }
265: \def\displayend{$$}
266: % \setbox0=\hbox{\rm 0} \digitwidth=\wd0
267: % \catcode`@=\active \def@{\kern\digitwidth}
268: % \setbox1=\hbox{$-$} \signwidth=\wd1
269: % \catcode`?=\active \def?{\kern\signwidth}
270: \def\sectionheading#1#2#3{%
271: \startingpage=\pageno
272: \setbox2=\hbox to\hsize{\hss\titlefont #2\hss}
273: \setbox3=\hbox to\hsize{\hss\titlefont #3\hss}
274: \titleheight=\ht3 ^^|\number\chapno\ #2 #3|%
275: \ifdim\titleheight>0pt
276: \gdef\chaptername{\uppercase{#2 #3}}
277: \else\gdef\chaptername{\uppercase{#2}} \fi
278: \vbox{\vskip 0pt \hrule \vskip 24pt\centerline{\rm\strut #1}
279: \vskip 10pt
280: {\baselineskip=\titlebaselineskip
281: \box2 \ifdim\titleheight>0pt \box3\fi}
282: \vskip 20pt \noindent\hrule height 1pt}
283: \vskip 22pt plus 8pt minus 2pt}
284: \hyphenation{par-am-eter par-am-eters tedi-ous}
285: \input monmac
286: \input psfig
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.