summaryrefslogtreecommitdiff
path: root/macros/lamstex/inputs/lamstex.stf
blob: 9514ec05244800f17352f9e8145dbd9b1c529002 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
% LAMSTEX.STF  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\dotleaders{\leaders\hbox to10pt{\rm\hfil.\hfil}\hfil}
\def\Page@#1#2#3#4{\kern10pt\hbox{\rm#3#2{#1}#4}}
\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
  \rm\noindent@\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}
\newdimen\digits
\setbox0\hbox{0.00}
\digits=\wd0
\def\maketoc@W{CONTENTS}
\def\maketoc{\checkmainfile@\par\vfill\break
 \begingroup
 \noset@\unlabel@\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@=\@ne
  \bigbreak
   \begingroup
   \def\\{\unskip\space\ignorespaces}%
   \setentry@{\bf\def\next@{##2}\ifx\next@\empty\else##2\space\fi
    \let\style\HL@@S\Style@##3\Style@\ifemptynumber@\else\space\fi}%
    {\bf\ignorespaces##4\unskip}\dotleaders{\Page@{##5}{##6}{##7}{##8}}%
   \endgroup
   \nobreak\smallskip
  \else
   \Err@{\string\HL##1 not defined in this style}%
  \fi}%
 \def\hl##1##2##3##4\Page##5##6##7##8{\def\hllevel@{##1}%
   \ifnum\hllevel@=\@ne
    \setentry@{\rm\quad\let\style\hl@@S
     \hbox to\digits{\Style@##3\Style@\hfil}\enspace}%
     {\rm\ignorespaces##4\unskip}\dotleaders{\Page@{##5}{##6}{##7}{##8}}%
   \else
    \Err@{\string\hl##1 not defined in this style}%
   \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}}%
 \centerline{\bf\maketoc@W}%
 \vskip30\p@ plus10\p@ minus10\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
 \noset@\unlabel@\let\nopunct\relax\let\nospace\relax\let\overlong\relax
 \everypar{}\parindent\z@\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}}%
  \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}%
 \vbox{\Let@\tabskip\centering@\halign to\hsize
  {\bf\hfil\ignorespaces##\unskip\hfil\cr#2\crcr}}%
 \vskip30\p@ plus10\p@ minus10\p@
 \input\mainfile@.tic
 \endgroup}
\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