Take the 2-minute tour ×
TeX - LaTeX Stack Exchange is a question and answer site for users of TeX, LaTeX, ConTeXt, and related typesetting systems. It's 100% free, no registration required.

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?

share|improve this question
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 '12 at 9:40

1 Answer 1

up vote 11 down vote accepted

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 a ctan mirror.

share|improve this answer

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.