thys/Paper/document/llncs.cls
changeset 176 f1d800062d4f
parent 95 a33d3040bf7e
child 237 3cbd19ecdc9d
equal deleted inserted replaced
175:fc22ca36325c 176:f1d800062d4f
     1 % LLNCS DOCUMENT CLASS -- version 2.13 (28-Jan-2002)
     1 % LLNCS DOCUMENT CLASS -- version 2.19 (31-Mar-2014)
     2 % Springer Verlag LaTeX2e support for Lecture Notes in Computer Science
     2 % Springer Verlag LaTeX2e support for Lecture Notes in Computer Science
     3 %
     3 %
     4 %%
     4 %%
     5 %% \CharacterTable
     5 %% \CharacterTable
     6 %%  {Upper-case    \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
     6 %%  {Upper-case    \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
    17 %%   Right bracket \]     Circumflex    \^     Underscore    \_
    17 %%   Right bracket \]     Circumflex    \^     Underscore    \_
    18 %%   Grave accent  \`     Left brace    \{     Vertical bar  \|
    18 %%   Grave accent  \`     Left brace    \{     Vertical bar  \|
    19 %%   Right brace   \}     Tilde         \~}
    19 %%   Right brace   \}     Tilde         \~}
    20 %%
    20 %%
    21 \NeedsTeXFormat{LaTeX2e}[1995/12/01]
    21 \NeedsTeXFormat{LaTeX2e}[1995/12/01]
    22 \ProvidesClass{llncs}[2002/01/28 v2.13
    22 \ProvidesClass{llncs}[2014/03/31 v2.19
    23 ^^J LaTeX document class for Lecture Notes in Computer Science]
    23 ^^J LaTeX document class for Lecture Notes in Computer Science]
    24 % Options
    24 % Options
    25 \let\if@envcntreset\iffalse
    25 \let\if@envcntreset\iffalse
    26 \DeclareOption{envcountreset}{\let\if@envcntreset\iftrue}
    26 \DeclareOption{envcountreset}{\let\if@envcntreset\iftrue}
    27 \DeclareOption{citeauthoryear}{\let\citeauthoryear=Y}
    27 \DeclareOption{citeauthoryear}{\let\citeauthoryear=Y}
    33 \let\if@envcntsect\iffalse
    33 \let\if@envcntsect\iffalse
    34 \DeclareOption{envcountsect}{\let\if@envcntsect\iftrue}
    34 \DeclareOption{envcountsect}{\let\if@envcntsect\iftrue}
    35 \let\if@runhead\iffalse
    35 \let\if@runhead\iffalse
    36 \DeclareOption{runningheads}{\let\if@runhead\iftrue}
    36 \DeclareOption{runningheads}{\let\if@runhead\iftrue}
    37 
    37 
       
    38 \let\if@openright\iftrue
    38 \let\if@openbib\iffalse
    39 \let\if@openbib\iffalse
    39 \DeclareOption{openbib}{\let\if@openbib\iftrue}
    40 \DeclareOption{openbib}{\let\if@openbib\iftrue}
    40 
    41 
    41 % languages
    42 % languages
    42 \let\switcht@@therlang\relax
    43 \let\switcht@@therlang\relax
    47 
    48 
    48 \ProcessOptions
    49 \ProcessOptions
    49 
    50 
    50 \LoadClass[twoside]{article}
    51 \LoadClass[twoside]{article}
    51 \RequirePackage{multicol} % needed for the list of participants, index
    52 \RequirePackage{multicol} % needed for the list of participants, index
       
    53 \RequirePackage{aliascnt}
    52 
    54 
    53 \setlength{\textwidth}{12.2cm}
    55 \setlength{\textwidth}{12.2cm}
    54 \setlength{\textheight}{19.3cm}
    56 \setlength{\textheight}{19.3cm}
    55 \renewcommand\@pnumwidth{2em}
    57 \renewcommand\@pnumwidth{2em}
    56 \renewcommand\@tocrmarg{3.5em}
    58 \renewcommand\@tocrmarg{3.5em}
    73      \hb@xt@\@pnumwidth{\hfil\normalfont \normalcolor #5}%
    75      \hb@xt@\@pnumwidth{\hfil\normalfont \normalcolor #5}%
    74      \par}%
    76      \par}%
    75   \fi}
    77   \fi}
    76 %
    78 %
    77 \def\switcht@albion{%
    79 \def\switcht@albion{%
    78 \def\abstractname{Abstract.}
    80 \def\abstractname{Abstract.}%
    79 \def\ackname{Acknowledgement.}
    81 \def\ackname{Acknowledgement.}%
    80 \def\andname{and}
    82 \def\andname{and}%
    81 \def\lastandname{\unskip, and}
    83 \def\lastandname{\unskip, and}%
    82 \def\appendixname{Appendix}
    84 \def\appendixname{Appendix}%
    83 \def\chaptername{Chapter}
    85 \def\chaptername{Chapter}%
    84 \def\claimname{Claim}
    86 \def\claimname{Claim}%
    85 \def\conjecturename{Conjecture}
    87 \def\conjecturename{Conjecture}%
    86 \def\contentsname{Table of Contents}
    88 \def\contentsname{Table of Contents}%
    87 \def\corollaryname{Corollary}
    89 \def\corollaryname{Corollary}%
    88 \def\definitionname{Definition}
    90 \def\definitionname{Definition}%
    89 \def\examplename{Example}
    91 \def\examplename{Example}%
    90 \def\exercisename{Exercise}
    92 \def\exercisename{Exercise}%
    91 \def\figurename{Fig.}
    93 \def\figurename{Fig.}%
    92 \def\keywordname{{\bf Key words:}}
    94 \def\keywordname{{\bf Keywords:}}%
    93 \def\indexname{Index}
    95 \def\indexname{Index}%
    94 \def\lemmaname{Lemma}
    96 \def\lemmaname{Lemma}%
    95 \def\contriblistname{List of Contributors}
    97 \def\contriblistname{List of Contributors}%
    96 \def\listfigurename{List of Figures}
    98 \def\listfigurename{List of Figures}%
    97 \def\listtablename{List of Tables}
    99 \def\listtablename{List of Tables}%
    98 \def\mailname{{\it Correspondence to\/}:}
   100 \def\mailname{{\it Correspondence to\/}:}%
    99 \def\noteaddname{Note added in proof}
   101 \def\noteaddname{Note added in proof}%
   100 \def\notename{Note}
   102 \def\notename{Note}%
   101 \def\partname{Part}
   103 \def\partname{Part}%
   102 \def\problemname{Problem}
   104 \def\problemname{Problem}%
   103 \def\proofname{Proof}
   105 \def\proofname{Proof}%
   104 \def\propertyname{Property}
   106 \def\propertyname{Property}%
   105 \def\propositionname{Proposition}
   107 \def\propositionname{Proposition}%
   106 \def\questionname{Question}
   108 \def\questionname{Question}%
   107 \def\remarkname{Remark}
   109 \def\remarkname{Remark}%
   108 \def\seename{see}
   110 \def\seename{see}%
   109 \def\solutionname{Solution}
   111 \def\solutionname{Solution}%
   110 \def\subclassname{{\it Subject Classifications\/}:}
   112 \def\subclassname{{\it Subject Classifications\/}:}%
   111 \def\tablename{Table}
   113 \def\tablename{Table}%
   112 \def\theoremname{Theorem}}
   114 \def\theoremname{Theorem}}
   113 \switcht@albion
   115 \switcht@albion
   114 % Names of theorem like environments are already defined
   116 % Names of theorem like environments are already defined
   115 % but must be translated if another language is chosen
   117 % but must be translated if another language is chosen
   116 %
   118 %
   118 \def\switcht@francais{%\typeout{On parle francais.}%
   120 \def\switcht@francais{%\typeout{On parle francais.}%
   119  \def\abstractname{R\'esum\'e.}%
   121  \def\abstractname{R\'esum\'e.}%
   120  \def\ackname{Remerciements.}%
   122  \def\ackname{Remerciements.}%
   121  \def\andname{et}%
   123  \def\andname{et}%
   122  \def\lastandname{ et}%
   124  \def\lastandname{ et}%
   123  \def\appendixname{Appendice}
   125  \def\appendixname{Appendice}%
   124  \def\chaptername{Chapitre}%
   126  \def\chaptername{Chapitre}%
   125  \def\claimname{Pr\'etention}%
   127  \def\claimname{Pr\'etention}%
   126  \def\conjecturename{Hypoth\`ese}%
   128  \def\conjecturename{Hypoth\`ese}%
   127  \def\contentsname{Table des mati\`eres}%
   129  \def\contentsname{Table des mati\`eres}%
   128  \def\corollaryname{Corollaire}%
   130  \def\corollaryname{Corollaire}%
   129  \def\definitionname{D\'efinition}%
   131  \def\definitionname{D\'efinition}%
   130  \def\examplename{Exemple}%
   132  \def\examplename{Exemple}%
   131  \def\exercisename{Exercice}%
   133  \def\exercisename{Exercice}%
   132  \def\figurename{Fig.}%
   134  \def\figurename{Fig.}%
   133  \def\keywordname{{\bf Mots-cl\'e:}}
   135  \def\keywordname{{\bf Mots-cl\'e:}}%
   134  \def\indexname{Index}
   136  \def\indexname{Index}%
   135  \def\lemmaname{Lemme}%
   137  \def\lemmaname{Lemme}%
   136  \def\contriblistname{Liste des contributeurs}
   138  \def\contriblistname{Liste des contributeurs}%
   137  \def\listfigurename{Liste des figures}%
   139  \def\listfigurename{Liste des figures}%
   138  \def\listtablename{Liste des tables}%
   140  \def\listtablename{Liste des tables}%
   139  \def\mailname{{\it Correspondence to\/}:}
   141  \def\mailname{{\it Correspondence to\/}:}%
   140  \def\noteaddname{Note ajout\'ee \`a l'\'epreuve}%
   142  \def\noteaddname{Note ajout\'ee \`a l'\'epreuve}%
   141  \def\notename{Remarque}%
   143  \def\notename{Remarque}%
   142  \def\partname{Partie}%
   144  \def\partname{Partie}%
   143  \def\problemname{Probl\`eme}%
   145  \def\problemname{Probl\`eme}%
   144  \def\proofname{Preuve}%
   146  \def\proofname{Preuve}%
   145  \def\propertyname{Caract\'eristique}%
   147  \def\propertyname{Caract\'eristique}%
   146 %\def\propositionname{Proposition}%
   148 %\def\propositionname{Proposition}%
   147  \def\questionname{Question}%
   149  \def\questionname{Question}%
   148  \def\remarkname{Remarque}%
   150  \def\remarkname{Remarque}%
   149  \def\seename{voir}
   151  \def\seename{voir}%
   150  \def\solutionname{Solution}%
   152  \def\solutionname{Solution}%
   151  \def\subclassname{{\it Subject Classifications\/}:}
   153  \def\subclassname{{\it Subject Classifications\/}:}%
   152  \def\tablename{Tableau}%
   154  \def\tablename{Tableau}%
   153  \def\theoremname{Th\'eor\`eme}%
   155  \def\theoremname{Th\'eor\`eme}%
   154 }
   156 }
   155 %
   157 %
   156 % German section
   158 % German section
   167  \def\corollaryname{Korollar}%
   169  \def\corollaryname{Korollar}%
   168 %\def\definitionname{Definition}%
   170 %\def\definitionname{Definition}%
   169  \def\examplename{Beispiel}%
   171  \def\examplename{Beispiel}%
   170  \def\exercisename{\"Ubung}%
   172  \def\exercisename{\"Ubung}%
   171  \def\figurename{Abb.}%
   173  \def\figurename{Abb.}%
   172  \def\keywordname{{\bf Schl\"usselw\"orter:}}
   174  \def\keywordname{{\bf Schl\"usselw\"orter:}}%
   173  \def\indexname{Index}
   175  \def\indexname{Index}%
   174 %\def\lemmaname{Lemma}%
   176 %\def\lemmaname{Lemma}%
   175  \def\contriblistname{Mitarbeiter}
   177  \def\contriblistname{Mitarbeiter}%
   176  \def\listfigurename{Abbildungsverzeichnis}%
   178  \def\listfigurename{Abbildungsverzeichnis}%
   177  \def\listtablename{Tabellenverzeichnis}%
   179  \def\listtablename{Tabellenverzeichnis}%
   178  \def\mailname{{\it Correspondence to\/}:}
   180  \def\mailname{{\it Correspondence to\/}:}%
   179  \def\noteaddname{Nachtrag}%
   181  \def\noteaddname{Nachtrag}%
   180  \def\notename{Anmerkung}%
   182  \def\notename{Anmerkung}%
   181  \def\partname{Teil}%
   183  \def\partname{Teil}%
   182 %\def\problemname{Problem}%
   184 %\def\problemname{Problem}%
   183  \def\proofname{Beweis}%
   185  \def\proofname{Beweis}%
   184  \def\propertyname{Eigenschaft}%
   186  \def\propertyname{Eigenschaft}%
   185 %\def\propositionname{Proposition}%
   187 %\def\propositionname{Proposition}%
   186  \def\questionname{Frage}%
   188  \def\questionname{Frage}%
   187  \def\remarkname{Anmerkung}%
   189  \def\remarkname{Anmerkung}%
   188  \def\seename{siehe}
   190  \def\seename{siehe}%
   189  \def\solutionname{L\"osung}%
   191  \def\solutionname{L\"osung}%
   190  \def\subclassname{{\it Subject Classifications\/}:}
   192  \def\subclassname{{\it Subject Classifications\/}:}%
   191  \def\tablename{Tabelle}%
   193  \def\tablename{Tabelle}%
   192 %\def\theoremname{Theorem}%
   194 %\def\theoremname{Theorem}%
   193 }
   195 }
   194 
   196 
   195 % Ragged bottom for the actual page
   197 % Ragged bottom for the actual page
   537      \nobreak             % Never break after part entry
   539      \nobreak             % Never break after part entry
   538    \endgroup}
   540    \endgroup}
   539 
   541 
   540 \def\@dotsep{2}
   542 \def\@dotsep{2}
   541 
   543 
       
   544 \let\phantomsection=\relax
       
   545 
   542 \def\hyperhrefextend{\ifx\hyper@anchor\@undefined\else
   546 \def\hyperhrefextend{\ifx\hyper@anchor\@undefined\else
   543 {chapter.\thechapter}\fi}
   547 {}\fi}
   544 
   548 
   545 \def\addnumcontentsmark#1#2#3{%
   549 \def\addnumcontentsmark#1#2#3{%
   546 \addtocontents{#1}{\protect\contentsline{#2}{\protect\numberline
   550 \addtocontents{#1}{\protect\contentsline{#2}{\protect\numberline
   547                      {\thechapter}#3}{\thepage}\hyperhrefextend}}
   551                      {\thechapter}#3}{\thepage}\hyperhrefextend}}%
   548 \def\addcontentsmark#1#2#3{%
   552 \def\addcontentsmark#1#2#3{%
   549 \addtocontents{#1}{\protect\contentsline{#2}{#3}{\thepage}\hyperhrefextend}}
   553 \addtocontents{#1}{\protect\contentsline{#2}{#3}{\thepage}\hyperhrefextend}}%
   550 \def\addcontentsmarkwop#1#2#3{%
   554 \def\addcontentsmarkwop#1#2#3{%
   551 \addtocontents{#1}{\protect\contentsline{#2}{#3}{0}\hyperhrefextend}}
   555 \addtocontents{#1}{\protect\contentsline{#2}{#3}{0}\hyperhrefextend}}%
   552 
   556 
   553 \def\@adcmk[#1]{\ifcase #1 \or
   557 \def\@adcmk[#1]{\ifcase #1 \or
   554 \def\@gtempa{\addnumcontentsmark}%
   558 \def\@gtempa{\addnumcontentsmark}%
   555   \or    \def\@gtempa{\addcontentsmark}%
   559   \or    \def\@gtempa{\addcontentsmark}%
   556   \or    \def\@gtempa{\addcontentsmarkwop}%
   560   \or    \def\@gtempa{\addcontentsmarkwop}%
   557   \fi\@gtempa{toc}{chapter}}
   561   \fi\@gtempa{toc}{chapter}%
   558 \def\addtocmark{\@ifnextchar[{\@adcmk}{\@adcmk[3]}}
   562 }
       
   563 \def\addtocmark{%
       
   564 \phantomsection
       
   565 \@ifnextchar[{\@adcmk}{\@adcmk[3]}%
       
   566 }
   559 
   567 
   560 \def\l@chapter#1#2{\addpenalty{-\@highpenalty}
   568 \def\l@chapter#1#2{\addpenalty{-\@highpenalty}
   561  \vskip 1.0em plus 1pt \@tempdima 1.5em \begingroup
   569  \vskip 1.0em plus 1pt \@tempdima 1.5em \begingroup
   562  \parindent \z@ \rightskip \@tocrmarg
   570  \parindent \z@ \rightskip \@tocrmarg
   563  \advance\rightskip by 0pt plus 2cm
   571  \advance\rightskip by 0pt plus 2cm
   585  \@dotsep mu$}\hfill
   593  \@dotsep mu$}\hfill
   586  \nobreak\hbox to\@pnumwidth{\hss #2}\par
   594  \nobreak\hbox to\@pnumwidth{\hss #2}\par
   587  \penalty\@highpenalty \endgroup}
   595  \penalty\@highpenalty \endgroup}
   588 
   596 
   589 \def\l@author#1#2{\addpenalty{\@highpenalty}
   597 \def\l@author#1#2{\addpenalty{\@highpenalty}
   590  \@tempdima=\z@ %15\p@
   598  \@tempdima=15\p@ %\z@
   591  \begingroup
   599  \begingroup
   592  \parindent \z@ \rightskip \@tocrmarg
   600  \parindent \z@ \rightskip \@tocrmarg
   593  \advance\rightskip by 0pt plus 2cm
   601  \advance\rightskip by 0pt plus 2cm
   594  \pretolerance=10000
   602  \pretolerance=10000
   595  \leavevmode \advance\leftskip\@tempdima %\hskip -\leftskip
   603  \leavevmode \advance\leftskip\@tempdima %\hskip -\leftskip
   596  \textit{#1}\par
   604  \textit{#1}\par
   597  \penalty\@highpenalty \endgroup}
   605  \penalty\@highpenalty \endgroup}
   598 
   606 
   599 %\setcounter{tocdepth}{0}
   607 \setcounter{tocdepth}{0}
   600 \newdimen\tocchpnum
   608 \newdimen\tocchpnum
   601 \newdimen\tocsecnum
   609 \newdimen\tocsecnum
   602 \newdimen\tocsectotal
   610 \newdimen\tocsectotal
   603 \newdimen\tocsubsecnum
   611 \newdimen\tocsubsecnum
   604 \newdimen\tocsubsectotal
   612 \newdimen\tocsubsectotal
   777     \leftskip \fnindent%
   785     \leftskip \fnindent%
   778     \noindent
   786     \noindent
   779     \llap{\hb@xt@1em{\hss\@makefnmark\ }}\ignorespaces#1}
   787     \llap{\hb@xt@1em{\hss\@makefnmark\ }}\ignorespaces#1}
   780 
   788 
   781 \long\def\@makecaption#1#2{%
   789 \long\def\@makecaption#1#2{%
       
   790   \small
   782   \vskip\abovecaptionskip
   791   \vskip\abovecaptionskip
   783   \sbox\@tempboxa{{\bfseries #1.} #2}%
   792   \sbox\@tempboxa{{\bfseries #1.} #2}%
   784   \ifdim \wd\@tempboxa >\hsize
   793   \ifdim \wd\@tempboxa >\hsize
   785     {\bfseries #1.} #2\par
   794     {\bfseries #1.} #2\par
   786   \else
   795   \else
   871 \AtBeginDocument{\@ifundefined{url}{\def\url#1{#1}}{}%
   880 \AtBeginDocument{\@ifundefined{url}{\def\url#1{#1}}{}%
   872 \@ifpackageloaded{babel}{%
   881 \@ifpackageloaded{babel}{%
   873 \@ifundefined{extrasenglish}{}{\addto\extrasenglish{\switcht@albion}}%
   882 \@ifundefined{extrasenglish}{}{\addto\extrasenglish{\switcht@albion}}%
   874 \@ifundefined{extrasfrenchb}{}{\addto\extrasfrenchb{\switcht@francais}}%
   883 \@ifundefined{extrasfrenchb}{}{\addto\extrasfrenchb{\switcht@francais}}%
   875 \@ifundefined{extrasgerman}{}{\addto\extrasgerman{\switcht@deutsch}}%
   884 \@ifundefined{extrasgerman}{}{\addto\extrasgerman{\switcht@deutsch}}%
       
   885 \@ifundefined{extrasngerman}{}{\addto\extrasngerman{\switcht@deutsch}}%
   876 }{\switcht@@therlang}%
   886 }{\switcht@@therlang}%
       
   887 \providecommand{\keywords}[1]{\par\addvspace\baselineskip
       
   888 \noindent\keywordname\enspace\ignorespaces#1}%
   877 }
   889 }
   878 \def\homedir{\~{ }}
   890 \def\homedir{\~{ }}
   879 
   891 
   880 \def\subtitle#1{\gdef\@subtitle{#1}}
   892 \def\subtitle#1{\gdef\@subtitle{#1}}
   881 \clearheadinfo
   893 \clearheadinfo
   882 
   894 %
       
   895 %%% to avoid hyperref warnings
       
   896 \providecommand*{\toclevel@author}{999}
       
   897 %%% to make title-entry parent of section-entries
       
   898 \providecommand*{\toclevel@title}{0}
       
   899 %
   883 \renewcommand\maketitle{\newpage
   900 \renewcommand\maketitle{\newpage
       
   901 \phantomsection
   884   \refstepcounter{chapter}%
   902   \refstepcounter{chapter}%
   885   \stepcounter{section}%
   903   \stepcounter{section}%
   886   \setcounter{section}{0}%
   904   \setcounter{section}{0}%
   887   \setcounter{subsection}{0}%
   905   \setcounter{subsection}{0}%
   888   \setcounter{figure}{0}
   906   \setcounter{figure}{0}
   907 %
   925 %
   908     \def\\{\unskip\ \ignorespaces}\def\inst##1{\unskip{}}%
   926     \def\\{\unskip\ \ignorespaces}\def\inst##1{\unskip{}}%
   909     \def\thanks##1{\unskip{}}\def\fnmsep{\unskip}%
   927     \def\thanks##1{\unskip{}}\def\fnmsep{\unskip}%
   910     \instindent=\hsize
   928     \instindent=\hsize
   911     \advance\instindent by-\headlineindent
   929     \advance\instindent by-\headlineindent
   912 %    \if!\the\toctitle!\addcontentsline{toc}{title}{\@title}\else
   930     \if!\the\toctitle!\addcontentsline{toc}{title}{\@title}\else
   913 %       \addcontentsline{toc}{title}{\the\toctitle}\fi
   931        \addcontentsline{toc}{title}{\the\toctitle}\fi
   914     \if@runhead
   932     \if@runhead
   915        \if!\the\titlerunning!\else
   933        \if!\the\titlerunning!\else
   916          \edef\@title{\the\titlerunning}%
   934          \edef\@title{\the\titlerunning}%
   917        \fi
   935        \fi
   918        \global\setbox\titrun=\hbox{\small\rm\unboldmath\ignorespaces\@title}%
   936        \global\setbox\titrun=\hbox{\small\rm\unboldmath\ignorespaces\@title}%
   932     \else
   950     \else
   933       \def\\{\noexpand\protect\noexpand\newline}%
   951       \def\\{\noexpand\protect\noexpand\newline}%
   934       \protected@xdef\scratch{\the\tocauthor}%
   952       \protected@xdef\scratch{\the\tocauthor}%
   935       \protected@xdef\toc@uthor{\scratch}%
   953       \protected@xdef\toc@uthor{\scratch}%
   936     \fi
   954     \fi
   937 %    \addcontentsline{toc}{author}{\toc@uthor}%
   955     \addtocontents{toc}{\noexpand\protect\noexpand\authcount{\the\c@auco}}%
       
   956     \addcontentsline{toc}{author}{\toc@uthor}%
   938     \if@runhead
   957     \if@runhead
   939        \if!\the\authorrunning!
   958        \if!\the\authorrunning!
   940          \value{@inst}=\value{@auth}%
   959          \value{@inst}=\value{@auth}%
   941          \setcounter{@auth}{1}%
   960          \setcounter{@auth}{1}%
   942        \else
   961        \else
  1036                                \global\@namedef{end#1}{\@endtheorem}}}
  1055                                \global\@namedef{end#1}{\@endtheorem}}}
  1037 
  1056 
  1038 \def\@spothm#1[#2]#3#4#5{%
  1057 \def\@spothm#1[#2]#3#4#5{%
  1039   \@ifundefined{c@#2}{\@latexerr{No theorem environment `#2' defined}\@eha}%
  1058   \@ifundefined{c@#2}{\@latexerr{No theorem environment `#2' defined}\@eha}%
  1040   {\expandafter\@ifdefinable\csname #1\endcsname
  1059   {\expandafter\@ifdefinable\csname #1\endcsname
  1041   {\global\@namedef{the#1}{\@nameuse{the#2}}%
  1060   {\newaliascnt{#1}{#2}%
  1042   \expandafter\xdef\csname #1name\endcsname{#3}%
  1061   \expandafter\xdef\csname #1name\endcsname{#3}%
  1043   \global\@namedef{#1}{\@spthm{#2}{\csname #1name\endcsname}{#4}{#5}}%
  1062   \global\@namedef{#1}{\@spthm{#1}{\csname #1name\endcsname}{#4}{#5}}%
  1044   \global\@namedef{end#1}{\@endtheorem}}}}
  1063   \global\@namedef{end#1}{\@endtheorem}}}}
  1045 
  1064 
  1046 \def\@spthm#1#2#3#4{\topsep 7\p@ \@plus2\p@ \@minus4\p@
  1065 \def\@spthm#1#2#3#4{\topsep 7\p@ \@plus2\p@ \@minus4\p@
  1047 \refstepcounter{#1}%
  1066 \refstepcounter{#1}%
  1048 \@ifnextchar[{\@spythm{#1}{#2}{#3}{#4}}{\@spxthm{#1}{#2}{#3}{#4}}}
  1067 \@ifnextchar[{\@spythm{#1}{#2}{#3}{#4}}{\@spxthm{#1}{#2}{#3}{#4}}}