source: Deliverables/D2.1/Revision/llncs.cls @ 2732

Last change on this file since 2732 was 792, checked in by amadio, 10 years ago

Deliverable D2.1 with addendum

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