% LAMSTEX.STB VERSION 2.0 % COPYRIGHT (C) 1989, 1990, 1991 BY THE TEXPLORATORS CORPORATION % ALL RIGHTS RESERVED % THIS FILE SHOULD NOT BE CHANGED IN ANY WAY. \catcode`\@=11 \let\alloc@\alloc@@ \def\adjustpunct@#1{\count@\lastkern \ifnum\count@=\z@#1\else \ifnum\count@>\tw@#1\else \ifnum\count@<-\tw@#1\else \unkern\unkern\setboxzl@ \skip@\lastskip\unskip \count@@\lastpenalty\unpenalty \ifnum\count@=\tw@\unskip\setboxzl@\fi \ifdim\skip@=\z@\else\hskip\skip@\fi #1% \ifnum\count@=\tw@\null\hfill\fi \penalty\count@@ \fi\fi\fi} \def\ignorepars@{\FNSS@\ignorepars@@} \def\ignorepars@@{\ifx\next\par\DN@\par{\FN@\ignorepars@@}\else \let\next@\relax\fi\next@} \newcount\ctype@ \newcount\Ctype@ \newif\ifleftcolbreak@ \def\cbreak@#1#2{\ifcase\ctype@#1\or\nobreak#2\else \global\leftcolbreak@true \ifdim\pagetotal>\pageheight@\global\leftcolbreak@false\fi \global\Ctype@\ctype@\break\fi\ctype@\z@} \newif\ifshortlastcolumn@ \newif\ifletter@ \newtoks\marktoks@i \newtoks\marktoks@ii \newtoks\marktoks@iii \newtoks\marktoks@iv \newtoks\marktoks@v \newif\ifentry@ \newcount\dii@ \def\Topage@#1#2{\DN@{#2}\ifx\next@\frompage@\pagecs@{\frompage@}% \else\pagecs@{\frompage@\hbox{--}#2}\fi\egroup\ignorepars@} \newdimen\pageheight@ \pageheight@\vsize \newdimen\doublepageheight@ \doublepageheight@2\pageheight@ \advance\doublepageheight@1pc \newdimen\pagewidth@ \pagewidth@\hsize \def\makeheadline{\vbox to\z@{\vskip-22.5pt\hbox to\pagewidth@ {\vbox to8.5\p@{}\the\headline}\vss}\nointerlineskip}% \def\makefootline{\baselineskip24\p@\hbox to\pagewidth@{\the\footline}}% \newif\iffirstindexpage@ \def\makeindex{\checkmainfile@\par\vfill\break \begingroup \let\asterisk*% \def\lkerns@{\null\kern\m@ne sp\kern\@ne sp}% \def\nkerns@{\null\kern-\tw@ sp\kern\tw@ sp}% \def\nocolumnbreak{\ctype@\@ne}% \def\columnbreak{\ctype@\tw@}% \def\newcolumn{\ctype@\thr@@}% \def\shortlastcolumn{\shortlastcolumn@true}% \def\LETTER##1{\par \mark{}% \cbreak@{\penalty-200 \bigskip}\bigskip \letter@true\centerline{\bf##1}\nobreak\medskip}% \def\Entry##1##2##3##4##5##6##7{\par\entry@true \marktoks@i{##3}\marktoks@ii{##4}\marktoks@iii{##5}% \marktoks@iv{##6}\marktoks@v{##7}% \ifcase##1% \or \ifletter@\else\mark{}\fi \cbreak@\relax\relax \noindent@ \mark{10{\the\marktoks@i}}% \hangafter\@ne\hangindent.5em{##3}% \or \ifcase##2% \ifletter@\else\mark{}\fi \cbreak@\relax\relax \noindent@ \mark{20{\the\marktoks@i}{\the\marktoks@ii}}% \hangafter\@ne\hangindent.5em{##3}\par\nobreak \noindent@\hangafter\@ne\hangindent1.5em\quad{##4}% \or \mark{10{\the\marktoks@i}}% \cbreak@\relax\relax \noindent@ \mark{21{\the\marktoks@i}{\the\marktoks@ii}}% \hangafter\@ne\hangindent1.5em\quad{##4}% \fi \or \ifcase##2% \ifletter@\else\mark{}\fi \cbreak@\relax\relax \noindent@ \mark{30{\the\marktoks@i}{\the\marktoks@ii}{\the\marktoks@iii}}% \hangafter\@ne\hangindent.5em{##3}\par\nobreak \noindent@\hangafter\@ne\hangindent1.5em\quad{##4}\par\nobreak \noindent@\hangafter\@ne\hangindent2.5em\qquad{##5}% \or \mark{10{\the\marktoks@i}}% \cbreak@\relax\relax \noindent@ \mark{31{\the\marktoks@i}{\the\marktoks@ii}{\the\marktoks@iii}}% \hangafter\@ne\hangindent1.5em\quad{##4}\par\nobreak \noindent@\hangafter\@ne\hangindent2.5em\qquad{##5}% \or \mark{2\number\dii@{\the\marktoks@i}{\the\marktoks@ii}}% \cbreak@\relax\relax \noindent@ \mark{32{\the\marktoks@i}{\the\marktoks@ii}{\the\marktoks@iii}}% \hangafter\@ne\hangindent2.5em\qquad{##5}% \fi \or \ifcase##2% \ifletter@\else\mark{}\fi \cbreak@\relax\relax \noindent@ \mark{40{\the\marktoks@i}{\the\marktoks@ii}{\the\marktoks@iii}% {\the\marktoks@iv}}% \hangafter\@ne\hangindent.5em{##3}\par\nobreak \noindent@\hangafter\@ne\hangindent1.5em\quad{##4}\par\nobreak \noindent@\hangafter\@ne\hangindent2.5em\qquad{##5}\par\nobreak \noindent@\hangafter\@ne\hangindent3.5em\qquad\quad{##6}% \or \mark{10{\the\marktoks@i}}% \cbreak@\relax\relax \noindent@ \mark{41{\the\marktoks@i}{\the\marktoks@ii}{\the\marktoks@iii}% {\the\marktoks@iv}}% \noindent@\hangafter\@ne\hangindent1.5em\quad{##4}\par\nobreak \noindent@\hangafter\@ne\hangindent2.5em\qquad{##5}\par\nobreak \noindent@\hangafter\@ne\hangindent3.5em\qquad\quad{##6}% \or \mark{2\number\dii@{\the\marktoks@i}{\the\marktoks@ii}}% \cbreak@\relax\relax \noindent@ \mark{42{\the\marktoks@i}{\the\marktoks@ii}{\the\marktoks@iii}% {\the\marktoks@iv}}% \noindent@\hangafter\@ne\hangindent2.5em\qquad{##5}\par\nobreak \noindent@\hangafter\@ne\hangindent3.5em\qquad\quad{##6}% \or \mark{3\number\dii@{\the\marktoks@i}{\the\marktoks@ii}% {\the\marktoks@iii}}% \cbreak@\relax\relax \noindent@ \mark{43{\the\marktoks@i}{\the\marktoks@ii}{\the\marktoks@iii}% {\the\marktoks@iv}}% \hangafter\@ne\hangindent3.5em\qquad\quad{##6}% \fi \or \ifcase##2% \ifletter@\else\mark{}\fi \cbreak@\relax\relax \noindent@ \mark{50{\the\marktoks@i}{\the\marktoks@ii}{\the\marktoks@iii}% {\the\marktoks@iv}{\the\marktoks@v}}% \hangafter\@ne\hangindent.5em{##3}\par\nobreak \noindent@\hangafter\@ne\hangindent1.5em\quad{##4}\par\nobreak \noindent@\hangafter\@ne\hangindent2.5em\qquad{##5}\par\nobreak \noindent@\hangafter\@ne\hangindent3.5em\qquad\quad{##6}\par\nobreak \noindent@\hangafter\@ne\hangindent4.5em\qquad\qquad{##7}% \or \mark{10{\the\marktoks@i}}% \cbreak@\relax\relax \noindent@ \mark{51{\the\marktoks@i}{\the\marktoks@ii}{\the\marktoks@iii}% {\the\marktoks@iv}{\the\marktoks@v}}% \hangafter\@ne\hangindent1.5em\quad{##4}\par\nobreak \noindent@\hangafter\@ne\hangindent2.5em\qquad{##5}\par\nobreak \noindent@\hangafter\@ne\hangindent3.5em\qquad\quad{##6}\par\nobreak \noindent@\hangafter\@ne\hangindent4.5em\qquad\qquad{##7}% \or \mark{2\number\dii@{\the\marktoks@i}{\the\marktoks@ii}}% \cbreak@\relax\relax \noindent@ \mark{52{\the\marktoks@i}{\the\marktoks@ii}{\the\marktoks@iii}% {\the\marktoks@iv}{\the\marktoks@v}}% \hangafter\@ne\hangindent2.5em\qquad{##5}\par\nobreak \noindent@\hangafter\@ne\hangindent3.5em\qquad\quad{##6}\par\nobreak \noindent@\hangafter\@ne\hangindent4.5em\qquad\qquad{##7}% \or \mark{3\number\dii@{\the\marktoks@i}{\the\marktoks@ii}% {\the\marktoks@iii}}% \cbreak@\relax\relax \noindent@ \mark{53{\the\marktoks@i}{\the\marktoks@ii}{\the\marktoks@iii}% {\the\marktoks@iv}{\the\marktoks@v}}% \hangafter\@ne\hangindent3.5em\qquad\quad{##6}\par\nobreak \noindent@\hangafter\@ne\hangindent4.5em\qquad\qquad{##7}% \or \mark{4\number\dii@{\the\marktoks@i}{\the\marktoks@ii}% {\the\marktoks@iii}{\the\marktoks@iv}}% \cbreak@\relax\relax \noindent@ \mark{54{\the\marktoks@i}{\the\marktoks@ii}{\the\marktoks@iii}% {\the\marktoks@iv}{\the\marktoks@v}}% \hangafter\@ne\hangindent4.5em\qquad\qquad{##7}% \fi \fi \dii@##2\relax \letter@false \ignorepars@}% \def\Page##1{\ifentry@\adjustpunct@,\enspace\else\adjustpunct@, \fi \entry@false{##1}\ignorepars@}% \def\Pagespan##1{\ifentry@\adjustpunct@,\enspace\else\adjustpunct@, \fi \entry@false\def\frompage@{##1}{##1}\ignorepars@}% \def\Topage##1{\DN@{##1}\ifx\next@\frompage@ \else\hbox{--}{##1}\fi\ignorepars@}% \def\PageSpan##1##2{\ifentry@\adjustpunct@,\enspace\else\adjustpunct@, \fi \entry@false\def\pagecs@{##1}\def\frompage@{##2}% \bgroup\let\Topage\Topage@\ignorepars@}% \def\Xref##1{\ifentry@\else \def\See####1{\adjustpunct@\semicolon@\space {\it see~also\/}~####1}{##1}\fi\ignorepars@}% \def\Morexref##1{\ifentry@\else \def\See####1{\adjustpunct@, ####1}{##1}\fi\ignorepars@}% \def\Entryxref##1##2##3##4##5##6##7##8{% \Entry{##1}{##2}{##3}{##4}{##5}{##6}{##7}% \def\See####1{\adjustpunct@, {\it see\/}~####1}{##8}\ignorepars@}% \hsize3in \global\vsize\doublepageheight@ \maxdepth\maxdimen \global\firstindexpage@true \global\advance\vsize-60\p@ \everypar{}\parindent\z@ \rightskip\z@ plus3em \spaceskip.3333em \xspaceskip.5em \output{\doublecolumns@}% \input\mainfile@.xdx \mark{}% \output{\balancecolumns@}\vfil\break\endgroup \global\vsize\pageheight@} \def\makeindex@W{Index} \def\combinecolumns@{% \setbox\outbox@\vbox{\makeheadline \vbox to\pageheight@{\boxmaxdepth\maxdepth \iffirstindexpage@ \vbox to30\p@{\vskip10\p@ \hbox to\pagewidth@{\hfil\bf\uppercase\expandafter{\makeindex@W}\hfil}% \vfil}% \nointerlineskip \fi \wd\z@\hsize\wd\tw@\hsize \setboxz@h to\pagewidth@{\box\z@\kern.5in\box\tw@}% \dimen@\dp\z@\box\z@\kern-\dimen@\vfill}% \makefootline}% {\noexpands@\let\style=\relax \shipout@\box\outbox@ }% \global\vsize\doublepageheight@ \global\firstindexpage@false \advancepageno} \newdimen\prevcoldepth@ \def\doublecolumns@{% \dimen@\pageheight@\iffirstindexpage@\advance\dimen@-30\p@\fi \ifleftcolbreak@ \global\leftcolbreak@false \vbox to\dimen@{\dimen@\dp\@cclv\unvbox\@cclv \ifnum\Ctype@=\thr@@\kern-\dimen@\vfill\fi}% \allowbreak \else \splittopskip\topskip\splitmaxdepth\maxdepth \setbox\z@\vsplit\@cclv to\dimen@ \ifnum\Ctype@=\z@\global\Ctype@\@ne\fi \ifcase\Ctype@\or \setbox\tw@\vsplit\@cclv to\dimen@\global\prevcoldepth@\dp\tw@ \else \global\prevcoldepth@\dp\@cclv \setbox\tw@\vbox to\dimen@{\unvbox\@cclv \ifnum\Ctype@=\thr@@\kern-\prevcoldepth@\vfill\fi}% \fi \combinecolumns@ \ifcase\Ctype@\or \expandafter\continue@\splitbotmark{}\relax\relax\relax\relax \relax\relax\continue@ \else\expandafter\continue@\botmark{}\relax\relax\relax\relax \relax\relax\continue@ \fi \ifvoid\@cclv\else\unvbox\@cclv\penalty\outputpenalty\fi \fi \global\Ctype@\z@} \def\continue@#1#2#3#4#5#6#7#8\continue@{\def\next@{#1}\ifx\next@\empty \else \noindent@#3 ({\it continued\/})\par \ifnum#1>\@ne\noindent@\enspace(#4 {\it continued\/})\par\fi \ifnum#1>\tw@\noindent@\enspace(#5 {\it continued\/})\par\fi \ifnum#1>\thr@@\noindent@\enspace(#6 {\it continued\/})\par\fi \ifnum#1>4 \noindent@\enspace(#7 {\it continued\/})\par\fi \ifvoid\@cclv \global\advance\prevcoldepth@-\prevdepth\kern\prevcoldepth@ \else \skip@\baselineskip\advance\skip@\parskip \advance\skip@-\topskip\advance\skip@-\prevdepth \vskip\skip@ \fi \fi} \def\balancecolumns@{\setbox\z@\vbox{\unvbox\@cclv\unskip}% \dimen@\ht\z@\advance\dimen@\topskip\advance\dimen@-\baselineskip \divide\dimen@\tw@ \splittopskip\topskip \global\dimen@i\dimen@ {\vbadness\@M \loop \global\setbox\thr@@\copy\z@ \global\setbox\@ne\vsplit\thr@@ to\dimen@i \ifdim\ht\thr@@>\dimen@i\global\advance\dimen@i\p@ \repeat}% \setbox\z@\vbox to\dimen@i{\unvbox\@ne}% \setbox\tw@\vbox to\dimen@i{\dimen@\dp\thr@@\unvbox\thr@@ \ifshortlastcolumn@\kern-\dimen@\vfill\fi}% \combinecolumns@} \def\alloc@#1#2#3#4#5{\global\advance\count1#1by\@ne \ch@ck#1#4#2\allocationnumber\count1#1 \global#3#5\allocationnumber \wlog{\string#5\string#2\the\allocationnumber}} \catcode`\@=\active