1% LLNCS DOCUMENT CLASS -- version 2.6 2% for LaTeX2e 3% 4\NeedsTeXFormat{LaTeX2e}[1995/12/01] 5\ProvidesClass{llncs}[1999/04/27 v2.6 6^^JLaTeX document class for Lecture Notes in Computer Science] 7% Options 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} 18 19\let\if@openbib\iffalse 20\DeclareOption{openbib}{\let\if@openbib\iftrue} 21 22\DeclareOption*{\PassOptionsToClass{\CurrentOption}{article}} 23 24\ProcessOptions 25 26\LoadClass[twoside]{article} 27\RequirePackage{multicol} % needed for the list of participants, index 28 29\setlength{\textwidth}{12.2cm} 30\setlength{\textheight}{19.3cm} 31 32% Ragged bottom for the actual page 33\def\thisbottomragged{\def\@textbottom{\vskip\z@ plus.0001fil 34\global\let\@textbottom\relax}} 35 36\renewcommand\small{% 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@ 44 \itemsep0\p@}% 45 \belowdisplayskip \abovedisplayskip 46} 47 48\frenchspacing 49\widowpenalty=10000 50\clubpenalty=10000 51 52\setlength\oddsidemargin {63\p@} 53\setlength\evensidemargin {63\p@} 54\setlength\marginparwidth {90\p@} 55 56\setlength\headsep {16\p@} 57 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@} 61 62\setcounter{secnumdepth}{2} 63 64\newcounter {chapter} 65\renewcommand\thechapter {\@arabic\c@chapter} 66 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 73 \@mainmatterfalse} 74 75\renewcommand\part{\cleardoublepage 76 \thispagestyle{empty}% 77 \if@twocolumn 78 \onecolumn 79 \@tempswatrue 80 \else 81 \@tempswafalse 82 \fi 83 \null\vfil 84 \secdef\@part\@spart} 85 86\def\@part[#1]#2{% 87 \ifnum \c@secnumdepth >-2\relax 88 \refstepcounter{part}% 89 \addcontentsline{toc}{part}{\thepart\hspace{1em}#1}% 90 \else 91 \addcontentsline{toc}{part}{#1}% 92 \fi 93 \markboth{}{}% 94 {\centering 95 \interlinepenalty \@M 96 \normalfont 97 \ifnum \c@secnumdepth >-2\relax 98 \huge\bfseries \partname~\thepart 99 \par 100 \vskip 20\p@ 101 \fi 102 \Huge \bfseries #2\par}% 103 \@endpart} 104\def\@spart#1{% 105 {\centering 106 \interlinepenalty \@M 107 \normalfont 108 \Huge \bfseries #1\par}% 109 \@endpart} 110\def\@endpart{\vfil\newpage 111 \if@twoside 112 \null 113 \thispagestyle{empty}% 114 \newpage 115 \fi 116 \if@tempswa 117 \twocolumn 118 \fi} 119 120\newcommand\chapter{\clearpage 121 \thispagestyle{empty}% 122 \global\@topnum\z@ 123 \@afterindentfalse 124 \secdef\@chapter\@schapter} 125\def\@chapter[#1]#2{\ifnum \c@secnumdepth >\m@ne 126 \if@mainmatter 127 \refstepcounter{chapter}% 128 \typeout{\@chapapp\space\thechapter.}% 129 \addcontentsline{toc}{chapter}% 130 {\protect\numberline{\thechapter}#1}% 131 \else 132 \addcontentsline{toc}{chapter}{#1}% 133 \fi 134 \else 135 \addcontentsline{toc}{chapter}{#1}% 136 \fi 137 \chaptermark{#1}% 138 \addtocontents{lof}{\protect\addvspace{10\p@}}% 139 \addtocontents{lot}{\protect\addvspace{10\p@}}% 140 \if@twocolumn 141 \@topnewpage[\@makechapterhead{#2}]% 142 \else 143 \@makechapterhead{#2}% 144 \@afterheading 145 \fi} 146\def\@makechapterhead#1{% 147% \vspace*{50\p@}% 148 {\centering 149 \ifnum \c@secnumdepth >\m@ne 150 \if@mainmatter 151 \large\bfseries \@chapapp{} \thechapter 152 \par\nobreak 153 \vskip 20\p@ 154 \fi 155 \fi 156 \interlinepenalty\@M 157 \Large \bfseries #1\par\nobreak 158 \vskip 40\p@ 159 }} 160\def\@schapter#1{\if@twocolumn 161 \@topnewpage[\@makeschapterhead{#1}]% 162 \else 163 \@makeschapterhead{#1}% 164 \@afterheading 165 \fi} 166\def\@makeschapterhead#1{% 167% \vspace*{50\p@}% 168 {\centering 169 \normalfont 170 \interlinepenalty\@M 171 \Large \bfseries #1\par\nobreak 172 \vskip 40\p@ 173 }} 174 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 195You should not use \verb|\subparagraph| with this class.\vskip0.5cm} 196 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} 208 209\let\footnotesize\small 210 211\def\vec#1{\mathchoice{\mbox{\boldmath$\displaystyle#1$}} 212{\mbox{\boldmath$\textstyle#1$}} 213{\mbox{\boldmath$\scriptstyle#1$}} 214{\mbox{\boldmath$\scriptscriptstyle#1$}}} 215 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} 220 221\def\getsto{\mathrel{\mathchoice {\vcenter{\offinterlineskip 222\halign{\hfil 223$\displaystyle##$\hfil\cr\gets\cr\to\cr}}} 224{\vcenter{\offinterlineskip\halign{\hfil$\textstyle##$\hfil\cr\gets 225\cr\to\cr}}} 226{\vcenter{\offinterlineskip\halign{\hfil$\scriptstyle##$\hfil\cr\gets 227\cr\to\cr}}} 228{\vcenter{\offinterlineskip\halign{\hfil$\scriptscriptstyle##$\hfil\cr 229\gets\cr\to\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 237<\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 246>\cr 247\noalign{\vskip0.9pt}=\cr}}}}} 248\def\grole{\mathrel{\mathchoice {\vcenter{\offinterlineskip 249\halign{\hfil 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 267to0pt{\kern0.4\wd0\vrule height0.9\ht0\hss}\box0}} 268{\setbox0=\hbox{$\textstyle\rm C$}\hbox{\hbox 269to0pt{\kern0.4\wd0\vrule height0.9\ht0\hss}\box0}} 270{\setbox0=\hbox{$\scriptstyle\rm C$}\hbox{\hbox 271to0pt{\kern0.4\wd0\vrule height0.9\ht0\hss}\box0}} 272{\setbox0=\hbox{$\scriptscriptstyle\rm C$}\hbox{\hbox 273to0pt{\kern0.4\wd0\vrule height0.9\ht0\hss}\box0}}}} 274\def\bbbq{{\mathchoice {\setbox0=\hbox{$\displaystyle\rm 275Q$}\hbox{\raise 2760.15\ht0\hbox to0pt{\kern0.4\wd0\vrule height0.8\ht0\hss}\box0}} 277{\setbox0=\hbox{$\textstyle\rm Q$}\hbox{\raise 2780.15\ht0\hbox to0pt{\kern0.4\wd0\vrule height0.8\ht0\hss}\box0}} 279{\setbox0=\hbox{$\scriptstyle\rm Q$}\hbox{\raise 2800.15\ht0\hbox to0pt{\kern0.4\wd0\vrule height0.7\ht0\hss}\box0}} 281{\setbox0=\hbox{$\scriptscriptstyle\rm Q$}\hbox{\raise 2820.15\ht0\hbox to0pt{\kern0.4\wd0\vrule height0.7\ht0\hss}\box0}}}} 283\def\bbbt{{\mathchoice {\setbox0=\hbox{$\displaystyle\rm 284T$}\hbox{\hbox to0pt{\kern0.3\wd0\vrule height0.9\ht0\hss}\box0}} 285{\setbox0=\hbox{$\textstyle\rm T$}\hbox{\hbox 286to0pt{\kern0.3\wd0\vrule height0.9\ht0\hss}\box0}} 287{\setbox0=\hbox{$\scriptstyle\rm T$}\hbox{\hbox 288to0pt{\kern0.3\wd0\vrule height0.9\ht0\hss}\box0}} 289{\setbox0=\hbox{$\scriptscriptstyle\rm T$}\hbox{\hbox 290to0pt{\kern0.3\wd0\vrule height0.9\ht0\hss}\box0}}}} 291\def\bbbs{{\mathchoice 292{\setbox0=\hbox{$\displaystyle \rm S$}\hbox{\raise0.5\ht0\hbox 293to0pt{\kern0.35\wd0\vrule height0.45\ht0\hss}\hbox 294to0pt{\kern0.55\wd0\vrule height0.5\ht0\hss}\box0}} 295{\setbox0=\hbox{$\textstyle \rm S$}\hbox{\raise0.5\ht0\hbox 296to0pt{\kern0.35\wd0\vrule height0.45\ht0\hss}\hbox 297to0pt{\kern0.55\wd0\vrule height0.5\ht0\hss}\box0}} 298{\setbox0=\hbox{$\scriptstyle \rm S$}\hbox{\raise0.5\ht0\hbox 299to0pt{\kern0.35\wd0\vrule height0.45\ht0\hss}\raise0.05\ht0\hbox 300to0pt{\kern0.5\wd0\vrule height0.45\ht0\hss}\box0}} 301{\setbox0=\hbox{$\scriptscriptstyle\rm S$}\hbox{\raise0.5\ht0\hbox 302to0pt{\kern0.4\wd0\vrule height0.45\ht0\hss}\raise0.05\ht0\hbox 303to0pt{\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$}}}} 308 309\let\ts\, 310 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} 319 320\def\@listI{\leftmargin\leftmargini 321 \parsep 0\p@ \@plus1\p@ \@minus\p@ 322 \topsep 8\p@ \@plus2\p@ \@minus4\p@ 323 \itemsep0\p@} 324\let\@listi\@listI 325\@listi 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@ 334 \parsep \z@ 335 \partopsep \p@ \@plus\z@ \@minus\p@} 336 337\renewcommand\labelitemi{\normalfont\bfseries --} 338\renewcommand\labelitemii{$\m@th\bullet$} 339 340\setlength\arraycolsep{1.4\p@} 341\setlength\tabcolsep{1.4\p@} 342 343\def\tableofcontents{\chapter*{\contentsname\@mkboth{{\contentsname}}% 344 {{\contentsname}}} 345 \def\authcount##1{\setcounter{auco}{##1}\setcounter{@auth}{1}} 346 \def\lastand{\ifnum\value{auco}=2\relax 347 \unskip{} \andname\ 348 \else 349 \unskip \lastandname\ 350 \fi}% 351 \def\and{\stepcounter{@auth}\relax 352 \ifnum\value{@auth}=\value{auco}% 353 \lastand 354 \else 355 \unskip, 356 \fi}% 357 \@starttoc{toc}\if@restonecol\twocolumn\fi} 358 359\def\l@part#1#2{\addpenalty{\@secpenalty}% 360 \addvspace{2em plus\p@}% % space above part line 361 \begingroup 362 \parindent \z@ 363 \rightskip \z@ plus 5em 364 \hrule\vskip5pt 365 \bfseries\boldmath % set line in boldface 366 \leavevmode % TeX command to enter horizontal mode. 367 #1\par 368 \vskip5pt 369 \hrule 370 \vskip1pt 371 \nobreak % Never break after part entry 372 \endgroup} 373 374\def\@dotsep{2} 375 376\def\hyperhrefextend{\ifx\hyper@anchor\@undefined\else 377{chapter.\thechapter}\fi} 378 379\def\addnumcontentsmark#1#2#3{% 380\addtocontents{#1}{\protect\contentsline{#2}{\protect\numberline 381 {\thechapter}#3}{\thepage}\hyperhrefextend}} 382\def\addcontentsmark#1#2#3{% 383\addtocontents{#1}{\protect\contentsline{#2}{#3}{\thepage}\hyperhrefextend}} 384\def\addcontentsmarkwop#1#2#3{% 385\addtocontents{#1}{\protect\contentsline{#2}{#3}{0}\hyperhrefextend}} 386 387\def\@adcmk[#1]{\ifcase #1 \or 388\def\@gtempa{\addnumcontentsmark}% 389 \or \def\@gtempa{\addcontentsmark}% 390 \or \def\@gtempa{\addcontentsmarkwop}% 391 \fi\@gtempa{toc}{chapter}} 392\def\addtocmark{\@ifnextchar[{\@adcmk}{\@adcmk[3]}} 393 394\def\l@chapter#1#2{\addpenalty{-\@highpenalty} 395 \vskip 1.0em plus 1pt \@tempdima 1.5em \begingroup 396 \parindent \z@ \rightskip \@pnumwidth 397 \parfillskip -\@pnumwidth 398 \leavevmode \advance\leftskip\@tempdima \hskip -\leftskip 399 {\large\bfseries\boldmath#1}\ifx0#2\hfil\null 400 \else 401 \nobreak 402 \leaders\hbox{$\m@th \mkern \@dotsep mu.\mkern 403 \@dotsep mu$}\hfill 404 \nobreak\hbox to\@pnumwidth{\hss #2}% 405 \fi\par 406 \penalty\@highpenalty \endgroup} 407 408\def\l@title#1#2{\addpenalty{-\@highpenalty} 409 \addvspace{8pt plus 1pt} 410 \@tempdima \z@ 411 \begingroup 412 \parindent \z@ \rightskip \@tocrmarg 413 \parfillskip -\@tocrmarg 414 \leavevmode \advance\leftskip\@tempdima \hskip -\leftskip 415 #1\nobreak 416 \leaders\hbox{$\m@th \mkern \@dotsep mu.\mkern 417 \@dotsep mu$}\hfill 418 \nobreak\hbox to\@pnumwidth{\hss #2}\par 419 \penalty\@highpenalty \endgroup} 420 421\setcounter{tocdepth}{0} 422\newdimen\tocchpnum 423\newdimen\tocsecnum 424\newdimen\tocsectotal 425\newdimen\tocsubsecnum 426\newdimen\tocsubsectotal 427\newdimen\tocsubsubsecnum 428\newdimen\tocsubsubsectotal 429\newdimen\tocparanum 430\newdimen\tocparatotal 431\newdimen\tocsubparanum 432\tocchpnum=\z@ % no chapter numbers 433\tocsecnum=15\p@ % section 88. plus 2.222pt 434\tocsubsecnum=23\p@ % subsection 88.8 plus 2.222pt 435\tocsubsubsecnum=27\p@ % subsubsection 88.8.8 plus 1.444pt 436\tocparanum=35\p@ % paragraph 88.8.8.8 plus 1.666pt 437\tocsubparanum=43\p@ % subparagraph 88.8.8.8.8 plus 1.888pt 438\def\calctocindent{% 439\tocsectotal=\tocchpnum 440\advance\tocsectotal by\tocsecnum 441\tocsubsectotal=\tocsectotal 442\advance\tocsubsectotal by\tocsubsecnum 443\tocsubsubsectotal=\tocsubsectotal 444\advance\tocsubsubsectotal by\tocsubsubsecnum 445\tocparatotal=\tocsubsubsectotal 446\advance\tocparatotal by\tocparanum} 447\calctocindent 448 449\def\l@section{\@dottedtocline{1}{\tocchpnum}{\tocsecnum}} 450\def\l@subsection{\@dottedtocline{2}{\tocsectotal}{\tocsubsecnum}} 451\def\l@subsubsection{\@dottedtocline{3}{\tocsubsectotal}{\tocsubsubsecnum}} 452\def\l@paragraph{\@dottedtocline{4}{\tocsubsubsectotal}{\tocparanum}} 453\def\l@subparagraph{\@dottedtocline{5}{\tocparatotal}{\tocsubparanum}} 454 455\def\listoffigures{\@restonecolfalse\if@twocolumn\@restonecoltrue\onecolumn 456 \fi\section*{\listfigurename\@mkboth{{\listfigurename}}{{\listfigurename}}} 457 \@starttoc{lof}\if@restonecol\twocolumn\fi} 458\def\l@figure{\@dottedtocline{1}{0em}{1.5em}} 459 460\def\listoftables{\@restonecolfalse\if@twocolumn\@restonecoltrue\onecolumn 461 \fi\section*{\listtablename\@mkboth{{\listtablename}}{{\listtablename}}} 462 \@starttoc{lot}\if@restonecol\twocolumn\fi} 463\let\l@table\l@figure 464 465\renewcommand\listoffigures{% 466 \section*{\listfigurename 467 \@mkboth{\listfigurename}{\listfigurename}}% 468 \@starttoc{lof}% 469 } 470 471\renewcommand\listoftables{% 472 \section*{\listtablename 473 \@mkboth{\listtablename}{\listtablename}}% 474 \@starttoc{lot}% 475 } 476 477\ifx\oribibl\undefined 478\ifx\citeauthoryear\undefined 479\renewenvironment{thebibliography}[1] 480 {\section*{\refname} 481 \def\@biblabel##1{##1.} 482 \small 483 \list{\@biblabel{\@arabic\c@enumiv}}% 484 {\settowidth\labelwidth{\@biblabel{#1}}% 485 \leftmargin\labelwidth 486 \advance\leftmargin\labelsep 487 \if@openbib 488 \advance\leftmargin\bibindent 489 \itemindent -\bibindent 490 \listparindent \itemindent 491 \parsep \z@ 492 \fi 493 \usecounter{enumiv}% 494 \let\p@enumiv\@empty 495 \renewcommand\theenumiv{\@arabic\c@enumiv}}% 496 \if@openbib 497 \renewcommand\newblock{\par}% 498 \else 499 \renewcommand\newblock{\hskip .11em \@plus.33em \@minus.07em}% 500 \fi 501 \sloppy\clubpenalty4000\widowpenalty4000% 502 \sfcode`\.=\@m} 503 {\def\@noitemerr 504 {\@latex@warning{Empty `thebibliography' environment}}% 505 \endlist} 506\def\@lbibitem[#1]#2{\item[{[#1]}\hfill]\if@filesw 507 {\let\protect\noexpand\immediate 508 \write\@auxout{\string\bibcite{#2}{#1}}}\fi\ignorespaces} 509\newcount\@tempcntc 510\def\@citex[#1]#2{\if@filesw\immediate\write\@auxout{\string\citation{#2}}\fi 511 \@tempcnta\z@\@tempcntb\m@ne\def\@citea{}\@cite{\@for\@citeb:=#2\do 512 {\@ifundefined 513 {b@\@citeb}{\@citeo\@tempcntb\m@ne\@citea\def\@citea{,}{\bfseries 514 ?}\@warning 515 {Citation `\@citeb' on page \thepage \space undefined}}% 516 {\setbox\z@\hbox{\global\@tempcntc0\csname b@\@citeb\endcsname\relax}% 517 \ifnum\@tempcntc=\z@ \@citeo\@tempcntb\m@ne 518 \@citea\def\@citea{,}\hbox{\csname b@\@citeb\endcsname}% 519 \else 520 \advance\@tempcntb\@ne 521 \ifnum\@tempcntb=\@tempcntc 522 \else\advance\@tempcntb\m@ne\@citeo 523 \@tempcnta\@tempcntc\@tempcntb\@tempcntc\fi\fi}}\@citeo}{#1}} 524\def\@citeo{\ifnum\@tempcnta>\@tempcntb\else 525 \@citea\def\@citea{,\,\hskip\z@skip}% 526 \ifnum\@tempcnta=\@tempcntb\the\@tempcnta\else 527 {\advance\@tempcnta\@ne\ifnum\@tempcnta=\@tempcntb \else 528 \def\@citea{--}\fi 529 \advance\@tempcnta\m@ne\the\@tempcnta\@citea\the\@tempcntb}\fi\fi} 530\else 531\renewenvironment{thebibliography}[1] 532 {\section*{\refname} 533 \small 534 \list{}% 535 {\settowidth\labelwidth{}% 536 \leftmargin\parindent 537 \itemindent=-\parindent 538 \labelsep=\z@ 539 \if@openbib 540 \advance\leftmargin\bibindent 541 \itemindent -\bibindent 542 \listparindent \itemindent 543 \parsep \z@ 544 \fi 545 \usecounter{enumiv}% 546 \let\p@enumiv\@empty 547 \renewcommand\theenumiv{}}% 548 \if@openbib 549 \renewcommand\newblock{\par}% 550 \else 551 \renewcommand\newblock{\hskip .11em \@plus.33em \@minus.07em}% 552 \fi 553 \sloppy\clubpenalty4000\widowpenalty4000% 554 \sfcode`\.=\@m} 555 {\def\@noitemerr 556 {\@latex@warning{Empty `thebibliography' environment}}% 557 \endlist} 558 \def\@cite#1{#1}% 559 \def\@lbibitem[#1]#2{\item[]\if@filesw 560 {\def\protect##1{\string ##1\space}\immediate 561 \write\@auxout{\string\bibcite{#2}{#1}}}\fi\ignorespaces} 562 \fi 563\else 564\@cons\@openbib@code{\noexpand\small} 565\fi 566 567\def\idxquad{\hskip 10\p@}% space that divides entry from number 568 569\def\@idxitem{\par\hangindent 10\p@} 570 571\def\subitem{\par\setbox0=\hbox{--\enspace}% second order 572 \noindent\hangindent\wd0\box0}% index entry 573 574\def\subsubitem{\par\setbox0=\hbox{--\,--\enspace}% third 575 \noindent\hangindent\wd0\box0}% order index entry 576 577\def\indexspace{\par \vskip 10\p@ plus5\p@ minus3\p@\relax} 578 579\renewenvironment{theindex} 580 {\@mkboth{\indexname}{\indexname}% 581 \thispagestyle{empty}\parindent\z@ 582 \parskip\z@ \@plus .3\p@\relax 583 \let\item\par 584 \def\,{\relax\ifmmode\mskip\thinmuskip 585 \else\hskip0.2em\ignorespaces\fi}% 586 \normalfont\small 587 \begin{multicols}{2}[\@makeschapterhead{\indexname}]% 588 } 589 {\end{multicols}} 590 591\renewcommand\footnoterule{% 592 \kern-3\p@ 593 \hrule\@width 2truecm 594 \kern2.6\p@} 595 \newdimen\fnindent 596 \fnindent1em 597\long\def\@makefntext#1{% 598 \parindent \fnindent% 599 \leftskip \fnindent% 600 \noindent 601 \llap{\hb@xt@1em{\hss\@makefnmark\ }}\ignorespaces#1} 602 603\long\def\@makecaption#1#2{% 604 \vskip\abovecaptionskip 605 \sbox\@tempboxa{{\bfseries #1.} #2}% 606 \ifdim \wd\@tempboxa >\hsize 607 {\bfseries #1.} #2\par 608 \else 609 \global \@minipagefalse 610 \hb@xt@\hsize{\hfil\box\@tempboxa\hfil}% 611 \fi 612 \vskip\belowcaptionskip} 613 614\def\fps@figure{htbp} 615\def\fnum@figure{\figurename\thefigure} 616\def \@floatboxreset {% 617 \reset@font 618 \small 619 \@setnobreak 620 \@setminipage 621} 622\def\fps@table{htbp} 623\def\fnum@table{\tablename\thetable} 624\renewenvironment{table} 625 {\setlength\abovecaptionskip{0\p@}% 626 \setlength\belowcaptionskip{10\p@}% 627 \@float{table}} 628 {\end@float} 629\renewenvironment{table*} 630 {\setlength\abovecaptionskip{0\p@}% 631 \setlength\belowcaptionskip{10\p@}% 632 \@dblfloat{table}} 633 {\end@dblfloat} 634 635\long\def\@caption#1[#2]#3{\par\addcontentsline{\csname 636 ext@#1\endcsname}{#1}{\protect\numberline{\csname 637 the#1\endcsname}{\ignorespaces #2}}\begingroup 638 \@parboxrestore 639 \@makecaption{\csname fnum@#1\endcsname}{\ignorespaces #3}\par 640 \endgroup} 641 642% LaTeX does not provide a command to enter the authors institute 643% addresses. The \institute command is defined here. 644 645\newcounter{@inst} 646\newcounter{@auth} 647\newcounter{auco} 648\def\andname{and} 649\def\lastandname{\unskip, and} 650\newdimen\instindent 651\newbox\authrun 652\newtoks\authorrunning 653\newtoks\tocauthor 654\newbox\titrun 655\newtoks\titlerunning 656\newtoks\toctitle 657 658\def\clearheadinfo{\gdef\@author{No Author Given}% 659 \gdef\@title{No Title Given}% 660 \gdef\@subtitle{}% 661 \gdef\@institute{No Institute Given}% 662 \gdef\@thanks{}% 663 \global\titlerunning={}\global\authorrunning={}% 664 \global\toctitle={}\global\tocauthor={}} 665 666\def\institute#1{\gdef\@institute{#1}} 667 668\def\institutename{\par 669 \begingroup 670 \parskip=\z@ 671 \parindent=\z@ 672 \setcounter{@inst}{1}% 673 \def\and{\par\stepcounter{@inst}% 674 \noindent$^{\the@inst}$\enspace\ignorespaces}% 675 \setbox0=\vbox{\def\thanks##1{}\@institute}% 676 \ifnum\c@@inst=1\relax 677 \else 678 \setcounter{footnote}{\c@@inst}% 679 \setcounter{@inst}{1}% 680 \noindent$^{\the@inst}$\enspace 681 \fi 682 \ignorespaces 683 \@institute\par 684 \endgroup} 685 686\def\@fnsymbol#1{\ensuremath{\ifcase#1\or\star\or{\star\star}\or 687 {\star\star\star}\or \dagger\or \ddagger\or 688 \mathchar "278\or \mathchar "27B\or \|\or **\or \dagger\dagger 689 \or \ddagger\ddagger \else\@ctrerr\fi}} 690 691\def\inst#1{\unskip$^{#1}$} 692\def\fnmsep{\unskip$^,$} 693\def\email#1{{\tt#1}} 694\def\url#1{#1} 695\def\homedir{\~{ }} 696 697\def\subtitle#1{\gdef\@subtitle{#1}} 698\clearheadinfo 699 700\renewcommand\maketitle{\newpage 701 \refstepcounter{chapter}% 702 \stepcounter{section}% 703 \setcounter{section}{0}% 704 \setcounter{subsection}{0}% 705 \setcounter{figure}{0} 706 \setcounter{table}{0} 707 \setcounter{equation}{0} 708 \setcounter{footnote}{0}% 709 \begingroup 710 \parindent=\z@ 711 \renewcommand\thefootnote{\@fnsymbol\c@footnote}% 712 \if@twocolumn 713 \ifnum \col@number=\@ne 714 \@maketitle 715 \else 716 \twocolumn[\@maketitle]% 717 \fi 718 \else 719 \newpage 720 \global\@topnum\z@ % Prevents figures from going at top of page. 721 \@maketitle 722 \fi 723 \thispagestyle{empty}\@thanks 724% 725 \def\\{\unskip\ \ignorespaces}\def\inst##1{\unskip{}}% 726 \def\thanks##1{\unskip{}}\def\fnmsep{\unskip}% 727 \instindent=\hsize 728 \advance\instindent by-\headlineindent 729 \if!\the\toctitle!\addcontentsline{toc}{title}{\@title}\else 730 \addcontentsline{toc}{title}{\the\toctitle}\fi 731 \if@runhead 732 \if!\the\titlerunning!\else 733 \edef\@title{\the\titlerunning}% 734 \fi 735 \global\setbox\titrun=\hbox{\small\rm\unboldmath\ignorespaces\@title}% 736 \ifdim\wd\titrun>\instindent 737 \typeout{Title too long for running head. Please supply}% 738 \typeout{a shorter form with \string\titlerunning\space prior to 739 \string\maketitle}% 740 \global\setbox\titrun=\hbox{\small\rm 741 Title Suppressed Due to Excessive Length}% 742 \fi 743 \xdef\@title{\copy\titrun}% 744 \fi 745% 746 \if!\the\tocauthor!\relax 747 {\def\and{\noexpand\protect\noexpand\and}% 748 \protected@xdef\toc@uthor{\@author}}% 749 \else 750 \def\\{\noexpand\protect\noexpand\newline}% 751 \protected@xdef\scratch{\the\tocauthor}% 752 \protected@xdef\toc@uthor{\scratch}% 753 \fi 754 \addtocontents{toc}{{\protect\raggedright\protect\leftskip15\p@ 755 \protect\rightskip\@tocrmarg 756 \protect\itshape\toc@uthor\protect\endgraf}}% 757 \if@runhead 758 \if!\the\authorrunning! 759 \value{@inst}=\value{@auth}% 760 \setcounter{@auth}{1}% 761 \else 762 \edef\@author{\the\authorrunning}% 763 \fi 764 \global\setbox\authrun=\hbox{\small\unboldmath\@author\unskip}% 765 \ifdim\wd\authrun>\instindent 766 \typeout{Names of authors too long for running head. Please supply}% 767 \typeout{a shorter form with \string\authorrunning\space prior to 768 \string\maketitle}% 769 \global\setbox\authrun=\hbox{\small\rm 770 Authors Suppressed Due to Excessive Length}% 771 \fi 772 \xdef\@author{\copy\authrun}% 773 \markboth{\@author}{\@title}% 774 \fi 775 \endgroup 776 \setcounter{footnote}{0}% 777 \clearheadinfo} 778% 779\def\@maketitle{\newpage 780 \markboth{}{}% 781 \def\lastand{\ifnum\value{@inst}=2\relax 782 \unskip{} \andname\ 783 \else 784 \unskip \lastandname\ 785 \fi}% 786 \def\and{\stepcounter{@auth}\relax 787 \ifnum\value{@auth}=\value{@inst}% 788 \lastand 789 \else 790 \unskip, 791 \fi}% 792 \begin{center}% 793 {\Large \bfseries\boldmath 794 \pretolerance=10000 795 \@title \par}\vskip .8cm 796\if!\@subtitle!\else {\large \bfseries\boldmath 797 \vskip -.65cm 798 \pretolerance=10000 799 \@subtitle \par}\vskip .8cm\fi 800 \setbox0=\vbox{\setcounter{@auth}{1}\def\and{\stepcounter{@auth}}% 801 \def\thanks##1{}\@author}% 802 \global\value{@inst}=\value{@auth}% 803 \global\value{auco}=\value{@auth}% 804 \setcounter{@auth}{1}% 805{\lineskip .5em 806\noindent\ignorespaces 807\@author\vskip.35cm} 808 {\small\institutename} 809 \end{center}% 810 } 811 812% definition of the "\spnewtheorem" command. 813% 814% Usage: 815% 816% \spnewtheorem{env_nam}{caption}[within]{cap_font}{body_font} 817% or \spnewtheorem{env_nam}[numbered_like]{caption}{cap_font}{body_font} 818% or \spnewtheorem*{env_nam}{caption}{cap_font}{body_font} 819% 820% New is "cap_font" and "body_font". It stands for 821% fontdefinition of the caption and the text itself. 822% 823% "\spnewtheorem*" gives a theorem without number. 824% 825% A defined spnewthoerem environment is used as described 826% by Lamport. 827% 828%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 829 830\def\@thmcountersep{} 831\def\@thmcounterend{.} 832 833\def\spnewtheorem{\@ifstar{\@sthm}{\@Sthm}} 834 835% definition of \spnewtheorem with number 836 837\def\@spnthm#1#2{% 838 \@ifnextchar[{\@spxnthm{#1}{#2}}{\@spynthm{#1}{#2}}} 839\def\@Sthm#1{\@ifnextchar[{\@spothm{#1}}{\@spnthm{#1}}} 840 841\def\@spxnthm#1#2[#3]#4#5{\expandafter\@ifdefinable\csname #1\endcsname 842 {\@definecounter{#1}\@addtoreset{#1}{#3}% 843 \expandafter\xdef\csname the#1\endcsname{\expandafter\noexpand 844 \csname the#3\endcsname \noexpand\@thmcountersep \@thmcounter{#1}}% 845 \expandafter\xdef\csname #1name\endcsname{#2}% 846 \global\@namedef{#1}{\@spthm{#1}{\csname #1name\endcsname}{#4}{#5}}% 847 \global\@namedef{end#1}{\@endtheorem}}} 848 849\def\@spynthm#1#2#3#4{\expandafter\@ifdefinable\csname #1\endcsname 850 {\@definecounter{#1}% 851 \expandafter\xdef\csname the#1\endcsname{\@thmcounter{#1}}% 852 \expandafter\xdef\csname #1name\endcsname{#2}% 853 \global\@namedef{#1}{\@spthm{#1}{\csname #1name\endcsname}{#3}{#4}}% 854 \global\@namedef{end#1}{\@endtheorem}}} 855 856\def\@spothm#1[#2]#3#4#5{% 857 \@ifundefined{c@#2}{\@latexerr{No theorem environment `#2' defined}\@eha}% 858 {\expandafter\@ifdefinable\csname #1\endcsname 859 {\global\@namedef{the#1}{\@nameuse{the#2}}% 860 \expandafter\xdef\csname #1name\endcsname{#3}% 861 \global\@namedef{#1}{\@spthm{#2}{\csname #1name\endcsname}{#4}{#5}}% 862 \global\@namedef{end#1}{\@endtheorem}}}} 863 864\def\@spthm#1#2#3#4{\topsep 7\p@ \@plus2\p@ \@minus4\p@ 865\refstepcounter{#1}% 866\@ifnextchar[{\@spythm{#1}{#2}{#3}{#4}}{\@spxthm{#1}{#2}{#3}{#4}}} 867 868\def\@spxthm#1#2#3#4{\@spbegintheorem{#2}{\csname the#1\endcsname}{#3}{#4}% 869 \ignorespaces} 870 871\def\@spythm#1#2#3#4[#5]{\@spopargbegintheorem{#2}{\csname 872 the#1\endcsname}{#5}{#3}{#4}\ignorespaces} 873 874\def\@spbegintheorem#1#2#3#4{\trivlist 875 \item[\hskip\labelsep{#3#1\ #2\@thmcounterend}]#4} 876 877\def\@spopargbegintheorem#1#2#3#4#5{\trivlist 878 \item[\hskip\labelsep{#4#1\ #2}]{#4(#3)\@thmcounterend\ }#5} 879 880% definition of \spnewtheorem* without number 881 882\def\@sthm#1#2{\@Ynthm{#1}{#2}} 883 884\def\@Ynthm#1#2#3#4{\expandafter\@ifdefinable\csname #1\endcsname 885 {\global\@namedef{#1}{\@Thm{\csname #1name\endcsname}{#3}{#4}}% 886 \expandafter\xdef\csname #1name\endcsname{#2}% 887 \global\@namedef{end#1}{\@endtheorem}}} 888 889\def\@Thm#1#2#3{\topsep 7\p@ \@plus2\p@ \@minus4\p@ 890\@ifnextchar[{\@Ythm{#1}{#2}{#3}}{\@Xthm{#1}{#2}{#3}}} 891 892\def\@Xthm#1#2#3{\@Begintheorem{#1}{#2}{#3}\ignorespaces} 893 894\def\@Ythm#1#2#3[#4]{\@Opargbegintheorem{#1} 895 {#4}{#2}{#3}\ignorespaces} 896 897\def\@Begintheorem#1#2#3{#3\trivlist 898 \item[\hskip\labelsep{#2#1\@thmcounterend}]} 899 900\def\@Opargbegintheorem#1#2#3#4{#4\trivlist 901 \item[\hskip\labelsep{#3#1}]{#3(#2)\@thmcounterend\ }} 902 903\if@envcntsect 904 \def\@thmcountersep{.} 905 \spnewtheorem{theorem}{Theorem}[section]{\bfseries}{\itshape} 906\else 907 \spnewtheorem{theorem}{Theorem}{\bfseries}{\itshape} 908 \if@envcntreset 909 \@addtoreset{theorem}{section} 910 \else 911 \@addtoreset{theorem}{chapter} 912 \fi 913\fi 914 915%definition of divers theorem environments 916\spnewtheorem*{claim}{Claim}{\itshape}{\rmfamily} 917\spnewtheorem*{proof}{Proof}{\itshape}{\rmfamily} 918\if@envcntsame % alle Umgebungen wie Theorem. 919 \def\spn@wtheorem#1#2#3#4{\@spothm{#1}[theorem]{#2}{#3}{#4}} 920\else % alle Umgebungen mit eigenem Zaehler 921 \if@envcntsect % mit section numeriert 922 \def\spn@wtheorem#1#2#3#4{\@spxnthm{#1}{#2}[section]{#3}{#4}} 923 \else % nicht mit section numeriert 924 \if@envcntreset 925 \def\spn@wtheorem#1#2#3#4{\@spynthm{#1}{#2}{#3}{#4} 926 \@addtoreset{#1}{section}} 927 \else 928 \def\spn@wtheorem#1#2#3#4{\@spynthm{#1}{#2}{#3}{#4} 929 \@addtoreset{#1}{chapter}}% 930 \fi 931 \fi 932\fi 933\spn@wtheorem{case}{Case}{\itshape}{\rmfamily} 934\spn@wtheorem{conjecture}{Conjecture}{\itshape}{\rmfamily} 935\spn@wtheorem{corollary}{Corollary}{\bfseries}{\itshape} 936\spn@wtheorem{definition}{Definition}{\bfseries}{\itshape} 937\spn@wtheorem{example}{Example}{\itshape}{\rmfamily} 938\spn@wtheorem{exercise}{Exercise}{\itshape}{\rmfamily} 939\spn@wtheorem{lemma}{Lemma}{\bfseries}{\itshape} 940\spn@wtheorem{note}{Note}{\itshape}{\rmfamily} 941\spn@wtheorem{problem}{Problem}{\itshape}{\rmfamily} 942\spn@wtheorem{property}{Property}{\itshape}{\rmfamily} 943\spn@wtheorem{proposition}{Proposition}{\bfseries}{\itshape} 944\spn@wtheorem{question}{Question}{\itshape}{\rmfamily} 945\spn@wtheorem{solution}{Solution}{\itshape}{\rmfamily} 946\spn@wtheorem{remark}{Remark}{\itshape}{\rmfamily} 947 948\def\@takefromreset#1#2{% 949 \def\@tempa{#1}% 950 \let\@tempd\@elt 951 \def\@elt##1{% 952 \def\@tempb{##1}% 953 \ifx\@tempa\@tempb\else 954 \@addtoreset{##1}{#2}% 955 \fi}% 956 \expandafter\expandafter\let\expandafter\@tempc\csname cl@#2\endcsname 957 \expandafter\def\csname cl@#2\endcsname{}% 958 \@tempc 959 \let\@elt\@tempd} 960 961\def\theopargself{\def\@spopargbegintheorem##1##2##3##4##5{\trivlist 962 \item[\hskip\labelsep{##4##1\ ##2}]{##4##3\@thmcounterend\ }##5} 963 \def\@Opargbegintheorem##1##2##3##4{##4\trivlist 964 \item[\hskip\labelsep{##3##1}]{##3##2\@thmcounterend\ }} 965 } 966 967\renewenvironment{abstract}{% 968 \list{}{\advance\topsep by0.35cm\relax\small 969 \leftmargin=1cm 970 \labelwidth=\z@ 971 \listparindent=\z@ 972 \itemindent\listparindent 973 \rightmargin\leftmargin}\item[\hskip\labelsep 974 \bfseries\abstractname]} 975 {\endlist} 976\renewcommand{\abstractname}{Abstract.} 977\renewcommand{\contentsname}{Table of Contents} 978\renewcommand{\figurename}{Fig.\thinspace} 979\renewcommand{\tablename}{Table~} 980 981\newdimen\headlineindent % dimension for space between 982\headlineindent=1.166cm % number and text of headings. 983 984\def\ps@headings{\let\@mkboth\@gobbletwo 985 \let\@oddfoot\@empty\let\@evenfoot\@empty 986 \def\@evenhead{\normalfont\small\rlap{\thepage}\hspace{\headlineindent}% 987 \leftmark\hfil} 988 \def\@oddhead{\normalfont\small\hfil\rightmark\hspace{\headlineindent}% 989 \llap{\thepage}} 990 \def\chaptermark##1{}% 991 \def\sectionmark##1{}% 992 \def\subsectionmark##1{}} 993 994\def\ps@titlepage{\let\@mkboth\@gobbletwo 995 \let\@oddfoot\@empty\let\@evenfoot\@empty 996 \def\@evenhead{\normalfont\small\rlap{\thepage}\hspace{\headlineindent}% 997 \hfil} 998 \def\@oddhead{\normalfont\small\hfil\hspace{\headlineindent}% 999 \llap{\thepage}} 1000 \def\chaptermark##1{}% 1001 \def\sectionmark##1{}% 1002 \def\subsectionmark##1{}} 1003 1004\if@runhead\ps@headings\else 1005\ps@empty\fi 1006 1007\setlength\arraycolsep{1.4\p@} 1008\setlength\tabcolsep{1.4\p@} 1009 1010\endinput 1011