Missing point in theorem number

numberingsv-classes

I am required to use Springer's svjour3 as \documentclass and this leads to an ugly numbering: Using \newtheorem{mytheorem}{Theorem}[section] and \begin{mytheorem} this yields numbers like 11,12,21,22 – without a dot between the section number and the theorem number. I (and the referee) would like to have numbers like 1.1, 1.2, 2.1, 2.2 instead.

The exact same problem with the llncs class was reported in this question but the solution given there – using \spnewtheorem instead of \newtheorem – doesn't work (error: "Missing \begin{document}")

Here is a minimal working example:

\documentclass{svjour3}
\usepackage{amsmath}
\newtheorem{mytheorem}{Theorem}[section]
\begin{document}
\section{foo}
\begin{mytheorem} 
\end{mytheorem} 
\begin{theorem} 
\end{theorem} 
\section{bar}
\begin{mytheorem} 
\end{mytheorem} 
\begin{theorem} 
\end{theorem} 
\end{document}

I don't know how common the document class is, but here is the class file provided by Springer

Best Answer

You need to set envcountsect to true and use \spnewtheorem

b

\documentclass[envcountsect]{svjour3} % <<<<<<<<<<<<<<<<<<<
\usepackage{amsmath}

\spnewtheorem{mytheorem}{Theorem}[section]{\bfseries}{\itshape}

\begin{document}
    \section{foo}
    \begin{mytheorem} 
    \end{mytheorem} 
    \begin{theorem} 
    \end{theorem} 
    \section{bar}
    \begin{mytheorem} 
    \end{mytheorem} 
    \begin{theorem} 
    \end{theorem} 
\end{document}
Related Question