Annotation of OpenXM/doc/Papers/cl2emult.cls, Revision 1.1
1.1 ! noro 1: % $OpenXM$
! 2: % CL2EMULT DOCUMENT CLASS -- version 1.3
! 3: % LaTeX2e support for multi authored Springer books
! 4: %%
! 5: %%
! 6: %% \CharacterTable
! 7: %% {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
! 8: %% 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
! 9: %% Digits \0\1\2\3\4\5\6\7\8\9
! 10: %% Exclamation \! Double quote \" Hash (number) \#
! 11: %% Dollar \$ Percent \% Ampersand \&
! 12: %% Acute accent \' Left paren \( Right paren \)
! 13: %% Asterisk \* Plus \+ Comma \,
! 14: %% Minus \- Point \. Solidus \/
! 15: %% Colon \: Semicolon \; Less than \<
! 16: %% Equals \= Greater than \> Question mark \?
! 17: %% Commercial at \@ Left bracket \[ Backslash \\
! 18: %% Right bracket \] Circumflex \^ Underscore \_
! 19: %% Grave accent \` Left brace \{ Vertical bar \|
! 20: %% Right brace \} Tilde \~}
! 21: %%
! 22: \NeedsTeXFormat{LaTeX2e}[1995/12/01]
! 23: \ProvidesClass{cl2emult}[2000/07/26 v1.3
! 24: ^^JLaTeX document class for multi authored books of Springer]
! 25: % require packages
! 26: \RequirePackage{multicol}
! 27: % Options
! 28: \DeclareOption{citeauthoryear}{\let\citeauthoryear=Y}
! 29:
! 30: \let\if@envcntreset\iffalse
! 31: \DeclareOption{envcountreset}{\let\if@envcntreset\iftrue}
! 32: \let\if@envcntsame\iffalse
! 33: \DeclareOption{envcountsame}{\let\if@envcntsame\iftrue}
! 34: \def\envankh{section}
! 35: \DeclareOption{envcountchap}{\def\envankh{chapter}%
! 36: \ExecuteOptions{envcountsect}}
! 37: \let\if@envcntsect\iffalse
! 38: \DeclareOption{envcountsect}{\let\if@envcntsect\iftrue}
! 39:
! 40: \let\if@runhead\iffalse
! 41: \DeclareOption{runningheads}{\let\if@runhead\iftrue}
! 42:
! 43: \let\if@openbib\iffalse
! 44: \DeclareOption{openbib}{\let\if@openbib\iftrue}
! 45:
! 46: \let\if@referee\iffalse
! 47: \DeclareOption{referee}{\let\if@referee\iftrue}
! 48: \def\makereferee{\def\baselinestretch{2}}
! 49:
! 50: \let\if@instindent\iffalse
! 51: \DeclareOption{instindent}{\let\if@instindent\iftrue}
! 52: \let\if@smartand\iffalse
! 53: \DeclareOption{smartand}{\let\if@smartand\iftrue}
! 54:
! 55: \let\if@spthms\iftrue
! 56: \DeclareOption{nospthms}{\let\if@spthms\iffalse}
! 57:
! 58: \newif\if@openright
! 59: \DeclareOption{openright}{\@openrighttrue}
! 60: \DeclareOption{openany}{\@openrightfalse}
! 61: \ExecuteOptions{openright}
! 62:
! 63: \DeclareOption*{\PassOptionsToClass{\CurrentOption}{article}}
! 64:
! 65: \ProcessOptions
! 66:
! 67: %\LoadClass[twoside,fleqn]{article}
! 68: \LoadClass[twoside]{article}
! 69:
! 70: \setlength{\textwidth}{11.7cm}
! 71: \setlength{\textheight}{18.9cm}
! 72:
! 73: \newcommand{\micro}{\mbox{\usefont{U}{eur}{m}{n}\char22}}
! 74:
! 75: \renewcommand\small{%
! 76: \@setfontsize\small\@ixpt{11}%
! 77: \abovedisplayskip 8.5\p@ \@plus3\p@ \@minus4\p@
! 78: \abovedisplayshortskip \z@ \@plus2\p@
! 79: \belowdisplayshortskip 4\p@ \@plus2\p@ \@minus2\p@
! 80: \def\@listi{\leftmargin\leftmargini
! 81: \parsep 0\p@ \@plus1\p@ \@minus\p@
! 82: \topsep 8\p@ \@plus2\p@ \@minus4\p@
! 83: \itemsep0\p@}%
! 84: \belowdisplayskip \abovedisplayskip
! 85: }
! 86:
! 87: \frenchspacing
! 88: \widowpenalty=10000
! 89: \clubpenalty=10000
! 90:
! 91: \setlength\oddsidemargin {63\p@}
! 92: \setlength\evensidemargin {63\p@}
! 93: \setlength\marginparwidth {90\p@}
! 94:
! 95: \setlength\headsep {16\p@}
! 96:
! 97: \setlength\footnotesep{7.7\p@}
! 98:
! 99: \setlength\@fptop{0\p@ }
! 100: \setlength\@fpsep{12\p@ }
! 101: \setlength\@fpbot{0\p@ plus 1fil }
! 102:
! 103: \setlength\intextsep {20\p@\@plus 2\p@ \@minus 2\p@}
! 104: %vert. Abstand zw. dem umgebenden Text und gleit. Objekten, die ueb. die
! 105: %h-positionierung im laufenden Text angeordnet sind.
! 106:
! 107: \setcounter{topnumber}{4}
! 108: %max. Anzahl v. gleit. Objekten, die auf einer Seite OBEN angeordnet
! 109: %werden koennen
! 110: \def\topfraction{.9}
! 111: %gibt den Bruchteil der Seite an, der fuer gleit. Objekte OBEN auf der
! 112: %Seite zur Verfuegung steht
! 113: \setcounter{bottomnumber}{2}
! 114: %max. Anzahl v. gleit. Objekten, die auf einer Seite UNTEN angeordnet
! 115: %werden koennen
! 116: \def\bottomfraction{.5}
! 117: %gibt den Bruchteil der Seite an, der fuer gleit. Objekte UNTEN auf der
! 118: %Seite zur Verfuegung steht
! 119: \setcounter{totalnumber}{6}
! 120: %max. Anzahl v. gleit. Objekten, die auf einer Seite INSGESAMT angeordnet
! 121: %werden koennen
! 122: \def\textfraction{.05}
! 123: %gibt den Bruchteil der Seite an, der fuer TEXT MINDESTENS zur
! 124: %Verfuegung stehen muss: Damit steht fuer gleit. Obje. pro Seite
! 125: %max. ein Anteil von 1- \textfraction zur Verfuegung.
! 126: \def\floatpagefraction{.8}
! 127: %gibt den MINIMALEN BRUCHTEIL einer float-Seite an, der von gleit. Obje.
! 128: %ausgefuellt sein muss, bevor ggf. ein weitere Seite bereitgestellt
! 129: %wird.
! 130:
! 131:
! 132: \setcounter{secnumdepth}{2}
! 133:
! 134: \def\seccounterend{\quad}
! 135: \def\@seccntformat#1{\csname the#1\endcsname\seccounterend}
! 136:
! 137: \newcounter{chapter}
! 138: \renewcommand\thechapter{\@arabic\c@chapter}
! 139:
! 140: \newif\if@mainmatter \@mainmattertrue
! 141: \newcommand\frontmatter{\cleardoublepage
! 142: \@mainmatterfalse\pagenumbering{Roman}}
! 143: \newcommand\mainmatter{\clearemptydoublepage
! 144: \@mainmattertrue\pagenumbering{arabic}}
! 145: \newcommand\backmatter{\if@openright\clearemptydoublepage\else\clearpage\fi
! 146: \@mainmatterfalse}
! 147:
! 148: \let\firstmark=\botmark
! 149:
! 150: \renewcommand\part{\if@openright\clearemptydoublepage\else\clearpage\fi
! 151: \thispagestyle{empty}%
! 152: \if@twocolumn
! 153: \onecolumn
! 154: \@tempswatrue
! 155: \else
! 156: \@tempswafalse
! 157: \fi
! 158: \null\vfil
! 159: \secdef\@part\@spart}
! 160: %
! 161: \def\@part[#1]#2{\ifnum \c@secnumdepth >-2\relax % IF secnumdepth > -2
! 162: \refstepcounter{part} % THEN step part counter
! 163: \addcontentsline{toc}{part}{\partname\ % add toc line
! 164: \thepart. #1}\else % ELSE add unnumbered line
! 165: \addcontentsline{toc}{part}{#1}\fi % FI
! 166: \markboth{}{}
! 167: {\raggedleft % added 8.1.92 FH
! 168: \ifnum \c@secnumdepth >-2\relax % IF secnumdepth > -2
! 169: \null\vskip 67.3pt
! 170: \Large\partname\ \thepart % THEN Print 'Part' and number
! 171: \par % in \Large
! 172: \vskip 18pt \fi % Add space before title.
! 173: \bf\boldmath % FI
! 174: #2\par}\@endpart} % Print Title in \Large bold.
! 175:
! 176: %
! 177: % \@endpart finishes the part page
! 178: %
! 179: \def\@endpart{\vfil\newpage % End page with 1fil glue.
! 180: \if@openright
! 181: \if@twoside % IF twoside printing
! 182: \hbox{} % THEN Produce totally blank page
! 183: \thispagestyle{empty}
! 184: \newpage
! 185: \fi % FI
! 186: \fi % FI
! 187: \if@tempswa % IF @tempswa = true
! 188: \twocolumn % THEN \twocolumn
! 189: \fi} % FI
! 190: %
! 191: \def\@spart#1{{\raggedleft % added 8 Jan 92 FUH
! 192: \Large\bf\boldmath % Print title in \Large-boldface
! 193: #1\par}\@endpart}
! 194:
! 195: \newcommand\chapter{\if@openright\clearemptydoublepage\else\clearpage\fi
! 196: \@ifundefined{thispagecropped}{}{\thispagecropped}
! 197: \thispagestyle{empty}%
! 198: \global\@topnum\z@
! 199: \@afterindentfalse
! 200: \secdef\@chapter\@schapter}
! 201: \def\@chapter[#1]#2{\ifnum \c@secnumdepth >\m@ne
! 202: \if@mainmatter
! 203: \refstepcounter{chapter}%
! 204: \typeout{\@chapapp\space\thechapter.}%
! 205: \addcontentsline{toc}{chapter}%
! 206: {\protect\numberline{\thechapter}#1}%
! 207: \else
! 208: \addcontentsline{toc}{chapter}{#1}%
! 209: \fi
! 210: \else
! 211: \addcontentsline{toc}{chapter}{#1}%
! 212: \fi
! 213: \chaptermark{#1}%
! 214: \addtocontents{lof}{\protect\addvspace{10\p@}}%
! 215: \addtocontents{lot}{\protect\addvspace{10\p@}}%
! 216: \if@twocolumn
! 217: \@topnewpage[\@makechapterhead{#2}]%
! 218: \else
! 219: \@makechapterhead{#2}%
! 220: \@afterheading
! 221: \fi}
! 222: \def\@makechapterhead#1{%
! 223: % \vspace*{50\p@}%
! 224: {\parindent \z@ \raggedright
! 225: \normalfont
! 226: \ifnum \c@secnumdepth >\m@ne
! 227: \if@mainmatter
! 228: \large\bfseries \@chapapp{} \thechapter
! 229: \par\nobreak
! 230: \vskip 20\p@
! 231: \fi
! 232: \fi
! 233: \interlinepenalty\@M
! 234: \Large \bfseries #1\par\nobreak
! 235: \vskip 40\p@
! 236: }}
! 237: \def\@schapter#1{\if@twocolumn
! 238: \@topnewpage[\@makeschapterhead{#1}]%
! 239: \else
! 240: \@makeschapterhead{#1}%
! 241: \@afterheading
! 242: \fi}
! 243: \def\@makeschapterhead#1{%
! 244: % \vspace*{50\p@}%
! 245: {\parindent \z@ \raggedright
! 246: \normalfont
! 247: \interlinepenalty\@M
! 248: \Large \bfseries #1\par\nobreak
! 249: \vskip 40\p@
! 250: }}
! 251:
! 252: \renewcommand\section{\@startsection{section}{1}{\z@}%
! 253: {-18\p@ \@plus -4\p@ \@minus -4\p@}%
! 254: {12\p@ \@plus 4\p@ \@minus 4\p@}%
! 255: {\normalfont\large\bfseries\boldmath
! 256: \rightskip=\z@ \@plus 8em\pretolerance=10000 }}
! 257: \renewcommand\subsection{\@startsection{subsection}{2}{\z@}%
! 258: {-18\p@ \@plus -4\p@ \@minus -4\p@}%
! 259: {8\p@ \@plus 4\p@ \@minus 4\p@}%
! 260: {\normalfont\normalsize\bfseries\boldmath
! 261: \rightskip=\z@ \@plus 8em\pretolerance=10000 }}
! 262: \renewcommand\subsubsection{\@startsection{subsubsection}{3}{\z@}%
! 263: {-18\p@ \@plus -4\p@ \@minus -4\p@}%
! 264: {-0.5em \@plus -0.22em \@minus -0.1em}%
! 265: {\normalfont\normalsize\bfseries\boldmath}}
! 266: \renewcommand\paragraph{\@startsection{paragraph}{4}{\z@}%
! 267: {-12\p@ \@plus -4\p@ \@minus -4\p@}%
! 268: {-0.5em \@plus -0.22em \@minus -0.1em}%
! 269: {\normalfont\normalsize\itshape}}
! 270: \renewcommand\subparagraph[1]{\typeout{LNCSE warning: You should not use
! 271: \string\subparagraph\space with this class}\vskip0.5cm
! 272: You should not use \verb|\subparagraph| with this class.\vskip0.5cm}
! 273:
! 274: \DeclareMathSymbol{\Gamma}{\mathalpha}{letters}{"00}
! 275: \DeclareMathSymbol{\Delta}{\mathalpha}{letters}{"01}
! 276: \DeclareMathSymbol{\Theta}{\mathalpha}{letters}{"02}
! 277: \DeclareMathSymbol{\Lambda}{\mathalpha}{letters}{"03}
! 278: \DeclareMathSymbol{\Xi}{\mathalpha}{letters}{"04}
! 279: \DeclareMathSymbol{\Pi}{\mathalpha}{letters}{"05}
! 280: \DeclareMathSymbol{\Sigma}{\mathalpha}{letters}{"06}
! 281: \DeclareMathSymbol{\Upsilon}{\mathalpha}{letters}{"07}
! 282: \DeclareMathSymbol{\Phi}{\mathalpha}{letters}{"08}
! 283: \DeclareMathSymbol{\Psi}{\mathalpha}{letters}{"09}
! 284: \DeclareMathSymbol{\Omega}{\mathalpha}{letters}{"0A}
! 285:
! 286: \let\footnotesize\small
! 287:
! 288: \def\vec#1{\mathchoice{\mbox{\boldmath$\displaystyle#1$}}
! 289: {\mbox{\boldmath$\textstyle#1$}}
! 290: {\mbox{\boldmath$\scriptstyle#1$}}
! 291: {\mbox{\boldmath$\scriptscriptstyle#1$}}}
! 292:
! 293: \def\squareforqed{\hbox{\rlap{$\sqcap$}$\sqcup$}}
! 294: \def\qed{\ifmmode\squareforqed\else{\unskip\nobreak\hfil
! 295: \penalty50\hskip1em\null\nobreak\hfil\squareforqed
! 296: \parfillskip=0pt\finalhyphendemerits=0\endgraf}\fi}
! 297:
! 298: \def\getsto{\mathrel{\mathchoice {\vcenter{\offinterlineskip
! 299: \halign{\hfil
! 300: $\displaystyle##$\hfil\cr\gets\cr\to\cr}}}
! 301: {\vcenter{\offinterlineskip\halign{\hfil$\textstyle##$\hfil\cr\gets
! 302: \cr\to\cr}}}
! 303: {\vcenter{\offinterlineskip\halign{\hfil$\scriptstyle##$\hfil\cr\gets
! 304: \cr\to\cr}}}
! 305: {\vcenter{\offinterlineskip\halign{\hfil$\scriptscriptstyle##$\hfil\cr
! 306: \gets\cr\to\cr}}}}}
! 307: \def\lid{\mathrel{\mathchoice {\vcenter{\offinterlineskip\halign{\hfil
! 308: $\displaystyle##$\hfil\cr<\cr\noalign{\vskip1.2pt}=\cr}}}
! 309: {\vcenter{\offinterlineskip\halign{\hfil$\textstyle##$\hfil\cr<\cr
! 310: \noalign{\vskip1.2pt}=\cr}}}
! 311: {\vcenter{\offinterlineskip\halign{\hfil$\scriptstyle##$\hfil\cr<\cr
! 312: \noalign{\vskip1pt}=\cr}}}
! 313: {\vcenter{\offinterlineskip\halign{\hfil$\scriptscriptstyle##$\hfil\cr
! 314: <\cr
! 315: \noalign{\vskip0.9pt}=\cr}}}}}
! 316: \def\gid{\mathrel{\mathchoice {\vcenter{\offinterlineskip\halign{\hfil
! 317: $\displaystyle##$\hfil\cr>\cr\noalign{\vskip1.2pt}=\cr}}}
! 318: {\vcenter{\offinterlineskip\halign{\hfil$\textstyle##$\hfil\cr>\cr
! 319: \noalign{\vskip1.2pt}=\cr}}}
! 320: {\vcenter{\offinterlineskip\halign{\hfil$\scriptstyle##$\hfil\cr>\cr
! 321: \noalign{\vskip1pt}=\cr}}}
! 322: {\vcenter{\offinterlineskip\halign{\hfil$\scriptscriptstyle##$\hfil\cr
! 323: >\cr
! 324: \noalign{\vskip0.9pt}=\cr}}}}}
! 325: \def\grole{\mathrel{\mathchoice {\vcenter{\offinterlineskip
! 326: \halign{\hfil
! 327: $\displaystyle##$\hfil\cr>\cr\noalign{\vskip-1pt}<\cr}}}
! 328: {\vcenter{\offinterlineskip\halign{\hfil$\textstyle##$\hfil\cr
! 329: >\cr\noalign{\vskip-1pt}<\cr}}}
! 330: {\vcenter{\offinterlineskip\halign{\hfil$\scriptstyle##$\hfil\cr
! 331: >\cr\noalign{\vskip-0.8pt}<\cr}}}
! 332: {\vcenter{\offinterlineskip\halign{\hfil$\scriptscriptstyle##$\hfil\cr
! 333: >\cr\noalign{\vskip-0.3pt}<\cr}}}}}
! 334: \def\bbbr{{\rm I\!R}} %reelle Zahlen
! 335: \def\bbbm{{\rm I\!M}}
! 336: \def\bbbn{{\rm I\!N}} %natuerliche Zahlen
! 337: \def\bbbf{{\rm I\!F}}
! 338: \def\bbbh{{\rm I\!H}}
! 339: \def\bbbk{{\rm I\!K}}
! 340: \def\bbbp{{\rm I\!P}}
! 341: \def\bbbone{{\mathchoice {\rm 1\mskip-4mu l} {\rm 1\mskip-4mu l}
! 342: {\rm 1\mskip-4.5mu l} {\rm 1\mskip-5mu l}}}
! 343: \def\bbbc{{\mathchoice {\setbox0=\hbox{$\displaystyle\rm C$}\hbox{\hbox
! 344: to0pt{\kern0.4\wd0\vrule height0.9\ht0\hss}\box0}}
! 345: {\setbox0=\hbox{$\textstyle\rm C$}\hbox{\hbox
! 346: to0pt{\kern0.4\wd0\vrule height0.9\ht0\hss}\box0}}
! 347: {\setbox0=\hbox{$\scriptstyle\rm C$}\hbox{\hbox
! 348: to0pt{\kern0.4\wd0\vrule height0.9\ht0\hss}\box0}}
! 349: {\setbox0=\hbox{$\scriptscriptstyle\rm C$}\hbox{\hbox
! 350: to0pt{\kern0.4\wd0\vrule height0.9\ht0\hss}\box0}}}}
! 351: \def\bbbq{{\mathchoice {\setbox0=\hbox{$\displaystyle\rm
! 352: Q$}\hbox{\raise
! 353: 0.15\ht0\hbox to0pt{\kern0.4\wd0\vrule height0.8\ht0\hss}\box0}}
! 354: {\setbox0=\hbox{$\textstyle\rm Q$}\hbox{\raise
! 355: 0.15\ht0\hbox to0pt{\kern0.4\wd0\vrule height0.8\ht0\hss}\box0}}
! 356: {\setbox0=\hbox{$\scriptstyle\rm Q$}\hbox{\raise
! 357: 0.15\ht0\hbox to0pt{\kern0.4\wd0\vrule height0.7\ht0\hss}\box0}}
! 358: {\setbox0=\hbox{$\scriptscriptstyle\rm Q$}\hbox{\raise
! 359: 0.15\ht0\hbox to0pt{\kern0.4\wd0\vrule height0.7\ht0\hss}\box0}}}}
! 360: \def\bbbt{{\mathchoice {\setbox0=\hbox{$\displaystyle\rm
! 361: T$}\hbox{\hbox to0pt{\kern0.3\wd0\vrule height0.9\ht0\hss}\box0}}
! 362: {\setbox0=\hbox{$\textstyle\rm T$}\hbox{\hbox
! 363: to0pt{\kern0.3\wd0\vrule height0.9\ht0\hss}\box0}}
! 364: {\setbox0=\hbox{$\scriptstyle\rm T$}\hbox{\hbox
! 365: to0pt{\kern0.3\wd0\vrule height0.9\ht0\hss}\box0}}
! 366: {\setbox0=\hbox{$\scriptscriptstyle\rm T$}\hbox{\hbox
! 367: to0pt{\kern0.3\wd0\vrule height0.9\ht0\hss}\box0}}}}
! 368: \def\bbbs{{\mathchoice
! 369: {\setbox0=\hbox{$\displaystyle \rm S$}\hbox{\raise0.5\ht0\hbox
! 370: to0pt{\kern0.35\wd0\vrule height0.45\ht0\hss}\hbox
! 371: to0pt{\kern0.55\wd0\vrule height0.5\ht0\hss}\box0}}
! 372: {\setbox0=\hbox{$\textstyle \rm S$}\hbox{\raise0.5\ht0\hbox
! 373: to0pt{\kern0.35\wd0\vrule height0.45\ht0\hss}\hbox
! 374: to0pt{\kern0.55\wd0\vrule height0.5\ht0\hss}\box0}}
! 375: {\setbox0=\hbox{$\scriptstyle \rm S$}\hbox{\raise0.5\ht0\hbox
! 376: to0pt{\kern0.35\wd0\vrule height0.45\ht0\hss}\raise0.05\ht0\hbox
! 377: to0pt{\kern0.5\wd0\vrule height0.45\ht0\hss}\box0}}
! 378: {\setbox0=\hbox{$\scriptscriptstyle\rm S$}\hbox{\raise0.5\ht0\hbox
! 379: to0pt{\kern0.4\wd0\vrule height0.45\ht0\hss}\raise0.05\ht0\hbox
! 380: to0pt{\kern0.55\wd0\vrule height0.45\ht0\hss}\box0}}}}
! 381: \def\bbbz{{\mathchoice {\hbox{$\textstyle\sf Z\kern-0.4em Z$}}
! 382: {\hbox{$\textstyle\sf Z\kern-0.4em Z$}}
! 383: {\hbox{$\scriptstyle\sf Z\kern-0.3em Z$}}
! 384: {\hbox{$\scriptscriptstyle\sf Z\kern-0.2em Z$}}}}
! 385:
! 386: \let\ts\,
! 387:
! 388: \setlength\leftmargini {17\p@}
! 389: \setlength\leftmargin {\leftmargini}
! 390: \setlength\leftmarginii {\leftmargini}
! 391: \setlength\leftmarginiii {\leftmargini}
! 392: \setlength\leftmarginiv {\leftmargini}
! 393: \setlength \labelsep {.5em}
! 394: \setlength \labelwidth{\leftmargini}
! 395: \addtolength\labelwidth{-\labelsep}
! 396:
! 397: \def\@listI{\leftmargin\leftmargini
! 398: \parsep 0\p@ \@plus1\p@ \@minus\p@
! 399: \topsep 8\p@ \@plus2\p@ \@minus4\p@
! 400: \itemsep0\p@}
! 401: \let\@listi\@listI
! 402: \@listi
! 403: \def\@listii {\leftmargin\leftmarginii
! 404: \labelwidth\leftmarginii
! 405: \advance\labelwidth-\labelsep
! 406: \topsep 0\p@ \@plus2\p@ \@minus\p@}
! 407: \def\@listiii{\leftmargin\leftmarginiii
! 408: \labelwidth\leftmarginiii
! 409: \advance\labelwidth-\labelsep
! 410: \topsep 0\p@ \@plus\p@\@minus\p@
! 411: \parsep \z@
! 412: \partopsep \p@ \@plus\z@ \@minus\p@}
! 413:
! 414: \renewcommand\labelitemi{$\m@th\bullet$}
! 415: \renewcommand\labelitemii{\normalfont\bfseries --}
! 416:
! 417: \setlength\arraycolsep{1.5\p@}
! 418: \setlength\tabcolsep{1.5\p@}
! 419:
! 420: \def\newendpage {\par
! 421: \ifdim \pagetotal>\topskip
! 422: \else\thispagestyle{empty}
! 423: \fi
! 424: \vfil\penalty -\@M}
! 425: \def\clearpage{%
! 426: \ifvmode
! 427: \ifnum \@dbltopnum =\m@ne
! 428: \ifdim \pagetotal <\topskip
! 429: \hbox{}
! 430: \fi
! 431: \fi
! 432: \fi
! 433: \newendpage
! 434: \write\m@ne{}
! 435: \vbox{}
! 436: \penalty -\@Mi
! 437: }
! 438: \def\cleardoublepage{\clearpage\if@twoside \ifodd\c@page\else
! 439: \hbox{}\newendpage\if@twocolumn\hbox{}\newpage\fi\fi\fi}
! 440:
! 441: \def\tableofcontents{\chapter*{\contentsname\@mkboth{{\contentsname}}%
! 442: {{\contentsname}}}
! 443: \def\authcount##1{\setcounter{auco}{##1}\setcounter{@auth}{1}}
! 444: \def\lastand{\ifnum\value{auco}=2\relax
! 445: \unskip{} \andname\
! 446: \else
! 447: \unskip \lastandname\
! 448: \fi}%
! 449: \def\and{\stepcounter{@auth}\relax
! 450: \ifnum\value{@auth}=\value{auco}%
! 451: \lastand
! 452: \else
! 453: \unskip,
! 454: \fi}%
! 455: \@starttoc{toc}\if@restonecol\twocolumn\fi}
! 456:
! 457: \def\l@part#1#2{\addpenalty{\@secpenalty}%
! 458: \addvspace{2em plus\p@}% % space above part line
! 459: \begingroup
! 460: \parindent \z@
! 461: \rightskip \z@ plus 5em
! 462: \hrule\vskip5pt
! 463: \bfseries\boldmath % set line in boldface
! 464: \leavevmode % TeX command to enter horizontal mode.
! 465: #1\par
! 466: \vskip5pt
! 467: \hrule
! 468: \vskip1pt
! 469: \nobreak % Never break after part entry
! 470: \endgroup}
! 471:
! 472: \def\@dotsep{2}
! 473:
! 474: \def\addnumcontentsmark#1#2#3{%
! 475: \addtocontents{#1}{\protect\contentsline{#2}{\protect\numberline
! 476: {\thechapter}#3}{\thepage}}}
! 477: \def\addcontentsmark#1#2#3{%
! 478: \addtocontents{#1}{\protect\contentsline{#2}{#3}{\thepage}}}
! 479: \def\addcontentsmarkwop#1#2#3{%
! 480: \addtocontents{#1}{\protect\contentsline{#2}{#3}{0}}}
! 481:
! 482: \def\@adcmk[#1]{\ifcase #1 \or
! 483: \def\@gtempa{\addnumcontentsmark}%
! 484: \or \def\@gtempa{\addcontentsmark}%
! 485: \or \def\@gtempa{\addcontentsmarkwop}%
! 486: \fi\@gtempa{toc}{chapter}}
! 487: \def\addtocmark{\@ifnextchar[{\@adcmk}{\@adcmk[3]}}
! 488:
! 489: \def\l@chapter#1#2{\addpenalty{-\@highpenalty}
! 490: \vskip 1.0em plus 1pt \@tempdima 1.5em \begingroup
! 491: \parindent \z@ \rightskip \@pnumwidth
! 492: \parfillskip -\@pnumwidth
! 493: \leavevmode \advance\leftskip\@tempdima \hskip -\leftskip
! 494: {\bfseries\boldmath#1}\ifx0#2\hfil\null
! 495: \else
! 496: \nobreak
! 497: \leaders\hbox{$\m@th \mkern \@dotsep mu.\mkern
! 498: \@dotsep mu$}\hfill
! 499: \nobreak\hbox to\@pnumwidth{\hss #2}%
! 500: \fi\par
! 501: \penalty\@highpenalty \endgroup}
! 502:
! 503: \def\l@title#1#2{\addpenalty{-\@highpenalty}
! 504: \addvspace{8pt plus 1pt}
! 505: \@tempdima \z@
! 506: \begingroup
! 507: \parindent \z@ \rightskip \@tocrmarg
! 508: \parfillskip -\@tocrmarg
! 509: \leavevmode \advance\leftskip\@tempdima \hskip -\leftskip
! 510: {\bfseries#1}\nobreak
! 511: \leaders\hbox{$\m@th \mkern \@dotsep mu.\mkern
! 512: \@dotsep mu$}\hfill
! 513: \nobreak\hbox to\@pnumwidth{\hss #2}\par
! 514: \penalty\@highpenalty \endgroup}
! 515:
! 516: \setcounter{tocdepth}{0}
! 517: \newdimen\tocchpnum
! 518: \newdimen\tocsecnum
! 519: \newdimen\tocsectotal
! 520: \newdimen\tocsubsecnum
! 521: \newdimen\tocsubsectotal
! 522: \newdimen\tocsubsubsecnum
! 523: \newdimen\tocsubsubsectotal
! 524: \newdimen\tocparanum
! 525: \newdimen\tocparatotal
! 526: \newdimen\tocsubparanum
! 527: \tocchpnum=\z@ % no chapter numbers
! 528: \tocsecnum=15\p@ % section 88. plus 2.222pt
! 529: \tocsubsecnum=23\p@ % subsection 88.8 plus 2.222pt
! 530: \tocsubsubsecnum=27\p@ % subsubsection 88.8.8 plus 1.444pt
! 531: \tocparanum=35\p@ % paragraph 88.8.8.8 plus 1.666pt
! 532: \tocsubparanum=43\p@ % subparagraph 88.8.8.8.8 plus 1.888pt
! 533: \def\calctocindent{%
! 534: \tocsectotal=\tocchpnum
! 535: \advance\tocsectotal by\tocsecnum
! 536: \tocsubsectotal=\tocsectotal
! 537: \advance\tocsubsectotal by\tocsubsecnum
! 538: \tocsubsubsectotal=\tocsubsectotal
! 539: \advance\tocsubsubsectotal by\tocsubsubsecnum
! 540: \tocparatotal=\tocsubsubsectotal
! 541: \advance\tocparatotal by\tocparanum}
! 542: \calctocindent
! 543:
! 544: \def\l@section{\@dottedtocline{1}{\tocchpnum}{\tocsecnum}}
! 545: \def\l@subsection{\@dottedtocline{2}{\tocsectotal}{\tocsubsecnum}}
! 546: \def\l@subsubsection{\@dottedtocline{3}{\tocsubsectotal}{\tocsubsubsecnum}}
! 547: \def\l@paragraph{\@dottedtocline{4}{\tocsubsubsectotal}{\tocparanum}}
! 548: \def\l@subparagraph{\@dottedtocline{5}{\tocparatotal}{\tocsubparanum}}
! 549:
! 550: \def\listoffigures{\@restonecolfalse\if@twocolumn\@restonecoltrue\onecolumn
! 551: \fi\section*{\listfigurename\@mkboth{{\listfigurename}}{{\listfigurename}}}
! 552: \@starttoc{lof}\if@restonecol\twocolumn\fi}
! 553: \def\l@figure{\@dottedtocline{1}{0em}{1.5em}}
! 554:
! 555: \def\listoftables{\@restonecolfalse\if@twocolumn\@restonecoltrue\onecolumn
! 556: \fi\section*{\listtablename\@mkboth{{\listtablename}}{{\listtablename}}}
! 557: \@starttoc{lot}\if@restonecol\twocolumn\fi}
! 558: \let\l@table\l@figure
! 559:
! 560: \renewcommand\listoffigures{%
! 561: \section*{\listfigurename
! 562: \@mkboth{\listfigurename}{\listfigurename}}%
! 563: \@starttoc{lof}%
! 564: }
! 565:
! 566: \renewcommand\listoftables{%
! 567: \section*{\listtablename
! 568: \@mkboth{\listtablename}{\listtablename}}%
! 569: \@starttoc{lot}%
! 570: }
! 571:
! 572: \ifx\citeauthoryear\undefined
! 573: \renewenvironment{thebibliography}[1]
! 574: {\section*{\refname}
! 575: \def\@biblabel##1{##1.}
! 576: \small
! 577: \list{\@biblabel{\@arabic\c@enumiv}}%
! 578: {\settowidth\labelwidth{\@biblabel{#1}}%
! 579: \leftmargin\labelwidth
! 580: \advance\leftmargin\labelsep
! 581: \if@openbib
! 582: \advance\leftmargin\bibindent
! 583: \itemindent -\bibindent
! 584: \listparindent \itemindent
! 585: \parsep \z@
! 586: \fi
! 587: \usecounter{enumiv}%
! 588: \let\p@enumiv\@empty
! 589: \renewcommand\theenumiv{\@arabic\c@enumiv}}%
! 590: \if@openbib
! 591: \renewcommand\newblock{\par}%
! 592: \else
! 593: \renewcommand\newblock{\hskip .11em \@plus.33em \@minus.07em}%
! 594: \fi
! 595: \sloppy\clubpenalty4000\widowpenalty4000%
! 596: \sfcode`\.=\@m}
! 597: {\def\@noitemerr
! 598: {\@latex@warning{Empty `thebibliography' environment}}%
! 599: \endlist}
! 600: \def\@lbibitem[#1]#2{\item[{[#1]}\hfill]\if@filesw
! 601: {\let\protect\noexpand\immediate
! 602: \write\@auxout{\string\bibcite{#2}{#1}}}\fi\ignorespaces}
! 603: \newcount\@tempcntc
! 604: \def\@citex[#1]#2{\if@filesw\immediate\write\@auxout{\string\citation{#2}}\fi
! 605: \@tempcnta\z@\@tempcntb\m@ne\def\@citea{}\@cite{\@for\@citeb:=#2\do
! 606: {\@ifundefined
! 607: {b@\@citeb}{\@citeo\@tempcntb\m@ne\@citea\def\@citea{,}{\bfseries
! 608: ?}\@warning
! 609: {Citation `\@citeb' on page \thepage \space undefined}}%
! 610: {\setbox\z@\hbox{\global\@tempcntc0\csname b@\@citeb\endcsname\relax}%
! 611: \ifnum\@tempcntc=\z@ \@citeo\@tempcntb\m@ne
! 612: \@citea\def\@citea{,}\hbox{\csname b@\@citeb\endcsname}%
! 613: \else
! 614: \advance\@tempcntb\@ne
! 615: \ifnum\@tempcntb=\@tempcntc
! 616: \else\advance\@tempcntb\m@ne\@citeo
! 617: \@tempcnta\@tempcntc\@tempcntb\@tempcntc\fi\fi}}\@citeo}{#1}}
! 618: \def\@citeo{\ifnum\@tempcnta>\@tempcntb\else\@citea\def\@citea{,}%
! 619: \ifnum\@tempcnta=\@tempcntb\the\@tempcnta\else
! 620: {\advance\@tempcnta\@ne\ifnum\@tempcnta=\@tempcntb \else \def\@citea{--}\fi
! 621: \advance\@tempcnta\m@ne\the\@tempcnta\@citea\the\@tempcntb}\fi\fi}
! 622: \else
! 623: \renewenvironment{thebibliography}[1]
! 624: {\section*{\refname}
! 625: \small
! 626: \list{}%
! 627: {\settowidth\labelwidth{}%
! 628: \leftmargin\parindent
! 629: \itemindent=-\parindent
! 630: \labelsep=\z@
! 631: \if@openbib
! 632: \advance\leftmargin\bibindent
! 633: \itemindent -\bibindent
! 634: \listparindent \itemindent
! 635: \parsep \z@
! 636: \fi
! 637: \usecounter{enumiv}%
! 638: \let\p@enumiv\@empty
! 639: \renewcommand\theenumiv{}}%
! 640: \if@openbib
! 641: \renewcommand\newblock{\par}%
! 642: \else
! 643: \renewcommand\newblock{\hskip .11em \@plus.33em \@minus.07em}%
! 644: \fi
! 645: \sloppy\clubpenalty4000\widowpenalty4000%
! 646: \sfcode`\.=\@m}
! 647: {\def\@noitemerr
! 648: {\@latex@warning{Empty `thebibliography' environment}}%
! 649: \endlist}
! 650: \def\@cite#1{#1}%
! 651: \def\@lbibitem[#1]#2{\item[]\if@filesw
! 652: {\def\protect##1{\string ##1\space}\immediate
! 653: \write\@auxout{\string\bibcite{#2}{#1}}}\fi\ignorespaces}
! 654: \fi
! 655:
! 656: \def\idxquad{\hskip 10\p@}% space that divides entry from number
! 657:
! 658: \def\@idxitem{\par\hangindent 10\p@}
! 659:
! 660: \def\subitem{\par\setbox0=\hbox{--\enspace}% second order
! 661: \noindent\hangindent\wd0\box0}% index entry
! 662:
! 663: \def\subsubitem{\par\setbox0=\hbox{--\,--\enspace}% third
! 664: \noindent\hangindent\wd0\box0}% order index entry
! 665:
! 666: \def\indexspace{\par \vskip 10\p@ plus5\p@ minus3\p@\relax}
! 667:
! 668: \let\if@threecolind\iffalse
! 669: \def\threecolindex{\let\if@threecolind\iftrue}
! 670: \renewenvironment{theindex}
! 671: {\if@twocolumn
! 672: \@restonecolfalse
! 673: \else
! 674: \@restonecoltrue
! 675: \fi
! 676: \columnseprule \z@
! 677: \columnsep 1cc
! 678: \@nobreaktrue
! 679: \if@threecolind
! 680: \begin{multicols}{3}[\chapter*{\indexname}]%
! 681: \else
! 682: \begin{multicols}{2}[\chapter*{\indexname}]%
! 683: \fi
! 684: \@mkboth{\indexname}{\indexname}%
! 685: \addcontentsline{toc}{chapter}{\indexname}%
! 686: \thispagestyle{empty}\parindent\z@
! 687: \rightskip0\p@ plus 40\p@
! 688: \parskip\z@ \@plus .3\p@\relax
! 689: \flushbottom
! 690: \let\item\@idxitem
! 691: \def\,{\relax\ifmmode\mskip\thinmuskip
! 692: \else\hskip0.2em\ignorespaces\fi}%
! 693: \normalfont\small}
! 694: {\end{multicols}
! 695: \global\let\if@threecolind\iffalse
! 696: \if@restonecol\onecolumn\else\clearpage\fi}
! 697:
! 698: \newenvironment{thecontriblist}
! 699: {\if@twocolumn
! 700: \@restonecolfalse
! 701: \else
! 702: \@restonecoltrue
! 703: \fi
! 704: \columnseprule \z@
! 705: \columnsep 1cc
! 706: \@nobreaktrue
! 707: \if@threecolind
! 708: \begin{multicols}{3}[\chapter*{\contriblistname%
! 709: \markboth{\contriblistname}{\contriblistname}}]%
! 710: \else
! 711: \begin{multicols}{2}[\chapter*{\contriblistname%
! 712: \markboth{\contriblistname}{\contriblistname}}]%
! 713: \fi
! 714: \thispagestyle{empty}%
! 715: \obeylines%
! 716: \parindent\z@%
! 717: \rightskip0\p@ plus 40\p@%
! 718: \parskip\z@ \@plus .3\p@\relax
! 719: \let\and\bigbreak
! 720: }
! 721: {\end{multicols}
! 722: \global\let\if@threecolind\iffalse
! 723: \if@restonecol\onecolumn\else\clearpage\fi}
! 724:
! 725: \renewcommand\footnoterule{%
! 726: \kern-3\p@
! 727: \hrule\@width 2truecm
! 728: \kern2.6\p@}
! 729: \long\def\@makefntext#1{%
! 730: \parindent 1em%
! 731: \leftskip 1em%
! 732: \noindent
! 733: \llap{\hb@xt@1em{\hss\@makefnmark\ }}\ignorespaces#1}
! 734:
! 735: \def\leftlegendglue{\hfil}
! 736:
! 737: \def\fps@figure{htbp}
! 738: \def\fnum@figure{\figurename\thefigure}
! 739: \def \@floatboxreset {%
! 740: \reset@font
! 741: \small
! 742: \@setnobreak
! 743: \@setminipage
! 744: }
! 745: \def\fps@table{htbp}
! 746: \def\fnum@table{\tablename\thetable}
! 747: \renewenvironment{table}
! 748: {\setlength\abovecaptionskip{0\p@}%
! 749: \setlength\belowcaptionskip{10\p@}%
! 750: \@float{table}}
! 751: {\end@float}
! 752: \renewenvironment{table*}
! 753: {\setlength\abovecaptionskip{0\p@}%
! 754: \setlength\belowcaptionskip{10\p@}%
! 755: \@dblfloat{table}}
! 756: {\end@dblfloat}
! 757:
! 758: \def\fig@type{figure}
! 759:
! 760: % Frame for paste-in figures or tables
! 761: \def\mpicplace#1#2{% #1 =width #2 =height
! 762: \vbox{\hbox to #1{\vrule width \fboxrule height #2\hfill}}}
! 763:
! 764:
! 765: \newdimen\figcapgap\figcapgap=3pt
! 766: \newdimen\tabcapgap\tabcapgap=5.5pt
! 767:
! 768: \@ifundefined{floatlegendstyle}{\def\floatlegendstyle{\bfseries}}{}
! 769: \def\floatcounterend{.\ }
! 770: \def\capstrut{\vrule\@width\z@\@height\topskip}
! 771: \@ifundefined{captionstyle}{\def\captionstyle{\normalfont\small}}{}
! 772:
! 773: \long\def\@caption#1[#2]#3{\par\addcontentsline{\csname
! 774: ext@#1\endcsname}{#1}{\protect\numberline{\csname
! 775: the#1\endcsname}{\ignorespaces #2}}\begingroup
! 776: \@parboxrestore
! 777: \@makecaption{\csname fnum@#1\endcsname}{\ignorespaces #3}\par
! 778: \endgroup}
! 779:
! 780: \long\def\@makecaption#1#2{%
! 781: \captionstyle
! 782: \ifx\@captype\fig@type
! 783: \vskip\figcapgap
! 784: \fi
! 785: \setbox\@tempboxa\hbox{{\floatlegendstyle #1\floatcounterend}%
! 786: \capstrut #2}%
! 787: \ifdim \wd\@tempboxa >\hsize
! 788: {\floatlegendstyle #1\floatcounterend}\capstrut #2\par
! 789: \else
! 790: \hbox to\hsize{\leftlegendglue\unhbox\@tempboxa\hfil}%
! 791: \fi
! 792: \ifx\@captype\fig@type\else
! 793: \vskip\tabcapgap
! 794: \fi}
! 795:
! 796: \newdimen\figgap\figgap=1cc
! 797: %
! 798: \long\def\@makesidecaption#1#2{%
! 799: \setbox0=\vbox{\hsize=\@tempdima
! 800: \captionstyle{\floatlegendstyle
! 801: #1\floatcounterend}#2}%
! 802: \ifdim\instindent<\z@
! 803: \ifdim\ht0>-\instindent
! 804: \advance\instindent by\ht0
! 805: \typeout{^^JClass-Warning: Legend of \string\sidecaption\space for
! 806: \@captype\space\csname the\@captype\endcsname
! 807: ^^Jis \the\instindent\space taller than the corresponding float -
! 808: ^^Jyou'd better switch the environment. }%
! 809: \instindent\z@
! 810: \fi
! 811: \else
! 812: \ifdim\ht0<\instindent
! 813: \advance\instindent by-\ht0
! 814: \advance\instindent by-\dp0\relax
! 815: \advance\instindent by\topskip
! 816: \advance\instindent by-11pt
! 817: \else
! 818: \advance\instindent by-\ht0
! 819: \instindent=-\instindent
! 820: \typeout{^^JClass-Warning: Legend of \string\sidecaption\space for
! 821: \@captype\space\csname the\@captype\endcsname
! 822: ^^Jis \the\instindent\space taller than the corresponding float -
! 823: ^^Jyou'd better switch the environment. }%
! 824: \instindent\z@
! 825: \fi
! 826: \fi
! 827: \parbox[b]{\@tempdima}{\captionstyle{\floatlegendstyle
! 828: #1\floatcounterend}#2%
! 829: \ifdim\instindent>\z@ \\
! 830: \vrule\@width\z@\@height\instindent
! 831: \@depth\z@
! 832: \fi}}
! 833: \def\sidecaption{\@ifnextchar[\sidec@ption{\sidec@ption[b]}}
! 834: \def\sidec@ption[#1]#2\caption{%
! 835: \setbox\@tempboxa=\hbox{\ignorespaces#2\unskip}%
! 836: \if@twocolumn
! 837: \ifdim\hsize<\textwidth\else
! 838: \ifdim\wd\@tempboxa<\columnwidth
! 839: \typeout{Double column float fits into single column -
! 840: ^^Jyou'd better switch the environment. }%
! 841: \fi
! 842: \fi
! 843: \fi
! 844: \instindent=\ht\@tempboxa
! 845: \advance\instindent by\dp\@tempboxa
! 846: \if t#1
! 847: \else
! 848: \instindent=-\instindent
! 849: \fi
! 850: \@tempdima=\hsize
! 851: \advance\@tempdima by-\figgap
! 852: \advance\@tempdima by-\wd\@tempboxa
! 853: \ifdim\@tempdima<3cm
! 854: \typeout{\string\sidecaption: No sufficient room for the legend;
! 855: using normal \string\caption. }%
! 856: \unhbox\@tempboxa
! 857: \let\@capcommand=\@caption
! 858: \else
! 859: \let\@capcommand=\@sidecaption
! 860: \leavevmode
! 861: \unhbox\@tempboxa
! 862: \hfill
! 863: \fi
! 864: \refstepcounter\@captype
! 865: \@dblarg{\@capcommand\@captype}}
! 866:
! 867: \long\def\@sidecaption#1[#2]#3{\addcontentsline{\csname
! 868: ext@#1\endcsname}{#1}{\protect\numberline{\csname
! 869: the#1\endcsname}{\ignorespaces #2}}\begingroup
! 870: \@parboxrestore
! 871: \@makesidecaption{\csname fnum@#1\endcsname}{\ignorespaces #3}\par
! 872: \endgroup}
! 873:
! 874: % LaTeX does not provide a command to enter the authors institute
! 875: % addresses. The \institute command is defined here.
! 876:
! 877: \newcounter{@inst}
! 878: \newcounter{@auth}
! 879: \newcounter{auco}
! 880: \def\andname{and}
! 881: \def\lastandname{\unskip, and}
! 882: \newdimen\instindent
! 883: \newbox\authrun
! 884: \newtoks\authorrunning
! 885: \newtoks\tocauthor
! 886: \newbox\titrun
! 887: \newtoks\titlerunning
! 888: \newtoks\toctitle
! 889:
! 890: \def\clearheadinfo{\gdef\@author{No Author Given}%
! 891: \gdef\@title{No Title Given}%
! 892: \gdef\@subtitle{}%
! 893: \gdef\@institute{No Institute Given}%
! 894: \gdef\@thanks{}%
! 895: \global\titlerunning={}\global\authorrunning={}%
! 896: \global\toctitle={}\global\tocauthor={}}
! 897:
! 898: \def\institute#1{\gdef\@institute{#1}}
! 899:
! 900: \def\title{\@ifstar\s@title\n@title}
! 901: \def\s@title#1{\gdef\@title{#1}\ds@numart}
! 902: \def\n@title#1{\gdef\@title{#1}\ds@book}
! 903:
! 904: \def\institutename{\par
! 905: \begingroup
! 906: \parskip=\z@
! 907: \parindent=\z@
! 908: \setcounter{@inst}{1}%
! 909: \def\and{\par\stepcounter{@inst}%
! 910: \noindent
! 911: \llap{\hbox to\instindent{\hss$^{\the@inst}$%
! 912: \enspace}}\ignorespaces}%
! 913: \setbox0=\vbox{\def\thanks##1{}\@institute}%
! 914: \ifnum\value{@inst}>9\relax\setbox0=\hbox{$^{88}$\enspace}%
! 915: \else\setbox0=\hbox{$^{8}$\enspace}\fi
! 916: \instindent=\wd0
! 917: \leftskip=\wd0\relax
! 918: \ifnum\value{@inst}=1\relax
! 919: \leftskip=\z@
! 920: \else
! 921: \setcounter{footnote}{\c@@inst}%
! 922: \setcounter{@inst}{1}%
! 923: \noindent
! 924: \llap{\hbox to\instindent{\hss$^{\the@inst}$\enspace}}\ignorespaces
! 925: \fi
! 926: \ignorespaces
! 927: \@institute\par
! 928: \endgroup}
! 929:
! 930: \def\@fnsymbol#1{\ensuremath{\ifcase#1\or\star\or{\star\star}\or
! 931: {\star\star\star}\or \dagger\or \ddagger\or
! 932: \mathchar "278\or \mathchar "27B\or \|\or **\or \dagger\dagger
! 933: \or \ddagger\ddagger \else\@ctrerr\fi}}
! 934:
! 935: \def\inst#1{\unskip$^{#1}$}
! 936: \def\fnmsep{\unskip$^,$}
! 937:
! 938: \def\subtitle#1{\gdef\@subtitle{#1}}
! 939: \clearheadinfo
! 940:
! 941: \newcommand{\clearemptydoublepage}{%
! 942: \newpage{\pagestyle{empty}\cleardoublepage}}
! 943:
! 944: \renewcommand\maketitle{\par\if@openright\clearemptydoublepage\else\clearpage\fi
! 945: \stepcounter{section}%
! 946: \setcounter{section}{0}%
! 947: \setcounter{subsection}{0}%
! 948: \setcounter{figure}{0}
! 949: \setcounter{table}{0}
! 950: \setcounter{equation}{0}
! 951: \setcounter{footnote}{0}%
! 952: \if@numart
! 953: \stepcounter{chapter}%
! 954: \addtocounter{chapter}{-1}%
! 955: \else
! 956: \refstepcounter{chapter}%
! 957: \fi
! 958: \begingroup
! 959: \parindent=\z@
! 960: \renewcommand\thefootnote{\@fnsymbol\c@footnote}%
! 961: \if@twocolumn
! 962: \ifnum \col@number=\@ne
! 963: \@maketitle
! 964: \else
! 965: \twocolumn[\@maketitle]%
! 966: \fi
! 967: \else
! 968: \newpage
! 969: \global\@topnum\z@ % Prevents figures from going at top of page.
! 970: \@maketitle
! 971: \fi
! 972: \@ifundefined{thispagecropped}{}{\thispagecropped}
! 973: %\csname thispagecropped\endcsname
! 974: \thispagestyle{empty}\@thanks
! 975: %
! 976: \def\\{\unskip\ \ignorespaces}\def\inst##1{\unskip{}}%
! 977: \def\thanks##1{\unskip{}}\def\fnmsep{\unskip}%
! 978: \instindent=\hsize
! 979: \advance\instindent by-\headlineindent
! 980: \if!\the\toctitle!\addcontentsline{toc}{title}{\if@numart\else
! 981: \@seccntformat{chapter}\fi
! 982: \@title}\else
! 983: \addcontentsline{toc}{title}{\if@numart\else
! 984: \@seccntformat{chapter}\fi
! 985: \the\toctitle}\fi
! 986: \if@runhead
! 987: \if!\the\titlerunning!\else
! 988: \edef\@title{\the\titlerunning}%
! 989: \fi
! 990: \global\setbox\titrun=\hbox{\small\rm\unboldmath\if@numart\else
! 991: \@seccntformat{chapter}\fi
! 992: \ignorespaces\@title}%
! 993: \ifdim\wd\titrun>\instindent
! 994: \typeout{Title too long for running head. Please supply}%
! 995: \typeout{a shorter form with \string\titlerunning\space prior to
! 996: \string\maketitle}%
! 997: \global\setbox\titrun=\hbox{\small\rm
! 998: Title Suppressed Due to Excessive Length}%
! 999: \fi
! 1000: \xdef\@title{\copy\titrun}%
! 1001: \fi
! 1002: %
! 1003: \if!\the\tocauthor!\relax
! 1004: {\def\and{\noexpand\protect\noexpand\and}%
! 1005: \protected@xdef\toc@uthor{\@author}}%
! 1006: \else
! 1007: \def\\{\noexpand\protect\noexpand\newline}%
! 1008: \protected@xdef\scratch{\the\tocauthor}%
! 1009: \protected@xdef\toc@uthor{\scratch}%
! 1010: \fi
! 1011: \addtocontents{toc}{{\protect\raggedright
! 1012: % \protect\leftskip15\p@
! 1013: \protect\rightskip\@tocrmarg
! 1014: \protect\advance\protect\rightskip\@flushglue
! 1015: \protect\itshape\toc@uthor\protect\endgraf}}%
! 1016: \if@runhead
! 1017: \if!\the\authorrunning!
! 1018: \value{@inst}=\value{@auth}%
! 1019: \setcounter{@auth}{1}%
! 1020: \else
! 1021: \edef\@author{\the\authorrunning}%
! 1022: \fi
! 1023: \global\setbox\authrun=\hbox{\small\unboldmath\@author\unskip}%
! 1024: \ifdim\wd\authrun>\instindent
! 1025: \typeout{Names of authors too long for running head. Please supply}%
! 1026: \typeout{a shorter form with \string\authorrunning\space prior to
! 1027: \string\maketitle}%
! 1028: \global\setbox\authrun=\hbox{\small\rm
! 1029: Authors Suppressed Due to Excessive Length}%
! 1030: \fi
! 1031: \xdef\@author{\copy\authrun}%
! 1032: \markboth{\@author}{\@title}%
! 1033: \fi
! 1034: \endgroup
! 1035: \setcounter{footnote}{0}%
! 1036: \clearheadinfo}
! 1037: %
! 1038: \def\@maketitle{\newpage
! 1039: \markboth{}{}%
! 1040: \def\lastand{\ifnum\value{@inst}=2\relax
! 1041: \unskip{} \andname\
! 1042: \else
! 1043: \unskip \lastandname\
! 1044: \fi}%
! 1045: \def\and{\stepcounter{@auth}\relax
! 1046: \ifnum\value{@auth}=\value{@inst}%
! 1047: \lastand
! 1048: \else
! 1049: \unskip,
! 1050: \fi}%
! 1051: \raggedright
! 1052: {\Large \bfseries\boldmath
! 1053: \pretolerance=10000
! 1054: \if@numart
! 1055: \let\@svsec\@empty
! 1056: \else
! 1057: \protected@edef\@svsec{\@seccntformat{chapter}\relax}%
! 1058: \fi
! 1059: \let\\=\newline
! 1060: % \@hangfrom{\@svsec}%
! 1061: \@svsec
! 1062: \interlinepenalty \@M
! 1063: \@title \par}\vskip .8cm
! 1064: \if!\@subtitle!\else {\large \bfseries\boldmath
! 1065: \vskip -.65cm
! 1066: \pretolerance=10000
! 1067: \@subtitle \par}\vskip .8cm\fi
! 1068: \setbox0=\vbox{\setcounter{@auth}{1}\def\and{\stepcounter{@auth}}%
! 1069: \def\thanks##1{}\@author}%
! 1070: \global\value{@inst}=\value{@auth}%
! 1071: \global\value{auco}=\value{@auth}%
! 1072: \setcounter{@auth}{1}%
! 1073: {\lineskip .5em
! 1074: \noindent\ignorespaces
! 1075: \@author\vskip.35cm}
! 1076: {\small\institutename}%
! 1077: }
! 1078:
! 1079: \if@spthms
! 1080: % definition of the "\spnewtheorem" command.
! 1081: %
! 1082: % Usage:
! 1083: %
! 1084: % \spnewtheorem{env_nam}{caption}[within]{cap_font}{body_font}
! 1085: % or \spnewtheorem{env_nam}[numbered_like]{caption}{cap_font}{body_font}
! 1086: % or \spnewtheorem*{env_nam}{caption}{cap_font}{body_font}
! 1087: %
! 1088: % New is "cap_font" and "body_font". It stands for
! 1089: % fontdefinition of the caption and the text itself.
! 1090: %
! 1091: % "\spnewtheorem*" gives a theorem without number.
! 1092: %
! 1093: % A defined spnewthoerem environment is used as described
! 1094: % by Lamport.
! 1095: %
! 1096: %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
! 1097:
! 1098: \def\@thmcountersep{}
! 1099: \def\@thmcounterend{.}
! 1100:
! 1101: \def\spnewtheorem{\@ifstar{\@sthm}{\@Sthm}}
! 1102:
! 1103: % definition of \spnewtheorem with number
! 1104:
! 1105: \def\@spnthm#1#2{%
! 1106: \@ifnextchar[{\@spxnthm{#1}{#2}}{\@spynthm{#1}{#2}}}
! 1107: \def\@Sthm#1{\@ifnextchar[{\@spothm{#1}}{\@spnthm{#1}}}
! 1108:
! 1109: \def\@spxnthm#1#2[#3]#4#5{\expandafter\@ifdefinable\csname #1\endcsname
! 1110: {\@definecounter{#1}\@addtoreset{#1}{#3}%
! 1111: \expandafter\xdef\csname the#1\endcsname{\expandafter\noexpand
! 1112: \csname the#3\endcsname \noexpand\@thmcountersep \@thmcounter{#1}}%
! 1113: \expandafter\xdef\csname #1name\endcsname{#2}%
! 1114: \global\@namedef{#1}{\@spthm{#1}{\csname #1name\endcsname}{#4}{#5}}%
! 1115: \global\@namedef{end#1}{\@endtheorem}}}
! 1116:
! 1117: \def\@spynthm#1#2#3#4{\expandafter\@ifdefinable\csname #1\endcsname
! 1118: {\@definecounter{#1}%
! 1119: \expandafter\xdef\csname the#1\endcsname{\@thmcounter{#1}}%
! 1120: \expandafter\xdef\csname #1name\endcsname{#2}%
! 1121: \global\@namedef{#1}{\@spthm{#1}{\csname #1name\endcsname}{#3}{#4}}%
! 1122: \global\@namedef{end#1}{\@endtheorem}}}
! 1123:
! 1124: \def\@spothm#1[#2]#3#4#5{%
! 1125: \@ifundefined{c@#2}{\@latexerr{No theorem environment `#2' defined}\@eha}%
! 1126: {\expandafter\@ifdefinable\csname #1\endcsname
! 1127: {\global\@namedef{the#1}{\@nameuse{the#2}}%
! 1128: \expandafter\xdef\csname #1name\endcsname{#3}%
! 1129: \global\@namedef{#1}{\@spthm{#2}{\csname #1name\endcsname}{#4}{#5}}%
! 1130: \global\@namedef{end#1}{\@endtheorem}}}}
! 1131:
! 1132: \def\@spthm#1#2#3#4{\topsep 7\p@ \@plus2\p@ \@minus4\p@
! 1133: \refstepcounter{#1}%
! 1134: \@ifnextchar[{\@spythm{#1}{#2}{#3}{#4}}{\@spxthm{#1}{#2}{#3}{#4}}}
! 1135:
! 1136: \def\@spxthm#1#2#3#4{\@spbegintheorem{#2}{\csname the#1\endcsname}{#3}{#4}%
! 1137: \ignorespaces}
! 1138:
! 1139: \def\@spythm#1#2#3#4[#5]{\@spopargbegintheorem{#2}{\csname
! 1140: the#1\endcsname}{#5}{#3}{#4}\ignorespaces}
! 1141:
! 1142: \def\@spbegintheorem#1#2#3#4{\trivlist
! 1143: \item[\hskip\labelsep{#3#1\ #2\@thmcounterend}]#4}
! 1144:
! 1145: \def\@spopargbegintheorem#1#2#3#4#5{\trivlist
! 1146: \item[\hskip\labelsep{#4#1\ #2}]{#4(#3)\@thmcounterend\ }#5}
! 1147:
! 1148: % definition of \spnewtheorem* without number
! 1149:
! 1150: \def\@sthm#1#2{\@Ynthm{#1}{#2}}
! 1151:
! 1152: \def\@Ynthm#1#2#3#4{\expandafter\@ifdefinable\csname #1\endcsname
! 1153: {\global\@namedef{#1}{\@Thm{\csname #1name\endcsname}{#3}{#4}}%
! 1154: \expandafter\xdef\csname #1name\endcsname{#2}%
! 1155: \global\@namedef{end#1}{\@endtheorem}}}
! 1156:
! 1157: \def\@Thm#1#2#3{\topsep 7\p@ \@plus2\p@ \@minus4\p@
! 1158: \@ifnextchar[{\@Ythm{#1}{#2}{#3}}{\@Xthm{#1}{#2}{#3}}}
! 1159:
! 1160: \def\@Xthm#1#2#3{\@Begintheorem{#1}{#2}{#3}\ignorespaces}
! 1161:
! 1162: \def\@Ythm#1#2#3[#4]{\@Opargbegintheorem{#1}
! 1163: {#4}{#2}{#3}\ignorespaces}
! 1164:
! 1165: \def\@Begintheorem#1#2#3{#3\trivlist
! 1166: \item[\hskip\labelsep{#2#1\@thmcounterend}]}
! 1167:
! 1168: \def\@Opargbegintheorem#1#2#3#4{#4\trivlist
! 1169: \item[\hskip\labelsep{#3#1}]{#3(#2)\@thmcounterend\ }}
! 1170:
! 1171: % initialize theorem environment
! 1172:
! 1173: \if@envcntsect % show section counter
! 1174: \def\@thmcountersep{.}
! 1175: \spnewtheorem{theorem}{Theorem}[\envankh]{\bfseries}{\itshape}
! 1176: \else % theorem counter only
! 1177: \spnewtheorem{theorem}{Theorem}{\bfseries}{\itshape}
! 1178: \if@envcntreset
! 1179: \@addtoreset{theorem}{section}
! 1180: \else
! 1181: \@addtoreset{theorem}{chapter}
! 1182: \fi
! 1183: \fi
! 1184:
! 1185: %definition of divers theorem environments
! 1186: \spnewtheorem*{claim}{Claim}{\itshape}{\rmfamily}
! 1187: \spnewtheorem*{proof}{Proof}{\itshape}{\rmfamily}
! 1188: \if@envcntsame % all environments like "Theorem" - using its counter
! 1189: \def\spn@wtheorem#1#2#3#4{\@spothm{#1}[theorem]{#2}{#3}{#4}}
! 1190: \else % all environments with their own counter
! 1191: \if@envcntsect % show section counter
! 1192: \def\spn@wtheorem#1#2#3#4{\@spxnthm{#1}{#2}[\envankh]{#3}{#4}}
! 1193: \else % environment counter only
! 1194: \if@envcntreset % environment counter is reset each section
! 1195: \def\spn@wtheorem#1#2#3#4{\@spynthm{#1}{#2}{#3}{#4}
! 1196: \@addtoreset{#1}{section}}
! 1197: \else % environment counter is reset each chapter
! 1198: \def\spn@wtheorem#1#2#3#4{\@spynthm{#1}{#2}{#3}{#4}
! 1199: \@addtoreset{#1}{chapter}}
! 1200: \fi
! 1201: \fi
! 1202: \fi
! 1203: \spn@wtheorem{case}{Case}{\itshape}{\rmfamily}
! 1204: \spn@wtheorem{conjecture}{Conjecture}{\itshape}{\rmfamily}
! 1205: \spn@wtheorem{corollary}{Corollary}{\bfseries}{\itshape}
! 1206: \spn@wtheorem{definition}{Definition}{\bfseries}{\rmfamily}
! 1207: \spn@wtheorem{example}{Example}{\itshape}{\rmfamily}
! 1208: \spn@wtheorem{exercise}{Exercise}{\itshape}{\rmfamily}
! 1209: \spn@wtheorem{lemma}{Lemma}{\bfseries}{\itshape}
! 1210: \spn@wtheorem{note}{Note}{\itshape}{\rmfamily}
! 1211: \spn@wtheorem{problem}{Problem}{\itshape}{\rmfamily}
! 1212: \spn@wtheorem{property}{Property}{\itshape}{\rmfamily}
! 1213: \spn@wtheorem{proposition}{Proposition}{\bfseries}{\itshape}
! 1214: \spn@wtheorem{question}{Question}{\itshape}{\rmfamily}
! 1215: \spn@wtheorem{solution}{Solution}{\itshape}{\rmfamily}
! 1216: \spn@wtheorem{remark}{Remark}{\itshape}{\rmfamily}
! 1217:
! 1218: \def\theopargself{\def\@spopargbegintheorem##1##2##3##4##5{\trivlist
! 1219: \item[\hskip\labelsep{##4##1\ ##2}]{##4##3\@thmcounterend\ }##5}
! 1220: \def\@Opargbegintheorem##1##2##3##4{##4\trivlist
! 1221: \item[\hskip\labelsep{##3##1}]{##3##2\@thmcounterend\ }}
! 1222: }
! 1223: \fi
! 1224:
! 1225: \def\@takefromreset#1#2{%
! 1226: \def\@tempa{#1}%
! 1227: \let\@tempd\@elt
! 1228: \def\@elt##1{%
! 1229: \def\@tempb{##1}%
! 1230: \ifx\@tempa\@tempb\else
! 1231: \@addtoreset{##1}{#2}%
! 1232: \fi}%
! 1233: \expandafter\expandafter\let\expandafter\@tempc\csname cl@#2\endcsname
! 1234: \expandafter\def\csname cl@#2\endcsname{}%
! 1235: \@tempc
! 1236: \let\@elt\@tempd}
! 1237:
! 1238: \def\squareforqed{\hbox{\rlap{$\sqcap$}$\sqcup$}}
! 1239: \def\qed{\ifmmode\else\unskip\quad\fi\squareforqed}
! 1240: %\def\qed{\ifmmode\squareforqed\else{\unskip\nobreak\hfil
! 1241: %\penalty50\hskip1em\null\nobreak\hfil\squareforqed
! 1242: %\parfillskip=0pt\finalhyphendemerits=0\endgraf}\fi}
! 1243:
! 1244: \newif\if@numart \@numarttrue
! 1245: \def\ds@numart{\@numarttrue
! 1246: \@takefromreset{figure}{chapter}%
! 1247: \@takefromreset{table}{chapter}%
! 1248: \@takefromreset{equation}{chapter}%
! 1249: \def\thesection{\@arabic\c@section}%
! 1250: \def\thefigure{\@arabic\c@figure}%
! 1251: \def\thetable{\@arabic\c@table}%
! 1252: \def\theequation{\arabic{equation}}%
! 1253: \def\thesubequation{\arabic{equation}\alph{eqsubcnt}}}
! 1254: %
! 1255: \def\ds@book{\@numartfalse
! 1256: \def\thesection{\thechapter.\@arabic\c@section}%
! 1257: \def\thefigure{\thechapter.\@arabic\c@figure}%
! 1258: \def\thetable{\thechapter.\@arabic\c@table}%
! 1259: \def\theequation{\thechapter.\arabic{equation}}%
! 1260: \@addtoreset{section}{chapter}%
! 1261: \@addtoreset{figure}{chapter}%
! 1262: \@addtoreset{table}{chapter}%
! 1263: \@addtoreset{equation}{chapter}%
! 1264: \def\thesubequation{\thechapter.\arabic{equation}\alph{eqsubcnt}}}
! 1265:
! 1266: \renewenvironment{abstract}{%
! 1267: \advance\topsep by0.35cm\relax\small
! 1268: \labelwidth=\z@
! 1269: \listparindent=\z@
! 1270: \itemindent\listparindent
! 1271: \trivlist\item[\hskip\labelsep
! 1272: \bfseries\abstractname]}
! 1273: {\endtrivlist}
! 1274: \renewcommand{\abstractname}{Abstract.}
! 1275: \renewcommand{\contentsname}{Contents}
! 1276: \renewcommand{\figurename}{Fig.\thinspace}
! 1277: \renewcommand{\tablename}{Table~}
! 1278:
! 1279: \newcommand{\contriblistname}{List of Contributors}
! 1280:
! 1281: \newdimen\headlineindent % dimension for space between
! 1282: \headlineindent=1.166cm % number and text of headings.
! 1283:
! 1284: \def\customizhead{\hspace{\headlineindent}}
! 1285: \def\ps@headings{\let\@mkboth\@gobbletwo
! 1286: \let\@oddfoot\@empty\let\@evenfoot\@empty
! 1287: \def\@evenhead{\normalfont\small\rlap{\thepage}\customizhead
! 1288: \leftmark\hfil}
! 1289: \def\@oddhead{\normalfont\small\hfil\rightmark\customizhead
! 1290: \llap{\thepage}}
! 1291: \def\chaptermark##1{}%
! 1292: \def\sectionmark##1{}%
! 1293: \def\subsectionmark##1{}}
! 1294:
! 1295: \if@runhead\ps@headings\else
! 1296: \ps@empty\fi
! 1297:
! 1298: \endinput
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>