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?
1 Answer
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.
amsthm.sty
is obtained by the same sources, so the version of the package is just the same. I guess that theamsthm
package was considered a "bonus".