1 % LLNCS DOCUMENT CLASS -- version 2.8
4 \NeedsTeXFormat{LaTeX2e
}[1995/
12/
01]
5 \ProvidesClass{llncs
}[2000/
05/
16 v2.8
6 ^^JLaTeX
document class for Lecture Notes in Computer Science
]
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@custvec
\iftrue
13 \DeclareOption{orivec
}{\let\if@custvec
\iffalse}
14 \let\if@envcntsame
\iffalse
15 \DeclareOption{envcountsame
}{\let\if@envcntsame
\iftrue}
16 \let\if@envcntsect
\iffalse
17 \DeclareOption{envcountsect
}{\let\if@envcntsect
\iftrue}
18 \let\if@runhead
\iffalse
19 \DeclareOption{runningheads
}{\let\if@runhead
\iftrue}
21 \let\if@openbib
\iffalse
22 \DeclareOption{openbib
}{\let\if@openbib
\iftrue}
24 \DeclareOption*
{\PassOptionsToClass{\CurrentOption}{article
}}
28 \LoadClass[twoside
]{article
}
29 \RequirePackage{multicol
} % needed for the list of participants, index
31 \setlength{\textwidth}{12.2cm
}
32 \setlength{\textheight}{19.3cm
}
34 % Ragged bottom for the actual page
35 \def\thisbottomragged{\def\@textbottom
{\vskip\z@ plus
.0001fil
36 \global\let\@textbottom
\relax}}
39 \@setfontsize
\small\@ixpt
{11}%
40 \abovedisplayskip 8.5\p@ \@plus3
\p@ \@minus4
\p@
41 \abovedisplayshortskip \z@ \@plus2
\p@
42 \belowdisplayshortskip 4\p@ \@plus2
\p@ \@minus2
\p@
43 \def\@listi
{\leftmargin\leftmargini
44 \parsep 0\p@ \@plus1
\p@ \@minus
\p@
45 \topsep 8\p@ \@plus2
\p@ \@minus4
\p@
47 \belowdisplayskip \abovedisplayskip
54 \setlength\oddsidemargin {63\p@
}
55 \setlength\evensidemargin {63\p@
}
56 \setlength\marginparwidth {90\p@
}
58 \setlength\headsep {16\p@
}
60 \setlength\footnotesep{7.7\p@
}
61 \setlength\textfloatsep{8mm\@plus
2\p@ \@minus
4\p@
}
62 \setlength\intextsep {8mm\@plus
2\p@ \@minus
2\p@
}
64 \setcounter{secnumdepth
}{2}
67 \renewcommand\thechapter {\@arabic
\c@chapter
}
69 \newif\if@mainmatter \@mainmattertrue
70 \newcommand\frontmatter{\cleardoublepage
71 \@mainmatterfalse
\pagenumbering{Roman
}}
72 \newcommand\mainmatter{\cleardoublepage
73 \@mainmattertrue
\pagenumbering{arabic
}}
74 \newcommand\backmatter{\if@openright
\cleardoublepage\else\clearpage\fi
77 \renewcommand\part{\cleardoublepage
78 \thispagestyle{empty
}%
89 \ifnum \c@secnumdepth >-
2\relax
90 \refstepcounter{part
}%
91 \addcontentsline{toc
}{part
}{\thepart\hspace{1em
}#1}%
93 \addcontentsline{toc
}{part
}{#1}%
99 \ifnum \c@secnumdepth >-
2\relax
100 \huge\bfseries \partname~
\thepart
104 \Huge \bfseries #2\par}%
108 \interlinepenalty \@M
110 \Huge \bfseries #1\par}%
112 \def\@endpart
{\vfil\newpage
115 \thispagestyle{empty
}%
122 \newcommand\chapter{\clearpage
123 \thispagestyle{empty
}%
126 \secdef\@chapter\@schapter
}
127 \def\@chapter
[#1]#2{\ifnum \c@secnumdepth >
\m@ne
129 \refstepcounter{chapter
}%
130 \typeout{\@chapapp
\space\thechapter.
}%
131 \addcontentsline{toc
}{chapter
}%
132 {\protect\numberline{\thechapter}#1}%
134 \addcontentsline{toc
}{chapter
}{#1}%
137 \addcontentsline{toc
}{chapter
}{#1}%
140 \addtocontents{lof
}{\protect\addvspace{10\p@
}}%
141 \addtocontents{lot
}{\protect\addvspace{10\p@
}}%
143 \@topnewpage
[\@makechapterhead
{#2}]%
145 \@makechapterhead
{#2}%
148 \def\@makechapterhead
#1{%
151 \ifnum \c@secnumdepth >
\m@ne
153 \large\bfseries \@chapapp
{} \thechapter
159 \Large \bfseries #1\par\nobreak
162 \def\@schapter
#1{\if@twocolumn
163 \@topnewpage
[\@makeschapterhead
{#1}]%
165 \@makeschapterhead
{#1}%
168 \def\@makeschapterhead
#1{%
173 \Large \bfseries #1\par\nobreak
177 \renewcommand\section{\@startsection
{section
}{1}{\z@
}%
178 {-
18\p@ \@plus -
4\p@ \@minus -
4\p@
}%
179 {12\p@ \@plus
4\p@ \@minus
4\p@
}%
180 {\normalfont\large\bfseries\boldmath
181 \rightskip=
\z@ \@plus
8em
\pretolerance=
10000 }}
182 \renewcommand\subsection{\@startsection
{subsection
}{2}{\z@
}%
183 {-
18\p@ \@plus -
4\p@ \@minus -
4\p@
}%
184 {8\p@ \@plus
4\p@ \@minus
4\p@
}%
185 {\normalfont\normalsize\bfseries\boldmath
186 \rightskip=
\z@ \@plus
8em
\pretolerance=
10000 }}
187 \renewcommand\subsubsection{\@startsection
{subsubsection
}{3}{\z@
}%
188 {-
18\p@ \@plus -
4\p@ \@minus -
4\p@
}%
189 {-
0.5em \@plus -
0.22em \@minus -
0.1em
}%
190 {\normalfont\normalsize\bfseries\boldmath}}
191 \renewcommand\paragraph{\@startsection
{paragraph
}{4}{\z@
}%
192 {-
12\p@ \@plus -
4\p@ \@minus -
4\p@
}%
193 {-
0.5em \@plus -
0.22em \@minus -
0.1em
}%
194 {\normalfont\normalsize\itshape}}
195 \renewcommand\subparagraph[1]{\typeout{LLNCS warning: You should not use
196 \string\subparagraph\space with this class
}\vskip0.5cm
197 You should not use
\verb|
\subparagraph| with this class.
\vskip0.5cm
}
199 \DeclareMathSymbol{\Gamma}{\mathalpha}{letters
}{"
00}
200 \DeclareMathSymbol{\Delta}{\mathalpha}{letters
}{"
01}
201 \DeclareMathSymbol{\Theta}{\mathalpha}{letters
}{"
02}
202 \DeclareMathSymbol{\Lambda}{\mathalpha}{letters
}{"
03}
203 \DeclareMathSymbol{\Xi}{\mathalpha}{letters
}{"
04}
204 \DeclareMathSymbol{\Pi}{\mathalpha}{letters
}{"
05}
205 \DeclareMathSymbol{\Sigma}{\mathalpha}{letters
}{"
06}
206 \DeclareMathSymbol{\Upsilon}{\mathalpha}{letters
}{"
07}
207 \DeclareMathSymbol{\Phi}{\mathalpha}{letters
}{"
08}
208 \DeclareMathSymbol{\Psi}{\mathalpha}{letters
}{"
09}
209 \DeclareMathSymbol{\Omega}{\mathalpha}{letters
}{"
0A
}
211 \let\footnotesize\small
214 \def\vec#1{\mathchoice{\mbox{\boldmath$
\displaystyle#1$
}}
215 {\mbox{\boldmath$
\textstyle#1$
}}
216 {\mbox{\boldmath$
\scriptstyle#1$
}}
217 {\mbox{\boldmath$
\scriptscriptstyle#1$
}}}
220 \def\squareforqed{\hbox{\rlap{$
\sqcap$
}$
\sqcup$
}}
221 \def\qed{\ifmmode\squareforqed\else{\unskip\nobreak\hfil
222 \penalty50\hskip1em\null\nobreak\hfil\squareforqed
223 \parfillskip=
0pt
\finalhyphendemerits=
0\endgraf}\fi}
225 \def\getsto{\mathrel{\mathchoice {\vcenter{\offinterlineskip
227 $
\displaystyle##$
\hfil\cr\gets\cr\to\cr}}}
228 {\vcenter{\offinterlineskip\halign{\hfil$
\textstyle##$
\hfil\cr\gets
230 {\vcenter{\offinterlineskip\halign{\hfil$
\scriptstyle##$
\hfil\cr\gets
232 {\vcenter{\offinterlineskip\halign{\hfil$
\scriptscriptstyle##$
\hfil\cr
234 \def\lid{\mathrel{\mathchoice {\vcenter{\offinterlineskip\halign{\hfil
235 $
\displaystyle##$
\hfil\cr<
\cr\noalign{\vskip1.2pt
}=
\cr}}}
236 {\vcenter{\offinterlineskip\halign{\hfil$
\textstyle##$
\hfil\cr<
\cr
237 \noalign{\vskip1.2pt
}=
\cr}}}
238 {\vcenter{\offinterlineskip\halign{\hfil$
\scriptstyle##$
\hfil\cr<
\cr
239 \noalign{\vskip1pt}=
\cr}}}
240 {\vcenter{\offinterlineskip\halign{\hfil$
\scriptscriptstyle##$
\hfil\cr
242 \noalign{\vskip0.9pt
}=
\cr}}}}}
243 \def\gid{\mathrel{\mathchoice {\vcenter{\offinterlineskip\halign{\hfil
244 $
\displaystyle##$
\hfil\cr>
\cr\noalign{\vskip1.2pt
}=
\cr}}}
245 {\vcenter{\offinterlineskip\halign{\hfil$
\textstyle##$
\hfil\cr>
\cr
246 \noalign{\vskip1.2pt
}=
\cr}}}
247 {\vcenter{\offinterlineskip\halign{\hfil$
\scriptstyle##$
\hfil\cr>
\cr
248 \noalign{\vskip1pt}=
\cr}}}
249 {\vcenter{\offinterlineskip\halign{\hfil$
\scriptscriptstyle##$
\hfil\cr
251 \noalign{\vskip0.9pt
}=
\cr}}}}}
252 \def\grole{\mathrel{\mathchoice {\vcenter{\offinterlineskip
254 $
\displaystyle##$
\hfil\cr>
\cr\noalign{\vskip-
1pt
}<
\cr}}}
255 {\vcenter{\offinterlineskip\halign{\hfil$
\textstyle##$
\hfil\cr
256 >
\cr\noalign{\vskip-
1pt
}<
\cr}}}
257 {\vcenter{\offinterlineskip\halign{\hfil$
\scriptstyle##$
\hfil\cr
258 >
\cr\noalign{\vskip-
0.8pt
}<
\cr}}}
259 {\vcenter{\offinterlineskip\halign{\hfil$
\scriptscriptstyle##$
\hfil\cr
260 >
\cr\noalign{\vskip-
0.3pt
}<
\cr}}}}}
261 \def\bbbr{{\rm I\!R
}} %reelle Zahlen
262 \def\bbbm{{\rm I\!M
}}
263 \def\bbbn{{\rm I\!N
}} %natuerliche Zahlen
264 \def\bbbf{{\rm I\!F
}}
265 \def\bbbh{{\rm I\!H
}}
266 \def\bbbk{{\rm I\!K
}}
267 \def\bbbp{{\rm I\!P
}}
268 \def\bbbone{{\mathchoice {\rm 1\mskip-
4mu l
} {\rm 1\mskip-
4mu l
}
269 {\rm 1\mskip-
4.5mu l
} {\rm 1\mskip-
5mu l
}}}
270 \def\bbbc{{\mathchoice {\setbox0=
\hbox{$
\displaystyle\rm C$
}\hbox{\hbox
271 to0pt
{\kern0.4
\wd0\vrule height0.9
\ht0\hss}\box0}}
272 {\setbox0=
\hbox{$
\textstyle\rm C$
}\hbox{\hbox
273 to0pt
{\kern0.4
\wd0\vrule height0.9
\ht0\hss}\box0}}
274 {\setbox0=
\hbox{$
\scriptstyle\rm C$
}\hbox{\hbox
275 to0pt
{\kern0.4
\wd0\vrule height0.9
\ht0\hss}\box0}}
276 {\setbox0=
\hbox{$
\scriptscriptstyle\rm C$
}\hbox{\hbox
277 to0pt
{\kern0.4
\wd0\vrule height0.9
\ht0\hss}\box0}}}}
278 \def\bbbq{{\mathchoice {\setbox0=
\hbox{$
\displaystyle\rm
280 0.15\ht0\hbox to0pt
{\kern0.4
\wd0\vrule height0.8
\ht0\hss}\box0}}
281 {\setbox0=
\hbox{$
\textstyle\rm Q$
}\hbox{\raise
282 0.15\ht0\hbox to0pt
{\kern0.4
\wd0\vrule height0.8
\ht0\hss}\box0}}
283 {\setbox0=
\hbox{$
\scriptstyle\rm Q$
}\hbox{\raise
284 0.15\ht0\hbox to0pt
{\kern0.4
\wd0\vrule height0.7
\ht0\hss}\box0}}
285 {\setbox0=
\hbox{$
\scriptscriptstyle\rm Q$
}\hbox{\raise
286 0.15\ht0\hbox to0pt
{\kern0.4
\wd0\vrule height0.7
\ht0\hss}\box0}}}}
287 \def\bbbt{{\mathchoice {\setbox0=
\hbox{$
\displaystyle\rm
288 T$
}\hbox{\hbox to0pt
{\kern0.3
\wd0\vrule height0.9
\ht0\hss}\box0}}
289 {\setbox0=
\hbox{$
\textstyle\rm T$
}\hbox{\hbox
290 to0pt
{\kern0.3
\wd0\vrule height0.9
\ht0\hss}\box0}}
291 {\setbox0=
\hbox{$
\scriptstyle\rm T$
}\hbox{\hbox
292 to0pt
{\kern0.3
\wd0\vrule height0.9
\ht0\hss}\box0}}
293 {\setbox0=
\hbox{$
\scriptscriptstyle\rm T$
}\hbox{\hbox
294 to0pt
{\kern0.3
\wd0\vrule height0.9
\ht0\hss}\box0}}}}
295 \def\bbbs{{\mathchoice
296 {\setbox0=
\hbox{$
\displaystyle \rm S$
}\hbox{\raise0.5
\ht0\hbox
297 to0pt
{\kern0.35
\wd0\vrule height0.45
\ht0\hss}\hbox
298 to0pt
{\kern0.55
\wd0\vrule height0.5
\ht0\hss}\box0}}
299 {\setbox0=
\hbox{$
\textstyle \rm S$
}\hbox{\raise0.5
\ht0\hbox
300 to0pt
{\kern0.35
\wd0\vrule height0.45
\ht0\hss}\hbox
301 to0pt
{\kern0.55
\wd0\vrule height0.5
\ht0\hss}\box0}}
302 {\setbox0=
\hbox{$
\scriptstyle \rm S$
}\hbox{\raise0.5
\ht0\hbox
303 to0pt
{\kern0.35
\wd0\vrule height0.45
\ht0\hss}\raise0.05
\ht0\hbox
304 to0pt
{\kern0.5
\wd0\vrule height0.45
\ht0\hss}\box0}}
305 {\setbox0=
\hbox{$
\scriptscriptstyle\rm S$
}\hbox{\raise0.5
\ht0\hbox
306 to0pt
{\kern0.4
\wd0\vrule height0.45
\ht0\hss}\raise0.05
\ht0\hbox
307 to0pt
{\kern0.55
\wd0\vrule height0.45
\ht0\hss}\box0}}}}
308 \def\bbbz{{\mathchoice {\hbox{$
\mathsf\textstyle Z
\kern-
0.4em Z$
}}
309 {\hbox{$
\mathsf\textstyle Z
\kern-
0.4em Z$
}}
310 {\hbox{$
\mathsf\scriptstyle Z
\kern-
0.3em Z$
}}
311 {\hbox{$
\mathsf\scriptscriptstyle Z
\kern-
0.2em Z$
}}}}
315 \setlength\leftmargini {17\p@
}
316 \setlength\leftmargin {\leftmargini}
317 \setlength\leftmarginii {\leftmargini}
318 \setlength\leftmarginiii {\leftmargini}
319 \setlength\leftmarginiv {\leftmargini}
320 \setlength \labelsep {.5em
}
321 \setlength \labelwidth{\leftmargini}
322 \addtolength\labelwidth{-
\labelsep}
324 \def\@listI
{\leftmargin\leftmargini
325 \parsep 0\p@ \@plus1
\p@ \@minus
\p@
326 \topsep 8\p@ \@plus2
\p@ \@minus4
\p@
330 \def\@listii
{\leftmargin\leftmarginii
331 \labelwidth\leftmarginii
332 \advance\labelwidth-
\labelsep
333 \topsep 0\p@ \@plus2
\p@ \@minus
\p@
}
334 \def\@listiii
{\leftmargin\leftmarginiii
335 \labelwidth\leftmarginiii
336 \advance\labelwidth-
\labelsep
337 \topsep 0\p@ \@plus
\p@\@minus
\p@
339 \partopsep \p@ \@plus
\z@ \@minus
\p@
}
341 \renewcommand\labelitemi{\normalfont\bfseries --
}
342 \renewcommand\labelitemii{$
\m@th
\bullet$
}
344 \setlength\arraycolsep{1.4\p@
}
345 \setlength\tabcolsep{1.4\p@
}
347 \def\tableofcontents{\chapter*
{\contentsname\@mkboth
{{\contentsname}}%
349 \def\authcount#
#1{\setcounter{auco
}{#
#1}\setcounter{@auth
}{1}}
350 \def\lastand{\ifnum\value{auco
}=
2\relax
353 \unskip \lastandname\
355 \def\and{\stepcounter{@auth
}\relax
356 \ifnum\value{@auth
}=
\value{auco
}%
361 \@starttoc
{toc
}\if@restonecol
\twocolumn\fi}
363 \def\l@part
#1#2{\addpenalty{\@secpenalty
}%
364 \addvspace{2em plus
\p@
}% % space above part line
367 \rightskip \z@ plus
5em
369 \large % same size as for a contribution heading
370 \bfseries\boldmath % set line in boldface
371 \leavevmode % TeX command to enter horizontal mode.
376 \nobreak % Never break after part entry
381 \def\hyperhrefextend{\ifx\hyper@anchor\@undefined
\else
382 {chapter.
\thechapter}\fi}
384 \def\addnumcontentsmark#1#2#3{%
385 \addtocontents{#1}{\protect\contentsline{#2}{\protect\numberline
386 {\thechapter}#3}{\thepage}\hyperhrefextend}}
387 \def\addcontentsmark#1#2#3{%
388 \addtocontents{#1}{\protect\contentsline{#2}{#3}{\thepage}\hyperhrefextend}}
389 \def\addcontentsmarkwop#1#2#3{%
390 \addtocontents{#1}{\protect\contentsline{#2}{#3}{0}\hyperhrefextend}}
392 \def\@adcmk
[#1]{\ifcase #1 \or
393 \def\@gtempa
{\addnumcontentsmark}%
394 \or \def\@gtempa
{\addcontentsmark}%
395 \or \def\@gtempa
{\addcontentsmarkwop}%
396 \fi\@gtempa
{toc
}{chapter
}}
397 \def\addtocmark{\@ifnextchar
[{\@adcmk
}{\@adcmk
[3]}}
399 \def\l@chapter
#1#2{\addpenalty{-\@highpenalty
}
400 \vskip 1.0em plus
1pt \@tempdima
1.5em
\begingroup
401 \parindent \z@
\rightskip \@pnumwidth
402 \parfillskip -\@pnumwidth
403 \leavevmode \advance\leftskip\@tempdima
\hskip -
\leftskip
404 {\large\bfseries\boldmath#1}\ifx0#2\hfil\null
407 \leaders\hbox{$
\m@th
\mkern \@dotsep mu.
\mkern
409 \nobreak\hbox to\@pnumwidth
{\hss #2}%
411 \penalty\@highpenalty
\endgroup}
413 \def\l@title
#1#2{\addpenalty{-\@highpenalty
}
414 \addvspace{8pt plus
1pt
}
417 \parindent \z@
\rightskip \@tocrmarg
418 \parfillskip -\@tocrmarg
419 \leavevmode \advance\leftskip\@tempdima
\hskip -
\leftskip
421 \leaders\hbox{$
\m@th
\mkern \@dotsep mu.
\mkern
423 \nobreak\hbox to\@pnumwidth
{\hss #2}\par
424 \penalty\@highpenalty
\endgroup}
426 \setcounter{tocdepth}{0}
429 \newdimen\tocsectotal
430 \newdimen\tocsubsecnum
431 \newdimen\tocsubsectotal
432 \newdimen\tocsubsubsecnum
433 \newdimen\tocsubsubsectotal
435 \newdimen\tocparatotal
436 \newdimen\tocsubparanum
437 \tocchpnum=
\z@
% no chapter numbers
438 \tocsecnum=
15\p@
% section 88. plus 2.222pt
439 \tocsubsecnum=
23\p@
% subsection 88.8 plus 2.222pt
440 \tocsubsubsecnum=
27\p@
% subsubsection 88.8.8 plus 1.444pt
441 \tocparanum=
35\p@
% paragraph 88.8.8.8 plus 1.666pt
442 \tocsubparanum=
43\p@
% subparagraph 88.8.8.8.8 plus 1.888pt
444 \tocsectotal=
\tocchpnum
445 \advance\tocsectotal by
\tocsecnum
446 \tocsubsectotal=
\tocsectotal
447 \advance\tocsubsectotal by
\tocsubsecnum
448 \tocsubsubsectotal=
\tocsubsectotal
449 \advance\tocsubsubsectotal by
\tocsubsubsecnum
450 \tocparatotal=
\tocsubsubsectotal
451 \advance\tocparatotal by
\tocparanum}
454 \def\l@section
{\@dottedtocline
{1}{\tocchpnum}{\tocsecnum}}
455 \def\l@subsection
{\@dottedtocline
{2}{\tocsectotal}{\tocsubsecnum}}
456 \def\l@subsubsection
{\@dottedtocline
{3}{\tocsubsectotal}{\tocsubsubsecnum}}
457 \def\l@paragraph
{\@dottedtocline
{4}{\tocsubsubsectotal}{\tocparanum}}
458 \def\l@subparagraph
{\@dottedtocline
{5}{\tocparatotal}{\tocsubparanum}}
460 \def\listoffigures{\@restonecolfalse
\if@twocolumn\@restonecoltrue
\onecolumn
461 \fi\section*
{\listfigurename\@mkboth
{{\listfigurename}}{{\listfigurename}}}
462 \@starttoc
{lof
}\if@restonecol
\twocolumn\fi}
463 \def\l@figure
{\@dottedtocline
{1}{0em
}{1.5em
}}
465 \def\listoftables{\@restonecolfalse
\if@twocolumn\@restonecoltrue
\onecolumn
466 \fi\section*
{\listtablename\@mkboth
{{\listtablename}}{{\listtablename}}}
467 \@starttoc
{lot
}\if@restonecol
\twocolumn\fi}
468 \let\l@table
\l@figure
470 \renewcommand\listoffigures{%
471 \section*
{\listfigurename
472 \@mkboth
{\listfigurename}{\listfigurename}}%
476 \renewcommand\listoftables{%
477 \section*
{\listtablename
478 \@mkboth
{\listtablename}{\listtablename}}%
482 \ifx\oribibl\undefined
483 \ifx\citeauthoryear\undefined
484 \renewenvironment{thebibliography
}[1]
486 \def\@biblabel#
#1{#
#1.
}
488 \list{\@biblabel
{\@arabic
\c@enumiv
}}%
489 {\settowidth\labelwidth{\@biblabel
{#1}}%
490 \leftmargin\labelwidth
491 \advance\leftmargin\labelsep
493 \advance\leftmargin\bibindent
494 \itemindent -
\bibindent
495 \listparindent \itemindent
500 \renewcommand\theenumiv{\@arabic
\c@enumiv
}}%
502 \renewcommand\newblock{\par}%
504 \renewcommand\newblock{\hskip .11em \@plus
.33em \@minus
.07em
}%
506 \sloppy\clubpenalty4000\widowpenalty4000%
509 {\@latex@warning
{Empty `thebibliography' environment
}}%
511 \def\@lbibitem
[#1]#2{\item[{[#1]}\hfill]\if@filesw
512 {\let\protect\noexpand\immediate
513 \write\@auxout
{\string\bibcite{#2}{#1}}}\fi\ignorespaces}
515 \def\@citex
[#1]#2{\if@filesw
\immediate\write\@auxout
{\string\citation{#2}}\fi
516 \@tempcnta
\z@\@tempcntb
\m@ne
\def\@citea
{}\@cite
{\@for\@citeb:=
#2\do
518 {b@\@citeb
}{\@citeo\@tempcntb
\m@ne\@citea
\def\@citea
{,
}{\bfseries
520 {Citation `\@citeb' on page
\thepage \space undefined
}}%
521 {\setbox\z@
\hbox{\global\@tempcntc0
\csname b@\@citeb
\endcsname\relax}%
522 \ifnum\@tempcntc=
\z@ \@citeo\@tempcntb
\m@ne
523 \@citea
\def\@citea
{,
}\hbox{\csname b@\@citeb
\endcsname}%
525 \advance\@tempcntb\@ne
526 \ifnum\@tempcntb=\@tempcntc
527 \else\advance\@tempcntb
\m@ne\@citeo
528 \@tempcnta\@tempcntc\@tempcntb\@tempcntc
\fi\fi}}\@citeo
}{#1}}
529 \def\@citeo
{\ifnum\@tempcnta>\@tempcntb
\else
530 \@citea
\def\@citea
{,\,
\hskip\z@skip
}%
531 \ifnum\@tempcnta=\@tempcntb
\the\@tempcnta
\else
532 {\advance\@tempcnta\@ne
\ifnum\@tempcnta=\@tempcntb
\else
534 \advance\@tempcnta
\m@ne
\the\@tempcnta\@citea
\the\@tempcntb
}\fi\fi}
536 \renewenvironment{thebibliography
}[1]
540 {\settowidth\labelwidth{}%
541 \leftmargin\parindent
542 \itemindent=-
\parindent
545 \advance\leftmargin\bibindent
546 \itemindent -
\bibindent
547 \listparindent \itemindent
552 \renewcommand\theenumiv{}}%
554 \renewcommand\newblock{\par}%
556 \renewcommand\newblock{\hskip .11em \@plus
.33em \@minus
.07em
}%
558 \sloppy\clubpenalty4000\widowpenalty4000%
561 {\@latex@warning
{Empty `thebibliography' environment
}}%
564 \def\@lbibitem
[#1]#2{\item[]\if@filesw
565 {\def\protect#
#1{\string #
#1\space}\immediate
566 \write\@auxout
{\string\bibcite{#2}{#1}}}\fi\ignorespaces}
569 \@cons\@openbib@code
{\noexpand\small}
572 \def\idxquad{\hskip 10\p@
}% space that divides entry from number
574 \def\@idxitem
{\par\hangindent 10\p@
}
576 \def\subitem{\par\setbox0=
\hbox{--
\enspace}% second order
577 \noindent\hangindent\wd0\box0}% index entry
579 \def\subsubitem{\par\setbox0=
\hbox{--\,--
\enspace}% third
580 \noindent\hangindent\wd0\box0}% order index entry
582 \def\indexspace{\par \vskip 10\p@ plus5
\p@ minus3
\p@
\relax}
584 \renewenvironment{theindex
}
585 {\@mkboth
{\indexname}{\indexname}%
586 \thispagestyle{empty
}\parindent\z@
587 \parskip\z@ \@plus
.3\p@
\relax
589 \def\,
{\relax\ifmmode\mskip\thinmuskip
590 \else\hskip0.2em
\ignorespaces\fi}%
592 \begin{multicols
}{2}[\@makeschapterhead
{\indexname}]%
596 \renewcommand\footnoterule{%
598 \hrule\@width
2truecm
602 \long\def\@makefntext
#1{%
603 \parindent \fnindent%
606 \llap{\hb@xt@
1em
{\hss\@makefnmark\
}}\ignorespaces#1}
608 \long\def\@makecaption
#1#2{%
609 \vskip\abovecaptionskip
610 \sbox\@tempboxa
{{\bfseries #1.
} #2}%
611 \ifdim \wd\@tempboxa >
\hsize
612 {\bfseries #1.
} #2\par
614 \global \@minipagefalse
615 \hb@xt@
\hsize{\hfil\box\@tempboxa
\hfil}%
617 \vskip\belowcaptionskip}
619 \def\fps@figure
{htbp
}
620 \def\fnum@figure
{\figurename\thinspace\thefigure}
621 \def \@floatboxreset
{%
628 \def\fnum@table
{\tablename~
\thetable}
629 \renewenvironment{table
}
630 {\setlength\abovecaptionskip{0\p@
}%
631 \setlength\belowcaptionskip{10\p@
}%
634 \renewenvironment{table*
}
635 {\setlength\abovecaptionskip{0\p@
}%
636 \setlength\belowcaptionskip{10\p@
}%
640 \long\def\@caption
#1[#2]#3{\par\addcontentsline{\csname
641 ext@
#1\endcsname}{#1}{\protect\numberline{\csname
642 the
#1\endcsname}{\ignorespaces #2}}\begingroup
644 \@makecaption
{\csname fnum@
#1\endcsname}{\ignorespaces #3}\par
647 % LaTeX does not provide a command to enter the authors institute
648 % addresses. The \institute command is defined here.
654 \def\lastandname{\unskip, and
}
657 \newtoks\authorrunning
660 \newtoks\titlerunning
663 \def\clearheadinfo{\gdef\@author
{No Author Given
}%
664 \gdef\@title
{No Title Given
}%
666 \gdef\@institute
{No Institute Given
}%
668 \global\titlerunning=
{}\global\authorrunning=
{}%
669 \global\toctitle=
{}\global\tocauthor=
{}}
671 \def\institute#1{\gdef\@institute
{#1}}
673 \def\institutename{\par
677 \setcounter{@inst
}{1}%
678 \def\and{\par\stepcounter{@inst
}%
679 \noindent$^
{\the@inst
}$
\enspace\ignorespaces}%
680 \setbox0=
\vbox{\def\thanks#
#1{}\@institute
}%
681 \ifnum\c@@inst=
1\relax
683 \setcounter{footnote
}{\c@@inst
}%
684 \setcounter{@inst
}{1}%
685 \noindent$^
{\the@inst
}$
\enspace
691 \def\@fnsymbol
#1{\ensuremath{\ifcase#1\or\star\or{\star\star}\or
692 {\star\star\star}\or \dagger\or \ddagger\or
693 \mathchar "
278\or \mathchar "
27B
\or \|
\or **
\or \dagger\dagger
694 \or \ddagger\ddagger \else\@ctrerr
\fi}}
696 \def\inst#1{\unskip$^
{#1}$
}
697 \def\fnmsep{\unskip$^,$
}
698 \def\email#1{{\tt#1}}
699 \AtBeginDocument{\@ifundefined
{url
}{\def\url#1{#1}}{}}
702 \def\subtitle#1{\gdef\@subtitle
{#1}}
705 \renewcommand\maketitle{\newpage
706 \refstepcounter{chapter
}%
707 \stepcounter{section
}%
708 \setcounter{section
}{0}%
709 \setcounter{subsection
}{0}%
710 \setcounter{figure
}{0}
711 \setcounter{table
}{0}
712 \setcounter{equation
}{0}
713 \setcounter{footnote
}{0}%
716 \renewcommand\thefootnote{\@fnsymbol
\c@footnote
}%
718 \ifnum \col@number=\@ne
721 \twocolumn[\@maketitle
]%
725 \global\@topnum
\z@
% Prevents figures from going at top of page.
728 \thispagestyle{empty
}\@thanks
730 \def\\
{\unskip\
\ignorespaces}\def\inst#
#1{\unskip{}}%
731 \def\thanks#
#1{\unskip{}}\def\fnmsep{\unskip}%
733 \advance\instindent by-
\headlineindent
734 \if!
\the\toctitle!
\addcontentsline{toc
}{title
}{\@title
}\else
735 \addcontentsline{toc
}{title
}{\the\toctitle}\fi
737 \if!
\the\titlerunning!
\else
738 \edef\@title
{\the\titlerunning}%
740 \global\setbox\titrun=
\hbox{\small\rm\unboldmath\ignorespaces\@title
}%
741 \ifdim\wd\titrun>
\instindent
742 \typeout{Title too long for running head. Please supply
}%
743 \typeout{a shorter form with
\string\titlerunning\space prior to
745 \global\setbox\titrun=
\hbox{\small\rm
746 Title Suppressed Due to Excessive Length
}%
748 \xdef\@title
{\copy\titrun}%
751 \if!
\the\tocauthor!
\relax
752 {\def\and{\noexpand\protect\noexpand\and}%
753 \protected@xdef
\toc@uthor
{\@author
}}%
755 \def\\
{\noexpand\protect\noexpand\newline}%
756 \protected@xdef
\scratch{\the\tocauthor}%
757 \protected@xdef
\toc@uthor
{\scratch}%
759 \addtocontents{toc
}{{\protect\raggedright\protect\leftskip15\p@
760 \protect\rightskip\@tocrmarg
761 \protect\itshape\toc@uthor
\protect\endgraf}}%
763 \if!
\the\authorrunning!
764 \value{@inst
}=
\value{@auth
}%
765 \setcounter{@auth
}{1}%
767 \edef\@author
{\the\authorrunning}%
769 \global\setbox\authrun=
\hbox{\small\unboldmath\@author
\unskip}%
770 \ifdim\wd\authrun>
\instindent
771 \typeout{Names of authors too long for running head. Please supply
}%
772 \typeout{a shorter form with
\string\authorrunning\space prior to
774 \global\setbox\authrun=
\hbox{\small\rm
775 Authors Suppressed Due to Excessive Length
}%
777 \xdef\@author
{\copy\authrun}%
778 \markboth{\@author
}{\@title
}%
781 \setcounter{footnote
}{0}%
784 \def\@maketitle
{\newpage
786 \def\lastand{\ifnum\value{@inst
}=
2\relax
789 \unskip \lastandname\
791 \def\and{\stepcounter{@auth
}\relax
792 \ifnum\value{@auth
}=
\value{@inst
}%
798 {\Large \bfseries\boldmath
800 \@title
\par}\vskip .8cm
801 \if!\@subtitle!
\else {\large \bfseries\boldmath
804 \@subtitle
\par}\vskip .8cm
\fi
805 \setbox0=
\vbox{\setcounter{@auth
}{1}\def\and{\stepcounter{@auth
}}%
806 \def\thanks#
#1{}\@author
}%
807 \global\value{@inst
}=
\value{@auth
}%
808 \global\value{auco
}=
\value{@auth
}%
809 \setcounter{@auth
}{1}%
811 \noindent\ignorespaces
813 {\small\institutename}
817 % definition of the "\spnewtheorem" command.
821 % \spnewtheorem{env_nam}{caption}[within]{cap_font}{body_font}
822 % or \spnewtheorem{env_nam}[numbered_like]{caption}{cap_font}{body_font}
823 % or \spnewtheorem*{env_nam}{caption}{cap_font}{body_font}
825 % New is "cap_font" and "body_font". It stands for
826 % fontdefinition of the caption and the text itself.
828 % "\spnewtheorem*" gives a theorem without number.
830 % A defined spnewthoerem environment is used as described
833 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
835 \def\@thmcountersep
{}
836 \def\@thmcounterend
{.
}
838 \def\spnewtheorem{\@ifstar
{\@sthm
}{\@Sthm
}}
840 % definition of \spnewtheorem with number
843 \@ifnextchar
[{\@spxnthm
{#1}{#2}}{\@spynthm
{#1}{#2}}}
844 \def\@Sthm
#1{\@ifnextchar
[{\@spothm
{#1}}{\@spnthm
{#1}}}
846 \def\@spxnthm
#1#2[#3]#4#5{\expandafter\@ifdefinable
\csname #1\endcsname
847 {\@definecounter
{#1}\@addtoreset
{#1}{#3}%
848 \expandafter\xdef\csname the
#1\endcsname{\expandafter\noexpand
849 \csname the
#3\endcsname \noexpand\@thmcountersep \@thmcounter
{#1}}%
850 \expandafter\xdef\csname #1name
\endcsname{#2}%
851 \global\@namedef
{#1}{\@spthm
{#1}{\csname #1name
\endcsname}{#4}{#5}}%
852 \global\@namedef
{end
#1}{\@endtheorem
}}}
854 \def\@spynthm
#1#2#3#4{\expandafter\@ifdefinable
\csname #1\endcsname
855 {\@definecounter
{#1}%
856 \expandafter\xdef\csname the
#1\endcsname{\@thmcounter
{#1}}%
857 \expandafter\xdef\csname #1name
\endcsname{#2}%
858 \global\@namedef
{#1}{\@spthm
{#1}{\csname #1name
\endcsname}{#3}{#4}}%
859 \global\@namedef
{end
#1}{\@endtheorem
}}}
861 \def\@spothm
#1[#2]#3#4#5{%
862 \@ifundefined
{c@
#2}{\@latexerr
{No theorem environment `
#2' defined
}\@eha
}%
863 {\expandafter\@ifdefinable
\csname #1\endcsname
864 {\global\@namedef
{the
#1}{\@nameuse
{the
#2}}%
865 \expandafter\xdef\csname #1name
\endcsname{#3}%
866 \global\@namedef
{#1}{\@spthm
{#2}{\csname #1name
\endcsname}{#4}{#5}}%
867 \global\@namedef
{end
#1}{\@endtheorem
}}}}
869 \def\@spthm
#1#2#3#4{\topsep 7\p@ \@plus2
\p@ \@minus4
\p@
871 \@ifnextchar
[{\@spythm
{#1}{#2}{#3}{#4}}{\@spxthm
{#1}{#2}{#3}{#4}}}
873 \def\@spxthm
#1#2#3#4{\@spbegintheorem
{#2}{\csname the
#1\endcsname}{#3}{#4}%
876 \def\@spythm
#1#2#3#4[#5]{\@spopargbegintheorem
{#2}{\csname
877 the
#1\endcsname}{#5}{#3}{#4}\ignorespaces}
879 \def\@spbegintheorem
#1#2#3#4{\trivlist
880 \item[\hskip\labelsep{#3#1\
#2\@thmcounterend
}]#4}
882 \def\@spopargbegintheorem
#1#2#3#4#5{\trivlist
883 \item[\hskip\labelsep{#4#1\
#2}]{#4(
#3)\@thmcounterend\
}#5}
885 % definition of \spnewtheorem* without number
887 \def\@sthm
#1#2{\@Ynthm
{#1}{#2}}
889 \def\@Ynthm
#1#2#3#4{\expandafter\@ifdefinable
\csname #1\endcsname
890 {\global\@namedef
{#1}{\@Thm
{\csname #1name
\endcsname}{#3}{#4}}%
891 \expandafter\xdef\csname #1name
\endcsname{#2}%
892 \global\@namedef
{end
#1}{\@endtheorem
}}}
894 \def\@Thm
#1#2#3{\topsep 7\p@ \@plus2
\p@ \@minus4
\p@
895 \@ifnextchar
[{\@Ythm
{#1}{#2}{#3}}{\@Xthm
{#1}{#2}{#3}}}
897 \def\@Xthm
#1#2#3{\@Begintheorem
{#1}{#2}{#3}\ignorespaces}
899 \def\@Ythm
#1#2#3[#4]{\@Opargbegintheorem
{#1}
900 {#4}{#2}{#3}\ignorespaces}
902 \def\@Begintheorem
#1#2#3{#3\trivlist
903 \item[\hskip\labelsep{#2#1\@thmcounterend
}]}
905 \def\@Opargbegintheorem
#1#2#3#4{#4\trivlist
906 \item[\hskip\labelsep{#3#1}]{#3(
#2)\@thmcounterend\
}}
909 \def\@thmcountersep
{.
}
910 \spnewtheorem{theorem
}{Theorem
}[section
]{\bfseries}{\itshape}
912 \spnewtheorem{theorem
}{Theorem
}{\bfseries}{\itshape}
914 \@addtoreset
{theorem
}{section
}
916 \@addtoreset
{theorem
}{chapter
}
920 %definition of divers theorem environments
921 \spnewtheorem*
{claim
}{Claim
}{\itshape}{\rmfamily}
922 \spnewtheorem*
{proof
}{Proof
}{\itshape}{\rmfamily}
923 \if@envcntsame
% alle Umgebungen wie Theorem.
924 \def\spn@wtheorem
#1#2#3#4{\@spothm
{#1}[theorem
]{#2}{#3}{#4}}
925 \else % alle Umgebungen mit eigenem Zaehler
926 \if@envcntsect
% mit section numeriert
927 \def\spn@wtheorem
#1#2#3#4{\@spxnthm
{#1}{#2}[section
]{#3}{#4}}
928 \else % nicht mit section numeriert
930 \def\spn@wtheorem
#1#2#3#4{\@spynthm
{#1}{#2}{#3}{#4}
931 \@addtoreset
{#1}{section
}}
933 \def\spn@wtheorem
#1#2#3#4{\@spynthm
{#1}{#2}{#3}{#4}
934 \@addtoreset
{#1}{chapter
}}%
938 \spn@wtheorem
{case
}{Case
}{\itshape}{\rmfamily}
939 \spn@wtheorem
{conjecture
}{Conjecture
}{\itshape}{\rmfamily}
940 \spn@wtheorem
{corollary
}{Corollary
}{\bfseries}{\itshape}
941 \spn@wtheorem
{definition
}{Definition
}{\bfseries}{\itshape}
942 \spn@wtheorem
{example
}{Example
}{\itshape}{\rmfamily}
943 \spn@wtheorem
{exercise
}{Exercise
}{\itshape}{\rmfamily}
944 \spn@wtheorem
{lemma
}{Lemma
}{\bfseries}{\itshape}
945 \spn@wtheorem
{note
}{Note
}{\itshape}{\rmfamily}
946 \spn@wtheorem
{problem
}{Problem
}{\itshape}{\rmfamily}
947 \spn@wtheorem
{property
}{Property
}{\itshape}{\rmfamily}
948 \spn@wtheorem
{proposition
}{Proposition
}{\bfseries}{\itshape}
949 \spn@wtheorem
{question
}{Question
}{\itshape}{\rmfamily}
950 \spn@wtheorem
{solution
}{Solution
}{\itshape}{\rmfamily}
951 \spn@wtheorem
{remark
}{Remark
}{\itshape}{\rmfamily}
953 \def\@takefromreset
#1#2{%
958 \ifx\@tempa\@tempb
\else
959 \@addtoreset
{#
#1}{#2}%
961 \expandafter\expandafter\let\expandafter\@tempc
\csname cl@
#2\endcsname
962 \expandafter\def\csname cl@
#2\endcsname{}%
966 \def\theopargself{\def\@spopargbegintheorem#
#1#
#2#
#3#
#4#
#5{\trivlist
967 \item[\hskip\labelsep{#
#4#
#1\ #
#2}]{#
#4#
#3\@thmcounterend\
}#
#5}
968 \def\@Opargbegintheorem#
#1#
#2#
#3#
#4{#
#4\trivlist
969 \item[\hskip\labelsep{#
#3#
#1}]{#
#3#
#2\@thmcounterend\
}}
972 \renewenvironment{abstract
}{%
973 \list{}{\advance\topsep by0.35cm
\relax\small
977 \itemindent\listparindent
978 \rightmargin\leftmargin}\item[\hskip\labelsep
979 \bfseries\abstractname]}
981 \renewcommand{\abstractname}{Abstract.
}
982 \renewcommand{\contentsname}{Table of Contents
}
983 \renewcommand{\figurename}{Fig.
}
984 \renewcommand{\tablename}{Table
}
986 \newdimen\headlineindent % dimension for space between
987 \headlineindent=
1.166cm
% number and text of headings.
989 \def\ps@headings
{\let\@mkboth\@gobbletwo
990 \let\@oddfoot\@empty
\let\@evenfoot\@empty
991 \def\@evenhead
{\normalfont\small\rlap{\thepage}\hspace{\headlineindent}%
993 \def\@oddhead
{\normalfont\small\hfil\rightmark\hspace{\headlineindent}%
995 \def\chaptermark#
#1{}%
996 \def\sectionmark#
#1{}%
997 \def\subsectionmark#
#1{}}
999 \def\ps@titlepage
{\let\@mkboth\@gobbletwo
1000 \let\@oddfoot\@empty
\let\@evenfoot\@empty
1001 \def\@evenhead
{\normalfont\small\rlap{\thepage}\hspace{\headlineindent}%
1003 \def\@oddhead
{\normalfont\small\hfil\hspace{\headlineindent}%
1005 \def\chaptermark#
#1{}%
1006 \def\sectionmark#
#1{}%
1007 \def\subsectionmark#
#1{}}
1009 \if@runhead
\ps@headings
\else
1012 \setlength\arraycolsep{1.4\p@
}
1013 \setlength\tabcolsep{1.4\p@
}