thys/Journal/llncs.cls
changeset 218 16af5b8bd285
child 365 ec5e4fe4cc70
equal deleted inserted replaced
217:47179a172c54 218:16af5b8bd285
       
     1 % LLNCS DOCUMENT CLASS -- version 2.19 (31-Mar-2014)
       
     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}[2014/03/31 v2.19
       
    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 \@ifundefined{extrasngerman}{}{\addto\extrasngerman{\switcht@deutsch}}%
       
   886 }{\switcht@@therlang}%
       
   887 \providecommand{\keywords}[1]{\par\addvspace\baselineskip
       
   888 \noindent\keywordname\enspace\ignorespaces#1}%
       
   889 }
       
   890 \def\homedir{\~{ }}
       
   891 
       
   892 \def\subtitle#1{\gdef\@subtitle{#1}}
       
   893 \clearheadinfo
       
   894 %
       
   895 %%% to avoid hyperref warnings
       
   896 \providecommand*{\toclevel@author}{999}
       
   897 %%% to make title-entry parent of section-entries
       
   898 \providecommand*{\toclevel@title}{0}
       
   899 %
       
   900 \renewcommand\maketitle{\newpage
       
   901 \phantomsection
       
   902   \refstepcounter{chapter}%
       
   903   \stepcounter{section}%
       
   904   \setcounter{section}{0}%
       
   905   \setcounter{subsection}{0}%
       
   906   \setcounter{figure}{0}
       
   907   \setcounter{table}{0}
       
   908   \setcounter{equation}{0}
       
   909   \setcounter{footnote}{0}%
       
   910   \begingroup
       
   911     \parindent=\z@
       
   912     \renewcommand\thefootnote{\@fnsymbol\c@footnote}%
       
   913     \if@twocolumn
       
   914       \ifnum \col@number=\@ne
       
   915         \@maketitle
       
   916       \else
       
   917         \twocolumn[\@maketitle]%
       
   918       \fi
       
   919     \else
       
   920       \newpage
       
   921       \global\@topnum\z@   % Prevents figures from going at top of page.
       
   922       \@maketitle
       
   923     \fi
       
   924     \thispagestyle{empty}\@thanks
       
   925 %
       
   926     \def\\{\unskip\ \ignorespaces}\def\inst##1{\unskip{}}%
       
   927     \def\thanks##1{\unskip{}}\def\fnmsep{\unskip}%
       
   928     \instindent=\hsize
       
   929     \advance\instindent by-\headlineindent
       
   930     \if!\the\toctitle!\addcontentsline{toc}{title}{\@title}\else
       
   931        \addcontentsline{toc}{title}{\the\toctitle}\fi
       
   932     \if@runhead
       
   933        \if!\the\titlerunning!\else
       
   934          \edef\@title{\the\titlerunning}%
       
   935        \fi
       
   936        \global\setbox\titrun=\hbox{\small\rm\unboldmath\ignorespaces\@title}%
       
   937        \ifdim\wd\titrun>\instindent
       
   938           \typeout{Title too long for running head. Please supply}%
       
   939           \typeout{a shorter form with \string\titlerunning\space prior to
       
   940                    \string\maketitle}%
       
   941           \global\setbox\titrun=\hbox{\small\rm
       
   942           Title Suppressed Due to Excessive Length}%
       
   943        \fi
       
   944        \xdef\@title{\copy\titrun}%
       
   945     \fi
       
   946 %
       
   947     \if!\the\tocauthor!\relax
       
   948       {\def\and{\noexpand\protect\noexpand\and}%
       
   949       \protected@xdef\toc@uthor{\@author}}%
       
   950     \else
       
   951       \def\\{\noexpand\protect\noexpand\newline}%
       
   952       \protected@xdef\scratch{\the\tocauthor}%
       
   953       \protected@xdef\toc@uthor{\scratch}%
       
   954     \fi
       
   955     \addtocontents{toc}{\noexpand\protect\noexpand\authcount{\the\c@auco}}%
       
   956     \addcontentsline{toc}{author}{\toc@uthor}%
       
   957     \if@runhead
       
   958        \if!\the\authorrunning!
       
   959          \value{@inst}=\value{@auth}%
       
   960          \setcounter{@auth}{1}%
       
   961        \else
       
   962          \edef\@author{\the\authorrunning}%
       
   963        \fi
       
   964        \global\setbox\authrun=\hbox{\small\unboldmath\@author\unskip}%
       
   965        \ifdim\wd\authrun>\instindent
       
   966           \typeout{Names of authors too long for running head. Please supply}%
       
   967           \typeout{a shorter form with \string\authorrunning\space prior to
       
   968                    \string\maketitle}%
       
   969           \global\setbox\authrun=\hbox{\small\rm
       
   970           Authors Suppressed Due to Excessive Length}%
       
   971        \fi
       
   972        \xdef\@author{\copy\authrun}%
       
   973        \markboth{\@author}{\@title}%
       
   974      \fi
       
   975   \endgroup
       
   976   \setcounter{footnote}{\fnnstart}%
       
   977   \clearheadinfo}
       
   978 %
       
   979 \def\@maketitle{\newpage
       
   980  \markboth{}{}%
       
   981  \def\lastand{\ifnum\value{@inst}=2\relax
       
   982                  \unskip{} \andname\
       
   983               \else
       
   984                  \unskip \lastandname\
       
   985               \fi}%
       
   986  \def\and{\stepcounter{@auth}\relax
       
   987           \ifnum\value{@auth}=\value{@inst}%
       
   988              \lastand
       
   989           \else
       
   990              \unskip,
       
   991           \fi}%
       
   992  \begin{center}%
       
   993  \let\newline\\
       
   994  {\Large \bfseries\boldmath
       
   995   \pretolerance=10000
       
   996   \@title \par}\vskip .8cm
       
   997 \if!\@subtitle!\else {\large \bfseries\boldmath
       
   998   \vskip -.65cm
       
   999   \pretolerance=10000
       
  1000   \@subtitle \par}\vskip .8cm\fi
       
  1001  \setbox0=\vbox{\setcounter{@auth}{1}\def\and{\stepcounter{@auth}}%
       
  1002  \def\thanks##1{}\@author}%
       
  1003  \global\value{@inst}=\value{@auth}%
       
  1004  \global\value{auco}=\value{@auth}%
       
  1005  \setcounter{@auth}{1}%
       
  1006 {\lineskip .5em
       
  1007 \noindent\ignorespaces
       
  1008 \@author\vskip.35cm}
       
  1009  {\small\institutename}
       
  1010  \end{center}%
       
  1011  }
       
  1012 
       
  1013 % definition of the "\spnewtheorem" command.
       
  1014 %
       
  1015 % Usage:
       
  1016 %
       
  1017 %     \spnewtheorem{env_nam}{caption}[within]{cap_font}{body_font}
       
  1018 % or  \spnewtheorem{env_nam}[numbered_like]{caption}{cap_font}{body_font}
       
  1019 % or  \spnewtheorem*{env_nam}{caption}{cap_font}{body_font}
       
  1020 %
       
  1021 % New is "cap_font" and "body_font". It stands for
       
  1022 % fontdefinition of the caption and the text itself.
       
  1023 %
       
  1024 % "\spnewtheorem*" gives a theorem without number.
       
  1025 %
       
  1026 % A defined spnewthoerem environment is used as described
       
  1027 % by Lamport.
       
  1028 %
       
  1029 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
       
  1030 
       
  1031 \def\@thmcountersep{}
       
  1032 \def\@thmcounterend{.}
       
  1033 
       
  1034 \def\spnewtheorem{\@ifstar{\@sthm}{\@Sthm}}
       
  1035 
       
  1036 % definition of \spnewtheorem with number
       
  1037 
       
  1038 \def\@spnthm#1#2{%
       
  1039   \@ifnextchar[{\@spxnthm{#1}{#2}}{\@spynthm{#1}{#2}}}
       
  1040 \def\@Sthm#1{\@ifnextchar[{\@spothm{#1}}{\@spnthm{#1}}}
       
  1041 
       
  1042 \def\@spxnthm#1#2[#3]#4#5{\expandafter\@ifdefinable\csname #1\endcsname
       
  1043    {\@definecounter{#1}\@addtoreset{#1}{#3}%
       
  1044    \expandafter\xdef\csname the#1\endcsname{\expandafter\noexpand
       
  1045      \csname the#3\endcsname \noexpand\@thmcountersep \@thmcounter{#1}}%
       
  1046    \expandafter\xdef\csname #1name\endcsname{#2}%
       
  1047    \global\@namedef{#1}{\@spthm{#1}{\csname #1name\endcsname}{#4}{#5}}%
       
  1048                               \global\@namedef{end#1}{\@endtheorem}}}
       
  1049 
       
  1050 \def\@spynthm#1#2#3#4{\expandafter\@ifdefinable\csname #1\endcsname
       
  1051    {\@definecounter{#1}%
       
  1052    \expandafter\xdef\csname the#1\endcsname{\@thmcounter{#1}}%
       
  1053    \expandafter\xdef\csname #1name\endcsname{#2}%
       
  1054    \global\@namedef{#1}{\@spthm{#1}{\csname #1name\endcsname}{#3}{#4}}%
       
  1055                                \global\@namedef{end#1}{\@endtheorem}}}
       
  1056 
       
  1057 \def\@spothm#1[#2]#3#4#5{%
       
  1058   \@ifundefined{c@#2}{\@latexerr{No theorem environment `#2' defined}\@eha}%
       
  1059   {\expandafter\@ifdefinable\csname #1\endcsname
       
  1060   {\newaliascnt{#1}{#2}%
       
  1061   \expandafter\xdef\csname #1name\endcsname{#3}%
       
  1062   \global\@namedef{#1}{\@spthm{#1}{\csname #1name\endcsname}{#4}{#5}}%
       
  1063   \global\@namedef{end#1}{\@endtheorem}}}}
       
  1064 
       
  1065 \def\@spthm#1#2#3#4{\topsep 7\p@ \@plus2\p@ \@minus4\p@
       
  1066 \refstepcounter{#1}%
       
  1067 \@ifnextchar[{\@spythm{#1}{#2}{#3}{#4}}{\@spxthm{#1}{#2}{#3}{#4}}}
       
  1068 
       
  1069 \def\@spxthm#1#2#3#4{\@spbegintheorem{#2}{\csname the#1\endcsname}{#3}{#4}%
       
  1070                     \ignorespaces}
       
  1071 
       
  1072 \def\@spythm#1#2#3#4[#5]{\@spopargbegintheorem{#2}{\csname
       
  1073        the#1\endcsname}{#5}{#3}{#4}\ignorespaces}
       
  1074 
       
  1075 \def\@spbegintheorem#1#2#3#4{\trivlist
       
  1076                  \item[\hskip\labelsep{#3#1\ #2\@thmcounterend}]#4}
       
  1077 
       
  1078 \def\@spopargbegintheorem#1#2#3#4#5{\trivlist
       
  1079       \item[\hskip\labelsep{#4#1\ #2}]{#4(#3)\@thmcounterend\ }#5}
       
  1080 
       
  1081 % definition of \spnewtheorem* without number
       
  1082 
       
  1083 \def\@sthm#1#2{\@Ynthm{#1}{#2}}
       
  1084 
       
  1085 \def\@Ynthm#1#2#3#4{\expandafter\@ifdefinable\csname #1\endcsname
       
  1086    {\global\@namedef{#1}{\@Thm{\csname #1name\endcsname}{#3}{#4}}%
       
  1087     \expandafter\xdef\csname #1name\endcsname{#2}%
       
  1088     \global\@namedef{end#1}{\@endtheorem}}}
       
  1089 
       
  1090 \def\@Thm#1#2#3{\topsep 7\p@ \@plus2\p@ \@minus4\p@
       
  1091 \@ifnextchar[{\@Ythm{#1}{#2}{#3}}{\@Xthm{#1}{#2}{#3}}}
       
  1092 
       
  1093 \def\@Xthm#1#2#3{\@Begintheorem{#1}{#2}{#3}\ignorespaces}
       
  1094 
       
  1095 \def\@Ythm#1#2#3[#4]{\@Opargbegintheorem{#1}
       
  1096        {#4}{#2}{#3}\ignorespaces}
       
  1097 
       
  1098 \def\@Begintheorem#1#2#3{#3\trivlist
       
  1099                            \item[\hskip\labelsep{#2#1\@thmcounterend}]}
       
  1100 
       
  1101 \def\@Opargbegintheorem#1#2#3#4{#4\trivlist
       
  1102       \item[\hskip\labelsep{#3#1}]{#3(#2)\@thmcounterend\ }}
       
  1103 
       
  1104 \if@envcntsect
       
  1105    \def\@thmcountersep{.}
       
  1106    \spnewtheorem{theorem}{Theorem}[section]{\bfseries}{\itshape}
       
  1107 \else
       
  1108    \spnewtheorem{theorem}{Theorem}{\bfseries}{\itshape}
       
  1109    \if@envcntreset
       
  1110       \@addtoreset{theorem}{section}
       
  1111    \else
       
  1112       \@addtoreset{theorem}{chapter}
       
  1113    \fi
       
  1114 \fi
       
  1115 
       
  1116 %definition of divers theorem environments
       
  1117 \spnewtheorem*{claim}{Claim}{\itshape}{\rmfamily}
       
  1118 \spnewtheorem*{proof}{Proof}{\itshape}{\rmfamily}
       
  1119 \if@envcntsame % alle Umgebungen wie Theorem.
       
  1120    \def\spn@wtheorem#1#2#3#4{\@spothm{#1}[theorem]{#2}{#3}{#4}}
       
  1121 \else % alle Umgebungen mit eigenem Zaehler
       
  1122    \if@envcntsect % mit section numeriert
       
  1123       \def\spn@wtheorem#1#2#3#4{\@spxnthm{#1}{#2}[section]{#3}{#4}}
       
  1124    \else % nicht mit section numeriert
       
  1125       \if@envcntreset
       
  1126          \def\spn@wtheorem#1#2#3#4{\@spynthm{#1}{#2}{#3}{#4}
       
  1127                                    \@addtoreset{#1}{section}}
       
  1128       \else
       
  1129          \def\spn@wtheorem#1#2#3#4{\@spynthm{#1}{#2}{#3}{#4}
       
  1130                                    \@addtoreset{#1}{chapter}}%
       
  1131       \fi
       
  1132    \fi
       
  1133 \fi
       
  1134 \spn@wtheorem{case}{Case}{\itshape}{\rmfamily}
       
  1135 \spn@wtheorem{conjecture}{Conjecture}{\itshape}{\rmfamily}
       
  1136 \spn@wtheorem{corollary}{Corollary}{\bfseries}{\itshape}
       
  1137 \spn@wtheorem{definition}{Definition}{\bfseries}{\itshape}
       
  1138 \spn@wtheorem{example}{Example}{\itshape}{\rmfamily}
       
  1139 \spn@wtheorem{exercise}{Exercise}{\itshape}{\rmfamily}
       
  1140 \spn@wtheorem{lemma}{Lemma}{\bfseries}{\itshape}
       
  1141 \spn@wtheorem{note}{Note}{\itshape}{\rmfamily}
       
  1142 \spn@wtheorem{problem}{Problem}{\itshape}{\rmfamily}
       
  1143 \spn@wtheorem{property}{Property}{\itshape}{\rmfamily}
       
  1144 \spn@wtheorem{proposition}{Proposition}{\bfseries}{\itshape}
       
  1145 \spn@wtheorem{question}{Question}{\itshape}{\rmfamily}
       
  1146 \spn@wtheorem{solution}{Solution}{\itshape}{\rmfamily}
       
  1147 \spn@wtheorem{remark}{Remark}{\itshape}{\rmfamily}
       
  1148 
       
  1149 \def\@takefromreset#1#2{%
       
  1150     \def\@tempa{#1}%
       
  1151     \let\@tempd\@elt
       
  1152     \def\@elt##1{%
       
  1153         \def\@tempb{##1}%
       
  1154         \ifx\@tempa\@tempb\else
       
  1155             \@addtoreset{##1}{#2}%
       
  1156         \fi}%
       
  1157     \expandafter\expandafter\let\expandafter\@tempc\csname cl@#2\endcsname
       
  1158     \expandafter\def\csname cl@#2\endcsname{}%
       
  1159     \@tempc
       
  1160     \let\@elt\@tempd}
       
  1161 
       
  1162 \def\theopargself{\def\@spopargbegintheorem##1##2##3##4##5{\trivlist
       
  1163       \item[\hskip\labelsep{##4##1\ ##2}]{##4##3\@thmcounterend\ }##5}
       
  1164                   \def\@Opargbegintheorem##1##2##3##4{##4\trivlist
       
  1165       \item[\hskip\labelsep{##3##1}]{##3##2\@thmcounterend\ }}
       
  1166       }
       
  1167 
       
  1168 \renewenvironment{abstract}{%
       
  1169       \list{}{\advance\topsep by0.35cm\relax\small
       
  1170       \leftmargin=1cm
       
  1171       \labelwidth=\z@
       
  1172       \listparindent=\z@
       
  1173       \itemindent\listparindent
       
  1174       \rightmargin\leftmargin}\item[\hskip\labelsep
       
  1175                                     \bfseries\abstractname]}
       
  1176     {\endlist}
       
  1177 
       
  1178 \newdimen\headlineindent             % dimension for space between
       
  1179 \headlineindent=1.166cm              % number and text of headings.
       
  1180 
       
  1181 \def\ps@headings{\let\@mkboth\@gobbletwo
       
  1182    \let\@oddfoot\@empty\let\@evenfoot\@empty
       
  1183    \def\@evenhead{\normalfont\small\rlap{\thepage}\hspace{\headlineindent}%
       
  1184                   \leftmark\hfil}
       
  1185    \def\@oddhead{\normalfont\small\hfil\rightmark\hspace{\headlineindent}%
       
  1186                  \llap{\thepage}}
       
  1187    \def\chaptermark##1{}%
       
  1188    \def\sectionmark##1{}%
       
  1189    \def\subsectionmark##1{}}
       
  1190 
       
  1191 \def\ps@titlepage{\let\@mkboth\@gobbletwo
       
  1192    \let\@oddfoot\@empty\let\@evenfoot\@empty
       
  1193    \def\@evenhead{\normalfont\small\rlap{\thepage}\hspace{\headlineindent}%
       
  1194                   \hfil}
       
  1195    \def\@oddhead{\normalfont\small\hfil\hspace{\headlineindent}%
       
  1196                  \llap{\thepage}}
       
  1197    \def\chaptermark##1{}%
       
  1198    \def\sectionmark##1{}%
       
  1199    \def\subsectionmark##1{}}
       
  1200 
       
  1201 \if@runhead\ps@headings\else
       
  1202 \ps@empty\fi
       
  1203 
       
  1204 \setlength\arraycolsep{1.4\p@}
       
  1205 \setlength\tabcolsep{1.4\p@}
       
  1206 
       
  1207 \endinput
       
  1208 %end of file llncs.cls