3

When using the LaTeX class siamltx (from the SIAM page) together with amsthm (which I need for its theoremstyle command), I'm getting the error message

! LaTeX Error: No counter 'Theorem' defined.

The following code reproduces the error.

\documentclass{siamltex}                                                        

\let\proof\relax                                                                
\let\endproof\relax                                                             
\usepackage{amsthm}                                                             

\begin{document}                                                                

\begin{theorem}                                                                 
dasdas                                                                          
\end{theorem}                                                                   

\end{document}

Any way around this?

4
  • 2
    I'm afraid siamltex is not compatible with amsthm, because it redefines macros such as \@begintheorem in a way that amsthm can't deal with.
    – egreg
    Commented Dec 3, 2013 at 19:03
  • @Jubobs exactly which macros in your list indicate amsthm? \newtheorem is a part of latex core
    – daleif
    Commented Dec 4, 2013 at 6:37
  • @daleif You're absolutely right! I always thought \newtheorem was defined by the amsthm package. My mistake. I'll delete my earlier comment.
    – jub0bs
    Commented Dec 4, 2013 at 7:08
  • @Jubobs, trick use texdoc source2e to see what is in the core.
    – daleif
    Commented Dec 4, 2013 at 8:06

1 Answer 1

5

This class already defines the theorem environment, but amsthm redefines some (but not all) of the internal commands used in that definition (notably \@thm). This completely messes things up. For this reason, amsthm cannot be loaded under siamltex.cls. Sometimes, loading the package before the document class works. This can be done with

\RequirePackage{amsthm}
\documentclass{siamltex}

Unfortunately, the reverse problem occurs: siamltex redefines an internal macro of amsthm's version of the theorem environment (\@begintheorem) and messes it up.

The only work-around is not to use these two together. The class defines the various theorem-like environments already, as well as the proof environment, and does so in the ways the SIAM publishers chose, so there seems to be no reason for amsthm.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .