1 % LLNCS DOCUMENT CLASS -- version 2.7
 
   4 \NeedsTeXFormat{LaTeX2e}[1995/12/01]
 
   5 \ProvidesClass{llncs}[2000/03/01 v2.7
 
   6 ^^JLaTeX document class for Lecture Notes in Computer Science]
 
   8 \let\if@envcntreset\iffalse
 
   9 \DeclareOption{envcountreset}{\let\if@envcntreset\iftrue}
 
  10 \DeclareOption{citeauthoryear}{\let\citeauthoryear=Y}
 
  11 \DeclareOption{oribibl}{\let\oribibl=Y}
 
  12 \let\if@envcntsame\iffalse
 
  13 \DeclareOption{envcountsame}{\let\if@envcntsame\iftrue}
 
  14 \let\if@envcntsect\iffalse
 
  15 \DeclareOption{envcountsect}{\let\if@envcntsect\iftrue}
 
  16 \let\if@runhead\iffalse
 
  17 \DeclareOption{runningheads}{\let\if@runhead\iftrue}
 
  19 \let\if@openbib\iffalse
 
  20 \DeclareOption{openbib}{\let\if@openbib\iftrue}
 
  22 \DeclareOption*{\PassOptionsToClass{\CurrentOption}{article}}
 
  26 \LoadClass[twoside]{article}
 
  27 \RequirePackage{multicol} % needed for the list of participants, index
 
  29 \setlength{\textwidth}{12.2cm}
 
  30 \setlength{\textheight}{19.3cm}
 
  32 % Ragged bottom for the actual page
 
  33 \def\thisbottomragged{\def\@textbottom{\vskip\z@ plus.0001fil
 
  34 \global\let\@textbottom\relax}}
 
  37    \@setfontsize\small\@ixpt{11}%
 
  38    \abovedisplayskip 8.5\p@ \@plus3\p@ \@minus4\p@
 
  39    \abovedisplayshortskip \z@ \@plus2\p@
 
  40    \belowdisplayshortskip 4\p@ \@plus2\p@ \@minus2\p@
 
  41    \def\@listi{\leftmargin\leftmargini
 
  42                \parsep 0\p@ \@plus1\p@ \@minus\p@
 
  43                \topsep 8\p@ \@plus2\p@ \@minus4\p@
 
  45    \belowdisplayskip \abovedisplayskip
 
  52 \setlength\oddsidemargin   {63\p@}
 
  53 \setlength\evensidemargin  {63\p@}
 
  54 \setlength\marginparwidth  {90\p@}
 
  56 \setlength\headsep   {16\p@}
 
  58 \setlength\footnotesep{7.7\p@}
 
  59 \setlength\textfloatsep{8mm\@plus 2\p@ \@minus 4\p@}
 
  60 \setlength\intextsep   {8mm\@plus 2\p@ \@minus 2\p@}
 
  62 \setcounter{secnumdepth}{2}
 
  65 \renewcommand\thechapter      {\@arabic\c@chapter}
 
  67 \newif\if@mainmatter \@mainmattertrue
 
  68 \newcommand\frontmatter{\cleardoublepage
 
  69             \@mainmatterfalse\pagenumbering{Roman}}
 
  70 \newcommand\mainmatter{\cleardoublepage
 
  71        \@mainmattertrue\pagenumbering{arabic}}
 
  72 \newcommand\backmatter{\if@openright\cleardoublepage\else\clearpage\fi
 
  75 \renewcommand\part{\cleardoublepage
 
  76                  \thispagestyle{empty}%
 
  87     \ifnum \c@secnumdepth >-2\relax
 
  88       \refstepcounter{part}%
 
  89       \addcontentsline{toc}{part}{\thepart\hspace{1em}#1}%
 
  91       \addcontentsline{toc}{part}{#1}%
 
  97      \ifnum \c@secnumdepth >-2\relax
 
  98        \huge\bfseries \partname~\thepart
 
 102      \Huge \bfseries #2\par}%
 
 106      \interlinepenalty \@M
 
 108      \Huge \bfseries #1\par}%
 
 110 \def\@endpart{\vfil\newpage
 
 113                 \thispagestyle{empty}%
 
 120 \newcommand\chapter{\clearpage
 
 121                     \thispagestyle{empty}%
 
 124                     \secdef\@chapter\@schapter}
 
 125 \def\@chapter[#1]#2{\ifnum \c@secnumdepth >\m@ne
 
 127                          \refstepcounter{chapter}%
 
 128                          \typeout{\@chapapp\space\thechapter.}%
 
 129                          \addcontentsline{toc}{chapter}%
 
 130                                   {\protect\numberline{\thechapter}#1}%
 
 132                          \addcontentsline{toc}{chapter}{#1}%
 
 135                       \addcontentsline{toc}{chapter}{#1}%
 
 138                     \addtocontents{lof}{\protect\addvspace{10\p@}}%
 
 139                     \addtocontents{lot}{\protect\addvspace{10\p@}}%
 
 141                       \@topnewpage[\@makechapterhead{#2}]%
 
 143                       \@makechapterhead{#2}%
 
 146 \def\@makechapterhead#1{%
 
 149     \ifnum \c@secnumdepth >\m@ne
 
 151         \large\bfseries \@chapapp{} \thechapter
 
 157     \Large \bfseries #1\par\nobreak
 
 160 \def\@schapter#1{\if@twocolumn
 
 161                    \@topnewpage[\@makeschapterhead{#1}]%
 
 163                    \@makeschapterhead{#1}%
 
 166 \def\@makeschapterhead#1{%
 
 171     \Large \bfseries  #1\par\nobreak
 
 175 \renewcommand\section{\@startsection{section}{1}{\z@}%
 
 176                        {-18\p@ \@plus -4\p@ \@minus -4\p@}%
 
 177                        {12\p@ \@plus 4\p@ \@minus 4\p@}%
 
 178                        {\normalfont\large\bfseries\boldmath
 
 179                         \rightskip=\z@ \@plus 8em\pretolerance=10000 }}
 
 180 \renewcommand\subsection{\@startsection{subsection}{2}{\z@}%
 
 181                        {-18\p@ \@plus -4\p@ \@minus -4\p@}%
 
 182                        {8\p@ \@plus 4\p@ \@minus 4\p@}%
 
 183                        {\normalfont\normalsize\bfseries\boldmath
 
 184                         \rightskip=\z@ \@plus 8em\pretolerance=10000 }}
 
 185 \renewcommand\subsubsection{\@startsection{subsubsection}{3}{\z@}%
 
 186                        {-18\p@ \@plus -4\p@ \@minus -4\p@}%
 
 187                        {-0.5em \@plus -0.22em \@minus -0.1em}%
 
 188                        {\normalfont\normalsize\bfseries\boldmath}}
 
 189 \renewcommand\paragraph{\@startsection{paragraph}{4}{\z@}%
 
 190                        {-12\p@ \@plus -4\p@ \@minus -4\p@}%
 
 191                        {-0.5em \@plus -0.22em \@minus -0.1em}%
 
 192                        {\normalfont\normalsize\itshape}}
 
 193 \renewcommand\subparagraph[1]{\typeout{LLNCS warning: You should not use
 
 194                   \string\subparagraph\space with this class}\vskip0.5cm
 
 195 You should not use \verb|\subparagraph| with this class.\vskip0.5cm}
 
 197 \DeclareMathSymbol{\Gamma}{\mathalpha}{letters}{"00}
 
 198 \DeclareMathSymbol{\Delta}{\mathalpha}{letters}{"01}
 
 199 \DeclareMathSymbol{\Theta}{\mathalpha}{letters}{"02}
 
 200 \DeclareMathSymbol{\Lambda}{\mathalpha}{letters}{"03}
 
 201 \DeclareMathSymbol{\Xi}{\mathalpha}{letters}{"04}
 
 202 \DeclareMathSymbol{\Pi}{\mathalpha}{letters}{"05}
 
 203 \DeclareMathSymbol{\Sigma}{\mathalpha}{letters}{"06}
 
 204 \DeclareMathSymbol{\Upsilon}{\mathalpha}{letters}{"07}
 
 205 \DeclareMathSymbol{\Phi}{\mathalpha}{letters}{"08}
 
 206 \DeclareMathSymbol{\Psi}{\mathalpha}{letters}{"09}
 
 207 \DeclareMathSymbol{\Omega}{\mathalpha}{letters}{"0A}
 
 209 \let\footnotesize\small
 
 211 \def\vec#1{\mathchoice{\mbox{\boldmath$\displaystyle#1$}}
 
 212 {\mbox{\boldmath$\textstyle#1$}}
 
 213 {\mbox{\boldmath$\scriptstyle#1$}}
 
 214 {\mbox{\boldmath$\scriptscriptstyle#1$}}}
 
 216 \def\squareforqed{\hbox{\rlap{$\sqcap$}$\sqcup$}}
 
 217 \def\qed{\ifmmode\squareforqed\else{\unskip\nobreak\hfil
 
 218 \penalty50\hskip1em\null\nobreak\hfil\squareforqed
 
 219 \parfillskip=0pt\finalhyphendemerits=0\endgraf}\fi}
 
 221 \def\getsto{\mathrel{\mathchoice {\vcenter{\offinterlineskip
 
 223 $\displaystyle##$\hfil\cr\gets\cr\to\cr}}}
 
 224 {\vcenter{\offinterlineskip\halign{\hfil$\textstyle##$\hfil\cr\gets
 
 226 {\vcenter{\offinterlineskip\halign{\hfil$\scriptstyle##$\hfil\cr\gets
 
 228 {\vcenter{\offinterlineskip\halign{\hfil$\scriptscriptstyle##$\hfil\cr
 
 230 \def\lid{\mathrel{\mathchoice {\vcenter{\offinterlineskip\halign{\hfil
 
 231 $\displaystyle##$\hfil\cr<\cr\noalign{\vskip1.2pt}=\cr}}}
 
 232 {\vcenter{\offinterlineskip\halign{\hfil$\textstyle##$\hfil\cr<\cr
 
 233 \noalign{\vskip1.2pt}=\cr}}}
 
 234 {\vcenter{\offinterlineskip\halign{\hfil$\scriptstyle##$\hfil\cr<\cr
 
 235 \noalign{\vskip1pt}=\cr}}}
 
 236 {\vcenter{\offinterlineskip\halign{\hfil$\scriptscriptstyle##$\hfil\cr
 
 238 \noalign{\vskip0.9pt}=\cr}}}}}
 
 239 \def\gid{\mathrel{\mathchoice {\vcenter{\offinterlineskip\halign{\hfil
 
 240 $\displaystyle##$\hfil\cr>\cr\noalign{\vskip1.2pt}=\cr}}}
 
 241 {\vcenter{\offinterlineskip\halign{\hfil$\textstyle##$\hfil\cr>\cr
 
 242 \noalign{\vskip1.2pt}=\cr}}}
 
 243 {\vcenter{\offinterlineskip\halign{\hfil$\scriptstyle##$\hfil\cr>\cr
 
 244 \noalign{\vskip1pt}=\cr}}}
 
 245 {\vcenter{\offinterlineskip\halign{\hfil$\scriptscriptstyle##$\hfil\cr
 
 247 \noalign{\vskip0.9pt}=\cr}}}}}
 
 248 \def\grole{\mathrel{\mathchoice {\vcenter{\offinterlineskip
 
 250 $\displaystyle##$\hfil\cr>\cr\noalign{\vskip-1pt}<\cr}}}
 
 251 {\vcenter{\offinterlineskip\halign{\hfil$\textstyle##$\hfil\cr
 
 252 >\cr\noalign{\vskip-1pt}<\cr}}}
 
 253 {\vcenter{\offinterlineskip\halign{\hfil$\scriptstyle##$\hfil\cr
 
 254 >\cr\noalign{\vskip-0.8pt}<\cr}}}
 
 255 {\vcenter{\offinterlineskip\halign{\hfil$\scriptscriptstyle##$\hfil\cr
 
 256 >\cr\noalign{\vskip-0.3pt}<\cr}}}}}
 
 257 \def\bbbr{{\rm I\!R}} %reelle Zahlen
 
 258 \def\bbbm{{\rm I\!M}}
 
 259 \def\bbbn{{\rm I\!N}} %natuerliche Zahlen
 
 260 \def\bbbf{{\rm I\!F}}
 
 261 \def\bbbh{{\rm I\!H}}
 
 262 \def\bbbk{{\rm I\!K}}
 
 263 \def\bbbp{{\rm I\!P}}
 
 264 \def\bbbone{{\mathchoice {\rm 1\mskip-4mu l} {\rm 1\mskip-4mu l}
 
 265 {\rm 1\mskip-4.5mu l} {\rm 1\mskip-5mu l}}}
 
 266 \def\bbbc{{\mathchoice {\setbox0=\hbox{$\displaystyle\rm C$}\hbox{\hbox
 
 267 to0pt{\kern0.4\wd0\vrule height0.9\ht0\hss}\box0}}
 
 268 {\setbox0=\hbox{$\textstyle\rm C$}\hbox{\hbox
 
 269 to0pt{\kern0.4\wd0\vrule height0.9\ht0\hss}\box0}}
 
 270 {\setbox0=\hbox{$\scriptstyle\rm C$}\hbox{\hbox
 
 271 to0pt{\kern0.4\wd0\vrule height0.9\ht0\hss}\box0}}
 
 272 {\setbox0=\hbox{$\scriptscriptstyle\rm C$}\hbox{\hbox
 
 273 to0pt{\kern0.4\wd0\vrule height0.9\ht0\hss}\box0}}}}
 
 274 \def\bbbq{{\mathchoice {\setbox0=\hbox{$\displaystyle\rm
 
 276 0.15\ht0\hbox to0pt{\kern0.4\wd0\vrule height0.8\ht0\hss}\box0}}
 
 277 {\setbox0=\hbox{$\textstyle\rm Q$}\hbox{\raise
 
 278 0.15\ht0\hbox to0pt{\kern0.4\wd0\vrule height0.8\ht0\hss}\box0}}
 
 279 {\setbox0=\hbox{$\scriptstyle\rm Q$}\hbox{\raise
 
 280 0.15\ht0\hbox to0pt{\kern0.4\wd0\vrule height0.7\ht0\hss}\box0}}
 
 281 {\setbox0=\hbox{$\scriptscriptstyle\rm Q$}\hbox{\raise
 
 282 0.15\ht0\hbox to0pt{\kern0.4\wd0\vrule height0.7\ht0\hss}\box0}}}}
 
 283 \def\bbbt{{\mathchoice {\setbox0=\hbox{$\displaystyle\rm
 
 284 T$}\hbox{\hbox to0pt{\kern0.3\wd0\vrule height0.9\ht0\hss}\box0}}
 
 285 {\setbox0=\hbox{$\textstyle\rm T$}\hbox{\hbox
 
 286 to0pt{\kern0.3\wd0\vrule height0.9\ht0\hss}\box0}}
 
 287 {\setbox0=\hbox{$\scriptstyle\rm T$}\hbox{\hbox
 
 288 to0pt{\kern0.3\wd0\vrule height0.9\ht0\hss}\box0}}
 
 289 {\setbox0=\hbox{$\scriptscriptstyle\rm T$}\hbox{\hbox
 
 290 to0pt{\kern0.3\wd0\vrule height0.9\ht0\hss}\box0}}}}
 
 291 \def\bbbs{{\mathchoice
 
 292 {\setbox0=\hbox{$\displaystyle     \rm S$}\hbox{\raise0.5\ht0\hbox
 
 293 to0pt{\kern0.35\wd0\vrule height0.45\ht0\hss}\hbox
 
 294 to0pt{\kern0.55\wd0\vrule height0.5\ht0\hss}\box0}}
 
 295 {\setbox0=\hbox{$\textstyle        \rm S$}\hbox{\raise0.5\ht0\hbox
 
 296 to0pt{\kern0.35\wd0\vrule height0.45\ht0\hss}\hbox
 
 297 to0pt{\kern0.55\wd0\vrule height0.5\ht0\hss}\box0}}
 
 298 {\setbox0=\hbox{$\scriptstyle      \rm S$}\hbox{\raise0.5\ht0\hbox
 
 299 to0pt{\kern0.35\wd0\vrule height0.45\ht0\hss}\raise0.05\ht0\hbox
 
 300 to0pt{\kern0.5\wd0\vrule height0.45\ht0\hss}\box0}}
 
 301 {\setbox0=\hbox{$\scriptscriptstyle\rm S$}\hbox{\raise0.5\ht0\hbox
 
 302 to0pt{\kern0.4\wd0\vrule height0.45\ht0\hss}\raise0.05\ht0\hbox
 
 303 to0pt{\kern0.55\wd0\vrule height0.45\ht0\hss}\box0}}}}
 
 304 \def\bbbz{{\mathchoice {\hbox{$\mathsf\textstyle Z\kern-0.4em Z$}}
 
 305 {\hbox{$\mathsf\textstyle Z\kern-0.4em Z$}}
 
 306 {\hbox{$\mathsf\scriptstyle Z\kern-0.3em Z$}}
 
 307 {\hbox{$\mathsf\scriptscriptstyle Z\kern-0.2em Z$}}}}
 
 311 \setlength\leftmargini  {17\p@}
 
 312 \setlength\leftmargin    {\leftmargini}
 
 313 \setlength\leftmarginii  {\leftmargini}
 
 314 \setlength\leftmarginiii {\leftmargini}
 
 315 \setlength\leftmarginiv  {\leftmargini}
 
 316 \setlength  \labelsep  {.5em}
 
 317 \setlength  \labelwidth{\leftmargini}
 
 318 \addtolength\labelwidth{-\labelsep}
 
 320 \def\@listI{\leftmargin\leftmargini
 
 321             \parsep 0\p@ \@plus1\p@ \@minus\p@
 
 322             \topsep 8\p@ \@plus2\p@ \@minus4\p@
 
 326 \def\@listii {\leftmargin\leftmarginii
 
 327               \labelwidth\leftmarginii
 
 328               \advance\labelwidth-\labelsep
 
 329               \topsep    0\p@ \@plus2\p@ \@minus\p@}
 
 330 \def\@listiii{\leftmargin\leftmarginiii
 
 331               \labelwidth\leftmarginiii
 
 332               \advance\labelwidth-\labelsep
 
 333               \topsep    0\p@ \@plus\p@\@minus\p@
 
 335               \partopsep \p@ \@plus\z@ \@minus\p@}
 
 337 \renewcommand\labelitemi{\normalfont\bfseries --}
 
 338 \renewcommand\labelitemii{$\m@th\bullet$}
 
 340 \setlength\arraycolsep{1.4\p@}
 
 341 \setlength\tabcolsep{1.4\p@}
 
 343 \def\tableofcontents{\chapter*{\contentsname\@mkboth{{\contentsname}}%
 
 345  \def\authcount##1{\setcounter{auco}{##1}\setcounter{@auth}{1}}
 
 346  \def\lastand{\ifnum\value{auco}=2\relax
 
 349                  \unskip \lastandname\
 
 351  \def\and{\stepcounter{@auth}\relax
 
 352           \ifnum\value{@auth}=\value{auco}%
 
 357  \@starttoc{toc}\if@restonecol\twocolumn\fi}
 
 359 \def\l@part#1#2{\addpenalty{\@secpenalty}%
 
 360    \addvspace{2em plus\p@}%  % space above part line
 
 363      \rightskip \z@ plus 5em
 
 365      \large               % same size as for a contribution heading
 
 366      \bfseries\boldmath   % set line in boldface
 
 367      \leavevmode          % TeX command to enter horizontal mode.
 
 372      \nobreak             % Never break after part entry
 
 377 \def\hyperhrefextend{\ifx\hyper@anchor\@undefined\else
 
 378 {chapter.\thechapter}\fi}
 
 380 \def\addnumcontentsmark#1#2#3{%
 
 381 \addtocontents{#1}{\protect\contentsline{#2}{\protect\numberline
 
 382                      {\thechapter}#3}{\thepage}\hyperhrefextend}}
 
 383 \def\addcontentsmark#1#2#3{%
 
 384 \addtocontents{#1}{\protect\contentsline{#2}{#3}{\thepage}\hyperhrefextend}}
 
 385 \def\addcontentsmarkwop#1#2#3{%
 
 386 \addtocontents{#1}{\protect\contentsline{#2}{#3}{0}\hyperhrefextend}}
 
 388 \def\@adcmk[#1]{\ifcase #1 \or
 
 389 \def\@gtempa{\addnumcontentsmark}%
 
 390   \or    \def\@gtempa{\addcontentsmark}%
 
 391   \or    \def\@gtempa{\addcontentsmarkwop}%
 
 392   \fi\@gtempa{toc}{chapter}}
 
 393 \def\addtocmark{\@ifnextchar[{\@adcmk}{\@adcmk[3]}}
 
 395 \def\l@chapter#1#2{\addpenalty{-\@highpenalty}
 
 396  \vskip 1.0em plus 1pt \@tempdima 1.5em \begingroup
 
 397  \parindent \z@ \rightskip \@pnumwidth
 
 398  \parfillskip -\@pnumwidth
 
 399  \leavevmode \advance\leftskip\@tempdima \hskip -\leftskip
 
 400  {\large\bfseries\boldmath#1}\ifx0#2\hfil\null
 
 403       \leaders\hbox{$\m@th \mkern \@dotsep mu.\mkern
 
 405       \nobreak\hbox to\@pnumwidth{\hss #2}%
 
 407  \penalty\@highpenalty \endgroup}
 
 409 \def\l@title#1#2{\addpenalty{-\@highpenalty}
 
 410  \addvspace{8pt plus 1pt}
 
 413  \parindent \z@ \rightskip \@tocrmarg
 
 414  \parfillskip -\@tocrmarg
 
 415  \leavevmode \advance\leftskip\@tempdima \hskip -\leftskip
 
 417  \leaders\hbox{$\m@th \mkern \@dotsep mu.\mkern
 
 419  \nobreak\hbox to\@pnumwidth{\hss #2}\par
 
 420  \penalty\@highpenalty \endgroup}
 
 422 \setcounter{tocdepth}{0}
 
 425 \newdimen\tocsectotal
 
 426 \newdimen\tocsubsecnum
 
 427 \newdimen\tocsubsectotal
 
 428 \newdimen\tocsubsubsecnum
 
 429 \newdimen\tocsubsubsectotal
 
 431 \newdimen\tocparatotal
 
 432 \newdimen\tocsubparanum
 
 433 \tocchpnum=\z@            % no chapter numbers
 
 434 \tocsecnum=15\p@          % section 88. plus 2.222pt
 
 435 \tocsubsecnum=23\p@       % subsection 88.8 plus 2.222pt
 
 436 \tocsubsubsecnum=27\p@    % subsubsection 88.8.8 plus 1.444pt
 
 437 \tocparanum=35\p@         % paragraph 88.8.8.8 plus 1.666pt
 
 438 \tocsubparanum=43\p@      % subparagraph 88.8.8.8.8 plus 1.888pt
 
 440 \tocsectotal=\tocchpnum
 
 441 \advance\tocsectotal by\tocsecnum
 
 442 \tocsubsectotal=\tocsectotal
 
 443 \advance\tocsubsectotal by\tocsubsecnum
 
 444 \tocsubsubsectotal=\tocsubsectotal
 
 445 \advance\tocsubsubsectotal by\tocsubsubsecnum
 
 446 \tocparatotal=\tocsubsubsectotal
 
 447 \advance\tocparatotal by\tocparanum}
 
 450 \def\l@section{\@dottedtocline{1}{\tocchpnum}{\tocsecnum}}
 
 451 \def\l@subsection{\@dottedtocline{2}{\tocsectotal}{\tocsubsecnum}}
 
 452 \def\l@subsubsection{\@dottedtocline{3}{\tocsubsectotal}{\tocsubsubsecnum}}
 
 453 \def\l@paragraph{\@dottedtocline{4}{\tocsubsubsectotal}{\tocparanum}}
 
 454 \def\l@subparagraph{\@dottedtocline{5}{\tocparatotal}{\tocsubparanum}}
 
 456 \def\listoffigures{\@restonecolfalse\if@twocolumn\@restonecoltrue\onecolumn
 
 457  \fi\section*{\listfigurename\@mkboth{{\listfigurename}}{{\listfigurename}}}
 
 458  \@starttoc{lof}\if@restonecol\twocolumn\fi}
 
 459 \def\l@figure{\@dottedtocline{1}{0em}{1.5em}}
 
 461 \def\listoftables{\@restonecolfalse\if@twocolumn\@restonecoltrue\onecolumn
 
 462  \fi\section*{\listtablename\@mkboth{{\listtablename}}{{\listtablename}}}
 
 463  \@starttoc{lot}\if@restonecol\twocolumn\fi}
 
 464 \let\l@table\l@figure
 
 466 \renewcommand\listoffigures{%
 
 467     \section*{\listfigurename
 
 468       \@mkboth{\listfigurename}{\listfigurename}}%
 
 472 \renewcommand\listoftables{%
 
 473     \section*{\listtablename
 
 474       \@mkboth{\listtablename}{\listtablename}}%
 
 478 \ifx\oribibl\undefined
 
 479 \ifx\citeauthoryear\undefined
 
 480 \renewenvironment{thebibliography}[1]
 
 482       \def\@biblabel##1{##1.}
 
 484       \list{\@biblabel{\@arabic\c@enumiv}}%
 
 485            {\settowidth\labelwidth{\@biblabel{#1}}%
 
 486             \leftmargin\labelwidth
 
 487             \advance\leftmargin\labelsep
 
 489               \advance\leftmargin\bibindent
 
 490               \itemindent -\bibindent
 
 491               \listparindent \itemindent
 
 496             \renewcommand\theenumiv{\@arabic\c@enumiv}}%
 
 498         \renewcommand\newblock{\par}%
 
 500         \renewcommand\newblock{\hskip .11em \@plus.33em \@minus.07em}%
 
 502       \sloppy\clubpenalty4000\widowpenalty4000%
 
 505        {\@latex@warning{Empty `thebibliography' environment}}%
 
 507 \def\@lbibitem[#1]#2{\item[{[#1]}\hfill]\if@filesw
 
 508      {\let\protect\noexpand\immediate
 
 509      \write\@auxout{\string\bibcite{#2}{#1}}}\fi\ignorespaces}
 
 511 \def\@citex[#1]#2{\if@filesw\immediate\write\@auxout{\string\citation{#2}}\fi
 
 512   \@tempcnta\z@\@tempcntb\m@ne\def\@citea{}\@cite{\@for\@citeb:=#2\do
 
 514        {b@\@citeb}{\@citeo\@tempcntb\m@ne\@citea\def\@citea{,}{\bfseries
 
 516        {Citation `\@citeb' on page \thepage \space undefined}}%
 
 517     {\setbox\z@\hbox{\global\@tempcntc0\csname b@\@citeb\endcsname\relax}%
 
 518      \ifnum\@tempcntc=\z@ \@citeo\@tempcntb\m@ne
 
 519        \@citea\def\@citea{,}\hbox{\csname b@\@citeb\endcsname}%
 
 521       \advance\@tempcntb\@ne
 
 522       \ifnum\@tempcntb=\@tempcntc
 
 523       \else\advance\@tempcntb\m@ne\@citeo
 
 524       \@tempcnta\@tempcntc\@tempcntb\@tempcntc\fi\fi}}\@citeo}{#1}}
 
 525 \def\@citeo{\ifnum\@tempcnta>\@tempcntb\else
 
 526                \@citea\def\@citea{,\,\hskip\z@skip}%
 
 527                \ifnum\@tempcnta=\@tempcntb\the\@tempcnta\else
 
 528                {\advance\@tempcnta\@ne\ifnum\@tempcnta=\@tempcntb \else
 
 530       \advance\@tempcnta\m@ne\the\@tempcnta\@citea\the\@tempcntb}\fi\fi}
 
 532 \renewenvironment{thebibliography}[1]
 
 536            {\settowidth\labelwidth{}%
 
 537             \leftmargin\parindent
 
 538             \itemindent=-\parindent
 
 541               \advance\leftmargin\bibindent
 
 542               \itemindent -\bibindent
 
 543               \listparindent \itemindent
 
 548             \renewcommand\theenumiv{}}%
 
 550         \renewcommand\newblock{\par}%
 
 552         \renewcommand\newblock{\hskip .11em \@plus.33em \@minus.07em}%
 
 554       \sloppy\clubpenalty4000\widowpenalty4000%
 
 557        {\@latex@warning{Empty `thebibliography' environment}}%
 
 560       \def\@lbibitem[#1]#2{\item[]\if@filesw
 
 561         {\def\protect##1{\string ##1\space}\immediate
 
 562       \write\@auxout{\string\bibcite{#2}{#1}}}\fi\ignorespaces}
 
 565 \@cons\@openbib@code{\noexpand\small}
 
 568 \def\idxquad{\hskip 10\p@}% space that divides entry from number
 
 570 \def\@idxitem{\par\hangindent 10\p@}
 
 572 \def\subitem{\par\setbox0=\hbox{--\enspace}% second order
 
 573                 \noindent\hangindent\wd0\box0}% index entry
 
 575 \def\subsubitem{\par\setbox0=\hbox{--\,--\enspace}% third
 
 576                 \noindent\hangindent\wd0\box0}% order index entry
 
 578 \def\indexspace{\par \vskip 10\p@ plus5\p@ minus3\p@\relax}
 
 580 \renewenvironment{theindex}
 
 581                {\@mkboth{\indexname}{\indexname}%
 
 582                 \thispagestyle{empty}\parindent\z@
 
 583                 \parskip\z@ \@plus .3\p@\relax
 
 585                 \def\,{\relax\ifmmode\mskip\thinmuskip
 
 586                              \else\hskip0.2em\ignorespaces\fi}%
 
 588                 \begin{multicols}{2}[\@makeschapterhead{\indexname}]%
 
 592 \renewcommand\footnoterule{%
 
 594   \hrule\@width 2truecm
 
 598 \long\def\@makefntext#1{%
 
 599     \parindent \fnindent%
 
 602     \llap{\hb@xt@1em{\hss\@makefnmark\ }}\ignorespaces#1}
 
 604 \long\def\@makecaption#1#2{%
 
 605   \vskip\abovecaptionskip
 
 606   \sbox\@tempboxa{{\bfseries #1.} #2}%
 
 607   \ifdim \wd\@tempboxa >\hsize
 
 608     {\bfseries #1.} #2\par
 
 610     \global \@minipagefalse
 
 611     \hb@xt@\hsize{\hfil\box\@tempboxa\hfil}%
 
 613   \vskip\belowcaptionskip}
 
 615 \def\fps@figure{htbp}
 
 616 \def\fnum@figure{\figurename\thinspace\thefigure}
 
 617 \def \@floatboxreset {%
 
 624 \def\fnum@table{\tablename~\thetable}
 
 625 \renewenvironment{table}
 
 626                {\setlength\abovecaptionskip{0\p@}%
 
 627                 \setlength\belowcaptionskip{10\p@}%
 
 630 \renewenvironment{table*}
 
 631                {\setlength\abovecaptionskip{0\p@}%
 
 632                 \setlength\belowcaptionskip{10\p@}%
 
 636 \long\def\@caption#1[#2]#3{\par\addcontentsline{\csname
 
 637   ext@#1\endcsname}{#1}{\protect\numberline{\csname
 
 638   the#1\endcsname}{\ignorespaces #2}}\begingroup
 
 640     \@makecaption{\csname fnum@#1\endcsname}{\ignorespaces #3}\par
 
 643 % LaTeX does not provide a command to enter the authors institute
 
 644 % addresses. The \institute command is defined here.
 
 650 \def\lastandname{\unskip, and}
 
 653 \newtoks\authorrunning
 
 656 \newtoks\titlerunning
 
 659 \def\clearheadinfo{\gdef\@author{No Author Given}%
 
 660                    \gdef\@title{No Title Given}%
 
 662                    \gdef\@institute{No Institute Given}%
 
 664                    \global\titlerunning={}\global\authorrunning={}%
 
 665                    \global\toctitle={}\global\tocauthor={}}
 
 667 \def\institute#1{\gdef\@institute{#1}}
 
 669 \def\institutename{\par
 
 673  \setcounter{@inst}{1}%
 
 674  \def\and{\par\stepcounter{@inst}%
 
 675  \noindent$^{\the@inst}$\enspace\ignorespaces}%
 
 676  \setbox0=\vbox{\def\thanks##1{}\@institute}%
 
 677  \ifnum\c@@inst=1\relax
 
 679    \setcounter{footnote}{\c@@inst}%
 
 680    \setcounter{@inst}{1}%
 
 681    \noindent$^{\the@inst}$\enspace
 
 687 \def\@fnsymbol#1{\ensuremath{\ifcase#1\or\star\or{\star\star}\or
 
 688    {\star\star\star}\or \dagger\or \ddagger\or
 
 689    \mathchar "278\or \mathchar "27B\or \|\or **\or \dagger\dagger
 
 690    \or \ddagger\ddagger \else\@ctrerr\fi}}
 
 692 \def\inst#1{\unskip$^{#1}$}
 
 693 \def\fnmsep{\unskip$^,$}
 
 694 \def\email#1{{\tt#1}}
 
 695 \AtBeginDocument{\@ifundefined{url}{\def\url#1{#1}}{}}
 
 698 \def\subtitle#1{\gdef\@subtitle{#1}}
 
 701 \renewcommand\maketitle{\newpage
 
 702   \refstepcounter{chapter}%
 
 703   \stepcounter{section}%
 
 704   \setcounter{section}{0}%
 
 705   \setcounter{subsection}{0}%
 
 706   \setcounter{figure}{0}
 
 707   \setcounter{table}{0}
 
 708   \setcounter{equation}{0}
 
 709   \setcounter{footnote}{0}%
 
 712     \renewcommand\thefootnote{\@fnsymbol\c@footnote}%
 
 714       \ifnum \col@number=\@ne
 
 717         \twocolumn[\@maketitle]%
 
 721       \global\@topnum\z@   % Prevents figures from going at top of page.
 
 724     \thispagestyle{empty}\@thanks
 
 726     \def\\{\unskip\ \ignorespaces}\def\inst##1{\unskip{}}%
 
 727     \def\thanks##1{\unskip{}}\def\fnmsep{\unskip}%
 
 729     \advance\instindent by-\headlineindent
 
 730     \if!\the\toctitle!\addcontentsline{toc}{title}{\@title}\else
 
 731        \addcontentsline{toc}{title}{\the\toctitle}\fi
 
 733        \if!\the\titlerunning!\else
 
 734          \edef\@title{\the\titlerunning}%
 
 736        \global\setbox\titrun=\hbox{\small\rm\unboldmath\ignorespaces\@title}%
 
 737        \ifdim\wd\titrun>\instindent
 
 738           \typeout{Title too long for running head. Please supply}%
 
 739           \typeout{a shorter form with \string\titlerunning\space prior to
 
 741           \global\setbox\titrun=\hbox{\small\rm
 
 742           Title Suppressed Due to Excessive Length}%
 
 744        \xdef\@title{\copy\titrun}%
 
 747     \if!\the\tocauthor!\relax
 
 748       {\def\and{\noexpand\protect\noexpand\and}%
 
 749       \protected@xdef\toc@uthor{\@author}}%
 
 751       \def\\{\noexpand\protect\noexpand\newline}%
 
 752       \protected@xdef\scratch{\the\tocauthor}%
 
 753       \protected@xdef\toc@uthor{\scratch}%
 
 755     \addtocontents{toc}{{\protect\raggedright\protect\leftskip15\p@
 
 756     \protect\rightskip\@tocrmarg
 
 757     \protect\itshape\toc@uthor\protect\endgraf}}%
 
 759        \if!\the\authorrunning!
 
 760          \value{@inst}=\value{@auth}%
 
 761          \setcounter{@auth}{1}%
 
 763          \edef\@author{\the\authorrunning}%
 
 765        \global\setbox\authrun=\hbox{\small\unboldmath\@author\unskip}%
 
 766        \ifdim\wd\authrun>\instindent
 
 767           \typeout{Names of authors too long for running head. Please supply}%
 
 768           \typeout{a shorter form with \string\authorrunning\space prior to
 
 770           \global\setbox\authrun=\hbox{\small\rm
 
 771           Authors Suppressed Due to Excessive Length}%
 
 773        \xdef\@author{\copy\authrun}%
 
 774        \markboth{\@author}{\@title}%
 
 777   \setcounter{footnote}{0}%
 
 780 \def\@maketitle{\newpage
 
 782  \def\lastand{\ifnum\value{@inst}=2\relax
 
 785                  \unskip \lastandname\
 
 787  \def\and{\stepcounter{@auth}\relax
 
 788           \ifnum\value{@auth}=\value{@inst}%
 
 794  {\Large \bfseries\boldmath
 
 796   \@title \par}\vskip .8cm
 
 797 \if!\@subtitle!\else {\large \bfseries\boldmath
 
 800   \@subtitle \par}\vskip .8cm\fi
 
 801  \setbox0=\vbox{\setcounter{@auth}{1}\def\and{\stepcounter{@auth}}%
 
 802  \def\thanks##1{}\@author}%
 
 803  \global\value{@inst}=\value{@auth}%
 
 804  \global\value{auco}=\value{@auth}%
 
 805  \setcounter{@auth}{1}%
 
 807 \noindent\ignorespaces
 
 809  {\small\institutename}
 
 813 % definition of the "\spnewtheorem" command.
 
 817 %     \spnewtheorem{env_nam}{caption}[within]{cap_font}{body_font}
 
 818 % or  \spnewtheorem{env_nam}[numbered_like]{caption}{cap_font}{body_font}
 
 819 % or  \spnewtheorem*{env_nam}{caption}{cap_font}{body_font}
 
 821 % New is "cap_font" and "body_font". It stands for
 
 822 % fontdefinition of the caption and the text itself.
 
 824 % "\spnewtheorem*" gives a theorem without number.
 
 826 % A defined spnewthoerem environment is used as described
 
 829 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 
 831 \def\@thmcountersep{}
 
 832 \def\@thmcounterend{.}
 
 834 \def\spnewtheorem{\@ifstar{\@sthm}{\@Sthm}}
 
 836 % definition of \spnewtheorem with number
 
 839   \@ifnextchar[{\@spxnthm{#1}{#2}}{\@spynthm{#1}{#2}}}
 
 840 \def\@Sthm#1{\@ifnextchar[{\@spothm{#1}}{\@spnthm{#1}}}
 
 842 \def\@spxnthm#1#2[#3]#4#5{\expandafter\@ifdefinable\csname #1\endcsname
 
 843    {\@definecounter{#1}\@addtoreset{#1}{#3}%
 
 844    \expandafter\xdef\csname the#1\endcsname{\expandafter\noexpand
 
 845      \csname the#3\endcsname \noexpand\@thmcountersep \@thmcounter{#1}}%
 
 846    \expandafter\xdef\csname #1name\endcsname{#2}%
 
 847    \global\@namedef{#1}{\@spthm{#1}{\csname #1name\endcsname}{#4}{#5}}%
 
 848                               \global\@namedef{end#1}{\@endtheorem}}}
 
 850 \def\@spynthm#1#2#3#4{\expandafter\@ifdefinable\csname #1\endcsname
 
 851    {\@definecounter{#1}%
 
 852    \expandafter\xdef\csname the#1\endcsname{\@thmcounter{#1}}%
 
 853    \expandafter\xdef\csname #1name\endcsname{#2}%
 
 854    \global\@namedef{#1}{\@spthm{#1}{\csname #1name\endcsname}{#3}{#4}}%
 
 855                                \global\@namedef{end#1}{\@endtheorem}}}
 
 857 \def\@spothm#1[#2]#3#4#5{%
 
 858   \@ifundefined{c@#2}{\@latexerr{No theorem environment `#2' defined}\@eha}%
 
 859   {\expandafter\@ifdefinable\csname #1\endcsname
 
 860   {\global\@namedef{the#1}{\@nameuse{the#2}}%
 
 861   \expandafter\xdef\csname #1name\endcsname{#3}%
 
 862   \global\@namedef{#1}{\@spthm{#2}{\csname #1name\endcsname}{#4}{#5}}%
 
 863   \global\@namedef{end#1}{\@endtheorem}}}}
 
 865 \def\@spthm#1#2#3#4{\topsep 7\p@ \@plus2\p@ \@minus4\p@
 
 867 \@ifnextchar[{\@spythm{#1}{#2}{#3}{#4}}{\@spxthm{#1}{#2}{#3}{#4}}}
 
 869 \def\@spxthm#1#2#3#4{\@spbegintheorem{#2}{\csname the#1\endcsname}{#3}{#4}%
 
 872 \def\@spythm#1#2#3#4[#5]{\@spopargbegintheorem{#2}{\csname
 
 873        the#1\endcsname}{#5}{#3}{#4}\ignorespaces}
 
 875 \def\@spbegintheorem#1#2#3#4{\trivlist
 
 876                  \item[\hskip\labelsep{#3#1\ #2\@thmcounterend}]#4}
 
 878 \def\@spopargbegintheorem#1#2#3#4#5{\trivlist
 
 879       \item[\hskip\labelsep{#4#1\ #2}]{#4(#3)\@thmcounterend\ }#5}
 
 881 % definition of \spnewtheorem* without number
 
 883 \def\@sthm#1#2{\@Ynthm{#1}{#2}}
 
 885 \def\@Ynthm#1#2#3#4{\expandafter\@ifdefinable\csname #1\endcsname
 
 886    {\global\@namedef{#1}{\@Thm{\csname #1name\endcsname}{#3}{#4}}%
 
 887     \expandafter\xdef\csname #1name\endcsname{#2}%
 
 888     \global\@namedef{end#1}{\@endtheorem}}}
 
 890 \def\@Thm#1#2#3{\topsep 7\p@ \@plus2\p@ \@minus4\p@
 
 891 \@ifnextchar[{\@Ythm{#1}{#2}{#3}}{\@Xthm{#1}{#2}{#3}}}
 
 893 \def\@Xthm#1#2#3{\@Begintheorem{#1}{#2}{#3}\ignorespaces}
 
 895 \def\@Ythm#1#2#3[#4]{\@Opargbegintheorem{#1}
 
 896        {#4}{#2}{#3}\ignorespaces}
 
 898 \def\@Begintheorem#1#2#3{#3\trivlist
 
 899                            \item[\hskip\labelsep{#2#1\@thmcounterend}]}
 
 901 \def\@Opargbegintheorem#1#2#3#4{#4\trivlist
 
 902       \item[\hskip\labelsep{#3#1}]{#3(#2)\@thmcounterend\ }}
 
 905    \def\@thmcountersep{.}
 
 906    \spnewtheorem{theorem}{Theorem}[section]{\bfseries}{\itshape}
 
 908    \spnewtheorem{theorem}{Theorem}{\bfseries}{\itshape}
 
 910       \@addtoreset{theorem}{section}
 
 912       \@addtoreset{theorem}{chapter}
 
 916 %definition of divers theorem environments
 
 917 \spnewtheorem*{claim}{Claim}{\itshape}{\rmfamily}
 
 918 \spnewtheorem*{proof}{Proof}{\itshape}{\rmfamily}
 
 919 \if@envcntsame % alle Umgebungen wie Theorem.
 
 920    \def\spn@wtheorem#1#2#3#4{\@spothm{#1}[theorem]{#2}{#3}{#4}}
 
 921 \else % alle Umgebungen mit eigenem Zaehler
 
 922    \if@envcntsect % mit section numeriert
 
 923       \def\spn@wtheorem#1#2#3#4{\@spxnthm{#1}{#2}[section]{#3}{#4}}
 
 924    \else % nicht mit section numeriert
 
 926          \def\spn@wtheorem#1#2#3#4{\@spynthm{#1}{#2}{#3}{#4}
 
 927                                    \@addtoreset{#1}{section}}
 
 929          \def\spn@wtheorem#1#2#3#4{\@spynthm{#1}{#2}{#3}{#4}
 
 930                                    \@addtoreset{#1}{chapter}}%
 
 934 \spn@wtheorem{case}{Case}{\itshape}{\rmfamily}
 
 935 \spn@wtheorem{conjecture}{Conjecture}{\itshape}{\rmfamily}
 
 936 \spn@wtheorem{corollary}{Corollary}{\bfseries}{\itshape}
 
 937 \spn@wtheorem{definition}{Definition}{\bfseries}{\itshape}
 
 938 \spn@wtheorem{example}{Example}{\itshape}{\rmfamily}
 
 939 \spn@wtheorem{exercise}{Exercise}{\itshape}{\rmfamily}
 
 940 \spn@wtheorem{lemma}{Lemma}{\bfseries}{\itshape}
 
 941 \spn@wtheorem{note}{Note}{\itshape}{\rmfamily}
 
 942 \spn@wtheorem{problem}{Problem}{\itshape}{\rmfamily}
 
 943 \spn@wtheorem{property}{Property}{\itshape}{\rmfamily}
 
 944 \spn@wtheorem{proposition}{Proposition}{\bfseries}{\itshape}
 
 945 \spn@wtheorem{question}{Question}{\itshape}{\rmfamily}
 
 946 \spn@wtheorem{solution}{Solution}{\itshape}{\rmfamily}
 
 947 \spn@wtheorem{remark}{Remark}{\itshape}{\rmfamily}
 
 949 \def\@takefromreset#1#2{%
 
 954         \ifx\@tempa\@tempb\else
 
 955             \@addtoreset{##1}{#2}%
 
 957     \expandafter\expandafter\let\expandafter\@tempc\csname cl@#2\endcsname
 
 958     \expandafter\def\csname cl@#2\endcsname{}%
 
 962 \def\theopargself{\def\@spopargbegintheorem##1##2##3##4##5{\trivlist
 
 963       \item[\hskip\labelsep{##4##1\ ##2}]{##4##3\@thmcounterend\ }##5}
 
 964                   \def\@Opargbegintheorem##1##2##3##4{##4\trivlist
 
 965       \item[\hskip\labelsep{##3##1}]{##3##2\@thmcounterend\ }}
 
 968 \renewenvironment{abstract}{%
 
 969       \list{}{\advance\topsep by0.35cm\relax\small
 
 973       \itemindent\listparindent
 
 974       \rightmargin\leftmargin}\item[\hskip\labelsep
 
 975                                     \bfseries\abstractname]}
 
 977 \renewcommand{\abstractname}{Abstract.}
 
 978 \renewcommand{\contentsname}{Table of Contents}
 
 979 \renewcommand{\figurename}{Fig.}
 
 980 \renewcommand{\tablename}{Table}
 
 982 \newdimen\headlineindent             % dimension for space between
 
 983 \headlineindent=1.166cm              % number and text of headings.
 
 985 \def\ps@headings{\let\@mkboth\@gobbletwo
 
 986    \let\@oddfoot\@empty\let\@evenfoot\@empty
 
 987    \def\@evenhead{\normalfont\small\rlap{\thepage}\hspace{\headlineindent}%
 
 989    \def\@oddhead{\normalfont\small\hfil\rightmark\hspace{\headlineindent}%
 
 991    \def\chaptermark##1{}%
 
 992    \def\sectionmark##1{}%
 
 993    \def\subsectionmark##1{}}
 
 995 \def\ps@titlepage{\let\@mkboth\@gobbletwo
 
 996    \let\@oddfoot\@empty\let\@evenfoot\@empty
 
 997    \def\@evenhead{\normalfont\small\rlap{\thepage}\hspace{\headlineindent}%
 
 999    \def\@oddhead{\normalfont\small\hfil\hspace{\headlineindent}%
 
1001    \def\chaptermark##1{}%
 
1002    \def\sectionmark##1{}%
 
1003    \def\subsectionmark##1{}}
 
1005 \if@runhead\ps@headings\else
 
1008 \setlength\arraycolsep{1.4\p@}
 
1009 \setlength\tabcolsep{1.4\p@}