]> matita.cs.unibo.it Git - helm.git/blob - helm/mathql/doc/llncs.cls
ocaml 3.09 transition
[helm.git] / helm / mathql / doc / llncs.cls
1 % LLNCS DOCUMENT CLASS -- version 2.13 (28-Jan-2002)
2 % Springer Verlag LaTeX2e support for Lecture Notes in Computer Science
3 %
4 %%
5 %% \CharacterTable
6 %%  {Upper-case    \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
7 %%   Lower-case    \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z
8 %%   Digits        \0\1\2\3\4\5\6\7\8\9
9 %%   Exclamation   \!     Double quote  \"     Hash (number) \#
10 %%   Dollar        \$     Percent       \%     Ampersand     \&
11 %%   Acute accent  \'     Left paren    \(     Right paren   \)
12 %%   Asterisk      \*     Plus          \+     Comma         \,
13 %%   Minus         \-     Point         \.     Solidus       \/
14 %%   Colon         \:     Semicolon     \;     Less than     \<
15 %%   Equals        \=     Greater than  \>     Question mark \?
16 %%   Commercial at \@     Left bracket  \[     Backslash     \\
17 %%   Right bracket \]     Circumflex    \^     Underscore    \_
18 %%   Grave accent  \`     Left brace    \{     Vertical bar  \|
19 %%   Right brace   \}     Tilde         \~}
20 %%
21 \NeedsTeXFormat{LaTeX2e}[1995/12/01]
22 \ProvidesClass{llncs}[2002/01/28 v2.13
23 ^^J LaTeX document class for Lecture Notes in Computer Science]
24 % Options
25 \let\if@envcntreset\iffalse
26 \DeclareOption{envcountreset}{\let\if@envcntreset\iftrue}
27 \DeclareOption{citeauthoryear}{\let\citeauthoryear=Y}
28 \DeclareOption{oribibl}{\let\oribibl=Y}
29 \let\if@custvec\iftrue
30 \DeclareOption{orivec}{\let\if@custvec\iffalse}
31 \let\if@envcntsame\iffalse
32 \DeclareOption{envcountsame}{\let\if@envcntsame\iftrue}
33 \let\if@envcntsect\iffalse
34 \DeclareOption{envcountsect}{\let\if@envcntsect\iftrue}
35 \let\if@runhead\iffalse
36 \DeclareOption{runningheads}{\let\if@runhead\iftrue}
37
38 \let\if@openbib\iffalse
39 \DeclareOption{openbib}{\let\if@openbib\iftrue}
40
41 % languages
42 \let\switcht@@therlang\relax
43 \def\ds@deutsch{\def\switcht@@therlang{\switcht@deutsch}}
44 \def\ds@francais{\def\switcht@@therlang{\switcht@francais}}
45
46 \DeclareOption*{\PassOptionsToClass{\CurrentOption}{article}}
47
48 \ProcessOptions
49
50 \LoadClass[twoside]{article}
51 \RequirePackage{multicol} % needed for the list of participants, index
52
53 \setlength{\textwidth}{12.2cm}
54 \setlength{\textheight}{19.3cm}
55 \renewcommand\@pnumwidth{2em}
56 \renewcommand\@tocrmarg{3.5em}
57 %
58 \def\@dottedtocline#1#2#3#4#5{%
59   \ifnum #1>\c@tocdepth \else
60     \vskip \z@ \@plus.2\p@
61     {\leftskip #2\relax \rightskip \@tocrmarg \advance\rightskip by 0pt plus 2cm
62                \parfillskip -\rightskip \pretolerance=10000
63      \parindent #2\relax\@afterindenttrue
64      \interlinepenalty\@M
65      \leavevmode
66      \@tempdima #3\relax
67      \advance\leftskip \@tempdima \null\nobreak\hskip -\leftskip
68      {#4}\nobreak
69      \leaders\hbox{$\m@th
70         \mkern \@dotsep mu\hbox{.}\mkern \@dotsep
71         mu$}\hfill
72      \nobreak
73      \hb@xt@\@pnumwidth{\hfil\normalfont \normalcolor #5}%
74      \par}%
75   \fi}
76 %
77 \def\switcht@albion{%
78 \def\abstractname{Abstract.}
79 \def\ackname{Acknowledgement.}
80 \def\andname{and}
81 \def\lastandname{\unskip, and}
82 \def\appendixname{Appendix}
83 \def\chaptername{Chapter}
84 \def\claimname{Claim}
85 \def\conjecturename{Conjecture}
86 \def\contentsname{Table of Contents}
87 \def\corollaryname{Corollary}
88 \def\definitionname{Definition}
89 \def\examplename{Example}
90 \def\exercisename{Exercise}
91 \def\figurename{Fig.}
92 \def\keywordname{{\bf Key words:}}
93 \def\indexname{Index}
94 \def\lemmaname{Lemma}
95 \def\contriblistname{List of Contributors}
96 \def\listfigurename{List of Figures}
97 \def\listtablename{List of Tables}
98 \def\mailname{{\it Correspondence to\/}:}
99 \def\noteaddname{Note added in proof}
100 \def\notename{Note}
101 \def\partname{Part}
102 \def\problemname{Problem}
103 \def\proofname{Proof}
104 \def\propertyname{Property}
105 \def\propositionname{Proposition}
106 \def\questionname{Question}
107 \def\remarkname{Remark}
108 \def\seename{see}
109 \def\solutionname{Solution}
110 \def\subclassname{{\it Subject Classifications\/}:}
111 \def\tablename{Table}
112 \def\theoremname{Theorem}}
113 \switcht@albion
114 % Names of theorem like environments are already defined
115 % but must be translated if another language is chosen
116 %
117 % French section
118 \def\switcht@francais{%\typeout{On parle francais.}%
119  \def\abstractname{R\'esum\'e.}%
120  \def\ackname{Remerciements.}%
121  \def\andname{et}%
122  \def\lastandname{ et}%
123  \def\appendixname{Appendice}
124  \def\chaptername{Chapitre}%
125  \def\claimname{Pr\'etention}%
126  \def\conjecturename{Hypoth\`ese}%
127  \def\contentsname{Table des mati\`eres}%
128  \def\corollaryname{Corollaire}%
129  \def\definitionname{D\'efinition}%
130  \def\examplename{Exemple}%
131  \def\exercisename{Exercice}%
132  \def\figurename{Fig.}%
133  \def\keywordname{{\bf Mots-cl\'e:}}
134  \def\indexname{Index}
135  \def\lemmaname{Lemme}%
136  \def\contriblistname{Liste des contributeurs}
137  \def\listfigurename{Liste des figures}%
138  \def\listtablename{Liste des tables}%
139  \def\mailname{{\it Correspondence to\/}:}
140  \def\noteaddname{Note ajout\'ee \`a l'\'epreuve}%
141  \def\notename{Remarque}%
142  \def\partname{Partie}%
143  \def\problemname{Probl\`eme}%
144  \def\proofname{Preuve}%
145  \def\propertyname{Caract\'eristique}%
146 %\def\propositionname{Proposition}%
147  \def\questionname{Question}%
148  \def\remarkname{Remarque}%
149  \def\seename{voir}
150  \def\solutionname{Solution}%
151  \def\subclassname{{\it Subject Classifications\/}:}
152  \def\tablename{Tableau}%
153  \def\theoremname{Th\'eor\`eme}%
154 }
155 %
156 % German section
157 \def\switcht@deutsch{%\typeout{Man spricht deutsch.}%
158  \def\abstractname{Zusammenfassung.}%
159  \def\ackname{Danksagung.}%
160  \def\andname{und}%
161  \def\lastandname{ und}%
162  \def\appendixname{Anhang}%
163  \def\chaptername{Kapitel}%
164  \def\claimname{Behauptung}%
165  \def\conjecturename{Hypothese}%
166  \def\contentsname{Inhaltsverzeichnis}%
167  \def\corollaryname{Korollar}%
168 %\def\definitionname{Definition}%
169  \def\examplename{Beispiel}%
170  \def\exercisename{\"Ubung}%
171  \def\figurename{Abb.}%
172  \def\keywordname{{\bf Schl\"usselw\"orter:}}
173  \def\indexname{Index}
174 %\def\lemmaname{Lemma}%
175  \def\contriblistname{Mitarbeiter}
176  \def\listfigurename{Abbildungsverzeichnis}%
177  \def\listtablename{Tabellenverzeichnis}%
178  \def\mailname{{\it Correspondence to\/}:}
179  \def\noteaddname{Nachtrag}%
180  \def\notename{Anmerkung}%
181  \def\partname{Teil}%
182 %\def\problemname{Problem}%
183  \def\proofname{Beweis}%
184  \def\propertyname{Eigenschaft}%
185 %\def\propositionname{Proposition}%
186  \def\questionname{Frage}%
187  \def\remarkname{Anmerkung}%
188  \def\seename{siehe}
189  \def\solutionname{L\"osung}%
190  \def\subclassname{{\it Subject Classifications\/}:}
191  \def\tablename{Tabelle}%
192 %\def\theoremname{Theorem}%
193 }
194
195 % Ragged bottom for the actual page
196 \def\thisbottomragged{\def\@textbottom{\vskip\z@ plus.0001fil
197 \global\let\@textbottom\relax}}
198
199 \renewcommand\small{%
200    \@setfontsize\small\@ixpt{11}%
201    \abovedisplayskip 8.5\p@ \@plus3\p@ \@minus4\p@
202    \abovedisplayshortskip \z@ \@plus2\p@
203    \belowdisplayshortskip 4\p@ \@plus2\p@ \@minus2\p@
204    \def\@listi{\leftmargin\leftmargini
205                \parsep 0\p@ \@plus1\p@ \@minus\p@
206                \topsep 8\p@ \@plus2\p@ \@minus4\p@
207                \itemsep0\p@}%
208    \belowdisplayskip \abovedisplayskip
209 }
210
211 \frenchspacing
212 \widowpenalty=10000
213 \clubpenalty=10000
214
215 \setlength\oddsidemargin   {63\p@}
216 \setlength\evensidemargin  {63\p@}
217 \setlength\marginparwidth  {90\p@}
218
219 \setlength\headsep   {16\p@}
220
221 \setlength\footnotesep{7.7\p@}
222 \setlength\textfloatsep{8mm\@plus 2\p@ \@minus 4\p@}
223 \setlength\intextsep   {8mm\@plus 2\p@ \@minus 2\p@}
224
225 \setcounter{secnumdepth}{2}
226
227 \newcounter {chapter}
228 \renewcommand\thechapter      {\@arabic\c@chapter}
229
230 \newif\if@mainmatter \@mainmattertrue
231 \newcommand\frontmatter{\cleardoublepage
232             \@mainmatterfalse\pagenumbering{Roman}}
233 \newcommand\mainmatter{\cleardoublepage
234        \@mainmattertrue\pagenumbering{arabic}}
235 \newcommand\backmatter{\if@openright\cleardoublepage\else\clearpage\fi
236       \@mainmatterfalse}
237
238 \renewcommand\part{\cleardoublepage
239                  \thispagestyle{empty}%
240                  \if@twocolumn
241                      \onecolumn
242                      \@tempswatrue
243                    \else
244                      \@tempswafalse
245                  \fi
246                  \null\vfil
247                  \secdef\@part\@spart}
248
249 \def\@part[#1]#2{%
250     \ifnum \c@secnumdepth >-2\relax
251       \refstepcounter{part}%
252       \addcontentsline{toc}{part}{\thepart\hspace{1em}#1}%
253     \else
254       \addcontentsline{toc}{part}{#1}%
255     \fi
256     \markboth{}{}%
257     {\centering
258      \interlinepenalty \@M
259      \normalfont
260      \ifnum \c@secnumdepth >-2\relax
261        \huge\bfseries \partname~\thepart
262        \par
263        \vskip 20\p@
264      \fi
265      \Huge \bfseries #2\par}%
266     \@endpart}
267 \def\@spart#1{%
268     {\centering
269      \interlinepenalty \@M
270      \normalfont
271      \Huge \bfseries #1\par}%
272     \@endpart}
273 \def\@endpart{\vfil\newpage
274               \if@twoside
275                 \null
276                 \thispagestyle{empty}%
277                 \newpage
278               \fi
279               \if@tempswa
280                 \twocolumn
281               \fi}
282
283 \newcommand\chapter{\clearpage
284                     \thispagestyle{empty}%
285                     \global\@topnum\z@
286                     \@afterindentfalse
287                     \secdef\@chapter\@schapter}
288 \def\@chapter[#1]#2{\ifnum \c@secnumdepth >\m@ne
289                        \if@mainmatter
290                          \refstepcounter{chapter}%
291                          \typeout{\@chapapp\space\thechapter.}%
292                          \addcontentsline{toc}{chapter}%
293                                   {\protect\numberline{\thechapter}#1}%
294                        \else
295                          \addcontentsline{toc}{chapter}{#1}%
296                        \fi
297                     \else
298                       \addcontentsline{toc}{chapter}{#1}%
299                     \fi
300                     \chaptermark{#1}%
301                     \addtocontents{lof}{\protect\addvspace{10\p@}}%
302                     \addtocontents{lot}{\protect\addvspace{10\p@}}%
303                     \if@twocolumn
304                       \@topnewpage[\@makechapterhead{#2}]%
305                     \else
306                       \@makechapterhead{#2}%
307                       \@afterheading
308                     \fi}
309 \def\@makechapterhead#1{%
310 % \vspace*{50\p@}%
311   {\centering
312     \ifnum \c@secnumdepth >\m@ne
313       \if@mainmatter
314         \large\bfseries \@chapapp{} \thechapter
315         \par\nobreak
316         \vskip 20\p@
317       \fi
318     \fi
319     \interlinepenalty\@M
320     \Large \bfseries #1\par\nobreak
321     \vskip 40\p@
322   }}
323 \def\@schapter#1{\if@twocolumn
324                    \@topnewpage[\@makeschapterhead{#1}]%
325                  \else
326                    \@makeschapterhead{#1}%
327                    \@afterheading
328                  \fi}
329 \def\@makeschapterhead#1{%
330 % \vspace*{50\p@}%
331   {\centering
332     \normalfont
333     \interlinepenalty\@M
334     \Large \bfseries  #1\par\nobreak
335     \vskip 40\p@
336   }}
337
338 \renewcommand\section{\@startsection{section}{1}{\z@}%
339                        {-18\p@ \@plus -4\p@ \@minus -4\p@}%
340                        {12\p@ \@plus 4\p@ \@minus 4\p@}%
341                        {\normalfont\large\bfseries\boldmath
342                         \rightskip=\z@ \@plus 8em\pretolerance=10000 }}
343 \renewcommand\subsection{\@startsection{subsection}{2}{\z@}%
344                        {-18\p@ \@plus -4\p@ \@minus -4\p@}%
345                        {8\p@ \@plus 4\p@ \@minus 4\p@}%
346                        {\normalfont\normalsize\bfseries\boldmath
347                         \rightskip=\z@ \@plus 8em\pretolerance=10000 }}
348 \renewcommand\subsubsection{\@startsection{subsubsection}{3}{\z@}%
349                        {-18\p@ \@plus -4\p@ \@minus -4\p@}%
350                        {-0.5em \@plus -0.22em \@minus -0.1em}%
351                        {\normalfont\normalsize\bfseries\boldmath}}
352 \renewcommand\paragraph{\@startsection{paragraph}{4}{\z@}%
353                        {-12\p@ \@plus -4\p@ \@minus -4\p@}%
354                        {-0.5em \@plus -0.22em \@minus -0.1em}%
355                        {\normalfont\normalsize\itshape}}
356 \renewcommand\subparagraph[1]{\typeout{LLNCS warning: You should not use
357                   \string\subparagraph\space with this class}\vskip0.5cm
358 You should not use \verb|\subparagraph| with this class.\vskip0.5cm}
359
360 \DeclareMathSymbol{\Gamma}{\mathalpha}{letters}{"00}
361 \DeclareMathSymbol{\Delta}{\mathalpha}{letters}{"01}
362 \DeclareMathSymbol{\Theta}{\mathalpha}{letters}{"02}
363 \DeclareMathSymbol{\Lambda}{\mathalpha}{letters}{"03}
364 \DeclareMathSymbol{\Xi}{\mathalpha}{letters}{"04}
365 \DeclareMathSymbol{\Pi}{\mathalpha}{letters}{"05}
366 \DeclareMathSymbol{\Sigma}{\mathalpha}{letters}{"06}
367 \DeclareMathSymbol{\Upsilon}{\mathalpha}{letters}{"07}
368 \DeclareMathSymbol{\Phi}{\mathalpha}{letters}{"08}
369 \DeclareMathSymbol{\Psi}{\mathalpha}{letters}{"09}
370 \DeclareMathSymbol{\Omega}{\mathalpha}{letters}{"0A}
371
372 \let\footnotesize\small
373
374 \if@custvec
375 \def\vec#1{\mathchoice{\mbox{\boldmath$\displaystyle#1$}}
376 {\mbox{\boldmath$\textstyle#1$}}
377 {\mbox{\boldmath$\scriptstyle#1$}}
378 {\mbox{\boldmath$\scriptscriptstyle#1$}}}
379 \fi
380
381 \def\squareforqed{\hbox{\rlap{$\sqcap$}$\sqcup$}}
382 \def\qed{\ifmmode\squareforqed\else{\unskip\nobreak\hfil
383 \penalty50\hskip1em\null\nobreak\hfil\squareforqed
384 \parfillskip=0pt\finalhyphendemerits=0\endgraf}\fi}
385
386 \def\getsto{\mathrel{\mathchoice {\vcenter{\offinterlineskip
387 \halign{\hfil
388 $\displaystyle##$\hfil\cr\gets\cr\to\cr}}}
389 {\vcenter{\offinterlineskip\halign{\hfil$\textstyle##$\hfil\cr\gets
390 \cr\to\cr}}}
391 {\vcenter{\offinterlineskip\halign{\hfil$\scriptstyle##$\hfil\cr\gets
392 \cr\to\cr}}}
393 {\vcenter{\offinterlineskip\halign{\hfil$\scriptscriptstyle##$\hfil\cr
394 \gets\cr\to\cr}}}}}
395 \def\lid{\mathrel{\mathchoice {\vcenter{\offinterlineskip\halign{\hfil
396 $\displaystyle##$\hfil\cr<\cr\noalign{\vskip1.2pt}=\cr}}}
397 {\vcenter{\offinterlineskip\halign{\hfil$\textstyle##$\hfil\cr<\cr
398 \noalign{\vskip1.2pt}=\cr}}}
399 {\vcenter{\offinterlineskip\halign{\hfil$\scriptstyle##$\hfil\cr<\cr
400 \noalign{\vskip1pt}=\cr}}}
401 {\vcenter{\offinterlineskip\halign{\hfil$\scriptscriptstyle##$\hfil\cr
402 <\cr
403 \noalign{\vskip0.9pt}=\cr}}}}}
404 \def\gid{\mathrel{\mathchoice {\vcenter{\offinterlineskip\halign{\hfil
405 $\displaystyle##$\hfil\cr>\cr\noalign{\vskip1.2pt}=\cr}}}
406 {\vcenter{\offinterlineskip\halign{\hfil$\textstyle##$\hfil\cr>\cr
407 \noalign{\vskip1.2pt}=\cr}}}
408 {\vcenter{\offinterlineskip\halign{\hfil$\scriptstyle##$\hfil\cr>\cr
409 \noalign{\vskip1pt}=\cr}}}
410 {\vcenter{\offinterlineskip\halign{\hfil$\scriptscriptstyle##$\hfil\cr
411 >\cr
412 \noalign{\vskip0.9pt}=\cr}}}}}
413 \def\grole{\mathrel{\mathchoice {\vcenter{\offinterlineskip
414 \halign{\hfil
415 $\displaystyle##$\hfil\cr>\cr\noalign{\vskip-1pt}<\cr}}}
416 {\vcenter{\offinterlineskip\halign{\hfil$\textstyle##$\hfil\cr
417 >\cr\noalign{\vskip-1pt}<\cr}}}
418 {\vcenter{\offinterlineskip\halign{\hfil$\scriptstyle##$\hfil\cr
419 >\cr\noalign{\vskip-0.8pt}<\cr}}}
420 {\vcenter{\offinterlineskip\halign{\hfil$\scriptscriptstyle##$\hfil\cr
421 >\cr\noalign{\vskip-0.3pt}<\cr}}}}}
422 \def\bbbr{{\rm I\!R}} %reelle Zahlen
423 \def\bbbm{{\rm I\!M}}
424 \def\bbbn{{\rm I\!N}} %natuerliche Zahlen
425 \def\bbbf{{\rm I\!F}}
426 \def\bbbh{{\rm I\!H}}
427 \def\bbbk{{\rm I\!K}}
428 \def\bbbp{{\rm I\!P}}
429 \def\bbbone{{\mathchoice {\rm 1\mskip-4mu l} {\rm 1\mskip-4mu l}
430 {\rm 1\mskip-4.5mu l} {\rm 1\mskip-5mu l}}}
431 \def\bbbc{{\mathchoice {\setbox0=\hbox{$\displaystyle\rm C$}\hbox{\hbox
432 to0pt{\kern0.4\wd0\vrule height0.9\ht0\hss}\box0}}
433 {\setbox0=\hbox{$\textstyle\rm C$}\hbox{\hbox
434 to0pt{\kern0.4\wd0\vrule height0.9\ht0\hss}\box0}}
435 {\setbox0=\hbox{$\scriptstyle\rm C$}\hbox{\hbox
436 to0pt{\kern0.4\wd0\vrule height0.9\ht0\hss}\box0}}
437 {\setbox0=\hbox{$\scriptscriptstyle\rm C$}\hbox{\hbox
438 to0pt{\kern0.4\wd0\vrule height0.9\ht0\hss}\box0}}}}
439 \def\bbbq{{\mathchoice {\setbox0=\hbox{$\displaystyle\rm
440 Q$}\hbox{\raise
441 0.15\ht0\hbox to0pt{\kern0.4\wd0\vrule height0.8\ht0\hss}\box0}}
442 {\setbox0=\hbox{$\textstyle\rm Q$}\hbox{\raise
443 0.15\ht0\hbox to0pt{\kern0.4\wd0\vrule height0.8\ht0\hss}\box0}}
444 {\setbox0=\hbox{$\scriptstyle\rm Q$}\hbox{\raise
445 0.15\ht0\hbox to0pt{\kern0.4\wd0\vrule height0.7\ht0\hss}\box0}}
446 {\setbox0=\hbox{$\scriptscriptstyle\rm Q$}\hbox{\raise
447 0.15\ht0\hbox to0pt{\kern0.4\wd0\vrule height0.7\ht0\hss}\box0}}}}
448 \def\bbbt{{\mathchoice {\setbox0=\hbox{$\displaystyle\rm
449 T$}\hbox{\hbox to0pt{\kern0.3\wd0\vrule height0.9\ht0\hss}\box0}}
450 {\setbox0=\hbox{$\textstyle\rm T$}\hbox{\hbox
451 to0pt{\kern0.3\wd0\vrule height0.9\ht0\hss}\box0}}
452 {\setbox0=\hbox{$\scriptstyle\rm T$}\hbox{\hbox
453 to0pt{\kern0.3\wd0\vrule height0.9\ht0\hss}\box0}}
454 {\setbox0=\hbox{$\scriptscriptstyle\rm T$}\hbox{\hbox
455 to0pt{\kern0.3\wd0\vrule height0.9\ht0\hss}\box0}}}}
456 \def\bbbs{{\mathchoice
457 {\setbox0=\hbox{$\displaystyle     \rm S$}\hbox{\raise0.5\ht0\hbox
458 to0pt{\kern0.35\wd0\vrule height0.45\ht0\hss}\hbox
459 to0pt{\kern0.55\wd0\vrule height0.5\ht0\hss}\box0}}
460 {\setbox0=\hbox{$\textstyle        \rm S$}\hbox{\raise0.5\ht0\hbox
461 to0pt{\kern0.35\wd0\vrule height0.45\ht0\hss}\hbox
462 to0pt{\kern0.55\wd0\vrule height0.5\ht0\hss}\box0}}
463 {\setbox0=\hbox{$\scriptstyle      \rm S$}\hbox{\raise0.5\ht0\hbox
464 to0pt{\kern0.35\wd0\vrule height0.45\ht0\hss}\raise0.05\ht0\hbox
465 to0pt{\kern0.5\wd0\vrule height0.45\ht0\hss}\box0}}
466 {\setbox0=\hbox{$\scriptscriptstyle\rm S$}\hbox{\raise0.5\ht0\hbox
467 to0pt{\kern0.4\wd0\vrule height0.45\ht0\hss}\raise0.05\ht0\hbox
468 to0pt{\kern0.55\wd0\vrule height0.45\ht0\hss}\box0}}}}
469 \def\bbbz{{\mathchoice {\hbox{$\mathsf\textstyle Z\kern-0.4em Z$}}
470 {\hbox{$\mathsf\textstyle Z\kern-0.4em Z$}}
471 {\hbox{$\mathsf\scriptstyle Z\kern-0.3em Z$}}
472 {\hbox{$\mathsf\scriptscriptstyle Z\kern-0.2em Z$}}}}
473
474 \let\ts\,
475
476 \setlength\leftmargini  {17\p@}
477 \setlength\leftmargin    {\leftmargini}
478 \setlength\leftmarginii  {\leftmargini}
479 \setlength\leftmarginiii {\leftmargini}
480 \setlength\leftmarginiv  {\leftmargini}
481 \setlength  \labelsep  {.5em}
482 \setlength  \labelwidth{\leftmargini}
483 \addtolength\labelwidth{-\labelsep}
484
485 \def\@listI{\leftmargin\leftmargini
486             \parsep 0\p@ \@plus1\p@ \@minus\p@
487             \topsep 8\p@ \@plus2\p@ \@minus4\p@
488             \itemsep0\p@}
489 \let\@listi\@listI
490 \@listi
491 \def\@listii {\leftmargin\leftmarginii
492               \labelwidth\leftmarginii
493               \advance\labelwidth-\labelsep
494               \topsep    0\p@ \@plus2\p@ \@minus\p@}
495 \def\@listiii{\leftmargin\leftmarginiii
496               \labelwidth\leftmarginiii
497               \advance\labelwidth-\labelsep
498               \topsep    0\p@ \@plus\p@\@minus\p@
499               \parsep    \z@
500               \partopsep \p@ \@plus\z@ \@minus\p@}
501
502 \renewcommand\labelitemi{\normalfont\bfseries --}
503 \renewcommand\labelitemii{$\m@th\bullet$}
504
505 \setlength\arraycolsep{1.4\p@}
506 \setlength\tabcolsep{1.4\p@}
507
508 \def\tableofcontents{\chapter*{\contentsname\@mkboth{{\contentsname}}%
509                                                     {{\contentsname}}}
510  \def\authcount##1{\setcounter{auco}{##1}\setcounter{@auth}{1}}
511  \def\lastand{\ifnum\value{auco}=2\relax
512                  \unskip{} \andname\
513               \else
514                  \unskip \lastandname\
515               \fi}%
516  \def\and{\stepcounter{@auth}\relax
517           \ifnum\value{@auth}=\value{auco}%
518              \lastand
519           \else
520              \unskip,
521           \fi}%
522  \@starttoc{toc}\if@restonecol\twocolumn\fi}
523
524 \def\l@part#1#2{\addpenalty{\@secpenalty}%
525    \addvspace{2em plus\p@}%  % space above part line
526    \begingroup
527      \parindent \z@
528      \rightskip \z@ plus 5em
529      \hrule\vskip5pt
530      \large               % same size as for a contribution heading
531      \bfseries\boldmath   % set line in boldface
532      \leavevmode          % TeX command to enter horizontal mode.
533      #1\par
534      \vskip5pt
535      \hrule
536      \vskip1pt
537      \nobreak             % Never break after part entry
538    \endgroup}
539
540 \def\@dotsep{2}
541
542 \def\hyperhrefextend{\ifx\hyper@anchor\@undefined\else
543 {chapter.\thechapter}\fi}
544
545 \def\addnumcontentsmark#1#2#3{%
546 \addtocontents{#1}{\protect\contentsline{#2}{\protect\numberline
547                      {\thechapter}#3}{\thepage}\hyperhrefextend}}
548 \def\addcontentsmark#1#2#3{%
549 \addtocontents{#1}{\protect\contentsline{#2}{#3}{\thepage}\hyperhrefextend}}
550 \def\addcontentsmarkwop#1#2#3{%
551 \addtocontents{#1}{\protect\contentsline{#2}{#3}{0}\hyperhrefextend}}
552
553 \def\@adcmk[#1]{\ifcase #1 \or
554 \def\@gtempa{\addnumcontentsmark}%
555   \or    \def\@gtempa{\addcontentsmark}%
556   \or    \def\@gtempa{\addcontentsmarkwop}%
557   \fi\@gtempa{toc}{chapter}}
558 \def\addtocmark{\@ifnextchar[{\@adcmk}{\@adcmk[3]}}
559
560 \def\l@chapter#1#2{\addpenalty{-\@highpenalty}
561  \vskip 1.0em plus 1pt \@tempdima 1.5em \begingroup
562  \parindent \z@ \rightskip \@tocrmarg
563  \advance\rightskip by 0pt plus 2cm
564  \parfillskip -\rightskip \pretolerance=10000
565  \leavevmode \advance\leftskip\@tempdima \hskip -\leftskip
566  {\large\bfseries\boldmath#1}\ifx0#2\hfil\null
567  \else
568       \nobreak
569       \leaders\hbox{$\m@th \mkern \@dotsep mu.\mkern
570       \@dotsep mu$}\hfill
571       \nobreak\hbox to\@pnumwidth{\hss #2}%
572  \fi\par
573  \penalty\@highpenalty \endgroup}
574
575 \def\l@title#1#2{\addpenalty{-\@highpenalty}
576  \addvspace{8pt plus 1pt}
577  \@tempdima \z@
578  \begingroup
579  \parindent \z@ \rightskip \@tocrmarg
580  \advance\rightskip by 0pt plus 2cm
581  \parfillskip -\rightskip \pretolerance=10000
582  \leavevmode \advance\leftskip\@tempdima \hskip -\leftskip
583  #1\nobreak
584  \leaders\hbox{$\m@th \mkern \@dotsep mu.\mkern
585  \@dotsep mu$}\hfill
586  \nobreak\hbox to\@pnumwidth{\hss #2}\par
587  \penalty\@highpenalty \endgroup}
588
589 \def\l@author#1#2{\addpenalty{\@highpenalty}
590  \@tempdima=\z@ %15\p@
591  \begingroup
592  \parindent \z@ \rightskip \@tocrmarg
593  \advance\rightskip by 0pt plus 2cm
594  \pretolerance=10000
595  \leavevmode \advance\leftskip\@tempdima %\hskip -\leftskip
596  \textit{#1}\par
597  \penalty\@highpenalty \endgroup}
598
599 \setcounter{tocdepth}{0}
600 \newdimen\tocchpnum
601 \newdimen\tocsecnum
602 \newdimen\tocsectotal
603 \newdimen\tocsubsecnum
604 \newdimen\tocsubsectotal
605 \newdimen\tocsubsubsecnum
606 \newdimen\tocsubsubsectotal
607 \newdimen\tocparanum
608 \newdimen\tocparatotal
609 \newdimen\tocsubparanum
610 \tocchpnum=\z@            % no chapter numbers
611 \tocsecnum=15\p@          % section 88. plus 2.222pt
612 \tocsubsecnum=23\p@       % subsection 88.8 plus 2.222pt
613 \tocsubsubsecnum=27\p@    % subsubsection 88.8.8 plus 1.444pt
614 \tocparanum=35\p@         % paragraph 88.8.8.8 plus 1.666pt
615 \tocsubparanum=43\p@      % subparagraph 88.8.8.8.8 plus 1.888pt
616 \def\calctocindent{%
617 \tocsectotal=\tocchpnum
618 \advance\tocsectotal by\tocsecnum
619 \tocsubsectotal=\tocsectotal
620 \advance\tocsubsectotal by\tocsubsecnum
621 \tocsubsubsectotal=\tocsubsectotal
622 \advance\tocsubsubsectotal by\tocsubsubsecnum
623 \tocparatotal=\tocsubsubsectotal
624 \advance\tocparatotal by\tocparanum}
625 \calctocindent
626
627 \def\l@section{\@dottedtocline{1}{\tocchpnum}{\tocsecnum}}
628 \def\l@subsection{\@dottedtocline{2}{\tocsectotal}{\tocsubsecnum}}
629 \def\l@subsubsection{\@dottedtocline{3}{\tocsubsectotal}{\tocsubsubsecnum}}
630 \def\l@paragraph{\@dottedtocline{4}{\tocsubsubsectotal}{\tocparanum}}
631 \def\l@subparagraph{\@dottedtocline{5}{\tocparatotal}{\tocsubparanum}}
632
633 \def\listoffigures{\@restonecolfalse\if@twocolumn\@restonecoltrue\onecolumn
634  \fi\section*{\listfigurename\@mkboth{{\listfigurename}}{{\listfigurename}}}
635  \@starttoc{lof}\if@restonecol\twocolumn\fi}
636 \def\l@figure{\@dottedtocline{1}{0em}{1.5em}}
637
638 \def\listoftables{\@restonecolfalse\if@twocolumn\@restonecoltrue\onecolumn
639  \fi\section*{\listtablename\@mkboth{{\listtablename}}{{\listtablename}}}
640  \@starttoc{lot}\if@restonecol\twocolumn\fi}
641 \let\l@table\l@figure
642
643 \renewcommand\listoffigures{%
644     \section*{\listfigurename
645       \@mkboth{\listfigurename}{\listfigurename}}%
646     \@starttoc{lof}%
647     }
648
649 \renewcommand\listoftables{%
650     \section*{\listtablename
651       \@mkboth{\listtablename}{\listtablename}}%
652     \@starttoc{lot}%
653     }
654
655 \ifx\oribibl\undefined
656 \ifx\citeauthoryear\undefined
657 \renewenvironment{thebibliography}[1]
658      {\section*{\refname}
659       \def\@biblabel##1{##1.}
660       \small
661       \list{\@biblabel{\@arabic\c@enumiv}}%
662            {\settowidth\labelwidth{\@biblabel{#1}}%
663             \leftmargin\labelwidth
664             \advance\leftmargin\labelsep
665             \if@openbib
666               \advance\leftmargin\bibindent
667               \itemindent -\bibindent
668               \listparindent \itemindent
669               \parsep \z@
670             \fi
671             \usecounter{enumiv}%
672             \let\p@enumiv\@empty
673             \renewcommand\theenumiv{\@arabic\c@enumiv}}%
674       \if@openbib
675         \renewcommand\newblock{\par}%
676       \else
677         \renewcommand\newblock{\hskip .11em \@plus.33em \@minus.07em}%
678       \fi
679       \sloppy\clubpenalty4000\widowpenalty4000%
680       \sfcode`\.=\@m}
681      {\def\@noitemerr
682        {\@latex@warning{Empty `thebibliography' environment}}%
683       \endlist}
684 \def\@lbibitem[#1]#2{\item[{[#1]}\hfill]\if@filesw
685      {\let\protect\noexpand\immediate
686      \write\@auxout{\string\bibcite{#2}{#1}}}\fi\ignorespaces}
687 \newcount\@tempcntc
688 \def\@citex[#1]#2{\if@filesw\immediate\write\@auxout{\string\citation{#2}}\fi
689   \@tempcnta\z@\@tempcntb\m@ne\def\@citea{}\@cite{\@for\@citeb:=#2\do
690     {\@ifundefined
691        {b@\@citeb}{\@citeo\@tempcntb\m@ne\@citea\def\@citea{,}{\bfseries
692         ?}\@warning
693        {Citation `\@citeb' on page \thepage \space undefined}}%
694     {\setbox\z@\hbox{\global\@tempcntc0\csname b@\@citeb\endcsname\relax}%
695      \ifnum\@tempcntc=\z@ \@citeo\@tempcntb\m@ne
696        \@citea\def\@citea{,}\hbox{\csname b@\@citeb\endcsname}%
697      \else
698       \advance\@tempcntb\@ne
699       \ifnum\@tempcntb=\@tempcntc
700       \else\advance\@tempcntb\m@ne\@citeo
701       \@tempcnta\@tempcntc\@tempcntb\@tempcntc\fi\fi}}\@citeo}{#1}}
702 \def\@citeo{\ifnum\@tempcnta>\@tempcntb\else
703                \@citea\def\@citea{,\,\hskip\z@skip}%
704                \ifnum\@tempcnta=\@tempcntb\the\@tempcnta\else
705                {\advance\@tempcnta\@ne\ifnum\@tempcnta=\@tempcntb \else
706                 \def\@citea{--}\fi
707       \advance\@tempcnta\m@ne\the\@tempcnta\@citea\the\@tempcntb}\fi\fi}
708 \else
709 \renewenvironment{thebibliography}[1]
710      {\section*{\refname}
711       \small
712       \list{}%
713            {\settowidth\labelwidth{}%
714             \leftmargin\parindent
715             \itemindent=-\parindent
716             \labelsep=\z@
717             \if@openbib
718               \advance\leftmargin\bibindent
719               \itemindent -\bibindent
720               \listparindent \itemindent
721               \parsep \z@
722             \fi
723             \usecounter{enumiv}%
724             \let\p@enumiv\@empty
725             \renewcommand\theenumiv{}}%
726       \if@openbib
727         \renewcommand\newblock{\par}%
728       \else
729         \renewcommand\newblock{\hskip .11em \@plus.33em \@minus.07em}%
730       \fi
731       \sloppy\clubpenalty4000\widowpenalty4000%
732       \sfcode`\.=\@m}
733      {\def\@noitemerr
734        {\@latex@warning{Empty `thebibliography' environment}}%
735       \endlist}
736       \def\@cite#1{#1}%
737       \def\@lbibitem[#1]#2{\item[]\if@filesw
738         {\def\protect##1{\string ##1\space}\immediate
739       \write\@auxout{\string\bibcite{#2}{#1}}}\fi\ignorespaces}
740    \fi
741 \else
742 \@cons\@openbib@code{\noexpand\small}
743 \fi
744
745 \def\idxquad{\hskip 10\p@}% space that divides entry from number
746
747 \def\@idxitem{\par\hangindent 10\p@}
748
749 \def\subitem{\par\setbox0=\hbox{--\enspace}% second order
750                 \noindent\hangindent\wd0\box0}% index entry
751
752 \def\subsubitem{\par\setbox0=\hbox{--\,--\enspace}% third
753                 \noindent\hangindent\wd0\box0}% order index entry
754
755 \def\indexspace{\par \vskip 10\p@ plus5\p@ minus3\p@\relax}
756
757 \renewenvironment{theindex}
758                {\@mkboth{\indexname}{\indexname}%
759                 \thispagestyle{empty}\parindent\z@
760                 \parskip\z@ \@plus .3\p@\relax
761                 \let\item\par
762                 \def\,{\relax\ifmmode\mskip\thinmuskip
763                              \else\hskip0.2em\ignorespaces\fi}%
764                 \normalfont\small
765                 \begin{multicols}{2}[\@makeschapterhead{\indexname}]%
766                 }
767                 {\end{multicols}}
768
769 \renewcommand\footnoterule{%
770   \kern-3\p@
771   \hrule\@width 2truecm
772   \kern2.6\p@}
773   \newdimen\fnindent
774   \fnindent1em
775 \long\def\@makefntext#1{%
776     \parindent \fnindent%
777     \leftskip \fnindent%
778     \noindent
779     \llap{\hb@xt@1em{\hss\@makefnmark\ }}\ignorespaces#1}
780
781 \long\def\@makecaption#1#2{%
782   \vskip\abovecaptionskip
783   \sbox\@tempboxa{{\bfseries #1.} #2}%
784   \ifdim \wd\@tempboxa >\hsize
785     {\bfseries #1.} #2\par
786   \else
787     \global \@minipagefalse
788     \hb@xt@\hsize{\hfil\box\@tempboxa\hfil}%
789   \fi
790   \vskip\belowcaptionskip}
791
792 \def\fps@figure{htbp}
793 \def\fnum@figure{\figurename\thinspace\thefigure}
794 \def \@floatboxreset {%
795         \reset@font
796         \small
797         \@setnobreak
798         \@setminipage
799 }
800 \def\fps@table{htbp}
801 \def\fnum@table{\tablename~\thetable}
802 \renewenvironment{table}
803                {\setlength\abovecaptionskip{0\p@}%
804                 \setlength\belowcaptionskip{10\p@}%
805                 \@float{table}}
806                {\end@float}
807 \renewenvironment{table*}
808                {\setlength\abovecaptionskip{0\p@}%
809                 \setlength\belowcaptionskip{10\p@}%
810                 \@dblfloat{table}}
811                {\end@dblfloat}
812
813 \long\def\@caption#1[#2]#3{\par\addcontentsline{\csname
814   ext@#1\endcsname}{#1}{\protect\numberline{\csname
815   the#1\endcsname}{\ignorespaces #2}}\begingroup
816     \@parboxrestore
817     \@makecaption{\csname fnum@#1\endcsname}{\ignorespaces #3}\par
818   \endgroup}
819
820 % LaTeX does not provide a command to enter the authors institute
821 % addresses. The \institute command is defined here.
822
823 \newcounter{@inst}
824 \newcounter{@auth}
825 \newcounter{auco}
826 \newdimen\instindent
827 \newbox\authrun
828 \newtoks\authorrunning
829 \newtoks\tocauthor
830 \newbox\titrun
831 \newtoks\titlerunning
832 \newtoks\toctitle
833
834 \def\clearheadinfo{\gdef\@author{No Author Given}%
835                    \gdef\@title{No Title Given}%
836                    \gdef\@subtitle{}%
837                    \gdef\@institute{No Institute Given}%
838                    \gdef\@thanks{}%
839                    \global\titlerunning={}\global\authorrunning={}%
840                    \global\toctitle={}\global\tocauthor={}}
841
842 \def\institute#1{\gdef\@institute{#1}}
843
844 \def\institutename{\par
845  \begingroup
846  \parskip=\z@
847  \parindent=\z@
848  \setcounter{@inst}{1}%
849  \def\and{\par\stepcounter{@inst}%
850  \noindent$^{\the@inst}$\enspace\ignorespaces}%
851  \setbox0=\vbox{\def\thanks##1{}\@institute}%
852  \ifnum\c@@inst=1\relax
853    \gdef\fnnstart{0}%
854  \else
855    \xdef\fnnstart{\c@@inst}%
856    \setcounter{@inst}{1}%
857    \noindent$^{\the@inst}$\enspace
858  \fi
859  \ignorespaces
860  \@institute\par
861  \endgroup}
862
863 \def\@fnsymbol#1{\ensuremath{\ifcase#1\or\star\or{\star\star}\or
864    {\star\star\star}\or \dagger\or \ddagger\or
865    \mathchar "278\or \mathchar "27B\or \|\or **\or \dagger\dagger
866    \or \ddagger\ddagger \else\@ctrerr\fi}}
867
868 \def\inst#1{\unskip$^{#1}$}
869 \def\fnmsep{\unskip$^,$}
870 \def\email#1{{\tt#1}}
871 \AtBeginDocument{\@ifundefined{url}{\def\url#1{#1}}{}%
872 \@ifpackageloaded{babel}{%
873 \@ifundefined{extrasenglish}{}{\addto\extrasenglish{\switcht@albion}}%
874 \@ifundefined{extrasfrenchb}{}{\addto\extrasfrenchb{\switcht@francais}}%
875 \@ifundefined{extrasgerman}{}{\addto\extrasgerman{\switcht@deutsch}}%
876 }{\switcht@@therlang}%
877 }
878 \def\homedir{\~{ }}
879
880 \def\subtitle#1{\gdef\@subtitle{#1}}
881 \clearheadinfo
882
883 \renewcommand\maketitle{\newpage
884   \refstepcounter{chapter}%
885   \stepcounter{section}%
886   \setcounter{section}{0}%
887   \setcounter{subsection}{0}%
888   \setcounter{figure}{0}
889   \setcounter{table}{0}
890   \setcounter{equation}{0}
891   \setcounter{footnote}{0}%
892   \begingroup
893     \parindent=\z@
894     \renewcommand\thefootnote{\@fnsymbol\c@footnote}%
895     \if@twocolumn
896       \ifnum \col@number=\@ne
897         \@maketitle
898       \else
899         \twocolumn[\@maketitle]%
900       \fi
901     \else
902       \newpage
903       \global\@topnum\z@   % Prevents figures from going at top of page.
904       \@maketitle
905     \fi
906     \thispagestyle{empty}\@thanks
907 %
908     \def\\{\unskip\ \ignorespaces}\def\inst##1{\unskip{}}%
909     \def\thanks##1{\unskip{}}\def\fnmsep{\unskip}%
910     \instindent=\hsize
911     \advance\instindent by-\headlineindent
912     \if!\the\toctitle!\addcontentsline{toc}{title}{\@title}\else
913        \addcontentsline{toc}{title}{\the\toctitle}\fi
914     \if@runhead
915        \if!\the\titlerunning!\else
916          \edef\@title{\the\titlerunning}%
917        \fi
918        \global\setbox\titrun=\hbox{\small\rm\unboldmath\ignorespaces\@title}%
919        \ifdim\wd\titrun>\instindent
920           \typeout{Title too long for running head. Please supply}%
921           \typeout{a shorter form with \string\titlerunning\space prior to
922                    \string\maketitle}%
923           \global\setbox\titrun=\hbox{\small\rm
924           Title Suppressed Due to Excessive Length}%
925        \fi
926        \xdef\@title{\copy\titrun}%
927     \fi
928 %
929     \if!\the\tocauthor!\relax
930       {\def\and{\noexpand\protect\noexpand\and}%
931       \protected@xdef\toc@uthor{\@author}}%
932     \else
933       \def\\{\noexpand\protect\noexpand\newline}%
934       \protected@xdef\scratch{\the\tocauthor}%
935       \protected@xdef\toc@uthor{\scratch}%
936     \fi
937     \addcontentsline{toc}{author}{\toc@uthor}%
938     \if@runhead
939        \if!\the\authorrunning!
940          \value{@inst}=\value{@auth}%
941          \setcounter{@auth}{1}%
942        \else
943          \edef\@author{\the\authorrunning}%
944        \fi
945        \global\setbox\authrun=\hbox{\small\unboldmath\@author\unskip}%
946        \ifdim\wd\authrun>\instindent
947           \typeout{Names of authors too long for running head. Please supply}%
948           \typeout{a shorter form with \string\authorrunning\space prior to
949                    \string\maketitle}%
950           \global\setbox\authrun=\hbox{\small\rm
951           Authors Suppressed Due to Excessive Length}%
952        \fi
953        \xdef\@author{\copy\authrun}%
954        \markboth{\@author}{\@title}%
955      \fi
956   \endgroup
957   \setcounter{footnote}{\fnnstart}%
958   \clearheadinfo}
959 %
960 \def\@maketitle{\newpage
961  \markboth{}{}%
962  \def\lastand{\ifnum\value{@inst}=2\relax
963                  \unskip{} \andname\
964               \else
965                  \unskip \lastandname\
966               \fi}%
967  \def\and{\stepcounter{@auth}\relax
968           \ifnum\value{@auth}=\value{@inst}%
969              \lastand
970           \else
971              \unskip,
972           \fi}%
973  \begin{center}%
974  \let\newline\\
975  {\Large \bfseries\boldmath
976   \pretolerance=10000
977   \@title \par}\vskip .8cm
978 \if!\@subtitle!\else {\large \bfseries\boldmath
979   \vskip -.65cm
980   \pretolerance=10000
981   \@subtitle \par}\vskip .8cm\fi
982  \setbox0=\vbox{\setcounter{@auth}{1}\def\and{\stepcounter{@auth}}%
983  \def\thanks##1{}\@author}%
984  \global\value{@inst}=\value{@auth}%
985  \global\value{auco}=\value{@auth}%
986  \setcounter{@auth}{1}%
987 {\lineskip .5em
988 \noindent\ignorespaces
989 \@author\vskip.35cm}
990  {\small\institutename}
991  \end{center}%
992  }
993
994 % definition of the "\spnewtheorem" command.
995 %
996 % Usage:
997 %
998 %     \spnewtheorem{env_nam}{caption}[within]{cap_font}{body_font}
999 % or  \spnewtheorem{env_nam}[numbered_like]{caption}{cap_font}{body_font}
1000 % or  \spnewtheorem*{env_nam}{caption}{cap_font}{body_font}
1001 %
1002 % New is "cap_font" and "body_font". It stands for
1003 % fontdefinition of the caption and the text itself.
1004 %
1005 % "\spnewtheorem*" gives a theorem without number.
1006 %
1007 % A defined spnewthoerem environment is used as described
1008 % by Lamport.
1009 %
1010 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1011
1012 \def\@thmcountersep{}
1013 \def\@thmcounterend{.}
1014
1015 \def\spnewtheorem{\@ifstar{\@sthm}{\@Sthm}}
1016
1017 % definition of \spnewtheorem with number
1018
1019 \def\@spnthm#1#2{%
1020   \@ifnextchar[{\@spxnthm{#1}{#2}}{\@spynthm{#1}{#2}}}
1021 \def\@Sthm#1{\@ifnextchar[{\@spothm{#1}}{\@spnthm{#1}}}
1022
1023 \def\@spxnthm#1#2[#3]#4#5{\expandafter\@ifdefinable\csname #1\endcsname
1024    {\@definecounter{#1}\@addtoreset{#1}{#3}%
1025    \expandafter\xdef\csname the#1\endcsname{\expandafter\noexpand
1026      \csname the#3\endcsname \noexpand\@thmcountersep \@thmcounter{#1}}%
1027    \expandafter\xdef\csname #1name\endcsname{#2}%
1028    \global\@namedef{#1}{\@spthm{#1}{\csname #1name\endcsname}{#4}{#5}}%
1029                               \global\@namedef{end#1}{\@endtheorem}}}
1030
1031 \def\@spynthm#1#2#3#4{\expandafter\@ifdefinable\csname #1\endcsname
1032    {\@definecounter{#1}%
1033    \expandafter\xdef\csname the#1\endcsname{\@thmcounter{#1}}%
1034    \expandafter\xdef\csname #1name\endcsname{#2}%
1035    \global\@namedef{#1}{\@spthm{#1}{\csname #1name\endcsname}{#3}{#4}}%
1036                                \global\@namedef{end#1}{\@endtheorem}}}
1037
1038 \def\@spothm#1[#2]#3#4#5{%
1039   \@ifundefined{c@#2}{\@latexerr{No theorem environment `#2' defined}\@eha}%
1040   {\expandafter\@ifdefinable\csname #1\endcsname
1041   {\global\@namedef{the#1}{\@nameuse{the#2}}%
1042   \expandafter\xdef\csname #1name\endcsname{#3}%
1043   \global\@namedef{#1}{\@spthm{#2}{\csname #1name\endcsname}{#4}{#5}}%
1044   \global\@namedef{end#1}{\@endtheorem}}}}
1045
1046 \def\@spthm#1#2#3#4{\topsep 7\p@ \@plus2\p@ \@minus4\p@
1047 \refstepcounter{#1}%
1048 \@ifnextchar[{\@spythm{#1}{#2}{#3}{#4}}{\@spxthm{#1}{#2}{#3}{#4}}}
1049
1050 \def\@spxthm#1#2#3#4{\@spbegintheorem{#2}{\csname the#1\endcsname}{#3}{#4}%
1051                     \ignorespaces}
1052
1053 \def\@spythm#1#2#3#4[#5]{\@spopargbegintheorem{#2}{\csname
1054        the#1\endcsname}{#5}{#3}{#4}\ignorespaces}
1055
1056 \def\@spbegintheorem#1#2#3#4{\trivlist
1057                  \item[\hskip\labelsep{#3#1\ #2\@thmcounterend}]#4}
1058
1059 \def\@spopargbegintheorem#1#2#3#4#5{\trivlist
1060       \item[\hskip\labelsep{#4#1\ #2}]{#4(#3)\@thmcounterend\ }#5}
1061
1062 % definition of \spnewtheorem* without number
1063
1064 \def\@sthm#1#2{\@Ynthm{#1}{#2}}
1065
1066 \def\@Ynthm#1#2#3#4{\expandafter\@ifdefinable\csname #1\endcsname
1067    {\global\@namedef{#1}{\@Thm{\csname #1name\endcsname}{#3}{#4}}%
1068     \expandafter\xdef\csname #1name\endcsname{#2}%
1069     \global\@namedef{end#1}{\@endtheorem}}}
1070
1071 \def\@Thm#1#2#3{\topsep 7\p@ \@plus2\p@ \@minus4\p@
1072 \@ifnextchar[{\@Ythm{#1}{#2}{#3}}{\@Xthm{#1}{#2}{#3}}}
1073
1074 \def\@Xthm#1#2#3{\@Begintheorem{#1}{#2}{#3}\ignorespaces}
1075
1076 \def\@Ythm#1#2#3[#4]{\@Opargbegintheorem{#1}
1077        {#4}{#2}{#3}\ignorespaces}
1078
1079 \def\@Begintheorem#1#2#3{#3\trivlist
1080                            \item[\hskip\labelsep{#2#1\@thmcounterend}]}
1081
1082 \def\@Opargbegintheorem#1#2#3#4{#4\trivlist
1083       \item[\hskip\labelsep{#3#1}]{#3(#2)\@thmcounterend\ }}
1084
1085 \if@envcntsect
1086    \def\@thmcountersep{.}
1087    \spnewtheorem{theorem}{Theorem}[section]{\bfseries}{\itshape}
1088 \else
1089    \spnewtheorem{theorem}{Theorem}{\bfseries}{\itshape}
1090    \if@envcntreset
1091       \@addtoreset{theorem}{section}
1092    \else
1093       \@addtoreset{theorem}{chapter}
1094    \fi
1095 \fi
1096
1097 %definition of divers theorem environments
1098 \spnewtheorem*{claim}{Claim}{\itshape}{\rmfamily}
1099 \spnewtheorem*{proof}{Proof}{\itshape}{\rmfamily}
1100 \if@envcntsame % alle Umgebungen wie Theorem.
1101    \def\spn@wtheorem#1#2#3#4{\@spothm{#1}[theorem]{#2}{#3}{#4}}
1102 \else % alle Umgebungen mit eigenem Zaehler
1103    \if@envcntsect % mit section numeriert
1104       \def\spn@wtheorem#1#2#3#4{\@spxnthm{#1}{#2}[section]{#3}{#4}}
1105    \else % nicht mit section numeriert
1106       \if@envcntreset
1107          \def\spn@wtheorem#1#2#3#4{\@spynthm{#1}{#2}{#3}{#4}
1108                                    \@addtoreset{#1}{section}}
1109       \else
1110          \def\spn@wtheorem#1#2#3#4{\@spynthm{#1}{#2}{#3}{#4}
1111                                    \@addtoreset{#1}{chapter}}%
1112       \fi
1113    \fi
1114 \fi
1115 \spn@wtheorem{case}{Case}{\itshape}{\rmfamily}
1116 \spn@wtheorem{conjecture}{Conjecture}{\itshape}{\rmfamily}
1117 \spn@wtheorem{corollary}{Corollary}{\bfseries}{\itshape}
1118 \spn@wtheorem{definition}{Definition}{\bfseries}{\itshape}
1119 \spn@wtheorem{example}{Example}{\itshape}{\rmfamily}
1120 \spn@wtheorem{exercise}{Exercise}{\itshape}{\rmfamily}
1121 \spn@wtheorem{lemma}{Lemma}{\bfseries}{\itshape}
1122 \spn@wtheorem{note}{Note}{\itshape}{\rmfamily}
1123 \spn@wtheorem{problem}{Problem}{\itshape}{\rmfamily}
1124 \spn@wtheorem{property}{Property}{\itshape}{\rmfamily}
1125 \spn@wtheorem{proposition}{Proposition}{\bfseries}{\itshape}
1126 \spn@wtheorem{question}{Question}{\itshape}{\rmfamily}
1127 \spn@wtheorem{solution}{Solution}{\itshape}{\rmfamily}
1128 \spn@wtheorem{remark}{Remark}{\itshape}{\rmfamily}
1129
1130 \def\@takefromreset#1#2{%
1131     \def\@tempa{#1}%
1132     \let\@tempd\@elt
1133     \def\@elt##1{%
1134         \def\@tempb{##1}%
1135         \ifx\@tempa\@tempb\else
1136             \@addtoreset{##1}{#2}%
1137         \fi}%
1138     \expandafter\expandafter\let\expandafter\@tempc\csname cl@#2\endcsname
1139     \expandafter\def\csname cl@#2\endcsname{}%
1140     \@tempc
1141     \let\@elt\@tempd}
1142
1143 \def\theopargself{\def\@spopargbegintheorem##1##2##3##4##5{\trivlist
1144       \item[\hskip\labelsep{##4##1\ ##2}]{##4##3\@thmcounterend\ }##5}
1145                   \def\@Opargbegintheorem##1##2##3##4{##4\trivlist
1146       \item[\hskip\labelsep{##3##1}]{##3##2\@thmcounterend\ }}
1147       }
1148
1149 \renewenvironment{abstract}{%
1150       \list{}{\advance\topsep by0.35cm\relax\small
1151       \leftmargin=1cm
1152       \labelwidth=\z@
1153       \listparindent=\z@
1154       \itemindent\listparindent
1155       \rightmargin\leftmargin}\item[\hskip\labelsep
1156                                     \bfseries\abstractname]}
1157     {\endlist}
1158
1159 \newdimen\headlineindent             % dimension for space between
1160 \headlineindent=1.166cm              % number and text of headings.
1161
1162 \def\ps@headings{\let\@mkboth\@gobbletwo
1163    \let\@oddfoot\@empty\let\@evenfoot\@empty
1164    \def\@evenhead{\normalfont\small\rlap{\thepage}\hspace{\headlineindent}%
1165                   \leftmark\hfil}
1166    \def\@oddhead{\normalfont\small\hfil\rightmark\hspace{\headlineindent}%
1167                  \llap{\thepage}}
1168    \def\chaptermark##1{}%
1169    \def\sectionmark##1{}%
1170    \def\subsectionmark##1{}}
1171
1172 \def\ps@titlepage{\let\@mkboth\@gobbletwo
1173    \let\@oddfoot\@empty\let\@evenfoot\@empty
1174    \def\@evenhead{\normalfont\small\rlap{\thepage}\hspace{\headlineindent}%
1175                   \hfil}
1176    \def\@oddhead{\normalfont\small\hfil\hspace{\headlineindent}%
1177                  \llap{\thepage}}
1178    \def\chaptermark##1{}%
1179    \def\sectionmark##1{}%
1180    \def\subsectionmark##1{}}
1181
1182 \if@runhead\ps@headings\else
1183 \ps@empty\fi
1184
1185 \setlength\arraycolsep{1.4\p@}
1186 \setlength\tabcolsep{1.4\p@}
1187
1188 \endinput
1189 %end of file llncs.cls