1 | % LLNCS DOCUMENT CLASS -- version 2.3 |
---|
2 | % for LaTeX2e |
---|
3 | % |
---|
4 | \NeedsTeXFormat{LaTeX2e}[1995/12/01] |
---|
5 | \ProvidesClass{llncs}[1998/03/25 v2.3 |
---|
6 | ^^JLaTeX document class for Lecture Notes in Computer Science] |
---|
7 | % Options |
---|
8 | \let\if@envcntreset\iffalse |
---|
9 | \DeclareOption{envcountreset}{\let\if@envcntreset\iftrue} |
---|
10 | \DeclareOption{citeauthoryear}{\let\citeauthoryear=Y} |
---|
11 | \DeclareOption{oribibl}{\let\oribibl=Y} |
---|
12 | \let\if@envcntsame\iffalse |
---|
13 | \DeclareOption{envcountsame}{\let\if@envcntsame\iftrue} |
---|
14 | \let\if@envcntsect\iffalse |
---|
15 | \DeclareOption{envcountsect}{\let\if@envcntsect\iftrue} |
---|
16 | \let\if@runhead\iffalse |
---|
17 | \DeclareOption{runningheads}{\let\if@runhead\iftrue} |
---|
18 | |
---|
19 | \let\if@openbib\iffalse |
---|
20 | \DeclareOption{openbib}{\let\if@openbib\iftrue} |
---|
21 | |
---|
22 | \DeclareOption*{\PassOptionsToClass{\CurrentOption}{article}} |
---|
23 | |
---|
24 | \ProcessOptions |
---|
25 | |
---|
26 | \LoadClass[twoside]{article} |
---|
27 | \RequirePackage{multicol} % needed for the list of participants, index |
---|
28 | |
---|
29 | \setlength{\textwidth}{12.2cm} |
---|
30 | \setlength{\textheight}{19.3cm} |
---|
31 | |
---|
32 | \renewcommand\small{% |
---|
33 | \@setfontsize\small\@ixpt{11}% |
---|
34 | \abovedisplayskip 8.5\p@ \@plus3\p@ \@minus4\p@ |
---|
35 | \abovedisplayshortskip \z@ \@plus2\p@ |
---|
36 | \belowdisplayshortskip 4\p@ \@plus2\p@ \@minus2\p@ |
---|
37 | \def\@listi{\leftmargin\leftmargini |
---|
38 | \parsep 0\p@ \@plus1\p@ \@minus\p@ |
---|
39 | \topsep 8\p@ \@plus2\p@ \@minus4\p@ |
---|
40 | \itemsep0\p@}% |
---|
41 | \belowdisplayskip \abovedisplayskip |
---|
42 | } |
---|
43 | |
---|
44 | \frenchspacing |
---|
45 | \widowpenalty=10000 |
---|
46 | \clubpenalty=10000 |
---|
47 | |
---|
48 | \setlength\oddsidemargin {63\p@} |
---|
49 | \setlength\evensidemargin {63\p@} |
---|
50 | \setlength\marginparwidth {90\p@} |
---|
51 | |
---|
52 | \setlength\headsep {16\p@} |
---|
53 | |
---|
54 | \setlength\footnotesep{7.7\p@} |
---|
55 | \setlength\textfloatsep{8mm\@plus 2\p@ \@minus 4\p@} |
---|
56 | \setlength\intextsep {8mm\@plus 2\p@ \@minus 2\p@} |
---|
57 | |
---|
58 | \setcounter{secnumdepth}{2} |
---|
59 | |
---|
60 | \newcounter {chapter} |
---|
61 | \renewcommand\thechapter {\@arabic\c@chapter} |
---|
62 | |
---|
63 | \newif\if@mainmatter \@mainmattertrue |
---|
64 | \newcommand\frontmatter{\cleardoublepage |
---|
65 | \@mainmatterfalse\pagenumbering{Roman}} |
---|
66 | \newcommand\mainmatter{\cleardoublepage |
---|
67 | \@mainmattertrue\pagenumbering{arabic}} |
---|
68 | \newcommand\backmatter{\if@openright\cleardoublepage\else\clearpage\fi |
---|
69 | \@mainmatterfalse} |
---|
70 | |
---|
71 | \renewcommand\part{\cleardoublepage |
---|
72 | \thispagestyle{empty}% |
---|
73 | \if@twocolumn |
---|
74 | \onecolumn |
---|
75 | \@tempswatrue |
---|
76 | \else |
---|
77 | \@tempswafalse |
---|
78 | \fi |
---|
79 | \null\vfil |
---|
80 | \secdef\@part\@spart} |
---|
81 | |
---|
82 | \def\@part[#1]#2{% |
---|
83 | \ifnum \c@secnumdepth >-2\relax |
---|
84 | \refstepcounter{part}% |
---|
85 | \addcontentsline{toc}{part}{\thepart\hspace{1em}#1}% |
---|
86 | \else |
---|
87 | \addcontentsline{toc}{part}{#1}% |
---|
88 | \fi |
---|
89 | \markboth{}{}% |
---|
90 | {\centering |
---|
91 | \interlinepenalty \@M |
---|
92 | \normalfont |
---|
93 | \ifnum \c@secnumdepth >-2\relax |
---|
94 | \huge\bfseries \partname~\thepart |
---|
95 | \par |
---|
96 | \vskip 20\p@ |
---|
97 | \fi |
---|
98 | \Huge \bfseries #2\par}% |
---|
99 | \@endpart} |
---|
100 | \def\@spart#1{% |
---|
101 | {\centering |
---|
102 | \interlinepenalty \@M |
---|
103 | \normalfont |
---|
104 | \Huge \bfseries #1\par}% |
---|
105 | \@endpart} |
---|
106 | \def\@endpart{\vfil\newpage |
---|
107 | \if@twoside |
---|
108 | \null |
---|
109 | \thispagestyle{empty}% |
---|
110 | \newpage |
---|
111 | \fi |
---|
112 | \if@tempswa |
---|
113 | \twocolumn |
---|
114 | \fi} |
---|
115 | |
---|
116 | \newcommand\chapter{\clearpage |
---|
117 | \thispagestyle{empty}% |
---|
118 | \global\@topnum\z@ |
---|
119 | \@afterindentfalse |
---|
120 | \secdef\@chapter\@schapter} |
---|
121 | \def\@chapter[#1]#2{\ifnum \c@secnumdepth >\m@ne |
---|
122 | \if@mainmatter |
---|
123 | \refstepcounter{chapter}% |
---|
124 | \typeout{\@chapapp\space\thechapter.}% |
---|
125 | \addcontentsline{toc}{chapter}% |
---|
126 | {\protect\numberline{\thechapter}#1}% |
---|
127 | \else |
---|
128 | \addcontentsline{toc}{chapter}{#1}% |
---|
129 | \fi |
---|
130 | \else |
---|
131 | \addcontentsline{toc}{chapter}{#1}% |
---|
132 | \fi |
---|
133 | \chaptermark{#1}% |
---|
134 | \addtocontents{lof}{\protect\addvspace{10\p@}}% |
---|
135 | \addtocontents{lot}{\protect\addvspace{10\p@}}% |
---|
136 | \if@twocolumn |
---|
137 | \@topnewpage[\@makechapterhead{#2}]% |
---|
138 | \else |
---|
139 | \@makechapterhead{#2}% |
---|
140 | \@afterheading |
---|
141 | \fi} |
---|
142 | \def\@makechapterhead#1{% |
---|
143 | % \vspace*{50\p@}% |
---|
144 | {\centering |
---|
145 | \ifnum \c@secnumdepth >\m@ne |
---|
146 | \if@mainmatter |
---|
147 | \large\bfseries \@chapapp{} \thechapter |
---|
148 | \par\nobreak |
---|
149 | \vskip 20\p@ |
---|
150 | \fi |
---|
151 | \fi |
---|
152 | \interlinepenalty\@M |
---|
153 | \Large \bfseries #1\par\nobreak |
---|
154 | \vskip 40\p@ |
---|
155 | }} |
---|
156 | \def\@schapter#1{\if@twocolumn |
---|
157 | \@topnewpage[\@makeschapterhead{#1}]% |
---|
158 | \else |
---|
159 | \@makeschapterhead{#1}% |
---|
160 | \@afterheading |
---|
161 | \fi} |
---|
162 | \def\@makeschapterhead#1{% |
---|
163 | % \vspace*{50\p@}% |
---|
164 | {\centering |
---|
165 | \normalfont |
---|
166 | \interlinepenalty\@M |
---|
167 | \Large \bfseries #1\par\nobreak |
---|
168 | \vskip 40\p@ |
---|
169 | }} |
---|
170 | |
---|
171 | \renewcommand\section{\@startsection{section}{1}{\z@}% |
---|
172 | {-18\p@ \@plus -4\p@ \@minus -4\p@}% |
---|
173 | {12\p@ \@plus 4\p@ \@minus 4\p@}% |
---|
174 | {\normalfont\large\bfseries\boldmath |
---|
175 | \rightskip=\z@ \@plus 8em\pretolerance=10000 }} |
---|
176 | \renewcommand\subsection{\@startsection{subsection}{2}{\z@}% |
---|
177 | {-18\p@ \@plus -4\p@ \@minus -4\p@}% |
---|
178 | {8\p@ \@plus 4\p@ \@minus 4\p@}% |
---|
179 | {\normalfont\normalsize\bfseries\boldmath |
---|
180 | \rightskip=\z@ \@plus 8em\pretolerance=10000 }} |
---|
181 | \renewcommand\subsubsection{\@startsection{subsubsection}{3}{\z@}% |
---|
182 | {-18\p@ \@plus -4\p@ \@minus -4\p@}% |
---|
183 | {-0.5em \@plus -0.22em \@minus -0.1em}% |
---|
184 | {\normalfont\normalsize\bfseries\boldmath}} |
---|
185 | \renewcommand\paragraph{\@startsection{paragraph}{4}{\z@}% |
---|
186 | {-12\p@ \@plus -4\p@ \@minus -4\p@}% |
---|
187 | {-0.5em \@plus -0.22em \@minus -0.1em}% |
---|
188 | {\normalfont\normalsize\itshape}} |
---|
189 | \renewcommand\subparagraph[1]{\typeout{LLNCS warning: You should not use |
---|
190 | \string\subparagraph\space with this class}\vskip0.5cm |
---|
191 | You should not use \verb|\subparagraph| with this class.\vskip0.5cm} |
---|
192 | |
---|
193 | \DeclareMathSymbol{\Gamma}{\mathalpha}{letters}{"00} |
---|
194 | \DeclareMathSymbol{\Delta}{\mathalpha}{letters}{"01} |
---|
195 | \DeclareMathSymbol{\Theta}{\mathalpha}{letters}{"02} |
---|
196 | \DeclareMathSymbol{\Lambda}{\mathalpha}{letters}{"03} |
---|
197 | \DeclareMathSymbol{\Xi}{\mathalpha}{letters}{"04} |
---|
198 | \DeclareMathSymbol{\Pi}{\mathalpha}{letters}{"05} |
---|
199 | \DeclareMathSymbol{\Sigma}{\mathalpha}{letters}{"06} |
---|
200 | \DeclareMathSymbol{\Upsilon}{\mathalpha}{letters}{"07} |
---|
201 | \DeclareMathSymbol{\Phi}{\mathalpha}{letters}{"08} |
---|
202 | \DeclareMathSymbol{\Psi}{\mathalpha}{letters}{"09} |
---|
203 | \DeclareMathSymbol{\Omega}{\mathalpha}{letters}{"0A} |
---|
204 | |
---|
205 | \let\footnotesize\small |
---|
206 | |
---|
207 | \def\vec#1{\mathchoice{\mbox{\boldmath$\displaystyle#1$}} |
---|
208 | {\mbox{\boldmath$\textstyle#1$}} |
---|
209 | {\mbox{\boldmath$\scriptstyle#1$}} |
---|
210 | {\mbox{\boldmath$\scriptscriptstyle#1$}}} |
---|
211 | |
---|
212 | \def\squareforqed{\hbox{\rlap{$\sqcap$}$\sqcup$}} |
---|
213 | \def\qed{\ifmmode\squareforqed\else{\unskip\nobreak\hfil |
---|
214 | \penalty50\hskip1em\null\nobreak\hfil\squareforqed |
---|
215 | \parfillskip=0pt\finalhyphendemerits=0\endgraf}\fi} |
---|
216 | |
---|
217 | \def\getsto{\mathrel{\mathchoice {\vcenter{\offinterlineskip |
---|
218 | \halign{\hfil |
---|
219 | $\displaystyle##$\hfil\cr\gets\cr\to\cr}}} |
---|
220 | {\vcenter{\offinterlineskip\halign{\hfil$\textstyle##$\hfil\cr\gets |
---|
221 | \cr\to\cr}}} |
---|
222 | {\vcenter{\offinterlineskip\halign{\hfil$\scriptstyle##$\hfil\cr\gets |
---|
223 | \cr\to\cr}}} |
---|
224 | {\vcenter{\offinterlineskip\halign{\hfil$\scriptscriptstyle##$\hfil\cr |
---|
225 | \gets\cr\to\cr}}}}} |
---|
226 | \def\lid{\mathrel{\mathchoice {\vcenter{\offinterlineskip\halign{\hfil |
---|
227 | $\displaystyle##$\hfil\cr<\cr\noalign{\vskip1.2pt}=\cr}}} |
---|
228 | {\vcenter{\offinterlineskip\halign{\hfil$\textstyle##$\hfil\cr<\cr |
---|
229 | \noalign{\vskip1.2pt}=\cr}}} |
---|
230 | {\vcenter{\offinterlineskip\halign{\hfil$\scriptstyle##$\hfil\cr<\cr |
---|
231 | \noalign{\vskip1pt}=\cr}}} |
---|
232 | {\vcenter{\offinterlineskip\halign{\hfil$\scriptscriptstyle##$\hfil\cr |
---|
233 | <\cr |
---|
234 | \noalign{\vskip0.9pt}=\cr}}}}} |
---|
235 | \def\gid{\mathrel{\mathchoice {\vcenter{\offinterlineskip\halign{\hfil |
---|
236 | $\displaystyle##$\hfil\cr>\cr\noalign{\vskip1.2pt}=\cr}}} |
---|
237 | {\vcenter{\offinterlineskip\halign{\hfil$\textstyle##$\hfil\cr>\cr |
---|
238 | \noalign{\vskip1.2pt}=\cr}}} |
---|
239 | {\vcenter{\offinterlineskip\halign{\hfil$\scriptstyle##$\hfil\cr>\cr |
---|
240 | \noalign{\vskip1pt}=\cr}}} |
---|
241 | {\vcenter{\offinterlineskip\halign{\hfil$\scriptscriptstyle##$\hfil\cr |
---|
242 | >\cr |
---|
243 | \noalign{\vskip0.9pt}=\cr}}}}} |
---|
244 | \def\grole{\mathrel{\mathchoice {\vcenter{\offinterlineskip |
---|
245 | \halign{\hfil |
---|
246 | $\displaystyle##$\hfil\cr>\cr\noalign{\vskip-1pt}<\cr}}} |
---|
247 | {\vcenter{\offinterlineskip\halign{\hfil$\textstyle##$\hfil\cr |
---|
248 | >\cr\noalign{\vskip-1pt}<\cr}}} |
---|
249 | {\vcenter{\offinterlineskip\halign{\hfil$\scriptstyle##$\hfil\cr |
---|
250 | >\cr\noalign{\vskip-0.8pt}<\cr}}} |
---|
251 | {\vcenter{\offinterlineskip\halign{\hfil$\scriptscriptstyle##$\hfil\cr |
---|
252 | >\cr\noalign{\vskip-0.3pt}<\cr}}}}} |
---|
253 | \def\bbbr{{\rm I\!R}} %reelle Zahlen |
---|
254 | \def\bbbm{{\rm I\!M}} |
---|
255 | \def\bbbn{{\rm I\!N}} %natuerliche Zahlen |
---|
256 | \def\bbbf{{\rm I\!F}} |
---|
257 | \def\bbbh{{\rm I\!H}} |
---|
258 | \def\bbbk{{\rm I\!K}} |
---|
259 | \def\bbbp{{\rm I\!P}} |
---|
260 | \def\bbbone{{\mathchoice {\rm 1\mskip-4mu l} {\rm 1\mskip-4mu l} |
---|
261 | {\rm 1\mskip-4.5mu l} {\rm 1\mskip-5mu l}}} |
---|
262 | \def\bbbc{{\mathchoice {\setbox0=\hbox{$\displaystyle\rm C$}\hbox{\hbox |
---|
263 | to0pt{\kern0.4\wd0\vrule height0.9\ht0\hss}\box0}} |
---|
264 | {\setbox0=\hbox{$\textstyle\rm C$}\hbox{\hbox |
---|
265 | to0pt{\kern0.4\wd0\vrule height0.9\ht0\hss}\box0}} |
---|
266 | {\setbox0=\hbox{$\scriptstyle\rm C$}\hbox{\hbox |
---|
267 | to0pt{\kern0.4\wd0\vrule height0.9\ht0\hss}\box0}} |
---|
268 | {\setbox0=\hbox{$\scriptscriptstyle\rm C$}\hbox{\hbox |
---|
269 | to0pt{\kern0.4\wd0\vrule height0.9\ht0\hss}\box0}}}} |
---|
270 | \def\bbbq{{\mathchoice {\setbox0=\hbox{$\displaystyle\rm |
---|
271 | Q$}\hbox{\raise |
---|
272 | 0.15\ht0\hbox to0pt{\kern0.4\wd0\vrule height0.8\ht0\hss}\box0}} |
---|
273 | {\setbox0=\hbox{$\textstyle\rm Q$}\hbox{\raise |
---|
274 | 0.15\ht0\hbox to0pt{\kern0.4\wd0\vrule height0.8\ht0\hss}\box0}} |
---|
275 | {\setbox0=\hbox{$\scriptstyle\rm Q$}\hbox{\raise |
---|
276 | 0.15\ht0\hbox to0pt{\kern0.4\wd0\vrule height0.7\ht0\hss}\box0}} |
---|
277 | {\setbox0=\hbox{$\scriptscriptstyle\rm Q$}\hbox{\raise |
---|
278 | 0.15\ht0\hbox to0pt{\kern0.4\wd0\vrule height0.7\ht0\hss}\box0}}}} |
---|
279 | \def\bbbt{{\mathchoice {\setbox0=\hbox{$\displaystyle\rm |
---|
280 | T$}\hbox{\hbox to0pt{\kern0.3\wd0\vrule height0.9\ht0\hss}\box0}} |
---|
281 | {\setbox0=\hbox{$\textstyle\rm T$}\hbox{\hbox |
---|
282 | to0pt{\kern0.3\wd0\vrule height0.9\ht0\hss}\box0}} |
---|
283 | {\setbox0=\hbox{$\scriptstyle\rm T$}\hbox{\hbox |
---|
284 | to0pt{\kern0.3\wd0\vrule height0.9\ht0\hss}\box0}} |
---|
285 | {\setbox0=\hbox{$\scriptscriptstyle\rm T$}\hbox{\hbox |
---|
286 | to0pt{\kern0.3\wd0\vrule height0.9\ht0\hss}\box0}}}} |
---|
287 | \def\bbbs{{\mathchoice |
---|
288 | {\setbox0=\hbox{$\displaystyle \rm S$}\hbox{\raise0.5\ht0\hbox |
---|
289 | to0pt{\kern0.35\wd0\vrule height0.45\ht0\hss}\hbox |
---|
290 | to0pt{\kern0.55\wd0\vrule height0.5\ht0\hss}\box0}} |
---|
291 | {\setbox0=\hbox{$\textstyle \rm S$}\hbox{\raise0.5\ht0\hbox |
---|
292 | to0pt{\kern0.35\wd0\vrule height0.45\ht0\hss}\hbox |
---|
293 | to0pt{\kern0.55\wd0\vrule height0.5\ht0\hss}\box0}} |
---|
294 | {\setbox0=\hbox{$\scriptstyle \rm S$}\hbox{\raise0.5\ht0\hbox |
---|
295 | to0pt{\kern0.35\wd0\vrule height0.45\ht0\hss}\raise0.05\ht0\hbox |
---|
296 | to0pt{\kern0.5\wd0\vrule height0.45\ht0\hss}\box0}} |
---|
297 | {\setbox0=\hbox{$\scriptscriptstyle\rm S$}\hbox{\raise0.5\ht0\hbox |
---|
298 | to0pt{\kern0.4\wd0\vrule height0.45\ht0\hss}\raise0.05\ht0\hbox |
---|
299 | to0pt{\kern0.55\wd0\vrule height0.45\ht0\hss}\box0}}}} |
---|
300 | \def\bbbz{{\mathchoice {\hbox{$\mathsf\textstyle Z\kern-0.4em Z$}} |
---|
301 | {\hbox{$\mathsf\textstyle Z\kern-0.4em Z$}} |
---|
302 | {\hbox{$\mathsf\scriptstyle Z\kern-0.3em Z$}} |
---|
303 | {\hbox{$\mathsf\scriptscriptstyle Z\kern-0.2em Z$}}}} |
---|
304 | |
---|
305 | \let\ts\, |
---|
306 | |
---|
307 | \setlength\leftmargini {17\p@} |
---|
308 | \setlength\leftmargin {\leftmargini} |
---|
309 | \setlength\leftmarginii {\leftmargini} |
---|
310 | \setlength\leftmarginiii {\leftmargini} |
---|
311 | \setlength\leftmarginiv {\leftmargini} |
---|
312 | \setlength \labelsep {.5em} |
---|
313 | \setlength \labelwidth{\leftmargini} |
---|
314 | \addtolength\labelwidth{-\labelsep} |
---|
315 | |
---|
316 | \def\@listI{\leftmargin\leftmargini |
---|
317 | \parsep 0\p@ \@plus1\p@ \@minus\p@ |
---|
318 | \topsep 8\p@ \@plus2\p@ \@minus4\p@ |
---|
319 | \itemsep0\p@} |
---|
320 | \let\@listi\@listI |
---|
321 | \@listi |
---|
322 | \def\@listii {\leftmargin\leftmarginii |
---|
323 | \labelwidth\leftmarginii |
---|
324 | \advance\labelwidth-\labelsep |
---|
325 | \topsep 0\p@ \@plus2\p@ \@minus\p@} |
---|
326 | \def\@listiii{\leftmargin\leftmarginiii |
---|
327 | \labelwidth\leftmarginiii |
---|
328 | \advance\labelwidth-\labelsep |
---|
329 | \topsep 0\p@ \@plus\p@\@minus\p@ |
---|
330 | \parsep \z@ |
---|
331 | \partopsep \p@ \@plus\z@ \@minus\p@} |
---|
332 | |
---|
333 | \renewcommand\labelitemi{\normalfont\bfseries --} |
---|
334 | \renewcommand\labelitemii{$\m@th\bullet$} |
---|
335 | |
---|
336 | \setlength\arraycolsep{1.4\p@} |
---|
337 | \setlength\tabcolsep{1.4\p@} |
---|
338 | |
---|
339 | \def\tableofcontents{\chapter*{\contentsname\@mkboth{{\contentsname}}% |
---|
340 | {{\contentsname}}} |
---|
341 | \def\authcount##1{\setcounter{auco}{##1}\setcounter{@auth}{1}} |
---|
342 | \def\lastand{\ifnum\value{auco}=2\relax |
---|
343 | \unskip{} \andname\ |
---|
344 | \else |
---|
345 | \unskip \lastandname\ |
---|
346 | \fi}% |
---|
347 | \def\and{\stepcounter{@auth}\relax |
---|
348 | \ifnum\value{@auth}=\value{auco}% |
---|
349 | \lastand |
---|
350 | \else |
---|
351 | \unskip, |
---|
352 | \fi}% |
---|
353 | \@starttoc{toc}\if@restonecol\twocolumn\fi} |
---|
354 | |
---|
355 | \def\l@part#1#2{\addpenalty{\@secpenalty}% |
---|
356 | \addvspace{2em plus\p@}% % space above part line |
---|
357 | \begingroup |
---|
358 | \parindent \z@ |
---|
359 | \rightskip \z@ plus 5em |
---|
360 | \hrule\vskip5pt |
---|
361 | \bfseries\boldmath % set line in boldface |
---|
362 | \leavevmode % TeX command to enter horizontal mode. |
---|
363 | #1\par |
---|
364 | \vskip5pt |
---|
365 | \hrule |
---|
366 | \vskip1pt |
---|
367 | \nobreak % Never break after part entry |
---|
368 | \endgroup} |
---|
369 | |
---|
370 | \def\@dotsep{2} |
---|
371 | |
---|
372 | \def\hyperhrefextend{\ifx\hyper@anchor\@undefined\else |
---|
373 | {chapter.\thechapter}\fi} |
---|
374 | |
---|
375 | \def\addnumcontentsmark#1#2#3{% |
---|
376 | \addtocontents{#1}{\protect\contentsline{#2}{\protect\numberline |
---|
377 | {\thechapter}#3}{\thepage}\hyperhrefextend}} |
---|
378 | \def\addcontentsmark#1#2#3{% |
---|
379 | \addtocontents{#1}{\protect\contentsline{#2}{#3}{\thepage}\hyperhrefextend}} |
---|
380 | \def\addcontentsmarkwop#1#2#3{% |
---|
381 | \addtocontents{#1}{\protect\contentsline{#2}{#3}{0}\hyperhrefextend}} |
---|
382 | |
---|
383 | \def\@adcmk[#1]{\ifcase #1 \or |
---|
384 | \def\@gtempa{\addnumcontentsmark}% |
---|
385 | \or \def\@gtempa{\addcontentsmark}% |
---|
386 | \or \def\@gtempa{\addcontentsmarkwop}% |
---|
387 | \fi\@gtempa{toc}{chapter}} |
---|
388 | \def\addtocmark{\@ifnextchar[{\@adcmk}{\@adcmk[3]}} |
---|
389 | |
---|
390 | \def\l@chapter#1#2{\addpenalty{-\@highpenalty} |
---|
391 | \vskip 1.0em plus 1pt \@tempdima 1.5em \begingroup |
---|
392 | \parindent \z@ \rightskip \@pnumwidth |
---|
393 | \parfillskip -\@pnumwidth |
---|
394 | \leavevmode \advance\leftskip\@tempdima \hskip -\leftskip |
---|
395 | {\large\bfseries\boldmath#1}\ifx0#2\hfil\null |
---|
396 | \else |
---|
397 | \nobreak |
---|
398 | \leaders\hbox{$\m@th \mkern \@dotsep mu.\mkern |
---|
399 | \@dotsep mu$}\hfill |
---|
400 | \nobreak\hbox to\@pnumwidth{\hss #2}% |
---|
401 | \fi\par |
---|
402 | \penalty\@highpenalty \endgroup} |
---|
403 | |
---|
404 | \def\l@title#1#2{\addpenalty{-\@highpenalty} |
---|
405 | \addvspace{8pt plus 1pt} |
---|
406 | \@tempdima \z@ |
---|
407 | \begingroup |
---|
408 | \parindent \z@ \rightskip \@tocrmarg |
---|
409 | \parfillskip -\@tocrmarg |
---|
410 | \leavevmode \advance\leftskip\@tempdima \hskip -\leftskip |
---|
411 | #1\nobreak |
---|
412 | \leaders\hbox{$\m@th \mkern \@dotsep mu.\mkern |
---|
413 | \@dotsep mu$}\hfill |
---|
414 | \nobreak\hbox to\@pnumwidth{\hss #2}\par |
---|
415 | \penalty\@highpenalty \endgroup} |
---|
416 | |
---|
417 | \setcounter{tocdepth}{0} |
---|
418 | \newdimen\tocchpnum |
---|
419 | \newdimen\tocsecnum |
---|
420 | \newdimen\tocsectotal |
---|
421 | \newdimen\tocsubsecnum |
---|
422 | \newdimen\tocsubsectotal |
---|
423 | \newdimen\tocsubsubsecnum |
---|
424 | \newdimen\tocsubsubsectotal |
---|
425 | \newdimen\tocparanum |
---|
426 | \newdimen\tocparatotal |
---|
427 | \newdimen\tocsubparanum |
---|
428 | \tocchpnum=\z@ % no chapter numbers |
---|
429 | \tocsecnum=15\p@ % section 88. plus 2.222pt |
---|
430 | \tocsubsecnum=23\p@ % subsection 88.8 plus 2.222pt |
---|
431 | \tocsubsubsecnum=27\p@ % subsubsection 88.8.8 plus 1.444pt |
---|
432 | \tocparanum=35\p@ % paragraph 88.8.8.8 plus 1.666pt |
---|
433 | \tocsubparanum=43\p@ % subparagraph 88.8.8.8.8 plus 1.888pt |
---|
434 | \def\calctocindent{% |
---|
435 | \tocsectotal=\tocchpnum |
---|
436 | \advance\tocsectotal by\tocsecnum |
---|
437 | \tocsubsectotal=\tocsectotal |
---|
438 | \advance\tocsubsectotal by\tocsubsecnum |
---|
439 | \tocsubsubsectotal=\tocsubsectotal |
---|
440 | \advance\tocsubsubsectotal by\tocsubsubsecnum |
---|
441 | \tocparatotal=\tocsubsubsectotal |
---|
442 | \advance\tocparatotal by\tocparanum} |
---|
443 | \calctocindent |
---|
444 | |
---|
445 | \def\l@section{\@dottedtocline{1}{\tocchpnum}{\tocsecnum}} |
---|
446 | \def\l@subsection{\@dottedtocline{2}{\tocsectotal}{\tocsubsecnum}} |
---|
447 | \def\l@subsubsection{\@dottedtocline{3}{\tocsubsectotal}{\tocsubsubsecnum}} |
---|
448 | \def\l@paragraph{\@dottedtocline{4}{\tocsubsubsectotal}{\tocparanum}} |
---|
449 | \def\l@subparagraph{\@dottedtocline{5}{\tocparatotal}{\tocsubparanum}} |
---|
450 | |
---|
451 | \def\listoffigures{\@restonecolfalse\if@twocolumn\@restonecoltrue\onecolumn |
---|
452 | \fi\section*{\listfigurename\@mkboth{{\listfigurename}}{{\listfigurename}}} |
---|
453 | \@starttoc{lof}\if@restonecol\twocolumn\fi} |
---|
454 | \def\l@figure{\@dottedtocline{1}{0em}{1.5em}} |
---|
455 | |
---|
456 | \def\listoftables{\@restonecolfalse\if@twocolumn\@restonecoltrue\onecolumn |
---|
457 | \fi\section*{\listtablename\@mkboth{{\listtablename}}{{\listtablename}}} |
---|
458 | \@starttoc{lot}\if@restonecol\twocolumn\fi} |
---|
459 | \let\l@table\l@figure |
---|
460 | |
---|
461 | \renewcommand\listoffigures{% |
---|
462 | \section*{\listfigurename |
---|
463 | \@mkboth{\listfigurename}{\listfigurename}}% |
---|
464 | \@starttoc{lof}% |
---|
465 | } |
---|
466 | |
---|
467 | \renewcommand\listoftables{% |
---|
468 | \section*{\listtablename |
---|
469 | \@mkboth{\listtablename}{\listtablename}}% |
---|
470 | \@starttoc{lot}% |
---|
471 | } |
---|
472 | |
---|
473 | \ifx\oribibl\undefined |
---|
474 | \ifx\citeauthoryear\undefined |
---|
475 | \renewenvironment{thebibliography}[1] |
---|
476 | {\section*{\refname} |
---|
477 | \def\@biblabel##1{##1.} |
---|
478 | \small |
---|
479 | \list{\@biblabel{\@arabic\c@enumiv}}% |
---|
480 | {\settowidth\labelwidth{\@biblabel{#1}}% |
---|
481 | \leftmargin\labelwidth |
---|
482 | \advance\leftmargin\labelsep |
---|
483 | \if@openbib |
---|
484 | \advance\leftmargin\bibindent |
---|
485 | \itemindent -\bibindent |
---|
486 | \listparindent \itemindent |
---|
487 | \parsep \z@ |
---|
488 | \fi |
---|
489 | \usecounter{enumiv}% |
---|
490 | \let\p@enumiv\@empty |
---|
491 | \renewcommand\theenumiv{\@arabic\c@enumiv}}% |
---|
492 | \if@openbib |
---|
493 | \renewcommand\newblock{\par}% |
---|
494 | \else |
---|
495 | \renewcommand\newblock{\hskip .11em \@plus.33em \@minus.07em}% |
---|
496 | \fi |
---|
497 | \sloppy\clubpenalty4000\widowpenalty4000% |
---|
498 | \sfcode`\.=\@m} |
---|
499 | {\def\@noitemerr |
---|
500 | {\@latex@warning{Empty `thebibliography' environment}}% |
---|
501 | \endlist} |
---|
502 | \def\@lbibitem[#1]#2{\item[{[#1]}\hfill]\if@filesw |
---|
503 | {\let\protect\noexpand\immediate |
---|
504 | \write\@auxout{\string\bibcite{#2}{#1}}}\fi\ignorespaces} |
---|
505 | \newcount\@tempcntc |
---|
506 | \def\@citex[#1]#2{\if@filesw\immediate\write\@auxout{\string\citation{#2}}\fi |
---|
507 | \@tempcnta\z@\@tempcntb\m@ne\def\@citea{}\@cite{\@for\@citeb:=#2\do |
---|
508 | {\@ifundefined |
---|
509 | {b@\@citeb}{\@citeo\@tempcntb\m@ne\@citea\def\@citea{,}{\bfseries |
---|
510 | ?}\@warning |
---|
511 | {Citation `\@citeb' on page \thepage \space undefined}}% |
---|
512 | {\setbox\z@\hbox{\global\@tempcntc0\csname b@\@citeb\endcsname\relax}% |
---|
513 | \ifnum\@tempcntc=\z@ \@citeo\@tempcntb\m@ne |
---|
514 | \@citea\def\@citea{,}\hbox{\csname b@\@citeb\endcsname}% |
---|
515 | \else |
---|
516 | \advance\@tempcntb\@ne |
---|
517 | \ifnum\@tempcntb=\@tempcntc |
---|
518 | \else\advance\@tempcntb\m@ne\@citeo |
---|
519 | \@tempcnta\@tempcntc\@tempcntb\@tempcntc\fi\fi}}\@citeo}{#1}} |
---|
520 | \def\@citeo{\ifnum\@tempcnta>\@tempcntb\else |
---|
521 | \@citea\def\@citea{,\,\hskip\z@skip}% |
---|
522 | \ifnum\@tempcnta=\@tempcntb\the\@tempcnta\else |
---|
523 | {\advance\@tempcnta\@ne\ifnum\@tempcnta=\@tempcntb \else |
---|
524 | \def\@citea{--}\fi |
---|
525 | \advance\@tempcnta\m@ne\the\@tempcnta\@citea\the\@tempcntb}\fi\fi} |
---|
526 | \else |
---|
527 | \renewenvironment{thebibliography}[1] |
---|
528 | {\section*{\refname} |
---|
529 | \small |
---|
530 | \list{}% |
---|
531 | {\settowidth\labelwidth{}% |
---|
532 | \leftmargin\parindent |
---|
533 | \itemindent=-\parindent |
---|
534 | \labelsep=\z@ |
---|
535 | \if@openbib |
---|
536 | \advance\leftmargin\bibindent |
---|
537 | \itemindent -\bibindent |
---|
538 | \listparindent \itemindent |
---|
539 | \parsep \z@ |
---|
540 | \fi |
---|
541 | \usecounter{enumiv}% |
---|
542 | \let\p@enumiv\@empty |
---|
543 | \renewcommand\theenumiv{}}% |
---|
544 | \if@openbib |
---|
545 | \renewcommand\newblock{\par}% |
---|
546 | \else |
---|
547 | \renewcommand\newblock{\hskip .11em \@plus.33em \@minus.07em}% |
---|
548 | \fi |
---|
549 | \sloppy\clubpenalty4000\widowpenalty4000% |
---|
550 | \sfcode`\.=\@m} |
---|
551 | {\def\@noitemerr |
---|
552 | {\@latex@warning{Empty `thebibliography' environment}}% |
---|
553 | \endlist} |
---|
554 | \def\@cite#1{#1}% |
---|
555 | \def\@lbibitem[#1]#2{\item[]\if@filesw |
---|
556 | {\def\protect##1{\string ##1\space}\immediate |
---|
557 | \write\@auxout{\string\bibcite{#2}{#1}}}\fi\ignorespaces} |
---|
558 | \fi |
---|
559 | \else |
---|
560 | \@cons\@openbib@code{\noexpand\small} |
---|
561 | \fi |
---|
562 | |
---|
563 | \def\idxquad{\hskip 10\p@}% space that divides entry from number |
---|
564 | |
---|
565 | \def\@idxitem{\par\hangindent 10\p@} |
---|
566 | |
---|
567 | \def\subitem{\par\setbox0=\hbox{--\enspace}% second order |
---|
568 | \noindent\hangindent\wd0\box0}% index entry |
---|
569 | |
---|
570 | \def\subsubitem{\par\setbox0=\hbox{--\,--\enspace}% third |
---|
571 | \noindent\hangindent\wd0\box0}% order index entry |
---|
572 | |
---|
573 | \def\indexspace{\par \vskip 10\p@ plus5\p@ minus3\p@\relax} |
---|
574 | |
---|
575 | \renewenvironment{theindex} |
---|
576 | {\@mkboth{\indexname}{\indexname}% |
---|
577 | \thispagestyle{empty}\parindent\z@ |
---|
578 | \parskip\z@ \@plus .3\p@\relax |
---|
579 | \let\item\par |
---|
580 | \def\,{\relax\ifmmode\mskip\thinmuskip |
---|
581 | \else\hskip0.2em\ignorespaces\fi}% |
---|
582 | \normalfont\small |
---|
583 | \begin{multicols}{2}[\@makeschapterhead{\indexname}]% |
---|
584 | } |
---|
585 | {\end{multicols}} |
---|
586 | |
---|
587 | \renewcommand\footnoterule{% |
---|
588 | \kern-3\p@ |
---|
589 | \hrule\@width 2truecm |
---|
590 | \kern2.6\p@} |
---|
591 | \long\def\@makefntext#1{% |
---|
592 | \parindent 1em% |
---|
593 | \leftskip 1em% |
---|
594 | \noindent |
---|
595 | \llap{\hb@xt@1em{\hss\@makefnmark\ }}\ignorespaces#1} |
---|
596 | |
---|
597 | \long\def\@makecaption#1#2{% |
---|
598 | \vskip\abovecaptionskip |
---|
599 | \sbox\@tempboxa{{\bfseries #1.} #2}% |
---|
600 | \ifdim \wd\@tempboxa >\hsize |
---|
601 | {\bfseries #1.} #2\par |
---|
602 | \else |
---|
603 | \global \@minipagefalse |
---|
604 | \hb@xt@\hsize{\hfil\box\@tempboxa\hfil}% |
---|
605 | \fi |
---|
606 | \vskip\belowcaptionskip} |
---|
607 | |
---|
608 | \def\fps@figure{htbp} |
---|
609 | \def\fnum@figure{\figurename\thefigure} |
---|
610 | \def \@floatboxreset {% |
---|
611 | \reset@font |
---|
612 | \small |
---|
613 | \@setnobreak |
---|
614 | \@setminipage |
---|
615 | } |
---|
616 | \def\fps@table{htbp} |
---|
617 | \def\fnum@table{\tablename\thetable} |
---|
618 | \renewenvironment{table} |
---|
619 | {\setlength\abovecaptionskip{0\p@}% |
---|
620 | \setlength\belowcaptionskip{10\p@}% |
---|
621 | \@float{table}} |
---|
622 | {\end@float} |
---|
623 | \renewenvironment{table*} |
---|
624 | {\setlength\abovecaptionskip{0\p@}% |
---|
625 | \setlength\belowcaptionskip{10\p@}% |
---|
626 | \@dblfloat{table}} |
---|
627 | {\end@dblfloat} |
---|
628 | |
---|
629 | \long\def\@caption#1[#2]#3{\par\addcontentsline{\csname |
---|
630 | ext@#1\endcsname}{#1}{\protect\numberline{\csname |
---|
631 | the#1\endcsname}{\ignorespaces #2}}\begingroup |
---|
632 | \@parboxrestore |
---|
633 | \@makecaption{\csname fnum@#1\endcsname}{\ignorespaces #3}\par |
---|
634 | \endgroup} |
---|
635 | |
---|
636 | % LaTeX does not provide a command to enter the authors institute |
---|
637 | % addresses. The \institute command is defined here. |
---|
638 | |
---|
639 | \newcounter{@inst} |
---|
640 | \newcounter{@auth} |
---|
641 | \newcounter{auco} |
---|
642 | \def\andname{and} |
---|
643 | \def\lastandname{\unskip, and} |
---|
644 | \newdimen\instindent |
---|
645 | \newbox\authrun |
---|
646 | \newtoks\authorrunning |
---|
647 | \newtoks\tocauthor |
---|
648 | \newbox\titrun |
---|
649 | \newtoks\titlerunning |
---|
650 | \newtoks\toctitle |
---|
651 | |
---|
652 | \def\clearheadinfo{\gdef\@author{No Author Given}% |
---|
653 | \gdef\@title{No Title Given}% |
---|
654 | \gdef\@subtitle{}% |
---|
655 | \gdef\@institute{No Institute Given}% |
---|
656 | \gdef\@thanks{}% |
---|
657 | \global\titlerunning={}\global\authorrunning={}% |
---|
658 | \global\toctitle={}\global\tocauthor={}} |
---|
659 | |
---|
660 | \def\institute#1{\gdef\@institute{#1}} |
---|
661 | |
---|
662 | \def\institutename{\par |
---|
663 | \begingroup |
---|
664 | \parskip=\z@ |
---|
665 | \parindent=\z@ |
---|
666 | \setcounter{@inst}{1}% |
---|
667 | \def\and{\par\stepcounter{@inst}% |
---|
668 | \noindent$^{\the@inst}$\enspace\ignorespaces}% |
---|
669 | \setbox0=\vbox{\def\thanks##1{}\@institute}% |
---|
670 | \ifnum\c@@inst=1\relax |
---|
671 | \else |
---|
672 | \setcounter{footnote}{\c@@inst}% |
---|
673 | \setcounter{@inst}{1}% |
---|
674 | \noindent$^{\the@inst}$\enspace |
---|
675 | \fi |
---|
676 | \ignorespaces |
---|
677 | \@institute\par |
---|
678 | \endgroup} |
---|
679 | |
---|
680 | \def\@fnsymbol#1{\ensuremath{\ifcase#1\or\star\or{\star\star}\or |
---|
681 | {\star\star\star}\or \dagger\or \ddagger\or |
---|
682 | \mathchar "278\or \mathchar "27B\or \|\or **\or \dagger\dagger |
---|
683 | \or \ddagger\ddagger \else\@ctrerr\fi}} |
---|
684 | |
---|
685 | \def\inst#1{\unskip$^{#1}$} |
---|
686 | \def\fnmsep{\unskip$^,$} |
---|
687 | \def\email#1{{\tt#1}} |
---|
688 | \def\homedir{\~{ }} |
---|
689 | |
---|
690 | \def\subtitle#1{\gdef\@subtitle{#1}} |
---|
691 | \clearheadinfo |
---|
692 | |
---|
693 | \renewcommand\maketitle{\newpage |
---|
694 | \refstepcounter{chapter}% |
---|
695 | \stepcounter{section}% |
---|
696 | \setcounter{section}{0}% |
---|
697 | \setcounter{subsection}{0}% |
---|
698 | \setcounter{figure}{0} |
---|
699 | \setcounter{table}{0} |
---|
700 | \setcounter{equation}{0} |
---|
701 | \setcounter{footnote}{0}% |
---|
702 | \begingroup |
---|
703 | \parindent=\z@ |
---|
704 | \renewcommand\thefootnote{\@fnsymbol\c@footnote}% |
---|
705 | \if@twocolumn |
---|
706 | \ifnum \col@number=\@ne |
---|
707 | \@maketitle |
---|
708 | \else |
---|
709 | \twocolumn[\@maketitle]% |
---|
710 | \fi |
---|
711 | \else |
---|
712 | \newpage |
---|
713 | \global\@topnum\z@ % Prevents figures from going at top of page. |
---|
714 | \@maketitle |
---|
715 | \fi |
---|
716 | \thispagestyle{empty}\@thanks |
---|
717 | % |
---|
718 | \def\\{\unskip\ \ignorespaces}\def\inst##1{\unskip{}}% |
---|
719 | \def\thanks##1{\unskip{}}\def\fnmsep{\unskip}% |
---|
720 | \instindent=\hsize |
---|
721 | \advance\instindent by-\headlineindent |
---|
722 | \if!\the\toctitle!\addcontentsline{toc}{title}{\@title}\else |
---|
723 | \addcontentsline{toc}{title}{\the\toctitle}\fi |
---|
724 | \if@runhead |
---|
725 | \if!\the\titlerunning!\else |
---|
726 | \edef\@title{\the\titlerunning}% |
---|
727 | \fi |
---|
728 | \global\setbox\titrun=\hbox{\small\rm\unboldmath\ignorespaces\@title}% |
---|
729 | \ifdim\wd\titrun>\instindent |
---|
730 | \typeout{Title too long for running head. Please supply}% |
---|
731 | \typeout{a shorter form with \string\titlerunning\space prior to |
---|
732 | \string\maketitle}% |
---|
733 | \global\setbox\titrun=\hbox{\small\rm |
---|
734 | Title Suppressed Due to Excessive Length}% |
---|
735 | \fi |
---|
736 | \xdef\@title{\copy\titrun}% |
---|
737 | \fi |
---|
738 | % |
---|
739 | \if!\the\tocauthor!\relax |
---|
740 | {\def\and{\noexpand\protect\noexpand\and}% |
---|
741 | \protected@xdef\toc@uthor{\@author}}% |
---|
742 | \else |
---|
743 | \def\\{\noexpand\protect\noexpand\newline}% |
---|
744 | \protected@xdef\scratch{\the\tocauthor}% |
---|
745 | \protected@xdef\toc@uthor{\scratch}% |
---|
746 | \fi |
---|
747 | \addtocontents{toc}{{\protect\raggedright\protect\leftskip15\p@ |
---|
748 | \protect\rightskip\@tocrmarg |
---|
749 | \protect\itshape\toc@uthor\protect\endgraf}}% |
---|
750 | \if@runhead |
---|
751 | \if!\the\authorrunning! |
---|
752 | \value{@inst}=\value{@auth}% |
---|
753 | \setcounter{@auth}{1}% |
---|
754 | \else |
---|
755 | \edef\@author{\the\authorrunning}% |
---|
756 | \fi |
---|
757 | \global\setbox\authrun=\hbox{\small\unboldmath\@author\unskip}% |
---|
758 | \ifdim\wd\authrun>\instindent |
---|
759 | \typeout{Names of authors too long for running head. Please supply}% |
---|
760 | \typeout{a shorter form with \string\authorrunning\space prior to |
---|
761 | \string\maketitle}% |
---|
762 | \global\setbox\authrun=\hbox{\small\rm |
---|
763 | Authors Suppressed Due to Excessive Length}% |
---|
764 | \fi |
---|
765 | \xdef\@author{\copy\authrun}% |
---|
766 | \markboth{\@author}{\@title}% |
---|
767 | \fi |
---|
768 | \endgroup |
---|
769 | \setcounter{footnote}{0}% |
---|
770 | \clearheadinfo} |
---|
771 | % |
---|
772 | \def\@maketitle{\newpage |
---|
773 | \markboth{}{}% |
---|
774 | \def\lastand{\ifnum\value{@inst}=2\relax |
---|
775 | \unskip{} \andname\ |
---|
776 | \else |
---|
777 | \unskip \lastandname\ |
---|
778 | \fi}% |
---|
779 | \def\and{\stepcounter{@auth}\relax |
---|
780 | \ifnum\value{@auth}=\value{@inst}% |
---|
781 | \lastand |
---|
782 | \else |
---|
783 | \unskip, |
---|
784 | \fi}% |
---|
785 | \begin{center}% |
---|
786 | {\Large \bfseries\boldmath |
---|
787 | \pretolerance=10000 |
---|
788 | \@title \par}\vskip .8cm |
---|
789 | \if!\@subtitle!\else {\large \bfseries\boldmath |
---|
790 | \vskip -.65cm |
---|
791 | \pretolerance=10000 |
---|
792 | \@subtitle \par}\vskip .8cm\fi |
---|
793 | \setbox0=\vbox{\setcounter{@auth}{1}\def\and{\stepcounter{@auth}}% |
---|
794 | \def\thanks##1{}\@author}% |
---|
795 | \global\value{@inst}=\value{@auth}% |
---|
796 | \global\value{auco}=\value{@auth}% |
---|
797 | \setcounter{@auth}{1}% |
---|
798 | {\lineskip .5em |
---|
799 | \noindent\ignorespaces |
---|
800 | \@author\vskip.35cm} |
---|
801 | {\small\institutename} |
---|
802 | \end{center}% |
---|
803 | } |
---|
804 | |
---|
805 | % definition of the "\spnewtheorem" command. |
---|
806 | % |
---|
807 | % Usage: |
---|
808 | % |
---|
809 | % \spnewtheorem{env_nam}{caption}[within]{cap_font}{body_font} |
---|
810 | % or \spnewtheorem{env_nam}[numbered_like]{caption}{cap_font}{body_font} |
---|
811 | % or \spnewtheorem*{env_nam}{caption}{cap_font}{body_font} |
---|
812 | % |
---|
813 | % New is "cap_font" and "body_font". It stands for |
---|
814 | % fontdefinition of the caption and the text itself. |
---|
815 | % |
---|
816 | % "\spnewtheorem*" gives a theorem without number. |
---|
817 | % |
---|
818 | % A defined spnewthoerem environment is used as described |
---|
819 | % by Lamport. |
---|
820 | % |
---|
821 | %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
---|
822 | |
---|
823 | \def\@thmcountersep{} |
---|
824 | \def\@thmcounterend{.} |
---|
825 | |
---|
826 | \def\spnewtheorem{\@ifstar{\@sthm}{\@Sthm}} |
---|
827 | |
---|
828 | % definition of \spnewtheorem with number |
---|
829 | |
---|
830 | \def\@spnthm#1#2{% |
---|
831 | \@ifnextchar[{\@spxnthm{#1}{#2}}{\@spynthm{#1}{#2}}} |
---|
832 | \def\@Sthm#1{\@ifnextchar[{\@spothm{#1}}{\@spnthm{#1}}} |
---|
833 | |
---|
834 | \def\@spxnthm#1#2[#3]#4#5{\expandafter\@ifdefinable\csname #1\endcsname |
---|
835 | {\@definecounter{#1}\@addtoreset{#1}{#3}% |
---|
836 | \expandafter\xdef\csname the#1\endcsname{\expandafter\noexpand |
---|
837 | \csname the#3\endcsname \noexpand\@thmcountersep \@thmcounter{#1}}% |
---|
838 | \expandafter\xdef\csname #1name\endcsname{#2}% |
---|
839 | \global\@namedef{#1}{\@spthm{#1}{\csname #1name\endcsname}{#4}{#5}}% |
---|
840 | \global\@namedef{end#1}{\@endtheorem}}} |
---|
841 | |
---|
842 | \def\@spynthm#1#2#3#4{\expandafter\@ifdefinable\csname #1\endcsname |
---|
843 | {\@definecounter{#1}% |
---|
844 | \expandafter\xdef\csname the#1\endcsname{\@thmcounter{#1}}% |
---|
845 | \expandafter\xdef\csname #1name\endcsname{#2}% |
---|
846 | \global\@namedef{#1}{\@spthm{#1}{\csname #1name\endcsname}{#3}{#4}}% |
---|
847 | \global\@namedef{end#1}{\@endtheorem}}} |
---|
848 | |
---|
849 | \def\@spothm#1[#2]#3#4#5{% |
---|
850 | \@ifundefined{c@#2}{\@latexerr{No theorem environment `#2' defined}\@eha}% |
---|
851 | {\expandafter\@ifdefinable\csname #1\endcsname |
---|
852 | {\global\@namedef{the#1}{\@nameuse{the#2}}% |
---|
853 | \expandafter\xdef\csname #1name\endcsname{#3}% |
---|
854 | \global\@namedef{#1}{\@spthm{#2}{\csname #1name\endcsname}{#4}{#5}}% |
---|
855 | \global\@namedef{end#1}{\@endtheorem}}}} |
---|
856 | |
---|
857 | \def\@spthm#1#2#3#4{\topsep 7\p@ \@plus2\p@ \@minus4\p@ |
---|
858 | \refstepcounter{#1}% |
---|
859 | \@ifnextchar[{\@spythm{#1}{#2}{#3}{#4}}{\@spxthm{#1}{#2}{#3}{#4}}} |
---|
860 | |
---|
861 | \def\@spxthm#1#2#3#4{\@spbegintheorem{#2}{\csname the#1\endcsname}{#3}{#4}% |
---|
862 | \ignorespaces} |
---|
863 | |
---|
864 | \def\@spythm#1#2#3#4[#5]{\@spopargbegintheorem{#2}{\csname |
---|
865 | the#1\endcsname}{#5}{#3}{#4}\ignorespaces} |
---|
866 | |
---|
867 | \def\@spbegintheorem#1#2#3#4{\trivlist |
---|
868 | \item[\hskip\labelsep{#3#1\ #2\@thmcounterend}]#4} |
---|
869 | |
---|
870 | \def\@spopargbegintheorem#1#2#3#4#5{\trivlist |
---|
871 | \item[\hskip\labelsep{#4#1\ #2}]{#4(#3)\@thmcounterend\ }#5} |
---|
872 | |
---|
873 | % definition of \spnewtheorem* without number |
---|
874 | |
---|
875 | \def\@sthm#1#2{\@Ynthm{#1}{#2}} |
---|
876 | |
---|
877 | \def\@Ynthm#1#2#3#4{\expandafter\@ifdefinable\csname #1\endcsname |
---|
878 | {\global\@namedef{#1}{\@Thm{\csname #1name\endcsname}{#3}{#4}}% |
---|
879 | \expandafter\xdef\csname #1name\endcsname{#2}% |
---|
880 | \global\@namedef{end#1}{\@endtheorem}}} |
---|
881 | |
---|
882 | \def\@Thm#1#2#3{\topsep 7\p@ \@plus2\p@ \@minus4\p@ |
---|
883 | \@ifnextchar[{\@Ythm{#1}{#2}{#3}}{\@Xthm{#1}{#2}{#3}}} |
---|
884 | |
---|
885 | \def\@Xthm#1#2#3{\@Begintheorem{#1}{#2}{#3}\ignorespaces} |
---|
886 | |
---|
887 | \def\@Ythm#1#2#3[#4]{\@Opargbegintheorem{#1} |
---|
888 | {#4}{#2}{#3}\ignorespaces} |
---|
889 | |
---|
890 | \def\@Begintheorem#1#2#3{#3\trivlist |
---|
891 | \item[\hskip\labelsep{#2#1\@thmcounterend}]} |
---|
892 | |
---|
893 | \def\@Opargbegintheorem#1#2#3#4{#4\trivlist |
---|
894 | \item[\hskip\labelsep{#3#1}]{#3(#2)\@thmcounterend\ }} |
---|
895 | |
---|
896 | \if@envcntsect |
---|
897 | \def\@thmcountersep{.} |
---|
898 | \spnewtheorem{theorem}{Theorem}[section]{\bfseries}{\itshape} |
---|
899 | \else |
---|
900 | \spnewtheorem{theorem}{Theorem}{\bfseries}{\itshape} |
---|
901 | \if@envcntreset |
---|
902 | \@addtoreset{theorem}{section} |
---|
903 | \else |
---|
904 | \@addtoreset{theorem}{chapter} |
---|
905 | \fi |
---|
906 | \fi |
---|
907 | |
---|
908 | %definition of divers theorem environments |
---|
909 | \spnewtheorem*{claim}{Claim}{\itshape}{\rmfamily} |
---|
910 | \spnewtheorem*{proof}{Proof}{\itshape}{\rmfamily} |
---|
911 | \if@envcntsame % alle Umgebungen wie Theorem. |
---|
912 | \def\spn@wtheorem#1#2#3#4{\@spothm{#1}[theorem]{#2}{#3}{#4}} |
---|
913 | \else % alle Umgebungen mit eigenem Zaehler |
---|
914 | \if@envcntsect % mit section numeriert |
---|
915 | \def\spn@wtheorem#1#2#3#4{\@spxnthm{#1}{#2}[section]{#3}{#4}} |
---|
916 | \else % nicht mit section numeriert |
---|
917 | \if@envcntreset |
---|
918 | \def\spn@wtheorem#1#2#3#4{\@spynthm{#1}{#2}{#3}{#4} |
---|
919 | \@addtoreset{#1}{section}} |
---|
920 | \else |
---|
921 | \let\spn@wtheorem=\@spynthm |
---|
922 | \fi |
---|
923 | \fi |
---|
924 | \fi |
---|
925 | \spn@wtheorem{case}{Case}{\itshape}{\rmfamily} |
---|
926 | \spn@wtheorem{conjecture}{Conjecture}{\itshape}{\rmfamily} |
---|
927 | \spn@wtheorem{corollary}{Corollary}{\bfseries}{\itshape} |
---|
928 | \spn@wtheorem{definition}{Definition}{\bfseries}{\itshape} |
---|
929 | \spn@wtheorem{example}{Example}{\itshape}{\rmfamily} |
---|
930 | \spn@wtheorem{exercise}{Exercise}{\itshape}{\rmfamily} |
---|
931 | \spn@wtheorem{lemma}{Lemma}{\bfseries}{\itshape} |
---|
932 | \spn@wtheorem{note}{Note}{\itshape}{\rmfamily} |
---|
933 | \spn@wtheorem{problem}{Problem}{\itshape}{\rmfamily} |
---|
934 | \spn@wtheorem{property}{Property}{\itshape}{\rmfamily} |
---|
935 | \spn@wtheorem{proposition}{Proposition}{\bfseries}{\itshape} |
---|
936 | \spn@wtheorem{question}{Question}{\itshape}{\rmfamily} |
---|
937 | \spn@wtheorem{solution}{Solution}{\itshape}{\rmfamily} |
---|
938 | \spn@wtheorem{remark}{Remark}{\itshape}{\rmfamily} |
---|
939 | |
---|
940 | \def\@takefromreset#1#2{% |
---|
941 | \def\@tempa{#1}% |
---|
942 | \let\@tempd\@elt |
---|
943 | \def\@elt##1{% |
---|
944 | \def\@tempb{##1}% |
---|
945 | \ifx\@tempa\@tempb\else |
---|
946 | \@addtoreset{##1}{#2}% |
---|
947 | \fi}% |
---|
948 | \expandafter\expandafter\let\expandafter\@tempc\csname cl@#2\endcsname |
---|
949 | \expandafter\def\csname cl@#2\endcsname{}% |
---|
950 | \@tempc |
---|
951 | \let\@elt\@tempd} |
---|
952 | |
---|
953 | \def\theopargself{\def\@spopargbegintheorem##1##2##3##4##5{\trivlist |
---|
954 | \item[\hskip\labelsep{##4##1\ ##2}]{##4##3\@thmcounterend\ }##5} |
---|
955 | \def\@Opargbegintheorem##1##2##3##4{##4\trivlist |
---|
956 | \item[\hskip\labelsep{##3##1}]{##3##2\@thmcounterend\ }} |
---|
957 | } |
---|
958 | |
---|
959 | \renewenvironment{abstract}{% |
---|
960 | \list{}{\advance\topsep by0.35cm\relax\small |
---|
961 | \leftmargin=1cm |
---|
962 | \labelwidth=\z@ |
---|
963 | \listparindent=\z@ |
---|
964 | \itemindent\listparindent |
---|
965 | \rightmargin\leftmargin}\item[\hskip\labelsep |
---|
966 | \bfseries\abstractname]} |
---|
967 | {\endlist} |
---|
968 | \renewcommand{\abstractname}{Abstract.} |
---|
969 | \renewcommand{\contentsname}{Table of Contents} |
---|
970 | \renewcommand{\figurename}{Fig.\thinspace} |
---|
971 | \renewcommand{\tablename}{Table~} |
---|
972 | |
---|
973 | \newdimen\headlineindent % dimension for space between |
---|
974 | \headlineindent=1.166cm % number and text of headings. |
---|
975 | |
---|
976 | \def\ps@headings{\let\@mkboth\@gobbletwo |
---|
977 | \let\@oddfoot\@empty\let\@evenfoot\@empty |
---|
978 | \def\@evenhead{\normalfont\small\rlap{\thepage}\hspace{\headlineindent}% |
---|
979 | \leftmark\hfil} |
---|
980 | \def\@oddhead{\normalfont\small\hfil\rightmark\hspace{\headlineindent}% |
---|
981 | \llap{\thepage}} |
---|
982 | \def\chaptermark##1{}% |
---|
983 | \def\sectionmark##1{}% |
---|
984 | \def\subsectionmark##1{}} |
---|
985 | |
---|
986 | \if@runhead\ps@headings\else |
---|
987 | \ps@empty\fi |
---|
988 | |
---|
989 | \setlength\arraycolsep{1.4\p@} |
---|
990 | \setlength\tabcolsep{1.4\p@} |
---|
991 | |
---|
992 | \endinput |
---|