llncs.cls 35 KB

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