diff options
Diffstat (limited to 'macros/lamstex/inputs/lamstex.stb')
-rw-r--r-- | macros/lamstex/inputs/lamstex.stb | 317 |
1 files changed, 317 insertions, 0 deletions
diff --git a/macros/lamstex/inputs/lamstex.stb b/macros/lamstex/inputs/lamstex.stb new file mode 100644 index 0000000000..522d48bde7 --- /dev/null +++ b/macros/lamstex/inputs/lamstex.stb @@ -0,0 +1,317 @@ +% 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 |