Why do AMS document classes incorporate the amsthm package, rather than loading it using the usual \RequirePackage mechanism the way they load amsmath and amsfonts? The document classes even "simulate the loading of the amsthm package" in order to "guard against redundant loading"! Why so complicated?

  • I don't know; however amsthm.sty is obtained by the same sources, so the version of the package is just the same. I guess that the amsthm package was considered a "bonus".
    – egreg
    Dec 24, 2012 at 9:40

1 Answer 1


first of all, the ams document classes were originally created to produce documents in accordance with ams style specifications, and only after their (re)implementation for latex2e were they included in the "required" latex complement. theorems have a specific style within the ams environment, so it was logical to incorporate the code for theorems directly. that way, portions of the code that are shared between the document classes and the specific theorem support would not be in possible conflict with one another which could be possible if the theorem style were loaded separately.

some features are defined separately for amsthm and the classes; one example is the setting of the spacing above and below theorems. some other features are intended to work in concert with amsmath; these must be defined differently in amsthm if there is a possibility that amsmath is not loaded. the present version of the ams classes contains the code for both, since it retains the ability to exclude amsmath in order to support documents prepared with now-obsolete versions of ams classes with \documentstyle. this feature will be considered for exclusion with the next overhaul of the class files, since by that time, it will have been obsolete for nearly 20 years, and should not be used by any authors creating new documents; to allow older documents to be (re)processed, "antique" versions of the ams classes will be archived, but not supported. this will simplify the fixing of some known bugs and deficiencies in the code of both amsthm and the class files.

the code documentation for the ams classes and amsthm is included in tex live, and can be called up with texdoc amsclass. if documentation files have been excluded from your installation, the file amsclass.pdf can be obtained from the online texdoc archive.


You must log in to answer this question.

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