summaryrefslogtreecommitdiff
path: root/macros/lamstex/inputs/book.stf
diff options
context:
space:
mode:
Diffstat (limited to 'macros/lamstex/inputs/book.stf')
-rw-r--r--macros/lamstex/inputs/book.stf360
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