]> AND Private Git Repository - 14Secrypt.git/blob - llncs.cls
Logo AND Algorithmique Numérique Distribuée

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