llncs.cls 41 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191
  1. % LLNCS DOCUMENT CLASS -- version 2.14 (17-Aug-2004)
  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}[2004/08/17 v2.14
  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. \let\if@openbib\iffalse
  38. \DeclareOption{openbib}{\let\if@openbib\iftrue}
  39. % languages
  40. \let\switcht@@therlang\relax
  41. \def\ds@deutsch{\def\switcht@@therlang{\switcht@deutsch}}
  42. \def\ds@francais{\def\switcht@@therlang{\switcht@francais}}
  43. \DeclareOption*{\PassOptionsToClass{\CurrentOption}{article}}
  44. \ProcessOptions
  45. \LoadClass[twoside]{article}
  46. \RequirePackage{multicol} % needed for the list of participants, index
  47. \setlength{\textwidth}{12.2cm}
  48. \setlength{\textheight}{19.3cm}
  49. \renewcommand\@pnumwidth{2em}
  50. \renewcommand\@tocrmarg{3.5em}
  51. %
  52. \def\@dottedtocline#1#2#3#4#5{%
  53. \ifnum #1>\c@tocdepth \else
  54. \vskip \z@ \@plus.2\p@
  55. {\leftskip #2\relax \rightskip \@tocrmarg \advance\rightskip by 0pt plus 2cm
  56. \parfillskip -\rightskip \pretolerance=10000
  57. \parindent #2\relax\@afterindenttrue
  58. \interlinepenalty\@M
  59. \leavevmode
  60. \@tempdima #3\relax
  61. \advance\leftskip \@tempdima \null\nobreak\hskip -\leftskip
  62. {#4}\nobreak
  63. \leaders\hbox{$\m@th
  64. \mkern \@dotsep mu\hbox{.}\mkern \@dotsep
  65. mu$}\hfill
  66. \nobreak
  67. \hb@xt@\@pnumwidth{\hfil\normalfont \normalcolor #5}%
  68. \par}%
  69. \fi}
  70. %
  71. \def\switcht@albion{%
  72. \def\abstractname{Abstract.}
  73. \def\ackname{Acknowledgement.}
  74. \def\andname{and}
  75. \def\lastandname{\unskip, and}
  76. \def\appendixname{Appendix}
  77. \def\chaptername{Chapter}
  78. \def\claimname{Claim}
  79. \def\conjecturename{Conjecture}
  80. \def\contentsname{Table of Contents}
  81. \def\corollaryname{Corollary}
  82. \def\definitionname{Definition}
  83. \def\examplename{Example}
  84. \def\exercisename{Exercise}
  85. \def\figurename{Fig.}
  86. \def\keywordname{{\bf Key words:}}
  87. \def\indexname{Index}
  88. \def\lemmaname{Lemma}
  89. \def\contriblistname{List of Contributors}
  90. \def\listfigurename{List of Figures}
  91. \def\listtablename{List of Tables}
  92. \def\mailname{{\it Correspondence to\/}:}
  93. \def\noteaddname{Note added in proof}
  94. \def\notename{Note}
  95. \def\partname{Part}
  96. \def\problemname{Problem}
  97. \def\proofname{Proof}
  98. \def\propertyname{Property}
  99. \def\propositionname{Proposition}
  100. \def\questionname{Question}
  101. \def\remarkname{Remark}
  102. \def\seename{see}
  103. \def\solutionname{Solution}
  104. \def\subclassname{{\it Subject Classifications\/}:}
  105. \def\tablename{Table}
  106. \def\theoremname{Theorem}}
  107. \switcht@albion
  108. % Names of theorem like environments are already defined
  109. % but must be translated if another language is chosen
  110. %
  111. % French section
  112. \def\switcht@francais{%\typeout{On parle francais.}%
  113. \def\abstractname{R\'esum\'e.}%
  114. \def\ackname{Remerciements.}%
  115. \def\andname{et}%
  116. \def\lastandname{ et}%
  117. \def\appendixname{Appendice}
  118. \def\chaptername{Chapitre}%
  119. \def\claimname{Pr\'etention}%
  120. \def\conjecturename{Hypoth\`ese}%
  121. \def\contentsname{Table des mati\`eres}%
  122. \def\corollaryname{Corollaire}%
  123. \def\definitionname{D\'efinition}%
  124. \def\examplename{Exemple}%
  125. \def\exercisename{Exercice}%
  126. \def\figurename{Fig.}%
  127. \def\keywordname{{\bf Mots-cl\'e:}}
  128. \def\indexname{Index}
  129. \def\lemmaname{Lemme}%
  130. \def\contriblistname{Liste des contributeurs}
  131. \def\listfigurename{Liste des figures}%
  132. \def\listtablename{Liste des tables}%
  133. \def\mailname{{\it Correspondence to\/}:}
  134. \def\noteaddname{Note ajout\'ee \`a l'\'epreuve}%
  135. \def\notename{Remarque}%
  136. \def\partname{Partie}%
  137. \def\problemname{Probl\`eme}%
  138. \def\proofname{Preuve}%
  139. \def\propertyname{Caract\'eristique}%
  140. %\def\propositionname{Proposition}%
  141. \def\questionname{Question}%
  142. \def\remarkname{Remarque}%
  143. \def\seename{voir}
  144. \def\solutionname{Solution}%
  145. \def\subclassname{{\it Subject Classifications\/}:}
  146. \def\tablename{Tableau}%
  147. \def\theoremname{Th\'eor\`eme}%
  148. }
  149. %
  150. % German section
  151. \def\switcht@deutsch{%\typeout{Man spricht deutsch.}%
  152. \def\abstractname{Zusammenfassung.}%
  153. \def\ackname{Danksagung.}%
  154. \def\andname{und}%
  155. \def\lastandname{ und}%
  156. \def\appendixname{Anhang}%
  157. \def\chaptername{Kapitel}%
  158. \def\claimname{Behauptung}%
  159. \def\conjecturename{Hypothese}%
  160. \def\contentsname{Inhaltsverzeichnis}%
  161. \def\corollaryname{Korollar}%
  162. %\def\definitionname{Definition}%
  163. \def\examplename{Beispiel}%
  164. \def\exercisename{\"Ubung}%
  165. \def\figurename{Abb.}%
  166. \def\keywordname{{\bf Schl\"usselw\"orter:}}
  167. \def\indexname{Index}
  168. %\def\lemmaname{Lemma}%
  169. \def\contriblistname{Mitarbeiter}
  170. \def\listfigurename{Abbildungsverzeichnis}%
  171. \def\listtablename{Tabellenverzeichnis}%
  172. \def\mailname{{\it Correspondence to\/}:}
  173. \def\noteaddname{Nachtrag}%
  174. \def\notename{Anmerkung}%
  175. \def\partname{Teil}%
  176. %\def\problemname{Problem}%
  177. \def\proofname{Beweis}%
  178. \def\propertyname{Eigenschaft}%
  179. %\def\propositionname{Proposition}%
  180. \def\questionname{Frage}%
  181. \def\remarkname{Anmerkung}%
  182. \def\seename{siehe}
  183. \def\solutionname{L\"osung}%
  184. \def\subclassname{{\it Subject Classifications\/}:}
  185. \def\tablename{Tabelle}%
  186. %\def\theoremname{Theorem}%
  187. }
  188. % Ragged bottom for the actual page
  189. \def\thisbottomragged{\def\@textbottom{\vskip\z@ plus.0001fil
  190. \global\let\@textbottom\relax}}
  191. \renewcommand\small{%
  192. \@setfontsize\small\@ixpt{11}%
  193. \abovedisplayskip 8.5\p@ \@plus3\p@ \@minus4\p@
  194. \abovedisplayshortskip \z@ \@plus2\p@
  195. \belowdisplayshortskip 4\p@ \@plus2\p@ \@minus2\p@
  196. \def\@listi{\leftmargin\leftmargini
  197. \parsep 0\p@ \@plus1\p@ \@minus\p@
  198. \topsep 8\p@ \@plus2\p@ \@minus4\p@
  199. \itemsep0\p@}%
  200. \belowdisplayskip \abovedisplayskip
  201. }
  202. \frenchspacing
  203. \widowpenalty=10000
  204. \clubpenalty=10000
  205. \setlength\oddsidemargin {63\p@}
  206. \setlength\evensidemargin {63\p@}
  207. \setlength\marginparwidth {90\p@}
  208. \setlength\headsep {16\p@}
  209. \setlength\footnotesep{7.7\p@}
  210. \setlength\textfloatsep{8mm\@plus 2\p@ \@minus 4\p@}
  211. \setlength\intextsep {8mm\@plus 2\p@ \@minus 2\p@}
  212. \setcounter{secnumdepth}{2}
  213. \newcounter {chapter}
  214. \renewcommand\thechapter {\@arabic\c@chapter}
  215. \newif\if@mainmatter \@mainmattertrue
  216. \newcommand\frontmatter{\cleardoublepage
  217. \@mainmatterfalse\pagenumbering{Roman}}
  218. \newcommand\mainmatter{\cleardoublepage
  219. \@mainmattertrue\pagenumbering{arabic}}
  220. \newcommand\backmatter{\if@openright\cleardoublepage\else\clearpage\fi
  221. \@mainmatterfalse}
  222. \renewcommand\part{\cleardoublepage
  223. \thispagestyle{empty}%
  224. \if@twocolumn
  225. \onecolumn
  226. \@tempswatrue
  227. \else
  228. \@tempswafalse
  229. \fi
  230. \null\vfil
  231. \secdef\@part\@spart}
  232. \def\@part[#1]#2{%
  233. \ifnum \c@secnumdepth >-2\relax
  234. \refstepcounter{part}%
  235. \addcontentsline{toc}{part}{\thepart\hspace{1em}#1}%
  236. \else
  237. \addcontentsline{toc}{part}{#1}%
  238. \fi
  239. \markboth{}{}%
  240. {\centering
  241. \interlinepenalty \@M
  242. \normalfont
  243. \ifnum \c@secnumdepth >-2\relax
  244. \huge\bfseries \partname~\thepart
  245. \par
  246. \vskip 20\p@
  247. \fi
  248. \Huge \bfseries #2\par}%
  249. \@endpart}
  250. \def\@spart#1{%
  251. {\centering
  252. \interlinepenalty \@M
  253. \normalfont
  254. \Huge \bfseries #1\par}%
  255. \@endpart}
  256. \def\@endpart{\vfil\newpage
  257. \if@twoside
  258. \null
  259. \thispagestyle{empty}%
  260. \newpage
  261. \fi
  262. \if@tempswa
  263. \twocolumn
  264. \fi}
  265. \newcommand\chapter{\clearpage
  266. \thispagestyle{empty}%
  267. \global\@topnum\z@
  268. \@afterindentfalse
  269. \secdef\@chapter\@schapter}
  270. \def\@chapter[#1]#2{\ifnum \c@secnumdepth >\m@ne
  271. \if@mainmatter
  272. \refstepcounter{chapter}%
  273. \typeout{\@chapapp\space\thechapter.}%
  274. \addcontentsline{toc}{chapter}%
  275. {\protect\numberline{\thechapter}#1}%
  276. \else
  277. \addcontentsline{toc}{chapter}{#1}%
  278. \fi
  279. \else
  280. \addcontentsline{toc}{chapter}{#1}%
  281. \fi
  282. \chaptermark{#1}%
  283. \addtocontents{lof}{\protect\addvspace{10\p@}}%
  284. \addtocontents{lot}{\protect\addvspace{10\p@}}%
  285. \if@twocolumn
  286. \@topnewpage[\@makechapterhead{#2}]%
  287. \else
  288. \@makechapterhead{#2}%
  289. \@afterheading
  290. \fi}
  291. \def\@makechapterhead#1{%
  292. % \vspace*{50\p@}%
  293. {\centering
  294. \ifnum \c@secnumdepth >\m@ne
  295. \if@mainmatter
  296. \large\bfseries \@chapapp{} \thechapter
  297. \par\nobreak
  298. \vskip 20\p@
  299. \fi
  300. \fi
  301. \interlinepenalty\@M
  302. \Large \bfseries #1\par\nobreak
  303. \vskip 40\p@
  304. }}
  305. \def\@schapter#1{\if@twocolumn
  306. \@topnewpage[\@makeschapterhead{#1}]%
  307. \else
  308. \@makeschapterhead{#1}%
  309. \@afterheading
  310. \fi}
  311. \def\@makeschapterhead#1{%
  312. % \vspace*{50\p@}%
  313. {\centering
  314. \normalfont
  315. \interlinepenalty\@M
  316. \Large \bfseries #1\par\nobreak
  317. \vskip 40\p@
  318. }}
  319. \renewcommand\section{\@startsection{section}{1}{\z@}%
  320. {-18\p@ \@plus -4\p@ \@minus -4\p@}%
  321. {12\p@ \@plus 4\p@ \@minus 4\p@}%
  322. {\normalfont\large\bfseries\boldmath
  323. \rightskip=\z@ \@plus 8em\pretolerance=10000 }}
  324. \renewcommand\subsection{\@startsection{subsection}{2}{\z@}%
  325. {-18\p@ \@plus -4\p@ \@minus -4\p@}%
  326. {8\p@ \@plus 4\p@ \@minus 4\p@}%
  327. {\normalfont\normalsize\bfseries\boldmath
  328. \rightskip=\z@ \@plus 8em\pretolerance=10000 }}
  329. \renewcommand\subsubsection{\@startsection{subsubsection}{3}{\z@}%
  330. {-18\p@ \@plus -4\p@ \@minus -4\p@}%
  331. {-0.5em \@plus -0.22em \@minus -0.1em}%
  332. {\normalfont\normalsize\bfseries\boldmath}}
  333. \renewcommand\paragraph{\@startsection{paragraph}{4}{\z@}%
  334. {-12\p@ \@plus -4\p@ \@minus -4\p@}%
  335. {-0.5em \@plus -0.22em \@minus -0.1em}%
  336. {\normalfont\normalsize\itshape}}
  337. \renewcommand\subparagraph[1]{\typeout{LLNCS warning: You should not use
  338. \string\subparagraph\space with this class}\vskip0.5cm
  339. You should not use \verb|\subparagraph| with this class.\vskip0.5cm}
  340. \DeclareMathSymbol{\Gamma}{\mathalpha}{letters}{"00}
  341. \DeclareMathSymbol{\Delta}{\mathalpha}{letters}{"01}
  342. \DeclareMathSymbol{\Theta}{\mathalpha}{letters}{"02}
  343. \DeclareMathSymbol{\Lambda}{\mathalpha}{letters}{"03}
  344. \DeclareMathSymbol{\Xi}{\mathalpha}{letters}{"04}
  345. \DeclareMathSymbol{\Pi}{\mathalpha}{letters}{"05}
  346. \DeclareMathSymbol{\Sigma}{\mathalpha}{letters}{"06}
  347. \DeclareMathSymbol{\Upsilon}{\mathalpha}{letters}{"07}
  348. \DeclareMathSymbol{\Phi}{\mathalpha}{letters}{"08}
  349. \DeclareMathSymbol{\Psi}{\mathalpha}{letters}{"09}
  350. \DeclareMathSymbol{\Omega}{\mathalpha}{letters}{"0A}
  351. \let\footnotesize\small
  352. \if@custvec
  353. \def\vec#1{\mathchoice{\mbox{\boldmath$\displaystyle#1$}}
  354. {\mbox{\boldmath$\textstyle#1$}}
  355. {\mbox{\boldmath$\scriptstyle#1$}}
  356. {\mbox{\boldmath$\scriptscriptstyle#1$}}}
  357. \fi
  358. \def\squareforqed{\hbox{\rlap{$\sqcap$}$\sqcup$}}
  359. \def\qed{\ifmmode\squareforqed\else{\unskip\nobreak\hfil
  360. \penalty50\hskip1em\null\nobreak\hfil\squareforqed
  361. \parfillskip=0pt\finalhyphendemerits=0\endgraf}\fi}
  362. \def\getsto{\mathrel{\mathchoice {\vcenter{\offinterlineskip
  363. \halign{\hfil
  364. $\displaystyle##$\hfil\cr\gets\cr\to\cr}}}
  365. {\vcenter{\offinterlineskip\halign{\hfil$\textstyle##$\hfil\cr\gets
  366. \cr\to\cr}}}
  367. {\vcenter{\offinterlineskip\halign{\hfil$\scriptstyle##$\hfil\cr\gets
  368. \cr\to\cr}}}
  369. {\vcenter{\offinterlineskip\halign{\hfil$\scriptscriptstyle##$\hfil\cr
  370. \gets\cr\to\cr}}}}}
  371. \def\lid{\mathrel{\mathchoice {\vcenter{\offinterlineskip\halign{\hfil
  372. $\displaystyle##$\hfil\cr<\cr\noalign{\vskip1.2pt}=\cr}}}
  373. {\vcenter{\offinterlineskip\halign{\hfil$\textstyle##$\hfil\cr<\cr
  374. \noalign{\vskip1.2pt}=\cr}}}
  375. {\vcenter{\offinterlineskip\halign{\hfil$\scriptstyle##$\hfil\cr<\cr
  376. \noalign{\vskip1pt}=\cr}}}
  377. {\vcenter{\offinterlineskip\halign{\hfil$\scriptscriptstyle##$\hfil\cr
  378. <\cr
  379. \noalign{\vskip0.9pt}=\cr}}}}}
  380. \def\gid{\mathrel{\mathchoice {\vcenter{\offinterlineskip\halign{\hfil
  381. $\displaystyle##$\hfil\cr>\cr\noalign{\vskip1.2pt}=\cr}}}
  382. {\vcenter{\offinterlineskip\halign{\hfil$\textstyle##$\hfil\cr>\cr
  383. \noalign{\vskip1.2pt}=\cr}}}
  384. {\vcenter{\offinterlineskip\halign{\hfil$\scriptstyle##$\hfil\cr>\cr
  385. \noalign{\vskip1pt}=\cr}}}
  386. {\vcenter{\offinterlineskip\halign{\hfil$\scriptscriptstyle##$\hfil\cr
  387. >\cr
  388. \noalign{\vskip0.9pt}=\cr}}}}}
  389. \def\grole{\mathrel{\mathchoice {\vcenter{\offinterlineskip
  390. \halign{\hfil
  391. $\displaystyle##$\hfil\cr>\cr\noalign{\vskip-1pt}<\cr}}}
  392. {\vcenter{\offinterlineskip\halign{\hfil$\textstyle##$\hfil\cr
  393. >\cr\noalign{\vskip-1pt}<\cr}}}
  394. {\vcenter{\offinterlineskip\halign{\hfil$\scriptstyle##$\hfil\cr
  395. >\cr\noalign{\vskip-0.8pt}<\cr}}}
  396. {\vcenter{\offinterlineskip\halign{\hfil$\scriptscriptstyle##$\hfil\cr
  397. >\cr\noalign{\vskip-0.3pt}<\cr}}}}}
  398. \def\bbbr{{\rm I\!R}} %reelle Zahlen
  399. \def\bbbm{{\rm I\!M}}
  400. \def\bbbn{{\rm I\!N}} %natuerliche Zahlen
  401. \def\bbbf{{\rm I\!F}}
  402. \def\bbbh{{\rm I\!H}}
  403. \def\bbbk{{\rm I\!K}}
  404. \def\bbbp{{\rm I\!P}}
  405. \def\bbbone{{\mathchoice {\rm 1\mskip-4mu l} {\rm 1\mskip-4mu l}
  406. {\rm 1\mskip-4.5mu l} {\rm 1\mskip-5mu l}}}
  407. \def\bbbc{{\mathchoice {\setbox0=\hbox{$\displaystyle\rm C$}\hbox{\hbox
  408. to0pt{\kern0.4\wd0\vrule height0.9\ht0\hss}\box0}}
  409. {\setbox0=\hbox{$\textstyle\rm C$}\hbox{\hbox
  410. to0pt{\kern0.4\wd0\vrule height0.9\ht0\hss}\box0}}
  411. {\setbox0=\hbox{$\scriptstyle\rm C$}\hbox{\hbox
  412. to0pt{\kern0.4\wd0\vrule height0.9\ht0\hss}\box0}}
  413. {\setbox0=\hbox{$\scriptscriptstyle\rm C$}\hbox{\hbox
  414. to0pt{\kern0.4\wd0\vrule height0.9\ht0\hss}\box0}}}}
  415. \def\bbbq{{\mathchoice {\setbox0=\hbox{$\displaystyle\rm
  416. Q$}\hbox{\raise
  417. 0.15\ht0\hbox to0pt{\kern0.4\wd0\vrule height0.8\ht0\hss}\box0}}
  418. {\setbox0=\hbox{$\textstyle\rm Q$}\hbox{\raise
  419. 0.15\ht0\hbox to0pt{\kern0.4\wd0\vrule height0.8\ht0\hss}\box0}}
  420. {\setbox0=\hbox{$\scriptstyle\rm Q$}\hbox{\raise
  421. 0.15\ht0\hbox to0pt{\kern0.4\wd0\vrule height0.7\ht0\hss}\box0}}
  422. {\setbox0=\hbox{$\scriptscriptstyle\rm Q$}\hbox{\raise
  423. 0.15\ht0\hbox to0pt{\kern0.4\wd0\vrule height0.7\ht0\hss}\box0}}}}
  424. \def\bbbt{{\mathchoice {\setbox0=\hbox{$\displaystyle\rm
  425. T$}\hbox{\hbox to0pt{\kern0.3\wd0\vrule height0.9\ht0\hss}\box0}}
  426. {\setbox0=\hbox{$\textstyle\rm T$}\hbox{\hbox
  427. to0pt{\kern0.3\wd0\vrule height0.9\ht0\hss}\box0}}
  428. {\setbox0=\hbox{$\scriptstyle\rm T$}\hbox{\hbox
  429. to0pt{\kern0.3\wd0\vrule height0.9\ht0\hss}\box0}}
  430. {\setbox0=\hbox{$\scriptscriptstyle\rm T$}\hbox{\hbox
  431. to0pt{\kern0.3\wd0\vrule height0.9\ht0\hss}\box0}}}}
  432. \def\bbbs{{\mathchoice
  433. {\setbox0=\hbox{$\displaystyle \rm S$}\hbox{\raise0.5\ht0\hbox
  434. to0pt{\kern0.35\wd0\vrule height0.45\ht0\hss}\hbox
  435. to0pt{\kern0.55\wd0\vrule height0.5\ht0\hss}\box0}}
  436. {\setbox0=\hbox{$\textstyle \rm S$}\hbox{\raise0.5\ht0\hbox
  437. to0pt{\kern0.35\wd0\vrule height0.45\ht0\hss}\hbox
  438. to0pt{\kern0.55\wd0\vrule height0.5\ht0\hss}\box0}}
  439. {\setbox0=\hbox{$\scriptstyle \rm S$}\hbox{\raise0.5\ht0\hbox
  440. to0pt{\kern0.35\wd0\vrule height0.45\ht0\hss}\raise0.05\ht0\hbox
  441. to0pt{\kern0.5\wd0\vrule height0.45\ht0\hss}\box0}}
  442. {\setbox0=\hbox{$\scriptscriptstyle\rm S$}\hbox{\raise0.5\ht0\hbox
  443. to0pt{\kern0.4\wd0\vrule height0.45\ht0\hss}\raise0.05\ht0\hbox
  444. to0pt{\kern0.55\wd0\vrule height0.45\ht0\hss}\box0}}}}
  445. \def\bbbz{{\mathchoice {\hbox{$\mathsf\textstyle Z\kern-0.4em Z$}}
  446. {\hbox{$\mathsf\textstyle Z\kern-0.4em Z$}}
  447. {\hbox{$\mathsf\scriptstyle Z\kern-0.3em Z$}}
  448. {\hbox{$\mathsf\scriptscriptstyle Z\kern-0.2em Z$}}}}
  449. \let\ts\,
  450. \setlength\leftmargini {17\p@}
  451. \setlength\leftmargin {\leftmargini}
  452. \setlength\leftmarginii {\leftmargini}
  453. \setlength\leftmarginiii {\leftmargini}
  454. \setlength\leftmarginiv {\leftmargini}
  455. \setlength \labelsep {.5em}
  456. \setlength \labelwidth{\leftmargini}
  457. \addtolength\labelwidth{-\labelsep}
  458. \def\@listI{\leftmargin\leftmargini
  459. \parsep 0\p@ \@plus1\p@ \@minus\p@
  460. \topsep 8\p@ \@plus2\p@ \@minus4\p@
  461. \itemsep0\p@}
  462. \let\@listi\@listI
  463. \@listi
  464. \def\@listii {\leftmargin\leftmarginii
  465. \labelwidth\leftmarginii
  466. \advance\labelwidth-\labelsep
  467. \topsep 0\p@ \@plus2\p@ \@minus\p@}
  468. \def\@listiii{\leftmargin\leftmarginiii
  469. \labelwidth\leftmarginiii
  470. \advance\labelwidth-\labelsep
  471. \topsep 0\p@ \@plus\p@\@minus\p@
  472. \parsep \z@
  473. \partopsep \p@ \@plus\z@ \@minus\p@}
  474. \renewcommand\labelitemi{\normalfont\bfseries --}
  475. \renewcommand\labelitemii{$\m@th\bullet$}
  476. \setlength\arraycolsep{1.4\p@}
  477. \setlength\tabcolsep{1.4\p@}
  478. \def\tableofcontents{\chapter*{\contentsname\@mkboth{{\contentsname}}%
  479. {{\contentsname}}}
  480. \def\authcount##1{\setcounter{auco}{##1}\setcounter{@auth}{1}}
  481. \def\lastand{\ifnum\value{auco}=2\relax
  482. \unskip{} \andname\
  483. \else
  484. \unskip \lastandname\
  485. \fi}%
  486. \def\and{\stepcounter{@auth}\relax
  487. \ifnum\value{@auth}=\value{auco}%
  488. \lastand
  489. \else
  490. \unskip,
  491. \fi}%
  492. \@starttoc{toc}\if@restonecol\twocolumn\fi}
  493. \def\l@part#1#2{\addpenalty{\@secpenalty}%
  494. \addvspace{2em plus\p@}% % space above part line
  495. \begingroup
  496. \parindent \z@
  497. \rightskip \z@ plus 5em
  498. \hrule\vskip5pt
  499. \large % same size as for a contribution heading
  500. \bfseries\boldmath % set line in boldface
  501. \leavevmode % TeX command to enter horizontal mode.
  502. #1\par
  503. \vskip5pt
  504. \hrule
  505. \vskip1pt
  506. \nobreak % Never break after part entry
  507. \endgroup}
  508. \def\@dotsep{2}
  509. \def\hyperhrefextend{\ifx\hyper@anchor\@undefined\else
  510. {chapter.\thechapter}\fi}
  511. \def\addnumcontentsmark#1#2#3{%
  512. \addtocontents{#1}{\protect\contentsline{#2}{\protect\numberline
  513. {\thechapter}#3}{\thepage}\hyperhrefextend}}
  514. \def\addcontentsmark#1#2#3{%
  515. \addtocontents{#1}{\protect\contentsline{#2}{#3}{\thepage}\hyperhrefextend}}
  516. \def\addcontentsmarkwop#1#2#3{%
  517. \addtocontents{#1}{\protect\contentsline{#2}{#3}{0}\hyperhrefextend}}
  518. \def\@adcmk[#1]{\ifcase #1 \or
  519. \def\@gtempa{\addnumcontentsmark}%
  520. \or \def\@gtempa{\addcontentsmark}%
  521. \or \def\@gtempa{\addcontentsmarkwop}%
  522. \fi\@gtempa{toc}{chapter}}
  523. \def\addtocmark{\@ifnextchar[{\@adcmk}{\@adcmk[3]}}
  524. \def\l@chapter#1#2{\addpenalty{-\@highpenalty}
  525. \vskip 1.0em plus 1pt \@tempdima 1.5em \begingroup
  526. \parindent \z@ \rightskip \@tocrmarg
  527. \advance\rightskip by 0pt plus 2cm
  528. \parfillskip -\rightskip \pretolerance=10000
  529. \leavevmode \advance\leftskip\@tempdima \hskip -\leftskip
  530. {\large\bfseries\boldmath#1}\ifx0#2\hfil\null
  531. \else
  532. \nobreak
  533. \leaders\hbox{$\m@th \mkern \@dotsep mu.\mkern
  534. \@dotsep mu$}\hfill
  535. \nobreak\hbox to\@pnumwidth{\hss #2}%
  536. \fi\par
  537. \penalty\@highpenalty \endgroup}
  538. \def\l@title#1#2{\addpenalty{-\@highpenalty}
  539. \addvspace{8pt plus 1pt}
  540. \@tempdima \z@
  541. \begingroup
  542. \parindent \z@ \rightskip \@tocrmarg
  543. \advance\rightskip by 0pt plus 2cm
  544. \parfillskip -\rightskip \pretolerance=10000
  545. \leavevmode \advance\leftskip\@tempdima \hskip -\leftskip
  546. #1\nobreak
  547. \leaders\hbox{$\m@th \mkern \@dotsep mu.\mkern
  548. \@dotsep mu$}\hfill
  549. \nobreak\hbox to\@pnumwidth{\hss #2}\par
  550. \penalty\@highpenalty \endgroup}
  551. \def\l@author#1#2{\addpenalty{\@highpenalty}
  552. \@tempdima=15\p@ %\z@
  553. \begingroup
  554. \parindent \z@ \rightskip \@tocrmarg
  555. \advance\rightskip by 0pt plus 2cm
  556. \pretolerance=10000
  557. \leavevmode \advance\leftskip\@tempdima %\hskip -\leftskip
  558. \textit{#1}\par
  559. \penalty\@highpenalty \endgroup}
  560. \setcounter{tocdepth}{0}
  561. \newdimen\tocchpnum
  562. \newdimen\tocsecnum
  563. \newdimen\tocsectotal
  564. \newdimen\tocsubsecnum
  565. \newdimen\tocsubsectotal
  566. \newdimen\tocsubsubsecnum
  567. \newdimen\tocsubsubsectotal
  568. \newdimen\tocparanum
  569. \newdimen\tocparatotal
  570. \newdimen\tocsubparanum
  571. \tocchpnum=\z@ % no chapter numbers
  572. \tocsecnum=15\p@ % section 88. plus 2.222pt
  573. \tocsubsecnum=23\p@ % subsection 88.8 plus 2.222pt
  574. \tocsubsubsecnum=27\p@ % subsubsection 88.8.8 plus 1.444pt
  575. \tocparanum=35\p@ % paragraph 88.8.8.8 plus 1.666pt
  576. \tocsubparanum=43\p@ % subparagraph 88.8.8.8.8 plus 1.888pt
  577. \def\calctocindent{%
  578. \tocsectotal=\tocchpnum
  579. \advance\tocsectotal by\tocsecnum
  580. \tocsubsectotal=\tocsectotal
  581. \advance\tocsubsectotal by\tocsubsecnum
  582. \tocsubsubsectotal=\tocsubsectotal
  583. \advance\tocsubsubsectotal by\tocsubsubsecnum
  584. \tocparatotal=\tocsubsubsectotal
  585. \advance\tocparatotal by\tocparanum}
  586. \calctocindent
  587. \def\l@section{\@dottedtocline{1}{\tocchpnum}{\tocsecnum}}
  588. \def\l@subsection{\@dottedtocline{2}{\tocsectotal}{\tocsubsecnum}}
  589. \def\l@subsubsection{\@dottedtocline{3}{\tocsubsectotal}{\tocsubsubsecnum}}
  590. \def\l@paragraph{\@dottedtocline{4}{\tocsubsubsectotal}{\tocparanum}}
  591. \def\l@subparagraph{\@dottedtocline{5}{\tocparatotal}{\tocsubparanum}}
  592. \def\listoffigures{\@restonecolfalse\if@twocolumn\@restonecoltrue\onecolumn
  593. \fi\section*{\listfigurename\@mkboth{{\listfigurename}}{{\listfigurename}}}
  594. \@starttoc{lof}\if@restonecol\twocolumn\fi}
  595. \def\l@figure{\@dottedtocline{1}{0em}{1.5em}}
  596. \def\listoftables{\@restonecolfalse\if@twocolumn\@restonecoltrue\onecolumn
  597. \fi\section*{\listtablename\@mkboth{{\listtablename}}{{\listtablename}}}
  598. \@starttoc{lot}\if@restonecol\twocolumn\fi}
  599. \let\l@table\l@figure
  600. \renewcommand\listoffigures{%
  601. \section*{\listfigurename
  602. \@mkboth{\listfigurename}{\listfigurename}}%
  603. \@starttoc{lof}%
  604. }
  605. \renewcommand\listoftables{%
  606. \section*{\listtablename
  607. \@mkboth{\listtablename}{\listtablename}}%
  608. \@starttoc{lot}%
  609. }
  610. \ifx\oribibl\undefined
  611. \ifx\citeauthoryear\undefined
  612. \renewenvironment{thebibliography}[1]
  613. {\section*{\refname}
  614. \def\@biblabel##1{##1.}
  615. \small
  616. \list{\@biblabel{\@arabic\c@enumiv}}%
  617. {\settowidth\labelwidth{\@biblabel{#1}}%
  618. \leftmargin\labelwidth
  619. \advance\leftmargin\labelsep
  620. \if@openbib
  621. \advance\leftmargin\bibindent
  622. \itemindent -\bibindent
  623. \listparindent \itemindent
  624. \parsep \z@
  625. \fi
  626. \usecounter{enumiv}%
  627. \let\p@enumiv\@empty
  628. \renewcommand\theenumiv{\@arabic\c@enumiv}}%
  629. \if@openbib
  630. \renewcommand\newblock{\par}%
  631. \else
  632. \renewcommand\newblock{\hskip .11em \@plus.33em \@minus.07em}%
  633. \fi
  634. \sloppy\clubpenalty4000\widowpenalty4000%
  635. \sfcode`\.=\@m}
  636. {\def\@noitemerr
  637. {\@latex@warning{Empty `thebibliography' environment}}%
  638. \endlist}
  639. \def\@lbibitem[#1]#2{\item[{[#1]}\hfill]\if@filesw
  640. {\let\protect\noexpand\immediate
  641. \write\@auxout{\string\bibcite{#2}{#1}}}\fi\ignorespaces}
  642. \newcount\@tempcntc
  643. \def\@citex[#1]#2{\if@filesw\immediate\write\@auxout{\string\citation{#2}}\fi
  644. \@tempcnta\z@\@tempcntb\m@ne\def\@citea{}\@cite{\@for\@citeb:=#2\do
  645. {\@ifundefined
  646. {b@\@citeb}{\@citeo\@tempcntb\m@ne\@citea\def\@citea{,}{\bfseries
  647. ?}\@warning
  648. {Citation `\@citeb' on page \thepage \space undefined}}%
  649. {\setbox\z@\hbox{\global\@tempcntc0\csname b@\@citeb\endcsname\relax}%
  650. \ifnum\@tempcntc=\z@ \@citeo\@tempcntb\m@ne
  651. \@citea\def\@citea{,}\hbox{\csname b@\@citeb\endcsname}%
  652. \else
  653. \advance\@tempcntb\@ne
  654. \ifnum\@tempcntb=\@tempcntc
  655. \else\advance\@tempcntb\m@ne\@citeo
  656. \@tempcnta\@tempcntc\@tempcntb\@tempcntc\fi\fi}}\@citeo}{#1}}
  657. \def\@citeo{\ifnum\@tempcnta>\@tempcntb\else
  658. \@citea\def\@citea{,\,\hskip\z@skip}%
  659. \ifnum\@tempcnta=\@tempcntb\the\@tempcnta\else
  660. {\advance\@tempcnta\@ne\ifnum\@tempcnta=\@tempcntb \else
  661. \def\@citea{--}\fi
  662. \advance\@tempcnta\m@ne\the\@tempcnta\@citea\the\@tempcntb}\fi\fi}
  663. \else
  664. \renewenvironment{thebibliography}[1]
  665. {\section*{\refname}
  666. \small
  667. \list{}%
  668. {\settowidth\labelwidth{}%
  669. \leftmargin\parindent
  670. \itemindent=-\parindent
  671. \labelsep=\z@
  672. \if@openbib
  673. \advance\leftmargin\bibindent
  674. \itemindent -\bibindent
  675. \listparindent \itemindent
  676. \parsep \z@
  677. \fi
  678. \usecounter{enumiv}%
  679. \let\p@enumiv\@empty
  680. \renewcommand\theenumiv{}}%
  681. \if@openbib
  682. \renewcommand\newblock{\par}%
  683. \else
  684. \renewcommand\newblock{\hskip .11em \@plus.33em \@minus.07em}%
  685. \fi
  686. \sloppy\clubpenalty4000\widowpenalty4000%
  687. \sfcode`\.=\@m}
  688. {\def\@noitemerr
  689. {\@latex@warning{Empty `thebibliography' environment}}%
  690. \endlist}
  691. \def\@cite#1{#1}%
  692. \def\@lbibitem[#1]#2{\item[]\if@filesw
  693. {\def\protect##1{\string ##1\space}\immediate
  694. \write\@auxout{\string\bibcite{#2}{#1}}}\fi\ignorespaces}
  695. \fi
  696. \else
  697. \@cons\@openbib@code{\noexpand\small}
  698. \fi
  699. \def\idxquad{\hskip 10\p@}% space that divides entry from number
  700. \def\@idxitem{\par\hangindent 10\p@}
  701. \def\subitem{\par\setbox0=\hbox{--\enspace}% second order
  702. \noindent\hangindent\wd0\box0}% index entry
  703. \def\subsubitem{\par\setbox0=\hbox{--\,--\enspace}% third
  704. \noindent\hangindent\wd0\box0}% order index entry
  705. \def\indexspace{\par \vskip 10\p@ plus5\p@ minus3\p@\relax}
  706. \renewenvironment{theindex}
  707. {\@mkboth{\indexname}{\indexname}%
  708. \thispagestyle{empty}\parindent\z@
  709. \parskip\z@ \@plus .3\p@\relax
  710. \let\item\par
  711. \def\,{\relax\ifmmode\mskip\thinmuskip
  712. \else\hskip0.2em\ignorespaces\fi}%
  713. \normalfont\small
  714. \begin{multicols}{2}[\@makeschapterhead{\indexname}]%
  715. }
  716. {\end{multicols}}
  717. \renewcommand\footnoterule{%
  718. \kern-3\p@
  719. \hrule\@width 2truecm
  720. \kern2.6\p@}
  721. \newdimen\fnindent
  722. \fnindent1em
  723. \long\def\@makefntext#1{%
  724. \parindent \fnindent%
  725. \leftskip \fnindent%
  726. \noindent
  727. \llap{\hb@xt@1em{\hss\@makefnmark\ }}\ignorespaces#1}
  728. \long\def\@makecaption#1#2{%
  729. \vskip\abovecaptionskip
  730. \sbox\@tempboxa{{\bfseries #1.} #2}%
  731. \ifdim \wd\@tempboxa >\hsize
  732. {\bfseries #1.} #2\par
  733. \else
  734. \global \@minipagefalse
  735. \hb@xt@\hsize{\hfil\box\@tempboxa\hfil}%
  736. \fi
  737. \vskip\belowcaptionskip}
  738. \def\fps@figure{htbp}
  739. \def\fnum@figure{\figurename\thinspace\thefigure}
  740. \def \@floatboxreset {%
  741. \reset@font
  742. \small
  743. \@setnobreak
  744. \@setminipage
  745. }
  746. \def\fps@table{htbp}
  747. \def\fnum@table{\tablename~\thetable}
  748. \renewenvironment{table}
  749. {\setlength\abovecaptionskip{0\p@}%
  750. \setlength\belowcaptionskip{10\p@}%
  751. \@float{table}}
  752. {\end@float}
  753. \renewenvironment{table*}
  754. {\setlength\abovecaptionskip{0\p@}%
  755. \setlength\belowcaptionskip{10\p@}%
  756. \@dblfloat{table}}
  757. {\end@dblfloat}
  758. \long\def\@caption#1[#2]#3{\par\addcontentsline{\csname
  759. ext@#1\endcsname}{#1}{\protect\numberline{\csname
  760. the#1\endcsname}{\ignorespaces #2}}\begingroup
  761. \@parboxrestore
  762. \@makecaption{\csname fnum@#1\endcsname}{\ignorespaces #3}\par
  763. \endgroup}
  764. % LaTeX does not provide a command to enter the authors institute
  765. % addresses. The \institute command is defined here.
  766. \newcounter{@inst}
  767. \newcounter{@auth}
  768. \newcounter{auco}
  769. \newdimen\instindent
  770. \newbox\authrun
  771. \newtoks\authorrunning
  772. \newtoks\tocauthor
  773. \newbox\titrun
  774. \newtoks\titlerunning
  775. \newtoks\toctitle
  776. \def\clearheadinfo{\gdef\@author{No Author Given}%
  777. \gdef\@title{No Title Given}%
  778. \gdef\@subtitle{}%
  779. \gdef\@institute{No Institute Given}%
  780. \gdef\@thanks{}%
  781. \global\titlerunning={}\global\authorrunning={}%
  782. \global\toctitle={}\global\tocauthor={}}
  783. \def\institute#1{\gdef\@institute{#1}}
  784. \def\institutename{\par
  785. \begingroup
  786. \parskip=\z@
  787. \parindent=\z@
  788. \setcounter{@inst}{1}%
  789. \def\and{\par\stepcounter{@inst}%
  790. \noindent$^{\the@inst}$\enspace\ignorespaces}%
  791. \setbox0=\vbox{\def\thanks##1{}\@institute}%
  792. \ifnum\c@@inst=1\relax
  793. \gdef\fnnstart{0}%
  794. \else
  795. \xdef\fnnstart{\c@@inst}%
  796. \setcounter{@inst}{1}%
  797. \noindent$^{\the@inst}$\enspace
  798. \fi
  799. \ignorespaces
  800. \@institute\par
  801. \endgroup}
  802. \def\@fnsymbol#1{\ensuremath{\ifcase#1\or\star\or{\star\star}\or
  803. {\star\star\star}\or \dagger\or \ddagger\or
  804. \mathchar "278\or \mathchar "27B\or \|\or **\or \dagger\dagger
  805. \or \ddagger\ddagger \else\@ctrerr\fi}}
  806. \def\inst#1{\unskip$^{#1}$}
  807. \def\fnmsep{\unskip$^,$}
  808. \def\email#1{{\tt#1}}
  809. \AtBeginDocument{\@ifundefined{url}{\def\url#1{#1}}{}%
  810. \@ifpackageloaded{babel}{%
  811. \@ifundefined{extrasenglish}{}{\addto\extrasenglish{\switcht@albion}}%
  812. \@ifundefined{extrasfrenchb}{}{\addto\extrasfrenchb{\switcht@francais}}%
  813. \@ifundefined{extrasgerman}{}{\addto\extrasgerman{\switcht@deutsch}}%
  814. }{\switcht@@therlang}%
  815. }
  816. \def\homedir{\~{ }}
  817. \def\subtitle#1{\gdef\@subtitle{#1}}
  818. \clearheadinfo
  819. %
  820. \renewcommand\maketitle{\newpage
  821. \refstepcounter{chapter}%
  822. \stepcounter{section}%
  823. \setcounter{section}{0}%
  824. \setcounter{subsection}{0}%
  825. \setcounter{figure}{0}
  826. \setcounter{table}{0}
  827. \setcounter{equation}{0}
  828. \setcounter{footnote}{0}%
  829. \begingroup
  830. \parindent=\z@
  831. \renewcommand\thefootnote{\@fnsymbol\c@footnote}%
  832. \if@twocolumn
  833. \ifnum \col@number=\@ne
  834. \@maketitle
  835. \else
  836. \twocolumn[\@maketitle]%
  837. \fi
  838. \else
  839. \newpage
  840. \global\@topnum\z@ % Prevents figures from going at top of page.
  841. \@maketitle
  842. \fi
  843. \thispagestyle{empty}\@thanks
  844. %
  845. \def\\{\unskip\ \ignorespaces}\def\inst##1{\unskip{}}%
  846. \def\thanks##1{\unskip{}}\def\fnmsep{\unskip}%
  847. \instindent=\hsize
  848. \advance\instindent by-\headlineindent
  849. \if!\the\toctitle!\addcontentsline{toc}{title}{\@title}\else
  850. \addcontentsline{toc}{title}{\the\toctitle}\fi
  851. \if@runhead
  852. \if!\the\titlerunning!\else
  853. \edef\@title{\the\titlerunning}%
  854. \fi
  855. \global\setbox\titrun=\hbox{\small\rm\unboldmath\ignorespaces\@title}%
  856. \ifdim\wd\titrun>\instindent
  857. \typeout{Title too long for running head. Please supply}%
  858. \typeout{a shorter form with \string\titlerunning\space prior to
  859. \string\maketitle}%
  860. \global\setbox\titrun=\hbox{\small\rm
  861. Title Suppressed Due to Excessive Length}%
  862. \fi
  863. \xdef\@title{\copy\titrun}%
  864. \fi
  865. %
  866. \if!\the\tocauthor!\relax
  867. {\def\and{\noexpand\protect\noexpand\and}%
  868. \protected@xdef\toc@uthor{\@author}}%
  869. \else
  870. \def\\{\noexpand\protect\noexpand\newline}%
  871. \protected@xdef\scratch{\the\tocauthor}%
  872. \protected@xdef\toc@uthor{\scratch}%
  873. \fi
  874. \addtocontents{toc}{\noexpand\protect\noexpand\authcount{\the\c@auco}}%
  875. \addcontentsline{toc}{author}{\toc@uthor}%
  876. \if@runhead
  877. \if!\the\authorrunning!
  878. \value{@inst}=\value{@auth}%
  879. \setcounter{@auth}{1}%
  880. \else
  881. \edef\@author{\the\authorrunning}%
  882. \fi
  883. \global\setbox\authrun=\hbox{\small\unboldmath\@author\unskip}%
  884. \ifdim\wd\authrun>\instindent
  885. \typeout{Names of authors too long for running head. Please supply}%
  886. \typeout{a shorter form with \string\authorrunning\space prior to
  887. \string\maketitle}%
  888. \global\setbox\authrun=\hbox{\small\rm
  889. Authors Suppressed Due to Excessive Length}%
  890. \fi
  891. \xdef\@author{\copy\authrun}%
  892. \markboth{\@author}{\@title}%
  893. \fi
  894. \endgroup
  895. \setcounter{footnote}{\fnnstart}%
  896. \clearheadinfo}
  897. %
  898. \def\@maketitle{\newpage
  899. \markboth{}{}%
  900. \def\lastand{\ifnum\value{@inst}=2\relax
  901. \unskip{} \andname\
  902. \else
  903. \unskip \lastandname\
  904. \fi}%
  905. \def\and{\stepcounter{@auth}\relax
  906. \ifnum\value{@auth}=\value{@inst}%
  907. \lastand
  908. \else
  909. \unskip,
  910. \fi}%
  911. \begin{center}%
  912. \let\newline\\
  913. {\Large \bfseries\boldmath
  914. \pretolerance=10000
  915. \@title \par}\vskip .8cm
  916. \if!\@subtitle!\else {\large \bfseries\boldmath
  917. \vskip -.65cm
  918. \pretolerance=10000
  919. \@subtitle \par}\vskip .8cm\fi
  920. \setbox0=\vbox{\setcounter{@auth}{1}\def\and{\stepcounter{@auth}}%
  921. \def\thanks##1{}\@author}%
  922. \global\value{@inst}=\value{@auth}%
  923. \global\value{auco}=\value{@auth}%
  924. \setcounter{@auth}{1}%
  925. {\lineskip .5em
  926. \noindent\ignorespaces
  927. \@author\vskip.35cm}
  928. {\small\institutename}
  929. \end{center}%
  930. }
  931. % definition of the "\spnewtheorem" command.
  932. %
  933. % Usage:
  934. %
  935. % \spnewtheorem{env_nam}{caption}[within]{cap_font}{body_font}
  936. % or \spnewtheorem{env_nam}[numbered_like]{caption}{cap_font}{body_font}
  937. % or \spnewtheorem*{env_nam}{caption}{cap_font}{body_font}
  938. %
  939. % New is "cap_font" and "body_font". It stands for
  940. % fontdefinition of the caption and the text itself.
  941. %
  942. % "\spnewtheorem*" gives a theorem without number.
  943. %
  944. % A defined spnewthoerem environment is used as described
  945. % by Lamport.
  946. %
  947. %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
  948. \def\@thmcountersep{}
  949. \def\@thmcounterend{.}
  950. \def\spnewtheorem{\@ifstar{\@sthm}{\@Sthm}}
  951. % definition of \spnewtheorem with number
  952. \def\@spnthm#1#2{%
  953. \@ifnextchar[{\@spxnthm{#1}{#2}}{\@spynthm{#1}{#2}}}
  954. \def\@Sthm#1{\@ifnextchar[{\@spothm{#1}}{\@spnthm{#1}}}
  955. \def\@spxnthm#1#2[#3]#4#5{\expandafter\@ifdefinable\csname #1\endcsname
  956. {\@definecounter{#1}\@addtoreset{#1}{#3}%
  957. \expandafter\xdef\csname the#1\endcsname{\expandafter\noexpand
  958. \csname the#3\endcsname \noexpand\@thmcountersep \@thmcounter{#1}}%
  959. \expandafter\xdef\csname #1name\endcsname{#2}%
  960. \global\@namedef{#1}{\@spthm{#1}{\csname #1name\endcsname}{#4}{#5}}%
  961. \global\@namedef{end#1}{\@endtheorem}}}
  962. \def\@spynthm#1#2#3#4{\expandafter\@ifdefinable\csname #1\endcsname
  963. {\@definecounter{#1}%
  964. \expandafter\xdef\csname the#1\endcsname{\@thmcounter{#1}}%
  965. \expandafter\xdef\csname #1name\endcsname{#2}%
  966. \global\@namedef{#1}{\@spthm{#1}{\csname #1name\endcsname}{#3}{#4}}%
  967. \global\@namedef{end#1}{\@endtheorem}}}
  968. \def\@spothm#1[#2]#3#4#5{%
  969. \@ifundefined{c@#2}{\@latexerr{No theorem environment `#2' defined}\@eha}%
  970. {\expandafter\@ifdefinable\csname #1\endcsname
  971. {\global\@namedef{the#1}{\@nameuse{the#2}}%
  972. \expandafter\xdef\csname #1name\endcsname{#3}%
  973. \global\@namedef{#1}{\@spthm{#2}{\csname #1name\endcsname}{#4}{#5}}%
  974. \global\@namedef{end#1}{\@endtheorem}}}}
  975. \def\@spthm#1#2#3#4{\topsep 7\p@ \@plus2\p@ \@minus4\p@
  976. \refstepcounter{#1}%
  977. \@ifnextchar[{\@spythm{#1}{#2}{#3}{#4}}{\@spxthm{#1}{#2}{#3}{#4}}}
  978. \def\@spxthm#1#2#3#4{\@spbegintheorem{#2}{\csname the#1\endcsname}{#3}{#4}%
  979. \ignorespaces}
  980. \def\@spythm#1#2#3#4[#5]{\@spopargbegintheorem{#2}{\csname
  981. the#1\endcsname}{#5}{#3}{#4}\ignorespaces}
  982. \def\@spbegintheorem#1#2#3#4{\trivlist
  983. \item[\hskip\labelsep{#3#1\ #2\@thmcounterend}]#4}
  984. \def\@spopargbegintheorem#1#2#3#4#5{\trivlist
  985. \item[\hskip\labelsep{#4#1\ #2}]{#4(#3)\@thmcounterend\ }#5}
  986. % definition of \spnewtheorem* without number
  987. \def\@sthm#1#2{\@Ynthm{#1}{#2}}
  988. \def\@Ynthm#1#2#3#4{\expandafter\@ifdefinable\csname #1\endcsname
  989. {\global\@namedef{#1}{\@Thm{\csname #1name\endcsname}{#3}{#4}}%
  990. \expandafter\xdef\csname #1name\endcsname{#2}%
  991. \global\@namedef{end#1}{\@endtheorem}}}
  992. \def\@Thm#1#2#3{\topsep 7\p@ \@plus2\p@ \@minus4\p@
  993. \@ifnextchar[{\@Ythm{#1}{#2}{#3}}{\@Xthm{#1}{#2}{#3}}}
  994. \def\@Xthm#1#2#3{\@Begintheorem{#1}{#2}{#3}\ignorespaces}
  995. \def\@Ythm#1#2#3[#4]{\@Opargbegintheorem{#1}
  996. {#4}{#2}{#3}\ignorespaces}
  997. \def\@Begintheorem#1#2#3{#3\trivlist
  998. \item[\hskip\labelsep{#2#1\@thmcounterend}]}
  999. \def\@Opargbegintheorem#1#2#3#4{#4\trivlist
  1000. \item[\hskip\labelsep{#3#1}]{#3(#2)\@thmcounterend\ }}
  1001. \if@envcntsect
  1002. \def\@thmcountersep{.}
  1003. \spnewtheorem{theorem}{Theorem}[section]{\bfseries}{\itshape}
  1004. \else
  1005. \spnewtheorem{theorem}{Theorem}{\bfseries}{\itshape}
  1006. \if@envcntreset
  1007. \@addtoreset{theorem}{section}
  1008. \else
  1009. \@addtoreset{theorem}{chapter}
  1010. \fi
  1011. \fi
  1012. %definition of divers theorem environments
  1013. \spnewtheorem*{claim}{Claim}{\itshape}{\rmfamily}
  1014. \spnewtheorem*{proof}{Proof}{\itshape}{\rmfamily}
  1015. \if@envcntsame % alle Umgebungen wie Theorem.
  1016. \def\spn@wtheorem#1#2#3#4{\@spothm{#1}[theorem]{#2}{#3}{#4}}
  1017. \else % alle Umgebungen mit eigenem Zaehler
  1018. \if@envcntsect % mit section numeriert
  1019. \def\spn@wtheorem#1#2#3#4{\@spxnthm{#1}{#2}[section]{#3}{#4}}
  1020. \else % nicht mit section numeriert
  1021. \if@envcntreset
  1022. \def\spn@wtheorem#1#2#3#4{\@spynthm{#1}{#2}{#3}{#4}
  1023. \@addtoreset{#1}{section}}
  1024. \else
  1025. \def\spn@wtheorem#1#2#3#4{\@spynthm{#1}{#2}{#3}{#4}
  1026. \@addtoreset{#1}{chapter}}%
  1027. \fi
  1028. \fi
  1029. \fi
  1030. \spn@wtheorem{case}{Case}{\itshape}{\rmfamily}
  1031. \spn@wtheorem{conjecture}{Conjecture}{\itshape}{\rmfamily}
  1032. \spn@wtheorem{corollary}{Corollary}{\bfseries}{\itshape}
  1033. \spn@wtheorem{definition}{Definition}{\bfseries}{\itshape}
  1034. \spn@wtheorem{example}{Example}{\itshape}{\rmfamily}
  1035. \spn@wtheorem{exercise}{Exercise}{\itshape}{\rmfamily}
  1036. \spn@wtheorem{lemma}{Lemma}{\bfseries}{\itshape}
  1037. \spn@wtheorem{note}{Note}{\itshape}{\rmfamily}
  1038. \spn@wtheorem{problem}{Problem}{\itshape}{\rmfamily}
  1039. \spn@wtheorem{property}{Property}{\itshape}{\rmfamily}
  1040. \spn@wtheorem{proposition}{Proposition}{\bfseries}{\itshape}
  1041. \spn@wtheorem{question}{Question}{\itshape}{\rmfamily}
  1042. \spn@wtheorem{solution}{Solution}{\itshape}{\rmfamily}
  1043. \spn@wtheorem{remark}{Remark}{\itshape}{\rmfamily}
  1044. \def\@takefromreset#1#2{%
  1045. \def\@tempa{#1}%
  1046. \let\@tempd\@elt
  1047. \def\@elt##1{%
  1048. \def\@tempb{##1}%
  1049. \ifx\@tempa\@tempb\else
  1050. \@addtoreset{##1}{#2}%
  1051. \fi}%
  1052. \expandafter\expandafter\let\expandafter\@tempc\csname cl@#2\endcsname
  1053. \expandafter\def\csname cl@#2\endcsname{}%
  1054. \@tempc
  1055. \let\@elt\@tempd}
  1056. \def\theopargself{\def\@spopargbegintheorem##1##2##3##4##5{\trivlist
  1057. \item[\hskip\labelsep{##4##1\ ##2}]{##4##3\@thmcounterend\ }##5}
  1058. \def\@Opargbegintheorem##1##2##3##4{##4\trivlist
  1059. \item[\hskip\labelsep{##3##1}]{##3##2\@thmcounterend\ }}
  1060. }
  1061. \renewenvironment{abstract}{%
  1062. \list{}{\advance\topsep by0.35cm\relax\small
  1063. \leftmargin=1cm
  1064. \labelwidth=\z@
  1065. \listparindent=\z@
  1066. \itemindent\listparindent
  1067. \rightmargin\leftmargin}\item[\hskip\labelsep
  1068. \bfseries\abstractname]}
  1069. {\endlist}
  1070. \newdimen\headlineindent % dimension for space between
  1071. \headlineindent=1.166cm % number and text of headings.
  1072. \def\ps@headings{\let\@mkboth\@gobbletwo
  1073. \let\@oddfoot\@empty\let\@evenfoot\@empty
  1074. \def\@evenhead{\normalfont\small\rlap{\thepage}\hspace{\headlineindent}%
  1075. \leftmark\hfil}
  1076. \def\@oddhead{\normalfont\small\hfil\rightmark\hspace{\headlineindent}%
  1077. \llap{\thepage}}
  1078. \def\chaptermark##1{}%
  1079. \def\sectionmark##1{}%
  1080. \def\subsectionmark##1{}}
  1081. \def\ps@titlepage{\let\@mkboth\@gobbletwo
  1082. \let\@oddfoot\@empty\let\@evenfoot\@empty
  1083. \def\@evenhead{\normalfont\small\rlap{\thepage}\hspace{\headlineindent}%
  1084. \hfil}
  1085. \def\@oddhead{\normalfont\small\hfil\hspace{\headlineindent}%
  1086. \llap{\thepage}}
  1087. \def\chaptermark##1{}%
  1088. \def\sectionmark##1{}%
  1089. \def\subsectionmark##1{}}
  1090. \if@runhead\ps@headings\else
  1091. \ps@empty\fi
  1092. \setlength\arraycolsep{1.4\p@}
  1093. \setlength\tabcolsep{1.4\p@}
  1094. \endinput
  1095. %end of file llncs.cls