Project

General

Profile

Statistics
| Revision:

root / clanki / clanek_gga / llncs.cls @ 3

History | View | Annotate | Download (41.8 KB)

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