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