diff options
Diffstat (limited to 'macros/lamstex/inputs/book.stf')
-rw-r--r-- | macros/lamstex/inputs/book.stf | 360 |
1 files changed, 360 insertions, 0 deletions
diff --git a/macros/lamstex/inputs/book.stf b/macros/lamstex/inputs/book.stf new file mode 100644 index 0000000000..c5ff2bd72b --- /dev/null +++ b/macros/lamstex/inputs/book.stf @@ -0,0 +1,360 @@ +% BOOK.STF VERSION 2.0 +% COPYRIGHT (C) 1989, 1990, 1991 BY THE TEXPLORATORS CORPORATION +% ALL RIGHTS RESERVED + +% IF THIS FILE IS MODIFIED IN ANY WAY, IT SHOULD BE GIVEN A DIFFERENT NAME ! + +\catcode`\@=11 +\let\alloc@\alloc@@ + +\hsize=29pc +\vsize=40pc +\normallineskiplimit=1pt +\parindent=10pt +\advance\hoffset 42pt +\advance\voffset 90pt + +\def\makeheadline{\hbox{\botsmash{\line{\vbox to8.5pt{}\the\headline}}}% + \nointerlineskip\vskip26pt} +\def\makefootline{\baselineskip=2.5pc\relax\line{\the\footline}} + +\newnumstyle\page\roman + +\font@\ninerm=cmr9 +\font@\eightrm=cmr8 +\font@\sixrm=cmr6 +\font@\eighti=cmmi8 \skewchar\eighti='177 +\font@\sixi=cmmi6 \skewchar\sixi='177 +\font@\ninesy=cmsy9 \skewchar\ninesy='60 +\font@\eightsy=cmsy8 \skewchar\eightsy='60 +\font@\sixsy=cmsy6 \skewchar\sixsy='60 +\font@\eightbf=cmbx8 +\font@\sixbf=cmbx6 +\font@\eightit=cmti8 +\font@\eightsl=cmsl8 +\font@\eighttt=cmtt8 + +\ifmsamloaded@ + \font@\eightmsa=msam8 + \font@\sixmsa=msam6 +\fi + +\ifmsbmloaded@ + \font@\eightmsb=msbm8 + \font@\sixmsb=msbm6 +\fi + +\ifeufmloaded@ + \font@\eighteufm=eufm8 + \font@\sixeufm=eufm6 +\fi + +\ifcmmibloaded@ + \font@\eightcmmib=cmmib8 \skewchar\eightcmmib='177 + \font@\sixcmmib=cmmib6 \skewchar\sixcmmib='177 +\fi + +\ifcmbsyloaded@ + \font@\eightcmbsy=cmbsy8 \skewchar\eightcmbsy='60 + \font@\sixcmbsy=cmbsy6 \skewchar\sixcmbsy='60 +\fi + +\newskip\ttglue@ + +\def\tenpoint{\def\pointsize@{10}% + \normalbaselineskip12\p@ + \abovedisplayskip12\p@ plus3\p@ minus9\p@ + \belowdisplayskip12\p@ plus3\p@ minus9\p@ + \abovedisplayshortskip\z@ plus3\p@ + \belowdisplayshortskip7\p@ plus3\p@ minus4\p@ + \textonlyfont@\rm\tenrm + \textonlyfont@\it\tenit + \textonlyfont@\sl\tensl + \textonlyfont@\bf\tenbf + \ifsyntax@\def\big##1{{\hbox{$\left##1\right.$}}}\else + \let\big\tenbig@ + \textfont\z@\tenrm \scriptfont\z@\sevenrm \scriptscriptfont\z@\fiverm + \textfont\@ne\teni \scriptfont\@ne\seveni \scriptscriptfont\@ne\fivei + \textfont\tw@\tensy \scriptfont\tw@\sevensy \scriptscriptfont\tw@\fivesy + \textfont\thr@@\tenex \scriptfont\thr@@\tenex \scriptscriptfont\thr@@\tenex + \textfont\itfam\tenit + \textfont\slfam\tensl + \textfont\bffam\tenbf \scriptfont\bffam\sevenbf + \scriptscriptfont\bffam\fivebf + \ifmsamloaded@ + \textfont\msafam\tenmsa \scriptfont\msafam\sevenmsa + \scriptscriptfont\msafam\fivemsa + \fi + \ifmsbmloaded@ + \textfont\msbfam\tenmsb \scriptfont\msbfam\sevenmsb + \scriptscriptfont\msbfam\fivemsb + \fi + \ifeufmloaded@ + \textfont\eufmfam\teneufm \scriptfont\eufmfam\seveneufm + \scriptscriptfont\eufmfam\fiveeufm + \fi + \ifcmmibloaded@ + \textfont\cmmibfam\tencmmib \scriptfont\cmmibfam\sevencmmib + \scriptscriptfont\cmmibfam\fivecmmib + \fi + \ifcmbsyloaded@ + \textfont\cmbsyfam\tencmbsy \scriptfont\cmbsyfam\sevencmbsy + \scriptscriptfont\cmbsyfam\fivecmbsy + \fi + \fi + \let\tt\tentt + \tt\ttglue@.5emminus.15em + \setbox\strutbox\hbox{\vrule\height8.5\p@\depth3.5\p@\width\z@}% + \setbox\strutbox@\hbox{\vrule\height8\p@\depth3\p@\width\z@}% + \ex@.2326ex\normalbaselines\ifmmode\else\rm\fi} + +\def\tenbig@#1{{\hbox{$\left#1\vbox to8.5\p@{}\right.\n@space$}}} + +\tenpoint + +\def\eightpoint{\def\pointsize@{8}% + \normalbaselineskip10\p@ + \abovedisplayskip10\p@ plus2.4\p@ minus7.2\p@ + \belowdisplayskip10\p@ plus2.4\p@ minus7.2\p@ + \abovedisplayshortskip\z@ plus2.4\p@ + \belowdisplayshortskip5.6\p@ plus2.4\p@ minus3.2\p@ + \textonlyfont@\rm\eightrm + \textonlyfont@\it\eightit + \textonlyfont@\sl\eightsl + \textonlyfont@\bf\eightbf + \ifsyntax@\def\big##1{{\hbox{$\left##1\right.$}}}\else + \let\big\eightbig@ + \textfont\z@\eightrm \scriptfont\z@\sixrm \scriptscriptfont\z@\fiverm + \textfont\@ne\eighti \scriptfont\@ne\sixi \scriptscriptfont\@ne\fivei + \textfont\tw@\eightsy \scriptfont\tw@\sixsy \scriptscriptfont\tw@\fivesy + \textfont\thr@@\tenex \scriptfont\thr@@\tenex \scriptscriptfont\thr@@\tenex + \textfont\itfam\eightit + \textfont\slfam\eightsl + \textfont\bffam\eightbf \scriptfont\bffam\sixbf + \scriptscriptfont\bffam\fivebf + \ifmsamloaded@ + \textfont\msafam\eightmsa \scriptfont\msafam\sixmsa + \scriptscriptfont\msafam\fivemsa + \fi + \ifmsbmloaded@ + \textfont\msbfam\eightmsb \scriptfont\msbfam\sixmsb + \scriptscriptfont\msbfam\fivemsb + \fi + \ifeufmloaded@ + \textfont\eufmfam\eighteufm \scriptfont\eufmfam\sixeufm + \scriptscriptfont\eufmfam\fiveeufm + \fi + \ifcmmibloaded@ + \textfont\cmmibfam\eightcmmib \scriptfont\cmmibfam\sixcmmib + \scriptscriptfont\cmmibfam\fivecmmib + \fi + \ifcmbsyloaded@ + \textfont\cmbsyfam\eightcmbsy \scriptfont\cmbsyfam\sixcmbsy + \scriptscriptfont\cmbsyfam\fivecmbsy + \fi + \fi + \let\tt\eighttt + \tt\ttglue@.4emminus.12em + \setbox\strutbox\hbox{\vrule\height7\p@\depth3\p@\width\z@}% + \setbox\strutbox@\hbox{\vrule\height6.5\p@\depth2.5\p@\width\z@}% + \ex@.2326ex\normalbaselines\ifmmode\else\rm\fi} + +\def\eightbig@#1{{\hbox{$\textfont\z@\ninerm\textfont\tw@\ninesy + \left#1\vbox to6.5\p@{}\right.\n@space$}}} + +{\catcode` =\active +\gdef\litcodes@@{\def {\penalty\z@\hskip\ttglue@}}} + +\def\LamSTeX{L\kern-.4em\raise.3ex\hbox{$\ssize\Cal A$}% + \DN@{10}\ifx\next@\pointsize@\kern-.25em\else\kern-.3em\fi + \lower.4ex\hbox{\DN@{10}\ifx\next@\pointsize@\eightsy\else\sixsy\fi M}% + \kern-.1em{$\Cal S$}-\TeX} + +\font\Bf=cmbx10 scaled \magstep1 +\font\BF=cmbx10 scaled \magstep3 + +\newif\ifspecialpage@ + +\let\headline@\relax + +\def\makepiece#1{\par\vfill\break + \global\specialpage@true + \gdef\headline@{\ignorespaces#1\unskip}% + \centerline{\BF\uppercase{\ignorespaces#1\unskip}}% + \vskip30\p@ plus10\p@ minus 10\p@} + +\def\dotleaders{\leaders\hbox to10pt{\rm\hfil.\hfil}\hfil}% +\def\Page@#1#2#3#4{\hbox{\rm#3#2{#1}#4\unskip}}% +\long\def\widerthanhsize@#1#2#3#4{\test@true + \setbox\z@\vbox{\hsize\maxdimen + \rm\noindent@#1#2#3#4\par\setboxzl@}% + \ifdim\wdz@=\z@\setboxz@h{\rm#1#2#3#4}\ifdim\wdz@>\hsize\else + \test@false\fi\fi}% +\long\def\setentry@#1#2#3#4{% + \widerthanhsize@{#1}{#2}{#3}{#4}% + \iftest@ + \longentry@{#1}{#2}{#3}{#4}% + \else + \hbox to\hsize{\rm\strut#1#2#3#4\strut}% + \fi}% +\def\endstrut{\lower\dp\strutbox\vbox to\dp\strutbox{}} +\newdimen\thehang@ +\long\def\longentry@#1#2#3#4{\setboxz@h{#1}% + \thehang@\wdz@\advance\thehang@10\p@ + \setboxz@h{#4}% + \setbox\z@\vbox{\advance\hsize-\wdz@\advance\hsize-20\p@ + \normalbaselines + \hangafter\@ne\hangindent\thehang@ + \vskip-\parskip + \noindent@\rm\vbox to\ht\strutbox{}\hbox{#1}#2\vphantom{#3#4}\endstrut}% + \setbox\z@\vbox{\unvbox\z@ + \setboxzl@ + \hbox to\hsize{\kern\thehang@\unhbox\z@\unskip\unskip#3#4\endstrut}% + }% + \unvbox\z@}% +\newif\ifemptynumber@ +\def\Style@{\emptynumber@false\FN@\Style@@}% +\def\Style@@{\ifx\next"\expandafter\Style@@@\else\expandafter\Style@@@@\fi}% +\def\Style@@@@#1\Style@{\style{#1}}% +\def\Style@@@"#1"\Style@{\DN@{#1}\ifx\next@\empty\emptynumber@true + \else#1\fi}% + +\expandafter\def\csname HL@S0\endcsname#1{#1\/} +\expandafter\def\csname HL@S1\endcsname#1{#1\null.} +\expandafter\def\csname hl@S1\endcsname#1{#1\null.} +\expandafter\def\csname hl@S2\endcsname#1{#1\null.} +\expandafter\def\csname hl@S3\endcsname#1{#1\/} +\expandafter\def\csname hl@S4\endcsname#1{#1\/} + +\def\maketoc@W{Contents} + +\newif\ifbib@ + +\def\maketoc{\checkmainfile@\par\vfill\break + \begingroup + \unlabel@\noset@\let\nopunct\relax\let\nospace\relax\let\overlong\relax + \everypar{}\parindent\z@\lineskiplimit\z@ + \def\HL##1##2##3##4\Page##5##6##7##8{\def\HLlevel@{##1}% + \ifnum\HLlevel@=\z@ + \bigbreak\bigskip + \begingroup + \def\\{\unskip\space\ignorespaces}% + \setentry@{\Bf\def\next@{##2}\ifx\next@\empty\else\uppercase{##2} \fi + \let\style\HL@@S\hbox to35pt{\Style@##3\Style@\hss}\ifemptynumber@ + \nobreak\hskip-35pt\fi\uppercase{\ignorespaces##4\unskip}}{}\hfil{}% + \endgroup + \nobreak\smallskip + \else + \ifnum\HLlevel@=\@ne + \bigbreak + \begingroup + \def\\{\unskip\space\ignorespaces}% + \setentry@{\bf\def\next@{##2}\ifx\next@\empty\else##2 \fi + \let\style\HL@@S\Style@##3\Style@ + \ifemptynumber@\else\space\fi}% + {\bf\ignorespaces##4\unskip}\dotleaders{\Page@{##5}{##6}{##7}{##8}}% + \endgroup + \penalty500 \smallskip + \else + \Err@{\string\HL##1 not defined in this style}% + \fi\fi}% + \def\hl##1##2##3##4\Page##5##6##7##8{\def\hllevel@{##1}% + \ifnum\hllevel@<\thr@@ + \setentry@{\rm\kern10\p@\let\style\hl@@S\Style@##3\Style@ + \ifemptynumber@\else\space\fi}% + {\rm\ignorespaces##4\unskip}\dotleaders{\Page@{##5}{##6}{##7}{##8}}% + \vskip\parskip + \else + \ifnum\hllevel@<5 + \setentry@{}{\kern\hllevel@ em\quad + \rm\ignorespaces##4\unskip}\dotleaders{\Page@{##5}{##6}{##7}{##8}}% + \vskip\parskip + \else + \Err@{\string\hl##1 not defined in this style}% + \fi\fi}% + \def\NameHL##1##2{\def##2####1####2####3\Page{% + \HL{##1}{####1}{####2}####3\Page}}% + \def\Namehl##1##2{\def##2####1####2####3\Page{% + \hl{##1}{####1}{####2}####3\Page}}% + \NameHL0\part + \NameHL1\chapter \Namehl1\section \Namehl2\subsection \Namehl3\topic + \Namehl4\subtopic + \def\makebib##1\Page##2##3##4##5{\bigbreak\bigskip\bigskip + \setentry@{\Bf##1}{}{\dotleaders}{\Page@{##2}{##3}{##4}{##5}}% + \bib@true}% + \let\bibliography\makebib + \def\makeindex##1\Page##2##3##4##5{\ifbib@\bigskip\else + \bigbreak\bigskip\bigskip\fi + \setentry@{\Bf##1}{}{\dotleaders}{\Page@{##2}{##3}{##4}{##5}}}% + \global\specialpage@true + \gdef\headline@{\maketoc@W}% + \centerline{\BF\uppercase\expandafter{\maketoc@W}}% + \vskip30\p@ plus 10\p@ minus 10\p@ + \input\mainfile@.toc + \endgroup} + + + + +\def\makelistFigures{\makelist\c{F}List of Figures\endmakelist} +\def\makelistTables{\makelist\c{T}List of Tables\endmakelist} + +\def\makelist\c#1#2\endmakelist{\checkmainfile@ + \par\vfill\break + \begingroup + \unlabel@\noset@\let\nopunct\relax\let\nospace\relax\let\overlong\relax + \lineskiplimit\z@ + \def\listclass@{#1}% + \def\island{\FN@\island@}% + \def\island@{\ifx\next\at@\expandafter\island@@\else + \expandafter\island@@@\fi}% + \def\island@@\at@##1\c##2##3##4##5\Page##6##7##8##9{% + \def\islandtype@{##1}% + \def\next@{##2}% + \ifx\next@\listclass@ + \setentry@{\rm##3 \let\style\island@@@S\Style@##4\Style@ + \ifemptynumber@\else\space\fi}% + {\rm\ignorespaces##5\unskip}\dotleaders{\Page@{##6}{##7}{##8}{##9}}% + \vskip\parskip + \fi}% + \def\island@@@\c##1##2##3##4\Page##5##6##7##8{% + \island@@\at@\island\c{##1}{##2}{##3}##4\Page{##5}{##6}{##7}{##8}}% + \def\newisland##1\c##2##3{\def##1####1####2\Page####3####4####5####6{% + \island\at@##1\c{##2}{##3}{####1}####2\Page{####3}{####4}{####5}{####6}}}% + \newisland\Figure\c{F}{Figure}% + \newisland\Table\c{T}{Table}% + \global\specialpage@true + \gdef\headline@{\ignorespaces#2\unskip}% + \vbox{\Let@\tabskip\centering@\halign to\hsize + {\BF\baselineskip22pt\hfil\ignorespaces##\unskip\hfil\cr + \uppercase{\ignorespaces#2\unskip}\crcr}}% + \vskip30\p@ plus10\p@ minus10\p@ + \input\mainfile@.tic + \endgroup} + +\footline={\ifspecialpage@\hfil\ninerm\page@S{\page@P\page@N{\number\page@C}% + \page@Q}\hfil\fi + \global\specialpage@false} + +\headline={\unlabel@\noset@\def\\{\unskip\space\ignorespaces}% + \ifspecialpage@\hfil + \else + \ifodd\pageno + \hfil + \smc\headline@ + \hfil + \llap{\tenpoint\folio}% + \else + \rlap{\tenpoint\folio}% + \hfil + \smc\headline@ + \hfil + \fi + \fi} + +\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 |