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