AMS-L^{A}TEX Version 1.1

User’s Guide

American Mathematical Society August 1991

Contents

I General 1

1 Introduction 1

1.1 Notes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 2 The AMS-L^{A}TEX project 1 3 Major components of the AMS-L^{A}TEX package 3

II Font considerations 4

4 The font selection scheme of Mittelbach and Schöpf 4 5 Basic concepts 4

5.1 Shape . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 5.2 Series . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 5.3 Size . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 5.4 Family . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 5.5 Using other font families . . . . . . . . . . . . . . . . . . . . . . . 7 5.6 The oldlfont option . . . . . . . . . . . . . . . . . . . . . . . . . 8 5.7 Warnings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 5.8 Customization of fontdef files . . . . . . . . . . . . . . . . . . . . 9

5.8.1 A typical font definition . . . . . . . . . . . . . . . . . . . 10 5.8.2 Substitutions for individual sizes . . . . . . . . . . . . . . 11 5.8.3 Substitution of a different series, shape, or family . . . . . 12

6 Names of math font commands 12 7 The command \newsymbol 16 8 The amssymb option 17

III Features of the amstex option 18

9 Math spacing commands 18 10 Multiple integral signs 18 11 Over and under arrows 18 12 Dots 18 13 Accents in math 19

14 Roots 20

15 Boxed formulas 20

16 Extensible arrows 20

17 \overset, \underset and \sideset  21

18 The \text command 21

19 Operator names 22

20 \mod and its relatives 22

21 Fractions and related constructions 22

22 Continued fractions 23

23 Smash options 23

24 New L^{A}TEX environments 24 24.1 The “cases” environment . . . . . . . . . . . . . . . . . . . . . . 24 24.2 Matrix . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24 24.3 The Sb and Sp environments . . . . . . . . . . . . . . . . . . . . 25 24.4 Commutative diagrams . . . . . . . . . . . . . . . . . . . . . . . 25

25 Alignment structures for equations 26 25.1 The align environment . . . . . . . . . . . . . . . . . . . . . . . 27 25.2 The gather environment . . . . . . . . . . . . . . . . . . . . . . . 27 25.3 The alignat environment . . . . . . . . . . . . . . . . . . . . . . 27 25.4 The multline environment . . . . . . . . . . . . . . . . . . . . . 27 25.5 The split environment . . . . . . . . . . . . . . . . . . . . . . . 28 25.6 Alignment environments that don’t constitute an entire display . 28 25.7 Vertical spacing and page breaks in the amstex equation structures 28 25.8 The \intertext command . . . . . . . . . . . . . . . . . . . . . 29 25.9 Equation numbering . . . . . . . . . . . . . . . . . . . . . . . . . 29 25.10Error messages . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30

26 Miscellaneous 30

27 New documentstyle options available 30 27.1 Comments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31 27.2 Syntax checking . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31 28 Protecting fragile commands 32

29 Differences the L^{A}TEX user should note 32

IV The amsart and amsbook documentstyles 33

30 General remarks 33

31 The amsart documentstyle 34 31.1 Top matter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34 31.2 Memory conservation measures . . . . . . . . . . . . . . . . . . . 34 31.3 Running heads . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35 31.4 Non-English versions of automatically generated text . . . . . . . 35 31.5 Theorems, definitions, and similar structures . . . . . . . . . . . 36 31.6 Proofs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37 31.7 Miscellaneous notes . . . . . . . . . . . . . . . . . . . . . . . . . . 38

31.7.1 Variations from standard L^{A}TEX . . . . . . . . . . . . . . . 38 31.7.2 Numbers and punctuation in italic text . . . . . . . . . . 38

32 The amsbook documentstyle 39 32.1 Front matter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39 32.2 Running heads . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40

33 Bibliography styles for use with BibTEX 40

V Appendixes 41

A Installation instructions 41 A.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41 A.2 Files included in this distribution . . . . . . . . . . . . . . . . . . 41 A.3 Copying files to the appropriate directories . . . . . . . . . . . . 42 A.4 Making a new format file . . . . . . . . . . . . . . . . . . . . . . 43 A.5 Using the new format file . . . . . . . . . . . . . . . . . . . . . . 45

A.5.1 Math fonts . . . . . . . . . . . . . . . . . . . . . . . . . . 45 A.6 Using the old format file . . . . . . . . . . . . . . . . . . . . . . . 45 A.7 Installation for use with Textures . . . . . . . . . . . . . . . . . . 46

A.7.1 Putting the Files in the Right Place . . . . . . . . . . . . 46 A.7.2 Creating a New Format . . . . . . . . . . . . . . . . . . . 46

B Files included in the AMS-L^{A}TEX distribution 48 B.1 Files maintained by the American Mathematical Society . . . . . 48 B.2 Files maintained by Mittelbach and Schöpf . . . . . . . . . . . . 50 C Differences between AMS-TEX (version 2.1) and the amstex op-

tion 50 C.1 Document structure commands . . . . . . . . . . . . . . . . . . . 50 C.2 Math font commands . . . . . . . . . . . . . . . . . . . . . . . . . 51 C.3 Matrices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51 C.4 Displayed equation structures . . . . . . . . . . . . . . . . . . . . 52 C.5 Math style commands . . . . . . . . . . . . . . . . . . . . . . . . 52 C.6 \thickfrac . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52 C.7 Commenting out a large section of text . . . . . . . . . . . . . . 52 C.8 Page breaks inside a display . . . . . . . . . . . . . . . . . . . . . 52 C.9 Special colons in math . . . . . . . . . . . . . . . . . . . . . . . . 52 C.10 Paragraphed text within a displayed equation . . . . . . . . . . . 53 C.11 Commutative diagrams . . . . . . . . . . . . . . . . . . . . . . . 53 C.12 Footnotes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53 C.13 Vertical spacing . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53 C.14 Blank space for figures . . . . . . . . . . . . . . . . . . . . . . . . 53 C.15 \hdotsfor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54 C.16 \topsmash and \botsmash . . . . . . . . . . . . . . . . . . . . . . 54 C.17 \spreadlines and other display options . . . . . . . . . . . . . . 54 C.18 The \and command . . . . . . . . . . . . . . . . . . . . . . . . . 54 C.19 Global options . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54

D Memory statistics 54 D.1 Recommended values for the various TEX memory categories . . 55

E Getting help 58 E.1 Further information . . . . . . . . . . . . . . . . . . . . . . . . . 58

Index 60

Part I

General

1 Introduction

The necessary documentation for using the AMS-L^{A}TEX package has two parts: this User’s Guide, and some sample files illustrating the features available in the AMS-L^{A}TEX package. The file used to produce this User’s Guide is

amslatex.tex; the sample files are named testart.tex and testbook.tex.

Installation instructions for the AMS-L^{A}TEX package are found in Appendix A. As explained there, installation requires making a new L^{A}TEX format file. This User’s Guide, however, can be typeset without the new format file, so that users can read it before proceeding further if they wish. As a consequence, though, it was impractical in many cases to show sample output for commands from the amstex option; this is done instead in the sample file testart.tex. In the User’s Guide approximate output has been shown for the purposes of illustration when it was practical to do so in ordinary L^{A}TEX.

For best understanding, you should be reasonably familiar with the L^{A}TEX manual: L^{A}TEX: A document preparation system, by Leslie Lamport [4]. Reading the Joy of TEX [6] (the manual for AMS-TEX) will help you get the most out of the AMS-L^{A}TEX software, but is not mandatory. For users whose background is in AMS-TEX rather than L^{A}TEX, there is an appendix describing the ways in which the L^{A}TEX amstex option differs from AMS-TEX 2.1.

1.1 Notes

The notation ⟨dimension⟩, ⟨number⟩, indexnumber@number and the like will be used to indicate that an arbitrary dimension or number or whatever is to be substituted by the user. By dimension we mean a number followed by one of TEX’s standard units pt, pc, in, mm, cm, and so forth.

It is important in this User’s Guide that we distinguish between the original, non-L^{A}TEX implementation of AMS-TEX and the modified form of it that constitutes the L^{A}TEX option amstex. Typewriter type will be used for the L^{A}TEX option amstex, and the standard logo AMS-TEX will be used for the original non-L^{A}TEX version.

2 The AMS-L^{A}TEX project

AMS-TEX was originally released for general use in 1982. Its main strength is that it makes it easy for the user to typeset mathematics, while taking care of the many details necessary to make the output satisfy the high standards of mathematical publishing. It provides a predefined set of natural commands such as \matrix and \text that make complicated mathematics reasonably convenient to type. These commands incorporate the typesetting experience and standards of the American Mathematical Society, to handle problematic possibilities without burdening the user: matrices within matrices, or a word of text within a subscript, and so on.

AMS-TEX, unlike L^{A}TEX does not have certain features that are very convenient for authors—automatic numbering that adjusts to addition or deletion of material being the primary one. There are also labor-saving ways provided in L^{A}TEX for preparing such items as indexes, bibliographies, tables, and simple diagrams. These features are such a convenience for authors that the use of L^{A}TEX spread rapidly in the mid-80s (a reasonably mature version of L^{A}TEX was available by the end of 1983), and the American Mathematical Society began to be asked by its authors to accept electronic submissions in L^{A}TEX.

The obvious question to ask was whether the strengths of AMS-TEX could be combined with the strengths of L^{A}TEX, and in 1987 the American Mathematical Society began to investigate the possibility of doing just that. Work on the AMS-L^{A}TEX project was carried out over the next three years by Romesh Kumar, a TEX consultant in the Chicago area, and by West German L^{A}TEX experts Frank Mittelbach and Rainer Schöpf, with assistance from Michael Downes of the American Mathematical Society technical support staff.

The overall philosophy was to provide AMS-TEX commands to the L^{A}TEX user while adhering to standard L^{A}TEX syntax as much as possible. Thus, to make their syntax more like normal L^{A}TEX syntax, AMS-TEX commands having the form \something…\endsomething were converted to L^{A}TEX environments,

so that they now have the form \begin{something}. . .\end{something}. For

example, a matrix is typed as \begin{matrix}… \end{matrix} instead of \matrix…\endmatrix. Also, some commands that have top and bottom options were changed so that the option is specified using [t] or [b] instead of by a prefix top or bot in the command name. See Appendix C for more details.

A good part of the original AMS-TEX was whittled off in the creation of the amstex option. Many commands were redundant and were simply dropped; others seemed only marginally useful and were omitted in order to conserve control sequence memory. Some internal control sequences were eliminated by restructuring the code.

AMS-L^{A}TEX is different enough from the original AMS-TEX that using the Joy of TEX as documentation would be unsatisfactory. Instead, this User’s Guide aims to be more or less self-sufficient. The Joy of TEX is still recommended reading because it provides background information that helps explain why some things are handled the way they are.

3 Major components of the AMS-L^{A}TEX package

The first major part of the AMS-L^{A}TEX package is an extensive modification of AMS-TEX 2.0+ that allows it to be used in L^{A}TEX as a documentstyle option. In other words, if you are writing an article, your documentstyle declaration should look like this:

     \documentstyle[amstex]{article}

The second major part of the AMS-L^{A}TEX package is a pair of documentstyles called amsart and amsbook, parallel to L^{A}TEX’s article and book, which are designed to be used in preparing manuscripts for submission to the AMS. There is nothing to prohibit their use for other purposes; some users have said that they like using these documentstyles, even when they don’t intend to submit their manuscripts to the AMS, just because they find the general design pleasing.

When the amsart and amsbook style files are used the amstex option will be automatically included, so that the documentstyle declarations would simply

be \documentstyle{amsart} or \documentstyle{amsbook}.

The analog in AMS-TEX of the amsart documentstyle is the documentstyle amsppt (“AMS preprint”). In amsart and amsbook the document structure commands of the amsppt style described in Appendix A of the Joy of TEX have been superseded by their L^{A}TEX equivalents, where equivalents existed, and otherwise have been reimplemented in L^{A}TEX form. The bibliography commands described in Appendix C of the Joy of TEX have been dropped in favor of BibTEX, partly because this saves a significant amount of memory.

Part II

Font considerations

4 The font selection scheme of Mittelbach and Schöpf

In order to provide not only access to the AMSFonts currently available but a general, reliable mechanism for making new math fonts accessible to the user, the Society enlisted Frank Mittelbach and Rainer Schöpf to adapt their recently developed font selection scheme to accommodate the needs of the AMS-L^{A}TEX project. This new scheme has a couple of distinctive features: (1) fonts (even math fonts) need not be preloaded but can be loaded on demand; (2) font switches work a bit differently—attributes are independent, and only one is changed at a time. In L^{A}TEX terms this means that, for example, \bf\Large has the same effect as \Large\bf.

At the present time the files for the new font selection scheme are being distributed along with the AMS-L^{A}TEX package, with the permission of Mittelbach and Schöpf; in the future the new scheme is slated to become an official part of L^{A}TEX, in place of the current scheme. A detailed description of the workings of the font selection scheme can be found in an article by Mittelbach and Schöpf that appeared in TUGboat, June 1990 (vol. 11, no. 2): The new font family selection—user interface to standard L^{A}TEX [5]. If you don’t have access to that article, see the file fontsel.tex in the fontsel distribution.

5 Basic concepts

In normal use, the ordinary L^{A}TEX commands \rm, \it, \tt, \bf are defined in terms of more primitive commands \family etc., and still function in much the same way as before. Knowledge of the more primitive commands will not be essential except in documentstyle design or similar tasks.

The Mittelbach–Schöpf font selection scheme classifies fonts based on the attributes shape, series, size, and family. Each attribute can be changed independently using the commands \shape, \series, \size, and \family. For example, to change the family attribute to cmr (Computer Modern roman), the command would be \family{cmr}. Note that these commands do not actually select the new font, because it’s not uncommon for you to want to change several attributes at a time before actually switching to the new font. The command for putting the new attributes into effect is \selectfont. For example, if the current font is family cmr, size 10/12 (10-point type with 12-point baselineskip), series m (medium weight and width), and shape it (italic), then the command

     \family{cmtt}\shape{n}\selectfont

would switch to a Computer Modern typewriter font in the “normal,” i.e., upright, shape. The size and series values used in the selection of the new font would remain the same as before.

5.1 Shape

The shape attribute is either: normal (n), italic (it), small caps (sc), slanted (or “sloped”) (sl), or upright italic (u). The first three of these are the shapes that were typically found together in the same font case, in the days of manual typesetting. The latter two are somewhat unusual variant shapes that are present in the Computer Modern fonts.

The command to switch to a particular shape, say sc, without changing other font attributes would be

     \shape{sc}\selectfont

but there are abbreviations for the most common shape changes: \sc, \it, \sl, and \normalshape. These are the same as in the previous font selection scheme, except for \normalshape, which may be understood as a replacement for \rm. In the new font selection scheme \rm is a family-changing command, not a shape-changing command. If you are dismayed at the prospect of typing many instances of \normalshape, which is obviously much longer than \rm, you needn’t be. As you will see, many former uses of \rm, especially in mathematics, are better handled by other means. With astute use of grouping, most documents can be done without using \normalshape at all.

5.2 Series

The series attribute is actually a combination of two related attributes, weight and width. The font charts of type manufacturers typically show weights of light, medium, and bold, and widths of condensed, medium, and expanded, with intermediate and extreme variations such as semibold, extra bold, and ultra bold. The full list of the weights and widths allowed for in the Mittelbach–Schöpf scheme are as shown in Table 1 (adapted from Table 1 in [5]), along with their corresponding abbreviations for use with the \series command. Examples:

\series{ux}\selectfont Switches to an ultra expanded version of the current font.

\series{sbc}\selectfont Switches to a semibold condensed version of the current font.

\series{m}\selectfont Switches to a medium weight, medium width version of the current font.

Only two series changes are common enough to require abbreviations: \bf and \mediumseries are abbreviations for, respectively,

     \series{bx}\selectfont   \series{m}\selectfont

or, in other words, “bold” and “not bold”.^{1}

Table 1: Font weights and widths, and their abbreviations. For use in the \series command, combine the weight and width abbreviations, dropping any m’s (for “medium”), except in the case where both weight and width are medium: then use a single m. Examples: Ultra Bold Condensed: ubc; Medium Condensed: c.

Weight  Width
Ultra Light  ul Ultra Condensed uc
Extra Light  el Extra Condensed ec
Light  l Condensed  c
Semilight  sl Semicondensed  sc
Medium (normal) m Medium  m
Semibold  sb Semiexpanded  sx
Bold  b Expanded  x
Extra Bold  eb Extra Expanded ex
Ultra Bold  ub Ultra Expanded ux

5.3 Size

Because a change in font size is usually accompanied by a change in baselineskip, the \size command is designed to take two arguments, the new size and the new baselineskip. To switch to 14-point type with a baselineskip of 18 points, the command would be

     \size{14}{18pt}\selectfont

All the usual L^{A}TEX size-changing commands from \tiny to \Huge have suitable definitions based on the \size command.

Note. In the specification for the baselineskip, it is necessary to give the units, because in some situations a unit other than pt may be desirable, or a skip register (see [3, p. 118]) might be used instead of an explicit value.

5.4 Family

We define a font family as a group of fonts of various shapes, widths, and weights, that share distinctive design features, such as x-height, the relative thickness of horizontal and vertical strokes, distinctive shapes of particular letters, and so forth. In other words, fonts in the same family share a resemblance that fonts from different families don’t share (though in some cases the resemblance is obvious only to an experienced eye). Table 2 gives a classification of some of the Computer Modern fonts according to family.

1See the remarks in Subsection 5.5 about \bfdefault.

Table 2: Computer Modern font families

Font file name Family (and abbreviation)

   cmr10, cmti10, cmsl10,
   cmcsc10, cmu10, cmbx10,
   cmbxti, cmbxsl, cmb10

Computer modern roman (cmr)

   cmss10, cmssi10, cmssbx10,
   cmssdc10

Computer modern sans serif (cmss)

   cmtt10, cmitt10, cmsltt,
   cmtcsc10

Computer modern typewriter (cmtt)

The abbreviations \rm, \tt, and \sf are provided for switching to the Computer Modern roman, typewriter, and sans serif families. (The definition of \sf,

for example, is \family{cmss}\selectfont.)

5.5 Using other font families

If the base family of a document is Computer Modern roman, with other families used only sporadically, the other families would be selected using the \family command as described in §5.4. If you want to change the base family of the document, however, say to Times Roman or Baskerville, then the best way is to change the default family settings. In a canonical setup with all Computer Modern fonts, the following definitions are in effect:

     \newcommand\rmdefault{cmr}
     \newcommand\sfdefault{cmss}
     \newcommand\ttdefault{cmtt}

Some or all of these default settings can be changed using \renewcommand. For example, if you have families pstr, pshel, and pstt for respectively PostScript Times Roman, PostScript Helvetica, and Postscript Typewriter fonts, then you could make them the default via the commands

     \renewcommand{\rmdefault}{pstr}
     \renewcommand{\sfdefault}{pshel}
     \renewcommand{\ttdefault}{pstt}

either in the preamble of an individual document, or in an option file (which then could be used by more than one document). After these changes, the commands \rm, \sf, and \tt will select the PostScript families rather than Computer Modern families. Computer Modern families would still be accessible through explicit use of the \family command, e.g.,

     \family{cmtt}\selectfont

Note that in order to use such alternate families you must have on your computer system a fontdef file that defines which fonts belong to the families pstr, pshel, and pstt, as well as what sizes, shapes, and weights are available on your particular system; see the file fontdef.max for more details (and also section 5.8).

In addition to the family defaults, there are defaults for some other font

attributes: \bfdefault, \itdefault, \scdefault, and \sldefault. These

give further control over fonts. I.e., if you wanted to have all the slanted fonts in a document come out in italic, it could be done like this:

     \renewcommand{\sldefault}{it}

The normal values for these defaults are

     \bfdefault      bx
     \itdefault      it
     \scdefault      sc
     \sldefault      sl

Notice that by default bold fonts come from the Bold Expanded series rather than the Bold series. A comparison of the bold Computer Modern fonts provided in standard distributions of TEX shows why:

Bold  Bold Expanded

                 cmb10  cmbxsl8   cmbx5  cmbx9
                         cmbxsl10  cmbx6  cmbx10
                         cmbxti7   cmbx7  cmbx12
                         cmbxti10  cmbx8

5.6 The oldlfont option

When the Mittelbach–Schöpf font selection scheme is in use, emulation of the old font selection scheme can be obtained by adding the option oldlfont to the documentstyle options list. When the oldlfont option is used, size-changing commands return to normal shape and medium series in addition to changing the font size; \rm gives normal shape and medium series; \tt gives the normal shape and medium series of the typewriter font; and \sf gives the normal shape and medium series of sans serif.

5.7 Warnings

Many combinations of font attributes are not available at the present time because the corresponding fonts do not exist. The combination

     \family{cmr}\series{bx}\shape{sl}

happens to be available, because the corresponding font file, cmbxsl10, is part of the standard TEX distribution. However, for the combination

     \family{cmss}\series{sbux}\shape{sc}

“Computer Modern sans serif semibold ultra expanded small caps,” no font file currently exists.

When a combination of font attributes is selected that is not available, the nearest available font will be substituted, and a warning message—not an error message, just a warning message—will appear on-screen during the processing of the document file. The warning message will indicate which font was substituted.

Once in a while, you may find surprising results from a few commands in standard L^{A}TEX because they do not reset all the font attributes in the new font selection scheme. For example, if the \footnote command appears within italic text (e.g., in a theorem), then the text of the footnote will also be italic, because the standard definition of \footnote resets only the size attribute, not the shape or family or series attributes. Problems of this nature have been corrected in the amsart and amsbook documentstyles, and will be rectified in future versions of L^{A}TEX for the standard L^{A}TEX documentstyles. In the meantime, you can add explicit font commands where needed: to get a normal footnote in italic text, type

     \footnote{\normalshape ...}

instead of just \footnote.

When using the Mittelbach–Schöpf scheme, the font names listed in an “overfull hbox” message won’t look the same as before. Each font name will have the family, series, shape, and size, separated by slashes. For example, 10-point Computer Modern bold extended will appear as \cmr/bx/n/10. Formerly it would have appeared as \tenbf.

5.8 Customization of fontdef files

There are three fontdef files in the standard collection of AMS-L^{A}TEX files. Two of them, fontdef.ori and fontdef.max, originated with Mittelbach and Schöpf, while the third, fontdef.ams, was produced at the AMS by adapting fontdef.max. Although these standard fontdef files will work reasonably well for most users, it will often be to users’ advantage to make a customized fontdef file for their own use. This is because two users chosen at random seldom have exactly the same collection of fonts, unless they bought the same product at the same time from the same company. Printer drivers that use bitmapped fonts (usually in the form of .PK files) generally require a separate bitmap file for each size of each font, so that a fairly frequent problem is for a particular user to be missing a few of the particular bitmaps needed for the fonts and sizes called for in a document. The action taken by printer drivers when a font is not found varies from useful (offering to substitute another font) to not at all useful (refusing entirely to print the document). The Mittelbach–Schöpf font scheme offers a substitution mechanism in the fontdef files for getting around the latter problem, as described below.

5.8.1 A typical font definition

Here is a typical font definition from fontdef.max, for Computer Modern text italic:

     \new@fontshape{cmr}{m}{it}{%
           <5>cmti7 at5pt%
           <6>cmti7 at6pt%
           <7>cmti7%
           <8>cmti8%
           <9>cmti9%
           <10>cmti10%
           <11>cmti10 at10.95pt%
           <12>cmti12%
           <14>cmti12 at14.4pt%
           <17>cmti12 at17.28pt%
           <20>cmti12 at20.74pt%
           <25>cmti12 at24.88pt%
           }{}

We now discuss the definition piece by piece.

\new@fontshape This is the command used to define each family/series/shape combination. The @ character in the command name indicates that this is an internal command. It has five arguments, indicated by the pairs of curly braces { }.

{cmr} The font family: argument 1.

{m} The font series: argument 2.

{it} The font shape: argument 3.

{<5>cmti7 ...} A list of point sizes and the external font descriptions of the fonts that will be used for each point size. For example, the line <7>cmti7 means that if a seven-point font in this particular family/series/shape combination is required, the external font file “cmti7” will be used. There shouldn’t be any spaces in this list, except before “at” clauses, and since end-of-line normally produces a space, percent signs are used in the point size list to comment out those spaces.

at10.95pt, at14.4pt, ... When scaling up fonts to sizes larger than their original size, the best strategy normally is to follow a magstep progression rather than using exact point sizes:

at 10.95pt instead of at 11pt
at 12pt  no change
at 14.4pt instead of at 14pt
at 17.28pt instead of at 17pt
at 20.74pt instead of at 20pt
at 24.88pt instead of at 25pt

The reason this is good strategy is that for printer drivers using bitmapped fonts, you are more likely to have the right sizes if you use the magstep values than if you specify exact point sizes. (If you have a PostScript printer driver or other vector-based driver, you won’t have to worry about this.)

{} The fifth argument of the \new@fontshape command is normally empty. It is used for specifying, if necessary, additional action to be taken when a particular font is loaded.

There are two kinds of substitutions that can be done: substituting for an individual size of a particular font, or substituting for all sizes of a particular family/series/shape combination.

5.8.2 Substitutions for individual sizes

The smallest size in the above example is five-point, <5>cmti7 at5pt, obtained by reducing the seven-point version of the font to 5pt. If you don’t have a .PK (bitmap) file corresponding to this particular size, and want to substitute cmti7 at its natural size, then you would change this line in the font definition to read <5>1cmti7. The number 1 at the beginning will cause L^{A}TEX to print an informational message about the fact that a substitution was made, if the font is actually used at that size.

Alternatively, instead of substituting a larger size of exactly the same font, you might prefer to get the proper size and substitute a different font shape. For example, if you wanted to substitute five-point roman instead of sevenpoint italic, you would change the line to read <5>2cmr5. (The number 2 at the beginning causes a slightly different informational message to be given if and when that size is actually used.)

5.8.3 Substitution of a different series, shape, or family

Substitution of a different family/series/shape combination for one that is unavailable to you is done with a command called \subst@fontshape. It takes six arguments, the first three the family, series, and shape that aren’t available, and the second three the family, series, and shape that you wish to substitute. For example, let’s suppose you want to substitute Computer Modern medium slanted for Computer Modern medium italic. The command would be

     \subst@fontshape{cmr}{m}{it}{cmr}{m}{sl}

Further examples of the use of \subst@fontshape can be found in the files

fontdef.ori and fontdef.max.

6 Names of math font commands

The single biggest issue in the integration of AMS-TEX and L^{A}TEX font usage was that in AMS-TEX math font commands work differently than text font commands and have different names. Instead of being a simple switch, whose scope is bounded by curly braces, a math font command in AMS-TEX is a command with one argument. This means that in AMS-L^{A}TEX, to obtain a single bold letter in math you type \bold{A} rather than {\bf A}, and two bold letters would be typed \bold{A}\bold{B} instead of {\bf AB}. (A similar distinction between text accents and math accents already existed in L^{A}TEX.) Having the font command apply only to a single letter in this way is more natural in math formulas, because letters are usually single variables rather than components of a word, and different fonts are mixed in all combinations; four consecutive letters might be from four different fonts.

The full list of math font commands in the amstex option is \mathrm, \bold, \cal, with the addition of \frak (Fraktur) and \Bbb (blackboard bold) if AMS-Fonts are available. Math italic, the default font for letters in math, also has a name, \mit, but this is never needed in ordinary use. Tables 3 and 4 give a comprehensive listing of font change commands for convenient reference.

To gain access to a new math alphabet, you use the \newmathalphabet command in the preamble of your document. If you have the AMSFonts package, for example, and you want to use Russian letters in math, taking them from the University of Washington Cyrillic fonts, then you need to find out the family name assigned to the fonts and the shapes and weights available. See Table 5 to see what family names are included in the standard font definition file fontdef.max. If you made a custom fontdef file to match your available fonts, look in that file to find the information. If you are running L^{A}TEX at a larger institution where some technical person has been assigned to handle arcane font matters, you may need to consult that person.

Table 3: Font commands used in text

Font command Equivalent  Font selected
\normalshape   \shape{n}  normal, upright, “roman”

\it            \shape{it}  italic
\em            \shape{it}^{∗}  emphasis
\sl            \shape{sl}  slanted
\sc            \shape{sc}  small caps
\mediumseries  \series{m}  medium weight

\bf            \series{bx}  bold extended weight

\tt            \family{cmtt} typewriter style
\sf            \family{cmss} sans serif
\rm            \family{cmr} roman

∗The command \em selects shape it if the current font is upright, otherwise it selects shape n (normal).

Table 4: Font commands used in math

\bold Used to obtain bold letters from the English alphabet. \boldsymbol Used to obtain bold numbers and other nonalphabetic

symbols, as well as bold Greek letters.

\pmb “Poor man’s bold,” used for math symbols when bold

versions don’t exist in the currently available fonts.

\cal Calligraphic letters. Only uppercase is available. \mit Math italic. This font is automatically selected in math

mode, so the command \mit is not needed in normal use.

\mathrm Roman, normal shape. Note: most of the time, \text or \operatorname should be used instead of \mathrm to produce this font in math.

\frak Euler Fraktur alphabet. \Bbb Blackboard bold alphabet. Only uppercase is available.

Table 5: Font name assignments made in fontdef.max

Family Series Shape
cmr  m  n  Computer Modern Roman
cmr  m  sl  CM slanted
cmr  m  it  CM italic
cmr  m  sc  CM small caps
cmr  m  u  CM upright italic
cmr  b  n  CM bold
cmr  bx  n  CM bold extended
cmr  bx  sl  CM bold extended slanted
cmr  bx  it  CM bold extended italic
cmss  m  n  CM sans serif
cmss  m  sl  CM sans serif slanted
cmss  sbc  n  CM sans serif semibold condensed
cmss  bx  n  CM sans serif bold extended
cmtt  m  n  CM typewriter
cmtt  m  it  CM typewriter italic
cmtt  m  sl  CM typewriter slanted
cmtt  m  sc  CM typewriter small caps
cmm  m  it  CM math italic
cmm  b  it  CM bold math italic
cmsy  m  n  CM math symbols
cmsy  b  n  CM bold math symbols
lasy  m  n  L^{A}TEX extra symbols
lasy  b  n  L^{A}TEX bold extra symbols
msa  m  n  AMS extra symbols A
msb  m  n  AMS extra symbols B
euf  m  n  Euler fraktur
euf  b  n  Euler fraktur bold
eur  m  n  Euler roman
eur  b  n  Euler bold roman
eus  m  n  Euler script
eus  b  n  Euler bold script
euex  m  n  Euler math extension symbols
UWCyr m  n  University of Washington Cyrillic
UWCyr m  it  UW Cyrillic italic
UWCyr m  sc  UW Cyrillic small caps
UWCyr b  n  UW Cyrillic bold
UWCyss m  n  UW Cyrillic sans serif
ccr  m  n  Concrete Roman
ccr  m  it  Concrete italic
ccr  m  sc  Concrete small caps
ccr  c  sl  Concrete condensed slanted
ccm  m  it  Concrete math italic

Suppose, then, that the family name for the University of Washington fonts is UWCyr. Decide on the name of the command you’d like to use for Cyrillic, let’s say \cy. In the preamble area of your document, add the line

     \newmathalphabet*{\cy}{UWCyr}{m}{n}

Thenceforth \cy{A}, \cy{d}, and so on will give you a Russian A, d, or whatever in math. Since there is not a one-to-one correspondence between the Russian alphabet and the English alphabet, you may need to refer to your documentation to find out how to obtain certain letters. The AMSFonts User’s Guide [1] gives a complete table.

If you also want to use bold Russian letters, you could define another math alphabet and name it, say, \boldcy. Alternatively, you could set things up so that bold Russian letters are accessible through the commands \boldsymbol and \boldmath. If you add the line

     \addtoversion{bold}{\cy}{UWCyr}{b}{n}

in your document’s preamble, then \cy{A} would produce a normal-weight Russian A and

     {\boldmath  $ ... \cy{A} ... $ }

would produce a bold Russian A (with the rest of the formula being made bold as well). Furthermore, you could then obtain a bold Russian A in the midst of normal math using \boldsymbol:

     $ ... \boldsymbol{\cy{A}} ... $

In the amstex option \boldsymbol is to be used for individual bold math symbols and bold Greek letters—everything in math except for letters (where you would use \bold). For example, to obtain a bold ∞, +, π, or 0, you would

use the commands \boldsymbol{\infty}, \boldsymbol{+}, \boldsymbol{\pi},

or \boldsymbol{0}. Because they are not included in the standard distribution of TEX fonts, sizes other than 10-point of bold fonts for math symbols, Greek, and math italic (CMBSY and CMMIB) are provided in the AMSFonts distribution (version 2.0+).

Since \boldsymbol takes rather a lot of typing, you would usually put some definitions in the preamble of the form

     \newcommand{\bpi}{\boldsymbol{\pi}}
     \newcommand{\binfty}{\boldsymbol{\infty}}

for any bold symbols you’re going to use frequently.

For some math symbols \boldsymbol will not have any effect because bold versions of those symbols do not exist in the currently available fonts. These include extension symbols and large operator symbols from the font CMEX, as well as the AMS extra math symbols from the fonts MSAM and MSBM. “Poor man’s bold” (\pmb) can be used for some of the things that aren’t handled properly by \boldsymbol. It works by typesetting several copies of the symbol with slight offsets. With large operators and extension symbols, however, \pmb does not currently work very well because the proper spacing and treatment of limits is not preserved.

To make an entire math formula bold (or as much of it as possible, depending on the available fonts), use \boldmath preceding the formula, as described in the L^{A}TEX manual.

The sequence {\bf\hat{a}} (in ordinary L^{A}TEX) or \bold{\hat{a}} (in the amstex option) produces a bold accent character over the a, as you would expect. However, combinations like {\cal\hat{a}} will not work in ordinary L^{A}TEX because the \cal font does not have its own accents. In the amstex option the font change commands are defined in such a way that accent characters will be taken from the \rm font if they are not available in the current font (in addition to the \cal font, the \Bbb and \frak fonts don’t contain accents).

In ordinary L^{A}TEX uppercase Greek can be made bold by, e.g., {\bf\Gamma}. In the amstex option uppercase Greek can be made bold only by using \boldsymbol (in other words, uppercase Greek is handled the same as lowercase Greek).

7 The command \newsymbol

The command \newsymbol is presently used only for symbols from the AMS extra symbol fonts, MSAM and MSBM. \newsymbol allows you to create a control sequence that will properly produce a symbol from the extra symbol fonts. The use of \newsymbol is explained in the AMSFonts User’s Guide. In a L^{A}TEX document there is one main difference in usage, which is only applicable if you want to use AMSFonts without using the amstex option: instead of using the additional setting-up commands \loadmsam and \loadmsbm, you should put “amsfonts” in the documentstyle options list. Otherwise \newsymbol commands can be used exactly as shown in the AMSFonts User’s Guide. Like \newcommand’s, they should be placed in the preamble.

The amsfonts option is geared to version 2.0 or later of the AMSFonts package. Font layout and font names for some of the fonts are different than in earlier versions. If you have an earlier version, you would need to contact the AMS for an upgrade in order to use the amsfonts option successfully. See Appendix E for information on how to obtain the AMSFonts.

8 The amssymb option

If you are running a version of L^{A}TEX with extra memory available for control sequence names, and you use quite a few of the extra math symbols from the AMSFonts, it may be more convenient for you to use the amssymb documentstyle option, which will define all the symbol names (about 200), so you won’t have to include an individual \newsymbol command in your document for each one. You may prefer to include it in the construction of a format file (see the installation instructions, Appendix A) to save processing time; it is a stand-alone option, so it can be included in the format file without including the amstex option.

Part III

Features of the amstex option

9 Math spacing commands

Both the spelled-out and abbreviated forms of these commands are robust, and in addition they can also be used outside of math. The primary math spacing commands are:

Abbrev. Spelled out  Abbrev. Spelled out

          \,       \thinspace    \!       \negthinspace
          \:       \medspace              \negmedspace
          \;       \thickspace            \negthickspace
          @,                     @!

                   \quad
                   \qquad

@, and @! give one-tenth the space of \, and \! respectively, for extra fine tuning where necessary.

10 Multiple integral signs

\iint, \iiint, and \iiiint give multiple integral signs with the spacing between them nicely adjusted, in both text and display style. \idotsint is an extension of the same idea that gives two integral signs with dots between them.

11 Over and under arrows

There are some additional over and under arrow operations provided in the amstex option:

    \underleftarrow        \underrightarrow
    \overleftrightarrow    \underleftrightarrow

All over and under operations, including the previously available ones (\overrightarrow, \overleftarrow), have been modified to scale properly in subscript sizes. (After you have installed AMS-L^{A}TEX, you can process and print the sample file testart.tex to see examples of the arrows.)

12 Dots

In the amstex option, ellipsis dots should almost always be typed as \dots. Placement (on the baseline or centered) is selected according to whatever follows the \dots. If the next thing is a plus sign, the dots will be centered; if it’s a comma, they will be on the baseline. These default dot placements provided by the amstex option can be changed by the documentstyle if different conventions are wanted.

If the dots fall at the end of a math formula, the next thing is something like \end or \) or $, which does not give any information about how to place the dots. Then you must help by using \dotsc for “dots with commas,” or \dotsb for “dots with binary operators/relations,” or \dotsm for “multiplication dots,” or \dotsi for “dots with integrals.” For example, the input

     Then we have the series $A_1,A_2,\dotsc$,
     the regional sum $A_1+A_2+\dotsb$,
     the orthogonal product $A_1A_2\dotsm$,
     and the infinite integral
     \[\int_{A_1}\int_{A_2}\dotsi\].

will produce low dots in the first instance and centered dots in the others, with the spacing on either side of the dots nicely adjusted.

Then we have the series A_{1}, A_{2}, …, the regional sum A_{1} + A_{2} + ⋯, the orthogonal product A_{1}A_{2} ⋯, and the infinite integral

∫_{A_{1}} ∫_{A_{2}} · · · .

Specifying dots this way, in terms of their meaning rather than in terms of their visual placement, is in keeping with the general philosophy of L^{A}TEX and makes documents more portable between places where different conventions prevail. The control sequences \ldots and \cdots are still available, however, for compatibility.

13 Accents in math

The following accent commands automatically give good positioning of double accents:

      \Hat    \Check  \Tilde  \Acute  \Grave  \Dot    \Ddot
      \Breve  \Bar    \Vec

In ordinary L^{A}TEX the second accent will usually be askew: ˆ Â (\hat{\hat A}). In the amstex option, if you type \Hat{\Hat A} (using the capitalized form for both accents) the second accent will be properly positioned (see testart.tex for examples).

As explained in the Joy of TEX , this double accent operation is complicated and tends to slow down the processing of a TEX file. If your document contains many double accents, you can use \accentedsymbol in the preamble of your document to help speed things up. It stores the result of the double accent command in a box register, for quick retrieval. \accentedsymbol is used like

\newcommand:
     \accentedsymbol{\Ahathat}{\Hat{\Hat A}}

Some accents have a wide form: typing $\widehat {xy},\widetilde{xy}$ produces x̂y, x̃y. Because these wide accents have a certain maximum size, extremely long expressions are better handled by a different notation: (AmBD) instead of ÂmBD. But getting an accent into a superscript is a little tricky (try it), so amstex has the following control sequences to make it easier:

      \sphat     \spcheck   \sptilde   \spdot
      \spddot    \spdddot   \spbreve

The example above would be typed (AmBD)\sphat.

Finally, \dddot and \ddddot are available to produce triple and quadruple dot accents in addition to the \dot and \ddot accents already available in L^{A}TEX.

14 Roots

In ordinary L^{A}TEX the placement of root indices is sometimes not so good: ^{β} \sqrt{k}

(\sqrt[\beta]{k}). In the amstex option \leftroot and \uproot allow you
to adjust the position of the root: \sqrt[\leftroot{-2}\uproot{2}\beta]{k}

will move the beta up and to the right. (See the sample file testart.tex.) The negative argument used with \leftroot moves the β to the right. The units are a small dimension that is a useful size for such adjustments.

15 Boxed formulas

The command \boxed puts a box around its argument, like \fbox except that the contents are in math mode.

16 Extensible arrows

@>>> and @<<< produce arrows that extend automatically to accommodate unusually wide subscripts or superscripts. The text of a superscript is typed in between the first and second > or < symbols, and for a subscript, it’s typed between the second and third symbols. For example, @>\xi F_k\Gamma_k\alpha>> would have a superscript ξF_{k}Γ_{k}α placed above the arrow. These arrows were originally developed for use in commutative diagrams but can be used elsewhere also. (See section 24.4 for more information about the amscd option.)

17 \overset, \underset and \sideset

L^{A}TEX provides \stackrel for placing a superscript above a binary relation. In amstex there are somewhat more general commands, \overset and \underset, that can be used to place one symbol above or below another symbol, whether it’s a relation or something else. The input \overset{*}{X} will place a superscript-size ∗ above the X; \underset performs the parallel operation that you’d expect.

There’s also a command called \sideset, for a rather special purpose: putting symbols at the subscript and superscript corners of a large operator symbol such as ∑ or ∏. The prime example is the case when you want to put a prime on a sum symbol. If there are no limits above or below the sum, you could just use \nolimits: here’s \sum\nolimits' E_n in display mode:

∑′ E_{n}.  (1)

But if you want not only the prime but also something below or above the sum symbol, it’s not so easy. If you have

∑_{n<k, n odd} nE_{n}  (2)

and you want to add a prime on the sum symbol, use \sideset like this:

     \sideset{}{'}\sum_{...}nE_n

The extra pair of empty braces is explained by the fact that \sideset has the capability of putting an extra symbol or symbols at each corner of a large operator; to put an asterisk at each corner of a product symbol, you would type

     \sideset{_*^*}{_*^*}\prod

(After you have installed AMS-L^{A}TEX, you can typeset and print the sample file testart.tex to see examples of the output.)

18 The \text command

The main use of the command \text is for words or phrases in a display. It is very similar to the L^{A}TEX command \mbox in its effects, but has a couple of advantages. If you want a word or phrase of text in a subscript, you can type ..._{\text{word or phrase}}, which is slightly easier than the \mbox

equivalent: ..._{\mbox{\scriptsizewordorphrase}}. The other advantage

is the more descriptive name.

19 Operator names

Math functions such as log, sin, and lim are traditionally typeset in roman type to help avoid confusion with single math variables, set in math italic. The more common ones have predefined names, \log, \sin, \lim, and so forth, but new ones come up all the time in mathematical papers, so amstex provides a general mechanism for producing such names: \operatorname{xxx} produces xxx in the proper font and automatically adds proper spacing on either side when necessary, so that you get A xxx B instead of AxxxB.

Since \operatorname takes rather a lot of typing, you would usually put some definitions in the preamble of the form

     \newcommand{\xxx}{\operatorname{xxx}}
     \newcommand{\yyy}{\operatorname{yyy}}

for any operator names you’re going to use frequently.

Some of the operator names, such as \lim, have actually been defined using

\operatornamewithlimits rather than \operatorname, because in displayed

formulas if there is a subscript on \lim it is conventionally placed underneath, like the limits on sums:

C_{+}f(x) = lim_{t→0} C(f)(x + it)  (3)

You can use \operatornamewithlimits just like \operatorname; the only dif-

ference is the placement of subscripts and superscripts. A few special operator names with limits are defined for you in the amstex option: \varinjlim,

\varprojlim, \varliminf, and \varlimsup; there are some examples in the
sample file testart.tex.

20 \mod and its relatives

Commands \mod, \bmod, \pmod, \pod are provided to deal with the rather special spacing conventions of “mod” notation. \bmod and \pmod are available in L^{A}TEX, but in the amstex option the spacing of \pmod will adjust to a smaller value if it’s used in a non-display-mode formula. \mod and \pod are variants of \pmod preferred by some authors; \mod omits the parentheses, whereas \pod omits the “mod” and retains the parentheses.

21 Fractions and related constructions

In addition to \frac (which was already available in L^{A}TEX), amstex provides \dfrac and \tfrac as convenient abbreviations for {\displaystyle\frac ... } and {\textstyle\frac ... }. Furthermore, the thickness of the fraction line can be varied, using a new square-bracket option of the \frac command. \frac[⟨dimension⟩]{...}{...} makes a fraction where the thickness of the horizontal rule is determined by the given dimension. The sample file testart.tex shows an example using a thickness of 1.5pt.

\fracwithdelims⟨left delimiter⟩⟨right delimiter⟩[⟨dimension⟩] is an extension of the same idea, with delimiters on either side specified by the user.^{2}

For binomial expressions such as ({n \atop k}) amstex has \binom, \dbinom and

\tbinom. \binom is an abbreviation for \fracwithdelims()[0pt].

After you have installed AMS-L^{A}TEX, you can typeset and print the sample

file testart.tex to see examples of \frac and \binom.

22 Continued fractions

The continued fraction

\frac{1}{\sqrt{2} + \frac{1}{\sqrt{2} + \frac{1}{\sqrt{2} + \frac{1}{\sqrt{2} + \frac{1}{\sqrt{2} + ⋯}}}}}  (4)

can be obtained by typing

     \cfrac{1}{\sqrt{2}+
      \cfrac{1}{\sqrt{2}+
       \cfrac{1}{\sqrt{2}+
        \cfrac{1}{\sqrt{2}+
         \cfrac{1}{\sqrt{2}+\dotsb
     }}}}}

Left or right placement of any of the numerators is accomplished by using

\lcfrac or \rcfrac instead of \cfrac.

23 Smash options

The plain TEX command \smash is used to typeset a subformula and give it an effective height and depth of zero, which is sometimes useful in adjusting the subformula’s position with respect to adjacent symbols. In amstex there are optional arguments t and b for \smash, because sometimes it is advantageous to be able to “smash” only the top or only the bottom of something while retaining the natural depth or height. For example, to smash only the part of a subformula that extends below the baseline, you would type \smash[b]{⟨whatever⟩}.

2The perceptive reader may wonder why this command is necessary when you can type things like \left(\frac{...}{...}\right). The answer is that \fracwithdelims provides slightly better spacing.

24 New L^{A}TEX environments

24.1 The “cases” environment

“Cases” constructions like the following are common in mathematics:

P_{r−j} = \{ \begin{matrix}0 & if r − j is odd, \\ r! (−1)^{(r−j)/2} & if r − j is even. \end{matrix}  (5)

and in the amstex option there is a cases environment:

     \begin{equation} P_{r-j}=
       \begin{cases}
         0&  \text{if $r-j$ is odd},\\
         r!\,(-1)^{(r-j)/2}&  \text{if $r-j$ is even}.
       \end{cases}
     \end{equation}

Notice the use of \text and the embedded math.

24.2 Matrix

In the creation of the amstex option, AMS-TEX’s \matrix could have been discarded, since L^{A}TEX’s array environment has the same function. But we wanted

to keep AMS-TEX’s \pmatrix, \bmatrix, \vmatrix and \Vmatrix commands,

with delimiters built in; for consistency, the basic \matrix has been retained also. It and the other matrix commands have been changed into L^{A}TEX environments that work like array, except that they don’t have an argument specifying the format of the columns. Instead a default format is provided: up to 10 centered columns. The maximum number of columns is determined by the counter MaxMatrixCols, which you can change if necessary using L^{A}TEX’s \setcounter or \addtocounter commands. I.e., suppose you have a big matrix with 19 or 20 columns. Then you’d do something like this:

     \begin{equation}
     \setcounter{MaxMatrixCols}{20}
     A=\begin{pmatrix}
     ...&...&...&...&...&...&...&...&...&...&...&...&  ... \\
       ...  \\
       ...
     \end{pmatrix}
     \end{equation}

To produce a small matrix suitable for use in text, use the smallmatrix environment.

     \begin{math}
       \bigl( \begin{smallmatrix}
           a&b\\ c&d
         \end{smallmatrix} \bigr)
     \end{math}

\hdotsfor{⟨number⟩} produces a row of dots in a matrix spanning the given number of columns.

     \begin{matrix} a&b&c&d\\
     e&\hdotsfor{3} \end{matrix}

would give dots spanning the last three columns in the second row. The spacing of the dots can be varied through use of a square-bracket option, for example, \hdotsfor[1.5]{3}. The number in square brackets will be used as a multiplier; the normal value is 1.

24.3 The Sb and Sp environments

The Sb and Sp environments can be used to typeset several lines as a subscript or superscript: for example

     \begin{equation}
       \sum\begin{Sb}
             0\le i\le m\\ 0<j<n
           \end{Sb}
         P(i,j)
     \end{equation}

produces a two-line subscript underneath the sum:

∑_{{0≤i≤m \atop 0<j<n}} P (i, j)  (6)

Sb and Sp can be used anywhere that an ordinary subscript or superscript can be used.

24.4 Commutative diagrams

The commutative diagram commands of AMS-TEX are not included in the amstex option, but are available as a separate option, amscd. This conserves memory for users who don’t need commutative diagrams. The picture environment can be used for complex commutative diagrams but for simple diagrams without diagonal arrows the amscd commands are more convenient.

The commutative diagram

\begin{matrix}S^{W_{Λ}} ⊗ T & ⟶^{j} & T \\ ↓ & & ↓^{End P} \\ (S ⊗ T)/I & = & (Z ⊗ T)/J \end{matrix}  (7)

can be produced in ordinary L^{A}TEX by

     \begin{array}{ccc}
     S^{{\cal W}_\Lambda}\otimes T&
         \stackrel{j}{\longrightarrow}&  T\\
     \Big\downarrow&
             &\Big\downarrow\vcenter{%
               \rlap{$\scriptstyle{\rm End}\,P$}}\\
     (S\otimes T)/I& =&  (Z\otimes T)/J
     \end{array}

When the amscd option is used you would type instead

     \begin{CD}
     S^{{\cal W}_\Lambda}\otimes T   @>j>>   T\\
     @VVV                                    @VV{\End P}V\\
     (S\otimes T)/I                  @=      (Z\otimes T)/J
     \end{CD}

(with \End defined as \operatorname{End}; see §19). This would give longer horizontal arrows than in (7) and improved spacing between elements of the diagram (see testart.tex). In the CD environment the commands @>>>, @<<<, @VVV, and @AAA give respectively right, left, down, and up arrows. For the horizontal arrows, material between the first and second > or < symbols will be typeset as a superscript, and material between the second and third will be typeset as a subscript. Similarly, material between the first and second or second and third As or Vs of vertical arrows will be typeset as left or right “sidescripts”.

25 Alignment structures for equations

In the amstex option several environments exist for creating multi-line displayed equations. They are similar in function to L^{A}TEX’s equation and eqnarray environments. These environments are:

      align      gather     alignat    xalignat   xxalignat
      multline   split

Each environment, except for split, has both starred and unstarred forms, where the unstarred forms have automatic numbering, using L^{A}TEX’s equation counter. You can suppress the number on any particular line by putting \notag before the \\; you can also override it with a tag of your own using \tag{⟨label⟩}, where ⟨label⟩ means arbitrary text such as $*$ or ii used to “number” the equation. There is also a \tag* command that causes the tag to be typeset absolutely literally, without putting parentheses around it. \tag and \tag* can also be used in the starred versions of all the amstex alignment structures. See testart.tex, Appendix B, for examples of the use of \tag.

25.1 The align environment

The align environment is used for two or more equations when vertical alignment is desired (usually binary relations such as equal signs are aligned). The term “equation” is used rather loosely here to mean any math formula that is intended by the author as a self-contained subdivision of the larger display, usually, but not always, containing a binary relation.

25.2 The gather environment

Like the align environment, the gather environment is used for two or more equations, but when there is no alignment desired among them; each one is centered separately between the left and right margins.

25.3 The alignat environment

The align environment takes up the whole width of a display. If you want to have several “align”-type structures side by side, there is an alignat environment you can use. There is one required argument, to specify the number of “align” structures.^{3} The xalignat and xxalignat environments are forms of the alignat environment with expanded spacing between the component align structures. If we consider each align structure to be a column, xalignat has equal spacing between columns and at the margins; xxalignat has equal spacing between columns and zero spacing at the margins. See testart.tex for examples.

25.4 The multline environment

The multline environment is a variation of the equation environment used for equations that don’t fit on a single line. The first line of a multline will be at the left margin and the last line at the right margin, except for an indention on both sides whose amount is equal to \multlinegap. The value of \multlinegap can be changed using L^{A}TEX’s \setlength and \addtolength commands. If the multline contains more than two lines, any lines other than the first and last will be centered individually between the margins.

3For an argument of n, the number of &’s per line is 2n − 1 (one ampersand for alignment within each align structure, and ampersands to separate the align structures from one another).

25.5 The split environment

Like multline, the split environment is for single equations that are too long to fit on one line and hence must be split into multiple lines. Unlike multline, however, the split environment provides for alignment among the split lines, using & to mark alignment points, as usual. In addition, unlike the other amstex equation structures, the split environment provides no numbering, because it is intended to be used only inside some other displayed equation structure, usually an equation, align, or gather environment, which provides the numbering.

25.6 Alignment environments that don’t constitute an entire display

In addition to the split environment, there are some other equation alignment environments that do not constitute an entire display. They are self-contained units that can be used inside of other formulas, or set side-by-side. The environment names are aligned, gathered, and alignedat. These environments take an optional argument to specify their vertical positioning with respect to the material on either side. The default is [c]. A gathered environment with the first line level with the material on either side would be done like this.

     \begin{gathered}[t]
     ...\\
     ...
     \end{gathered}

25.7 Vertical spacing and page breaks in the amstex equation structures

You can use the \\[⟨dimension⟩] command to get extra vertical space between lines in all the amstex displayed equation environments, as is usual in L^{A}TEX. Unlike eqnarray, the amstex environments don’t allow page breaks

between lines, unless \displaybreak or \allowdisplaybreaks is used. The

philosophy is that page breaks in such situations should receive individual attention from the author. \displaybreak must go before the \\ where it is supposed to take effect. Like L^{A}TEX’s \pagebreak, \displaybreak takes an optional argument between 0 and 4 denoting the desirability of the pagebreak. \displaybreak[0] means “it is permissible to break here” without encouraging a break; \displaybreak with no optional argument is the same as

\displaybreak[4] and forces a break.

There is also an optional argument for \allowdisplaybreaks. \allowdisplaybreaks obeys the usual L^{A}TEX scoping rules; the normal way of limiting its scope would be to put {\allowdisplaybreaks at the beginning and } at the end of the desired range. Within the scope of an \allowdisplaybreaks command, the \\* command can be used to prohibit a pagebreak, as usual.

25.8 The \intertext command

The command \intertext is used for a short interjection of one or two lines of text in the middle of a display alignment. Its salient feature is preservation of the alignment, which would not be possible if you simply ended the display and then started it up again afterwards. \intertext may only appear right after a \\ or \\* command. An example of its use follows.

     \begin{align}
     A_1&=N_0(\lambda;\Omega')-\phi(\lambda;\Omega'),\\
     A_2&=\phi(\lambda;\Omega')-\phi(\lambda;\Omega),\\
     \intertext{and}
     A_3&=\cal N(\lambda;\omega).
     \end{align}

Here the word “and” would fall outside the display, at the left margin.

25.9 Equation numbering

In L^{A}TEX if you wanted to have equations numbered within sections—that is, have equation numbers (1.1), (1.2), …, (2.1), (2.2), …, in sections 1, 2, and so forth—you would probably redefine \theequation:

     \renewcommand{\theequation}{\thesection.\arabic{equation}}

This works fine except that the equation counter won’t be reset to zero at the beginning of a new section or chapter, unless you do it yourself using \setcounter. To make this a little more convenient, the amstex option provides a command \numberwithin. To have equation numbering tied to section numbering, with automatic reset of the equation counter, the command would be

     \numberwithin{equation}{section}

As the name implies, \numberwithin can be applied to other counters besides the equation counter, but the results are not guaranteed because of potential complications. Normal L^{A}TEX methods should be used where available, e.g., in

\newtheorem.

To make cross-references to equations easier, an \eqref command is provided. This automatically supplies the parentheses around the equation number, and adds an italic correction if necessary (see Section 31.7.2). To refer to an equation that was labeled with the label e:baset, the usage would be

\eqref{e:baset}.

25.10 Error messages

One kind of error message in particular should be mentioned, since it follows from a mistake that is easy to make.

     Runaway argument?
      \left |\frac {\hat v(s)-\hat v(t)}{|\widetilde {D} \ETC.
     ! Paragraph ended before \multline* was complete.
     <to be read again>
                        \par
     l.17
     ? h
     I suspect you've forgotten a `}', causing me to apply this
     control sequence to too much text. How can we recover?
     My plan is to forget the whole thing and hope for the best.
     ? e

This usually means one of two things: Either you have an equation alignment environment where the end doesn’t match the beginning—perhaps something like

     \begin{multline*}
     ...
     \end{multline}

(as in this case)—or else you have a missing } or \right delimiter inside of the environment. A } is rather easy to leave off accidentally when using certain commands, such as \frac.

26 Miscellaneous

In the amstex option ~, \/, and \slash will remove superfluous spaces on either side of them, as a convenience to the user (in the case of \/, only a space on the left will be removed). For example, if you have typed p.63 and then realize you should add a ~, you can insert the ~ without deleting the space.

In ordinary L^{A}TEX \big, \bigg, \Big, and \Bigg delimiters don’t adjust properly over the full range of L^{A}TEX font sizes. In the amstex option they do.

27 New documentstyle options available

Several new documentstyle options have been created. About half of them have to do with the positioning of “limits” or \tags. The abbreviation of the names reflects the MS-DOS limitation of eight characters for file names,^{4} which we need to allow for.

nosumlim No limits on sums
intlim  Limits on integrals
nonamelm No limits on operatornames
ctagsplt Vertically centered tags on the split environment
righttag Equation tags on the right

Some of the component parts of the amstex option are also available individually, that is, they can be used in the options list of the \documentstyle command:

     amstext defines \text
     amsbsy  defines \boldsymbol and \pmb

amsfonts defines \frak and \Bbb and sets up the fonts msam (extra math symbols A), msbm (extra math symbols B, and blackboard bold), eufm (Euler Fraktur), as well as extra sizes of cmmib (bold math italic and bold lower-Case Greek), and cmbsy (bold math symbols and bold script), for use in mathematics. This requires the AMS-Fonts package, version 2.0 or later.

Another option, amssymb, defines names for all the symbols in the AMS math symbol fonts. It can be used with or without the amstex option. Like the amsfonts option, it requires version 2.0 or later of the AMSFonts package.

27.1 Comments

A new verbatim style option written by Rainer Schöpf (and distributed along with the AMS-L^{A}TEX package) provides a comment environment; anything you write between \begin{comment} and \end{comment} is totally ignored by L^{A}TEX. The \end{comment} should be on a line by itself: any text after \end{comment} on the same line would be ignored (and you would receive a warning message that it was lost). Inside the comment environment L^{A}TEX is in a special state that is ended by the first occurrence of the \end{comment} command; you cannot have one comment environment nested inside another. The verbatim option provides some other nice features; see verbatim.doc for further details.

27.2 Syntax checking

Another new style option is called syntonly; if you include this in your document options list, then you can put \syntaxonly in the document preamble to run the file with syntax check only. No output will be produced, but any L^{A}TEX errors will be uncovered. The advantage of this is that L^{A}TEX will run significantly faster when \syntaxonly is in effect. How much faster depends on the particular computer being used and other variables but 30%–40% is typical.

4Not including the file extension.

28 Protecting fragile commands

Many of the commands added by the amstex option are fragile and will need to be \protected in commands with “moving arguments”—\section and

other sectioning commands, \caption, \addcontentsline, \addtocontents,
\markboth, \markright, @-expressions in an array or tabular environment,

and others (see the L^{A}TEX manual, Section C.1.3).

29 Differences the L^{A}TEX user should note

In amstex the @ character has a special use, in the extensible arrows @>>> and @<<< and in the math microspacing commands @, and @!. In order to get an ordinary printed @ character, type @@ instead of @.

With the various alignment environments available in the amstex option, the eqnarray environment is no longer needed. Furthermore, since it does not prevent overlapping of the equation numbers with wide formulas, as most of the amstex alignments do, using the amstex alignments seems better.

\nonumber is interchangeable with \notag; the latter seems slightly preferable, for consistency with the name of \tag.

In math \bf, \rm, and other text font commands should not be used for single math variables; \bold, \mathrm, etc. should be used instead. (See section 6 for details.)

Part IV

The amsart and amsbook

documentstyles

30 General remarks

Two considerations controlled the development of the amsart and amsbook documentstyles. First of all, their intended use is for articles and books submitted for publication to the American Mathematical Society (in addition to giving the L^{A}TEX user some additional output styles). And second, because amsart and amsbook not only load the amstex option, but also add several features not found in the standard L^{A}TEX styles, they don’t have much spare memory to work with (if used with a “small” implementation of TEX).

Therefore some features of the standard L^{A}TEX documentstyles that are needed rarely (or never) in AMS publications have been omitted or minimized in an effort to conserve memory. No special provisions have been made for setting up marginal notes or two-column format, for example. And the 11pt and 12pt options have been reduced to a minimal kernel: they do nothing except reset the margins and a few font sizes. More sophisticated adjustments that are done in the standard L^{A}TEX article and book styles are omitted.

The fleqn option and the openbib bibliography style are not used in AMS publications, and therefore the necessary work to make them available has not been done.

No provision is made for fonts in sizes larger than \large; the L^{A}TEX commands \Large, \LARGE, \huge, and \Huge still function normally but the size they produce is the same as for \large. The design of amsart does not use internally anything larger than \normalsize.

The amstex option, which is part of the amsart and amsbook styles, does the necessary setting up to allow the use of fonts from the AMSFonts collection (version 2.0+), but it is possible to use amsart and amsbook without having the AMSFonts. There is one restriction, however: the .tfm files for the math symbol fonts of the AMSfonts package (msam, msbm, cmmib, cmbsy) are required, even if your document doesn’t actually use any symbols from the fonts.

Detailed information/instructions about using the amsart and amsbook documentstyles for electronic submissions to AMS publications can be found in Guidelines for preparing electronic manuscripts—AMS-L^{A}TEX [2].

31 The amsart documentstyle

31.1 Top matter

We use the term “top matter” for the information found at the beginning of an article, such as the title, author, addresses, and abstract. Compared to the standard article documentstyle, the amsart documentstyle has a significantly expanded top matter section. L^{A}TEX’s article style provides \title, \author, \thanks, \date, and an abstract environment. The complete list of top matter commands provided by the amsart style is:

               \title      \keywords    \author
               \subjclass  \address     \curraddr
               \email      \translator  \dedicatory
               \thanks     \date

All of these commands should precede the \maketitle command. If the abstract environment is used, it should follow immediately after \maketitle. The address, current address, e-mail address, and translator information print at the end of the document; the key words, subject classification, and thanks information print as footnotes at the bottom of the first page of the document.

An \author command should be used for each individual author, when a paper has multiple authors. Things like \address, \curraddr, \email, and \thanks that pertain only to one author should be placed after the \author command that they go with (and before any other \author commands). The AMS custom is to list author names in alphabetical order. (See Author names and addresses in section 31.7.1 for further details.)

In giving an e-mail address remember that @ characters should be doubled in order for them to print properly.

For submissions to the American Mathematical Society, please provide as a minimum the following information: title, author, addresses, mathematics subject classification numbers, translator (if applicable), and acknowledgments of funding support (\thanks).

31.2 Memory conservation measures

To free up valuable memory, commands that are needed only at the beginning of a document are undefined when they are no longer needed. This includes the top matter commands \title, \author, etc., and the abstract environment.

31.3 Running heads

Running heads on odd-numbered pages (right-hand pages) in the amsart style contain the text of the article title, and on even-numbered pages they contain the author’s name. If the title is too long to fit within the page width, a shorter version for the running head text can be specified with a square-bracket option of the \title command:

     \title[Short Version Here]{Long Version of the Title Here,\\
       Perhaps with Multiple Lines}

The \author command has also been given the same kind of square-bracket option.

31.4 Non-English versions of automatically generated text

If the base language of an article is some language other than English, the user may wish to change some pieces of text that are generated automatically. To change “Abstract” to “Résumé”, use \renewcommand to redefine

\abstractname:
     \renewcommand{\abstractname}{R\'esum\'e}

The user can change the following in the same way:^{5}

     \abstractname   Abstract
     \partname       Part
     \indexname      Index
     \figurename     Figure
     \tablename      Table
     \proofname      Proof
     \refname        References
     \appendixname   Appendix
     \tocname        Contents

This also allows the user to substitute, e.g., “Diagram” instead of “Figure” for the labels of figure environments. In the amsbook style, there are some additional names available for changing:

     \chaptername    Chapter
     \listfigurename List of Figures
     \listtablename  List of Tables
     \bibname        Bibliography

(The environment thebibliography uses \bibname in the amsbook style, and

\refname in the amsart style.)

5The names of the control sequences were chosen to match the names used in babel.sty.

31.5 Theorems, definitions, and similar structures

L^{A}TEX provides \newtheorem to create theorem environments. The amsart and amsbook styles make use of the theorem documentstyle option to provide more flexibility in the design of theorems, definitions, proofs, remarks, and the like (for full details, see Frank Mittelbach’s article in TUGboat, vol. 10, no. 3, November 1989, pp. 416–426). Three levels of theorem-type environments are provided

through three \theoremstyles: plain, definition, and remark. The different

styles receive different typographical treatment that gives them visual emphasis corresponding to their relative importance in the author’s exposition.

To create new theorem-type environments in the different styles, use the \newtheorem command in the normal way, but divide your \newtheorem commands into groups and preface each group with the appropriate \theoremstyle. If no \theoremstyle command is given, the style used will be plain. The

\theorembodyfont and \theoremheaderfont commands described in Mittel-

bach’s article are unnecessary in the AMS documentstyles.

Here is an example of a rather comprehensive \newtheorem section:

% theorem style plain --- default
\newtheorem{thm}{Theorem}[section]
\newtheorem{lem}{Lemma}[section]
\newtheorem{cor}{Corollary}[section]
\newtheorem{prop}{Proposition}[section]
\newtheorem{crit}{Criterion}[section]
\newtheorem{alg}{Algorithm}[section]
\theoremstyle{definition}
\newtheorem{defn}{Definition}[section]
\newtheorem{conj}{Conjecture}[section]
\newtheorem{exmp}{Example}[section]
\newtheorem{prob}{Problem}[section]
\theoremstyle{remark}
\newtheorem{rem}{Remark}        \renewcommand{\theremark}{}
\newtheorem{note}{Note}         \renewcommand{\thenote}{}
\newtheorem{claim}{Claim}
\newtheorem{summ}{Summary}      \renewcommand{\thesumm}{}
\newtheorem{case}{Case}
\newtheorem{ack}{Acknowledgment}  \renewcommand{\theack}{}

If you would like an unnumbered environment, use \renewcommand to undefine \thexxxx (where xxxx stands for the environment name), as shown in the “remark” section. If you have a theorem with a special name, such as “Klein’s Theorem,” use a separate \newtheorem command just for that theorem and make it unnumbered:

     \newtheorem{kthm}{Klein's Theorem}
     \renewcommand{\thekthm}{}

This will give the normal format for a theorem in all respects except the automatic numbering.

31.6 Proofs

A predefined pf environment and a starred form pf* are provided for proofs, and produce the heading “Proof” with appropriate spacing and punctuation. The proof environment is primarily intended for short proofs, less than a page in length; longer proofs should probably be done as a separate section or subsection in your document.

A “Q.E.D.” symbol, , is automatically appended at the end of a proof. To substitute a different end-of-proof symbol, use \renewcommand to redefine the command \qedsymbol. For a long proof that doesn’t use the pf environment, you can obtain the symbol and the usual amount of preceding space by using

\qed.

Placement of the \qedsymbol can be problematic if the last part of a pf environment is a displayed equation or list environment or something of that nature. Reasonably good results can generally be obtained by using \qed at the appropriate spot and then undefining \qed before the end of the proof. (The effect will be automatically localized to the current proof by normal L^{A}TEX scoping rules.) For example:

     \begin{pf}
     ...
     \begin{equation}
     G(t)=L\gamma!\,t^{-\gamma}+t^{-\delta}\eta(t) \qed
     \end{equation}
     \renewcommand{\qed}{}\end{pf}

The starred form, pf*, of the proof environment takes an argument in curly braces, which allows you to substitute a different name for the standard “Proof”. If you want to substitute, say, “Proof (sufficiency)”, then write

     \begin{pf*}{Proof (sufficiency)}

and close the proof with \end{pf*} instead of \end{pf}.

31.7 Miscellaneous notes

31.7.1 Variations from standard L^{A}TEX

Variations from standard L^{A}TEX that are simple additions (like \subjclass for subject classification numbers) will not be pointed out in this section. However, a couple of variations that involve contradictions of statements in the L^{A}TEX manual need to be noted.

Starred forms of sectioning commands In the amsart and amsbook documentstyles starred forms of the \chapter and \section commands produce a table of contents entry. This is a variation from standard L^{A}TEX (see the L^{A}TEX manual, §C.3.1), but more in keeping with usual publishing practice.

Author names and addresses The standard L^{A}TEX format for specifying the names and addresses of a document’s authors is this:

     \author{First Author\\Address, Line 1\\Address, Line 2
             \and Second Author\\Address, Line 1\\Address, Line 2}

In the amsart and amsbook documentstyles there is a separate \address command for addresses, and the author names and addresses are specified individually like all the other elements of the top matter:

     \author{First Author}
     \address{Address, Line 1\\Address, Line 2}
     ...
     \author{Second Author}
     \address{Address, Line 1\\Address, Line 2}

Addresses (including current address and e-mail address) will be associated with the nearest preceding \author command to determine where they should be printed.

Author names and addresses typed in the standard L^{A}TEX format will still print fine, without error messages, but the addresses may not fall in the proper place (at the end of the document, in the amsart style).

31.7.2 Numbers and punctuation in italic text

Mathematical typesetting poses a problem that rarely arises in nonmathematical typesetting. In mathematical formulas, for consistency, parentheses and other punctuation, as well as numbers, are always set in an upright font rather than varying with the surrounding text. But then when a math formula with nonitalic numbers and punctuation occurs in the middle of italicized text—e.g., in a theorem—with italic numbers and punctuation nearby, the visual discrepancy rises up to smite the reader in the eye. Consider the following example.

Proposition 1 (1) If τ = (τ_{1}, …, τ_{d}) are horocyclic coordinates on T(Γ), then the plumbing coordinates defined in §7.3 (t = (t_{1}, …, t_{d})) are coordinates on the quotient space.

(2) We have D_{0}(G) ≅ T(Γ): hence D_{0}(G) is a domain of holomorphy.

Therefore it is conventional in mathematical publishing to use the same upright style for numbers and punctuation in italic text as is used in the mathematics: (1) The quotient space … in §7.3 (t = (t_{1}, …, t_{d})) … and (2) We have D_{0}(G) ≅ T(Γ): hence . . ..

At the present time, italic fonts with upright numbers and punctuation aren’t available. The work of getting upright numbers and punctuation in italic text therefore must be done some other way. In order to help the author, the amsart and amsbook documentstyles take two steps. First, they do as much as possible automatically, behind the scenes. For example, \ref usually produces a number of some sort; the definition of \ref has been changed so that the number will never print in italic. Second, they provide a control sequence \rom, with one argument, that can be used by the author when necessary to make an individual punctuation mark or number nonitalic. For example:

     ... formal \rom{(} in the previous year, \rom{1989)} ...

Italic corrections are inserted automatically by \rom.

The use of \rom is unnecessary for punctuation marks that are not high enough to have a noticeable slant, such as commas and periods.

32 The amsbook documentstyle

The amsbook style has much in common with the amsart style; everything in the previous sections about amsart holds true for amsbook, excepting some details such as the placement of author addresses and other top matter information.

32.1 Front matter

The “top matter” information for a book (more commonly called the front matter, when discussing a book) is usually specially made up on a title page, with the format varying widely from book to book. In the amsbook design \maketitle produces a simple title page with the title and author; subject classification numbers, abstract, or key words, if supplied, will print on the following page. The style is rather plain because it’s not intended for actual publication; its purpose is to make it convenient for authors to provide the necessary information to a publisher.

For submissions to the American Mathematical Society, please provide as a minimum the following information: title, author, addresses, mathematics subject classification numbers, translator (if applicable), and acknowledgments of funding support (\thanks).

32.2 Running heads

Right-hand running heads in the amsbook style contain the text of the current section heading; left-hand running heads contain the current chapter title. For special chapters such as a preface or bibliography that don’t have sections, the right running head will be the same as the left. Square-bracket options can be used, as normal, to change the text used for running heads.

33 Bibliography styles for use with BibTEX

The AMS-L^{A}TEX distribution includes two bibliography styles, amsplain and amsalpha, analogous to the standard L^{A}TEX plain and alpha bibliography styles. In the AMS styles an extra field “language” is provided, for giving the original language of a reference, as an indication to the reader that the title, author name, and so on are translated.

Also included is a file mrabbrev.bib containing standardized abbreviations used by Mathematical Reviews for journal names in the mathematical sciences and related fields. Because the full list is too big to be handled by the current version of BibTEX, individual users should use it as a resource, extracting abbreviations for the journals that they cite in their particular bibliography database and adding them to their database.

Part V

Appendixes

A Installation instructions

A.1 Introduction

AMS-L^{A}TEX can be used with any standard implementation of TEX. See Subsection D.1 for a listing of recommended TEX capacities for using this package. All the files for AMS-L^{A}TEX can be obtained by anonymous FTP from the AMS Internet archive, e-MATH.AMS.org (IP number 130.44.1.100 (August 1991)). Those without Internet access may obtain the files on diskette from the AMS (see section E.1), and they are also included with many of the commercial versions of TEX. The installation instructions below describe a DOS installation of AMS-L^{A}TEX, although the procedures can be generalized to apply to non-DOS environments. Section A.7 contains supplementary installation instructions for use with Textures on the Macintosh.

If you do not have a recent version of the file latex.tex, then you may have difficulty using the AMS-L^{A}TEX package. Checking the version number is not sufficient because there have been several releases called Version 2.09. There is, however, a date that is printed on the terminal screen, after the version number, whenever you run L^{A}TEX. Problems have been reported with versions dated as late as August 1988. The latest version (as of August 1991) is dated January 14, 1991. A date of <24 May 1989> or later will avoid known problems.

If you need a new copy of latex.tex, the alternatives are: (1) if you have a commercial version of TEX, contact the company to see about getting a more recent copy of latex.tex; (2) retrieve it by anonymous FTP from the Internet archive labrea.stanford.edu (the canonical source) or from the AMS archive e-MATH.AMS.org; (3) contact the TEX Users Group and ask about alternative sources—see Appendix E.

A.2 Files included in this distribution

The subdirectory doc contains the following files:

         READ.ME           amslatex.tex      testart.bbl
         amsart.doc        amslatex.toc      testart.tex
         amsart10.doc      app.tex           testbook.bbl
         amsart11.doc      chap1.tex         testbook.tex
         amsart12.doc      chap2.tex         theorem.doc
         amsbk10.doc       pref.tex          thp.doc
         amsbook.doc       test.bib          verbatim.doc

         amslatex.aux

The subdirectory fontsel contains the following files:

READ.ME           fontsel.bug       preload.med
array.sty         fontsel.tex       preload.min
basefont.tex      lfonts.new        preload.ori
concrete.doc      margid.sty        readme.mz
concrete.sty      newlfont.sty      readme.mz3
euscript.sty      nomargid.sty      syntonly.sty
fontdef.max       oldlfont.sty      tracefnt.sty

fontdef.ori

The subdirectory inputs contains the following files:

READ.ME           amscd.sty         mrabbrev.bib
amsalpha.bst      amsfonts.sty      nonamelm.sty
amsart.sty        amsplain.bst      nosumlim.sty
amsart10.sty      amssymb.sty       preload.max
amsart11.sty      amstex.sty        righttag.sty
amsart12.sty      amstext.sty       theorem.sty
amsbk10.sty       ctagsplt.sty      thp.sty
amsbook.sty       fontdef.ams       verbatim.sty
amsbsy.sty        intlim.sty

The subdirectory tfm contains the following files:

READ.ME       cmex8.tfm     dummy.tfm     msbm10.tfm
cmmib5.tfm    cmex9.tfm     msam10.tfm    msbm5.tfm
cmmib6.tfm    cmbsy5.tfm    msam5.tfm     msbm6.tfm
cmmib7.tfm    cmbsy6.tfm    msam6.tfm     msbm7.tfm
cmmib8.tfm    cmbsy7.tfm    msam7.tfm     msbm8.tfm
cmmib9.tfm    cmbsy8.tfm    msam8.tfm     msbm9.tfm
cmex7.tfm     cmbsy9.tfm    msam9.tfm

A.3 Copying files to the appropriate directories

If you have an earlier version of AMS-L^{A}TEX and wish to maintain a backup copy, start by backing up the files from that version (referring to the file list for that version). Normal installation, as described below, will overwrite the files listed above; however, two files from version 1.0, named amsbk11.sty and amsbk12.sty, must be deleted separately because they are not present in the latest version.

On your system, create a directory named amslatex, and three subdirectories named doc, fontsel, and inputs. Then, copy the contents of the corresponding subdirectories of the AMS-L^{A}TEX distribution into those subdirectories. If your TEX inputs path is user-definable, you should now append it to include the fontsel and inputs subdirectories. If it is not user-definable (such as with Textures), then you should copy the entire contents of these two directories into the directory where TEX looks for input files.

If you do not have AMSFonts (version 2.0 or later) installed, you will also need at least the .tfm files for the math symbol fonts in the AMSFonts package (even if you do not intend to use any of the AMSFonts). These .tfm files are included with the AMS-L^{A}TEX distribution under a separate directory named tfm. Copy these files into the directory on your system where your implementation of TEX looks for .tfm files.

Once the files have been copied to the appropriate places, the main ones of interest will be:

\begin{matrix}lfonts.new \\ fontdef.* \\ preload.* \\ basefont.tex \\ newlfont.sty \end{matrix} \} Used in creating a new L^{A}TEX format file

amstex.sty  L^{A}TEX option file
amsart.sty  Main documentstyle for AMS article formatting
amsbook.sty  Main documentstyle for AMS book formatting
amslatex.tex  AMS-L^{A}TEX User’s Guide

\begin{matrix}app.tex \\ chap*.tex \\ pref.tex \\ test*.* \end{matrix} \}  Examples

Use of the AMS-L^{A}TEX package is dependent on the font selection scheme of Mittelbach and Schöpf described in TUGboat 11, no. 2, June 1990, pp. 297– 305. This means that you need either to receive from someone else a new L^{A}TEX format file based on Mittelbach and Schöpf’s scheme (some of the distributors of TEX may provide this), or make one yourself (instructions follow), using initex, a version of TEX with no preloaded format.

Note that the file for the complete AMS-L^{A}TEX User’s Guide (amslatex.tex) can be typeset using your old L^{A}TEX format file, so, if you haven’t done so already, you can typeset it using L^{A}TEX in the usual way and read it before proceeding further.

A.4 Making a new format file

In order to create a new L^{A}TEX format file that uses the Mittelbach–Schöpf font selection scheme, you must first rename the file lfonts.tex that was distributed with your original L^{A}TEX distribution, so that it won’t interfere. This file is in one of the directories where your implementation of TEX looks for input files; e.g., for PCTEX it would be \pctex\texinput or \pctex\latex. Rename the file to something such as olfonts.tex (“O” for “original”). You may also want to rename the file lplain.fmt, in the directory where your TEX looks for format files, to olplain.fmt, if you want to continue to be able to use the old version of L^{A}TEX as well as the new version. Otherwise this file will be overwritten during the installation process.

Then follow the directions for creating a new L^{A}TEX format file, using initex, in the documentation for your implementation of TEX. The directions will vary from one implementation of TEX to another, but basically what you want to do is run the program initex as if you were running TEX, using lplain.tex as the input file. (Remark: For PCTEX there is an “i” option for the tex command rather than a separate initex command.) (lplain.tex is a standard L^{A}TEX file that should already be installed on your system. It is not included in the AMS-L^{A}TEX distribution.)

After some initial processing, initex will stop and ask for another filename because it cannot find the file lfonts.tex. (Remember, you renamed it according to the first paragraph of this section.) When it stops, type lfonts.new in response to the prompt (“Please type another input file name”) and continue. There are three other files that will be input in a similar way. They are indicated in the following table.

In place of:  Substitute:

fontdef.tex  \{ \begin{matrix}fontdef.ori & If you want to use only CM and L^{A}TEX fonts. \\ fontdef.ams & If you want to also use the basic math fonts from the AMSFonts collection (Euler Fraktur, bold math, extra math symbols MSAM and MSBM). \\ fontdef.max & If you want to also use other AMSFonts (Euler Roman or Script, cyrillic text fonts), or Concrete fonts. \end{matrix}

preload.tex  \{ \begin{matrix}preload.min & To preload fewer fonts (uses less font memory, but may noticeably increase processing time). \\ preload.med & To preload a “medium” number of fonts. \\ preload.ori & To preload all basic L^{A}TEX fonts (leaves less memory for other fonts, but gives faster processing time). \end{matrix}

xxxlfont.sty  \{ \begin{matrix}basefont.tex & If you intend to use AMSFonts. \\ newlfont.sty & If you don’t intend to use AMSFonts. \end{matrix}

Note: When basefont.tex is used the following math symbols will be undefined:

\mho, \Join, \Box, \Diamond, \leadsto, \lhd, \unlhd, \rhd, and \unrhd.

Alternate versions of all these symbols exist in the AMSFonts math symbol fonts (which presumably you have, if you used basefont.tex) and they can be defined using \newsymbol. See the AMSFonts User’s Guide.

After quite a bit of further processing you will wind up at a * prompt, whereupon you should type \dump and return. You will then have a file called lplain.fmt. Depending on your implementation of TEX, this file may be automatically placed in the directory where TEX looks for format files or it may be in the currently connected directory. If the latter is true, you must copy it to the directory where TEX will look for format files (see your TEX’s documentation for the name of that directory).

You might also want to copy the transcript file lplain.log into the directory with the format file, for future reference.

A.5 Using the new format file

The test files testart.tex and testbook.tex, in the doc subdirectory, are useful for testing your new lplain.fmt format file. These are examples using the amsart and amsbook documentstyles.

To do this, follow the instructions for using a format file with your implementation of TEX. With PCTEX and many other implementations of TEX, the command would be

           tex &lplain testart.tex    (or testbook.tex)

although it may be different for your implementation. Dumping the format file will take a long time on some slower machines.

A.5.1 Math fonts

The amstex option assumes the availability of the math symbol fonts MSAM and MSBM from the AMSFonts package. If the .tfm files for these fonts are not available, there will be an error message at the first math formula in a document, when L^{A}TEX attempts to load the MSAM and MSBM fonts. If you plan to actually use the symbols in these fonts, or any of the other AMSFonts, you will also need to obtain and install the .pk files for AMSFonts which are appropriate for your output device. However, if you do not need the extra symbols from these fonts, you do not have to obtain the full AMSFonts package; it is sufficient to install only the few .tfm files that are referenced. These .tfm files are provided with the AMS-L^{A}TEX distribution (see Section A.3).

A.6 Using the old format file

Some of your old L^{A}TEX files may be incompatible with the new format file. If you find this to be the case, you can ordinarily typeset such a file by adding “oldlfont” to the documentstyle options list. Alternatively, of course, you could use the old L^{A}TEX format file instead of the new one. Assuming you saved the previous lplain.fmt file under the name olplain.fmt, you would use &olplain instead of &lplain in the command line.

A.7 Installation for use with Textures

Users of Textures on the Macintosh do not need to use initex (in a sense, initex and ordinary TEX are both contained in the Textures program). Format files can be produced by running Textures in the ordinary way and inputting the desired macro files.

A.7.1 Putting the Files in the Right Place

The files in the AMS-L^{A}TEX package are divided into the groups ‘doc’, ‘inputs’, ‘fontsel’ and ‘tfm’. Copy all the ‘inputs’ and ‘fontsel’ files into the TeX Inputs folder in your Textures folder. Copy the ‘doc’ files into a separate folder named AMS-LaTeX. The final group consists of a single font metrics suitcase called AMSFonts 2.1 Metrics, which should be copied into your TeX Fonts folder.

A.7.2 Creating a New Format

Users of most implementations of TEX create a L^{A}TEX format file by starting with something called VirTEX, which has nothing preloaded—not even the Plain format. With Textures this is not normally possible, because Plain is always loaded when you start running Textures. You may create a L^{A}TEX format based on the Plain format. However, it involves some unnecessary overhead from Plain definitions and preloaded fonts that are not pertinent to L^{A}TEX, but normally this extra overhead will not be a problem.

If you want to avoid that overhead, Blue Sky Research (the maker of Textures) distributes a special Textures format called “VirTEX” that can be used instead of the Plain format in the installation procedure described below. [There is one change in the installation procedure: you will need to load the file hyphen.tex instead of bypassing it as instructed below.] VirTEX is not currently included in the standard Textures distribution (because most users don’t need it), but is available to registered Textures users on request from Blue Sky Research at 534 SW Third Avenue, Portland, OR 97204; (800) 622-8398 or (503) 222-9571.

Before making your new L^{A}TEX format file, there is one preliminary step you may need to take. If there exists a file called lfonts.tex anywhere in your Textures folder or subfolders, rename it to something else, let’s say Old lfonts.tex. This is to prevent lfonts.tex from being automatically loaded before we have a chance to substitute another file in its place. If you don’t happen to know whether you have such a copy of lfonts.tex, you can just run through the installation procedure below; if you see lfonts.tex being loaded in the TeX log window and no dialog box pops up to say I can't read ``lfonts'' (not found), then you do have an old lfonts.tex file and you’ll need to track it down and rename it before trying again.

1. Open the Textures folder if you haven’t done so already.

2. Start up Textures.

3. Open the file lplain.tex on the diskette.

4. Go to the “Typeset” menu and make sure that the Plain format is marked as the current format. (I.e., it should have a check mark next to it.)

5. Select Typeset from the “Typeset” menu. Informational messages will begin scrolling past in the TeX log window describing the progress of the format file creation. At various points in the processing Textures will inform you that it can’t read various files. Proceed as described below.

6. If Textures says it can’t read “hyphen”, click the “No” button in the dialogue box, because hyphen.tex is already loaded inside the Plain format. On the other hand, Textures might be able to find hyphen.tex if you already have a copy somewhere. If Textures does read hyphen.tex, you’ll get an error message saying

     ! Too late for \patterns.

Click on the “Continue” button or press the return key as instructed by the comment in hyphen.tex; this error is harmless because the Plain format already contains the hyphenation patterns.

7. Further processing will eventually lead to a dialog box saying I can't read ``lfonts'' (not found). Click the “Yes” button and select lfonts.new from the TeX inputs folder. Other substitutions will be made in the same manner; the complete substitution list is as follows.

I can't read ...

lfonts.tex: Select lfonts.new.

fontdef.tex: Select fontdef.ori, fontdef.max, or fontdef.ams.
preload.tex: Select preload.ori, preload.min, or preload.med.
xxxlfont.sty: Select oldlfont.sty, newlfont.sty, or basefont.tex.

(See section A.4 for an explanation of the choices in each case.)

8. At this point Textures will stop and present a * prompt in the log window. Enter the command \dump (followed by a return) to cause everything loaded so far to be saved in a new format file. You will be asked to give a name for the new format file; before giving the name, proceed through the Macintosh folder hierarchy to reach the TeX formats folder, so that the format file will be saved into that folder. Then enter AMS-LaTeX as the name for the format file.

That completes the installation process; the new format file can now be used by adding it to the format list with the “Add Format” command, and then selecting it in the “Typeset” menu. To test it, try typesetting the sample document, testart.tex. However, if you do not plan to install the AMSFonts package along with AMS-L^{A}TEX, see Section A.5.1 above.

B Files included in the AMS-L^{A}TEX distribution

The total number of files in the AMS-L^{A}TEX package, including documentation and option files, is more than sixty. A majority of these files are for the Mittelbach–Schöpf font selection scheme and other L^{A}TEX option files written and maintained by Mittelbach and Schöpf. They are used by various parts of the AMS-L^{A}TEX package but are not inherently part of the AMS-L^{A}TEX distribution; they are included at the present time because they have not yet become widely available in the United States.

B.1 Files maintained by the American Mathematical Society

amslatex.tex
amslatex.aux
amslatex.toc

This User’s Guide, describing the AMS-L^{A}TEX package, and the auxiliary files generated by L^{A}TEXfor crossreferences and for the table of contents.

testart.tex test.bib testart.bbl

A sample file illustrating the use of commands from the amstex option, as well as the amsart documentstyle.

testbook.tex
pref.tex
chap1.tex
chap2.tex
app.tex
testbook.bbl

These files are sample files illustrating the use of the amsbook documentstyle.

amstex.sty

The amstex documentstyle option. Defines special AMS-TEX structures (like multiline display alignments) with L^{A}TEX syntax. It is a copy of amstex.tex, version 2.1, modified as necessary to make it usable from within L^{A}TEX.

amstext.sty
amsbsy.sty
amsfonts.sty
amssymb.sty

These are extra option files that can be used apart from the amstex option. All except amssymb.sty are input by amstex.sty. The file amsbsy.sty defines the \boldsymbol command and the \pmb command (“poor man’s bold”). The file amstext.sty defines the AMS-TEX \text command. The files amsfonts.sty and amssymb.sty are for use with the AMSFonts package (version 2.0+). amsfonts.sty defines commands, including \newsymbol, for using fonts in the AMSFonts collection, and amssymb.sty defines the names of all the math symbols available in the AMSFonts collection.

amscd.sty  Commutative diagrams

The amscd option defines some commands for convenient typesetting of commutative diagrams. It can be used as an add-on with the amstex option, or independently.

intlim.sty
nonamelm.sty
nosumlim.sty
righttag.sty
ctagsplt.sty

Extra math style options that affect, for example, left or right placement of equation numbers. They are for use only with the amstex option. The intlim option provides for integral subscripts to be placed above and below rather than on the side. The nosumlim option provides for sum subscripts to be placed on the side rather than above and below. The nonamelm option provides for “operator name” subscripts to be placed on the side rather than above and below. The righttag option puts equation numbers on the right instead of on the left. The ctagsplt option gives equation numbers vertically centered on the height of a displayed equation that uses the split environment.

amsart.sty amsbook.sty amsart.doc amsbook.doc

Primary documentstyles for submissions to the AMS, for articles and books respectively, and technical documentation files. Auxiliary files for 10-point, 11-point and 12-point options are also distributed:

amsart10.sty, amsart11.sty, amsart12.sty,
amsbk10.sty, amsbk10.doc, amsart10.doc.
amsplain.bst
amsalpha.bst
mrabbrev.bib

Bibliography style files for use with BibTEX, and a file containing the Mathematical Reviews standard abbreviations for the names of mathematical journals.

*.tfm

Font metrics files for a subset of AMSFonts 2.1, included in the AMS-L^{A}TEX distribution as described in section A.3.

B.2 Files maintained by Mittelbach and Schöpf

The official copies of the remaining files in this distribution are maintained by Frank Mittelbach and Rainer Schöpf, who have given permission for the American Mathematical Society to distribute them.

theorem.sty
theorem.doc

and related files Option for special treatment of theorems and similar structures, written by Frank Mittelbach, and auxiliary

                  files; used by amsart.sty and amsbook.sty.
verbatim.sty
verbatim.doc

Option file implementing an improved verbatim environment and a comment environment, written by Rainer Schöpf.

lfonts.new
preload.min
fontdef.max
newlfont.sty

and related files The files that implement the Mittelbach–Schöpf font selection scheme.

C Differences between AMS-TEX (version 2.1) and the amstex option

This section describes the parts of AMS-TEX that were removed during the creation of the amstex option. It will probably be of interest primarily to users with AMS-TEX experience.

In general, AMS-TEX commands that were redundant with L^{A}TEX commands were simply dropped. Other commands were reimplemented as documentstyle options or otherwise changed in form.

C.1 Document structure commands

These commands have all been superseded by their L^{A}TEX equivalents (some of which have the same name but function slightly differently):

AMS-TEX  L^{A}TEX

           \document    \begin{document}
           \midspace    \beginfigure[htp]...\endfigure
           \footnote    \footnote
           \cite        \cite
           \pagewidth   \textwidth
           \pagebreak   \pagebreak
           \pageheight  \textheight

For more information on document structure commands refer to Part IV, which describes the amsart and amsbook documentstyles.

C.2 Math font commands

The names for AMS-TEX math font commands couldn’t simply be carried over to L^{A}TEX because there is a conflict with \roman, which is preempted by L^{A}TEX for another use. Therefore, in the amstex option, AMS-TEX’s \roman has been renamed \mathrm. In addition, the \italic and \slanted math font commands have been dropped in amstex, since their usefulness is debatable and memory space for control sequence names is in short supply. It appears that \text {\it...} will serve everywhere that \italic might be used, and the same goes

for \sl and \slanted.

In AMS-TEX the text font commands \bf, \rm, \sl, etc., cause an error message if used in math mode, but in the amstex option this has been disabled. This is intended to make it easier for users who might want to add the amstex option to a L^{A}TEX document that has already been written or partially written. However, using these commands in math mode will have no effect on font changes.

In AMS-TEX 2.0+ there is a command \boldkey used to obtain bold versions of math symbols such as = and + that are present on keyboard keys. In the amstex option the use of the new font selection scheme made it possible to generalize \boldsymbol so that \boldkey is not needed.

C.3 Matrices

The \format option of AMS-TEX’s \matrix is not available for matrix, pmatrix and related environments; just use the array environment instead if you need an unusual format for the columns.

AMS-TEX’s \smallmatrix command has also been reimplemented as an environment:

     \begin{math}
       \bigl( \begin{smallmatrix}
           a&b\\ c&d
         \end{smallmatrix} \bigr)
     \end{math}

C.4 Displayed equation structures

In the L^{A}TEX amstex option, commands for creating multiple-line displays have been converted to environments similar to L^{A}TEX’s eqnarray and equation— they use \begin and \end, and the $$ that would have been used in AMS-TEX should not be used. See Section 25 for more details.

C.5 Math style commands

As a matter of convenience, AMS-TEX provided the abbreviations \dsize,

\tsize, \ssize, and \sssize for \displaystyle, \textstyle, \scriptstyle,

and \scriptscriptstyle. In order to conserve control sequence names, these have been dropped in amstex, since they are merely synonyms. If you need to use a math style command frequently because of the nature of your material, you can add an abbreviation using \newcommand in the preamble of your document, and call it whatever you choose:

     \newcommand{\sst}{\scriptstyle}
C.6 \thickfrac
The \thickfrac and \thickfracwithdelims commands of AMS-TEX have

been replaced by square-bracket options on the \frac and \fracwithdelims commands. See Section 21.

C.7 Commenting out a large section of text

The \comment command of AMS-TEX is replaced by the comment environment of the verbatim documentstyle option. See the description in Section 27.1.

C.8 Page breaks inside a display

In the amstex option, \displaybreak should precede the \\ where it is supposed to take effect. In the original AMS-TEX it follows immediately after the \\.

C.9 Special colons in math

L^{A}TEX and AMS-TEX have different definitions for the \: command. In L^{A}TEX it is a medium math space, whereas in AMS-TEX it is a colon with spacing appropriate in certain notation for mappings: S: s → s^{t} ($S\:s\to s^t$). The L^{A}TEX version is the one that has been retained, in order to avoid compatibility problems. \colon is available as a substitute for the AMS-TEX \:.

C.10 Paragraphed text within a displayed equation

AMS-TEX has a \foldedtext command for handling a piece of text within a display that needs to be typeset as a paragraph (perhaps to keep it from running over the right margin). In the amstex option this was dropped because it’s redundant; L^{A}TEX’s \parbox command can be used instead.

C.11 Commutative diagrams

In order to conserve memory, commutative diagram commands are a separate option, amscd, that must be loaded in the documentstyle options list if it is desired.

The \pretend… \haswidth command is not available in the amscd option. Approximately the same results can be gotten by inserting blank space using \hspace in the subscript or superscript fields of the extensible arrow commands

(@>>> and @<<<).

C.12 Footnotes

The \footnote command of the amsppt documentstyle is superseded by L^{A}TEX’s command of the same name. Instead of the AMS-TEX \adjustfootnotemark command use \addtocounter{footnote}{⟨number⟩}. The literal footnote mark feature of amsppt, where double quotes can be used to specify a different kind of footnote mark, is not available.

C.13 Vertical spacing

The AMS-TEX use of \vspace in alignment structures \align, \split, etc. is superfluous in L^{A}TEX because the same function is available through the optional argument of the \\ or \\* commands. Therefore AMS-TEX’s version of \vspace has been dropped.

C.14 Blank space for figures

AMS-TEX’s \midspace, \topspace, \caption and \captionwidth are super-

fluous in the amstex option and have been dropped; use L^{A}TEX’s figure environment and \caption command.

C.15 \hdotsfor

The original AMS-TEX syntax of \hdotsfor has been simplified somewhat in the amstex option; AMS-TEX’s \innerhdotsfor is not needed. The spacing between dots is adjusted via a square-bracket option rather than through a sepa-

rate command \spacehdotsfor or \spaceinnerhdotsfor. See Subsection 24.2.
C.16 \topsmash and \botsmash

These have been changed in the amstex option to square-bracket options of the \smash command. See Subsection 23.

C.17 \spreadlines and other display options

Some of the AMS-TEX options used inside displays, such as \spreadlines and \nopagebreak, have been dropped. For the most part their effect can be obtained by other means available in standard L^{A}TEX.

C.18 The \and command

There is a name conflict between AMS-TEX’s \and and L^{A}TEX’s \and. The function of AMS-TEX’s \and can be obtained in the amstex option by using

\And.

C.19 Global options

There are several AMS-TEX commands that change the global setting of certain aspects of the document style. For use with L^{A}TEX, we’ve done the natural thing, which is to make them into L^{A}TEX documentstyle options (see Section 27). These

commands are \TagsOnRight, \CenteredTagsOnSplits, \LimitsOnInts, \No-

LimitsOnNames, and \NoLimitsOnSums. The corresponding opposites of these commands have been dropped because they describe the default conditions in the amstex option. Because they seem to be of only marginal usefulness, \TagsAsMath and \TagsAsText have been dropped completely.

D Memory statistics

Combining all of AMS-TEX with all of L^{A}TEX, even after eliminating redundancies, produces a large macro package that strains the current limits of personal computer versions of TEX. After the zealous application of efficiency measures, the current version of AMS-L^{A}TEX is probably more compact than anyone anticipated; nevertheless, for some documents and some implementations of TEX it will still be too big to run. Among other things, a large number of bibliography items, cross-references, or personal definitions will tend to cause an overrun in a particular area of TEX’s memory: the maximum limit on the number of control sequence names. Also, you are more likely to run out of main memory if your document includes a large table or PicTEX diagram.

For those who might be interested in the details, Table 6 shows memory statistics from L^{A}TEX runs using various combinations of option files from the AMS-L^{A}TEX distribution. For comparison purposes, the statistics in the first column are from a sample run using the current standard L^{A}TEX without the Mittelbach–Schöpf font scheme, with the article documentstyle, and the last column, “representative maxima”, shows the available memory in each category in the implementation of TEX used for testing (VAX/VMS Version 2.98a.0 (AMS)). The test document used in each case was a medium-size article with about 20 bibliography entries, 50 author-defined commands, and 50 cross-reference labels.

It can be seen that in all of the tests with the amstex option loaded the upper limit of 65500 words of main memory is nearly exceeded. And use of the amssymb option in the fourth test would cause control sequence memory to be exceeded for implementations of TEX that have a maximum of 3000 (currently true for many implementations on small computer systems).

The font base used in all the tests, except for the control, was fontdef.max, preload.min, and newlfont.sty. Obviously, preloading more fonts by using a different preload file would tend to increase font memory usage. The reason for the comparatively small number of fonts used by the amsart documentstyle is that no fonts larger than \normalsize are used in the title and section headings.

Memory statistics for the amsbook documentstyle are comparable to the statistics for amsart. But bear in mind that books will usually have larger bibliographies and more cross-references, which means greater usage of control sequence memory and string memory (“hash size” and “string pool”, respectively).

D.1 Recommended values for the various TEX memory categories

Table 7 lists the recommended capacities in various categories for successful use of the AMS-L^{A}TEX major documentstyles or the amstex option. Not all categories are listed; the ones that appear are the ones where problems tend to occur in current implementations of TEX.

Note in particular that the compiled-in value for string pool needs to be much larger than the values listed in Table 6. This is because the string pool capacity reported by TEX in response to a \tracingstats command is not the compiled-in value, but the result of subtracting from the compiled-in value the number of characters in TEX’s built-in error messages, the names of primitive control sequences, and the names of all additional control sequences defined in the format file (in our case, the whole of L^{A}TEX), not to mention font names and file names. Thus the reported value only measures the amount of string

Table 6: Memory statistics

          article^{∗}

                    [M--S fonts] article
                             [amstex]† ; article

                                        [amstex, amscd, amssymb] article
                                                  [amsfonts, amsbsy] article
                                                              [amstex]† ; amsart

represen- tative maxima

strings 286  386  942  1170  500  933  7032

string ; charac- ; ters‡

2421  3183  8444  10505  4218  8419  20798‡

main memory 51376  50126  63506  63880  51059  65445  65501

control sequences

2234  2410  2938  3160  2498  2946  5000

font infor- mation

18941  12721  16842  16842  16842  11462  65504

number of fonts

72  50  70  70  70  47  220

hyphen- ation excep- tions

14  14  14  14  14  14  307

input stack  12  16  16  16  16  19  200

nesting levels

9  9  14  14  9  14  40

param- eter stack

25  25  25  25  25  25  60

input buffer 361  361  436  436  400  436  1500
save stack 233  173  192  192  187  264  2000

∗This column is the control, using standard L^{A}TEX with the standard article documentstyle, without the Mittelbach–Schöpf font selection scheme. The adjacent column is the same, except for the font selection scheme. †Recall that the amstex option includes the amsfonts, amsbsy, and amstext options, and that the amsart and amsbook documentstyles automatically include the amstex option. ‡For the number of string characters (also referred to as string pool size), the values given here (as reported at the end of a L^{A}TEX log file) are potentially misleading. They represent the difference between the maximum value compiled into TEX and the total number of string characters used by all current control sequences and other strings, including primitive control sequences and the error messages that are built into TEX. See Subsection D.1 below.

capacity that remains to the user after the format file is loaded. This reported value should be at least 10000 for ordinary use, and 20000 if memory-expensive options such as amssymb or PICTEX are to be made available to the user. We recommend that the compiled value be at least 60000.

The reported value for number of strings is reduced in the same way, so that the recommended minimum value for compilation is 5000.

Table 7: Recommended capacities

Capacity

Category Adequate Generous WEB variable
strings 5000  15000  max_strings
string characters 60000  120000  pool_size
macro string pool^{∗} 30000  90000  string_vacancies
main memory 65000  130000  main_mem
control sequences 4000  7000  hash_size
font information 60000  120000  font_mem_size
number of fonts 128  256  font_max
input buffer 1000  2000  buf_size
save stack 2000  5000  save_size

∗The number of string characters left for macro packages and user commands, after all primitives and built-in error messages have been loaded—i.e., the total number of string characters available for a format file and individual documents using that format file.

E Getting help

Comments or questions on the AMS-L^{A}TEX package should be sent to:

American Mathematical Society Technical Support P. O. Box 6248 Providence, RI 02940 Phone: 800-321-4AMS (321-4267) or 401-455-4080

Internet: tech-support@Math.AMS.org

If you are reporting a problem you should include the following information:

1. the source file—either in electronic form or printed—where the problem occurred, preferably with irrelevant material removed.

2. a L^{A}TEX transcript (log) file showing the error message (if applicable) and the version numbers of the documentstyle and option files being used.

E.1 Further information

Information about obtaining AMSFonts or other TEX-related software from the AMS Internet archive e-MATH.ams.org can be obtained by sending a request through electronic mail to:

              e-math@math.ams.org

Information about obtaining AMS-L^{A}TEX on diskette from the AMS is available from:

American Mathematical Society Customer Services P. O. Box 6248 Providence, RI 02940 Phone: 800-321-4AMS (321-4267) or 401-455-4000

Internet: cust-serv@Math.AMS.org

The TEX Users Group is a nonprofit organization that publishes a journal (TUGboat), holds meetings, and offers other services to members.

TEX Users Group P. O. Box 869 Santa Barbara, CA 93102-0869 Phone: (805) 963-1338

Internet: TUG@Math.AMS.org

Membership in the TEX User’s Group is a good way to support continued development of TEX-related public-domain software.

References

[1] AMSFonts version 2.1—user’s guide, American Mathematical Society, Providence, R.I., 1991; distributed with the AMSFonts package.

[2] Guidelines for preparing electronic manuscripts—AMS-L^{A}TEX, American Mathematical Society, Providence, R.I., 1990.

[3] Donald Knuth, The TEXbook, Addison-Wesley, 1984.

[4] Leslie Lamport, L^{A}TEX: A document preparation system, Addison-Wesley, 1985.

[5] Frank Mittelbach and Rainer Schöpf, The new font family selection—user interface to standard L^{A}TEX, TUGboat 11, no. 2 (June 1990), pp. 297–305.

[6] Michael Spivak, The joy of TEX, 2nd ed., American Mathematical Society, Providence, R.I., 1990.

Index

\!, 18

*.tfm, 50

\,, 18

.pk, 46

.tfm, 43, 45, 46 \/, 30 \:, 18, 53 \;, 18 @ (at sign), 32, 34 @!, 18 @,, 18 @<<<, 26, 53 @>>>, 26, 53

@AAA, 26
@VVV, 26

\\, 27, 28, 53 ~, 30

abstract environment, 34

\abstractname, 35
\accentedsymbol, 20
\addcontentsline, 32
\address, 34, 38
\addtocontents, 32
\addtocounter, 24, 54
\addtolength, 28
\adjustfootnotemark, 53
\align, 54

align environment, 27, 28 alignat environment, 27 aligned environment, 28 alignedat environment, 28

\allowdisplaybreaks, 28, 29
alpha, 40

alpha bibliography style, 40

AMS-LaTeX, 46, 48
amsalpha, 40

amsalpha bibliography style, 40

amsalpha.bst, 50

amsart documentstyle, 3, 9, 33–36, 38, 39, 51, 55–57 amsart option, 48

                                    amsart.doc, 50
                                    amsart.sty, 50
                                    amsart10.doc, 50
                                    amsart10.sty, 50
                                    amsart11.sty, 50
                                    amsart12.sty, 50
                                    amsbk10.doc, 50
                                    amsbk10.sty, 50
                                    amsbk11.sty, 43
                                    amsbk12.sty, 43

amsbook documentstyle, 3, 9, 33, 35, 36, 38–40, 51, 56, 57

amsbook option, 49

                                    amsbook.doc, 50
                                    amsbook.sty, 50

amsbsy option, 31, 56

                                    amsbsy.sty, 49

amscd option, 21, 25, 26, 49, 53

                                    amscd.sty, 49

amsfonts option, 16, 31, 56

                                    AMSFonts 2.1 Metrics, 46
                                    amsfonts.sty, 49
                                    amslatex, 43
                                    amslatex.aux, 48
                                    amslatex.tex, 1, 48
                                    amslatex.toc, 48
                                    amsplain, 40

amsplain bibliography style, 40

                                    amsplain.bst, 50
                                    amsppt, 54

amsppt documentstyle, 3, 53 amssymb option, 17, 31, 55, 57

                                    amssymb.sty, 49

amstex option, 1–3, 12, 15–33, 45,

48–57

                                    amstex.sty, 49
                                    amstex.tex, 49

amstext option, 31, 56

                                    amstext.sty, 49
                                    \And, 54

\and, 54
app.tex, 49

array environment, 24, 32, 52 article documentstyle, 3, 33, 34,

55, 56 \author, 34, 35, 38

babel.sty, 35
basefont.tex, 48

\Bbb, 12, 13, 16, 31

\begin, 2, 52

\bf, 4, 5, 13, 32, 52

\bfdefault, 8
\bibname, 35
\Big, 30
\big, 30
\Bigg, 30
\bigg, 30
\binom, 23
\bmatrix, 24
\bmod, 22

\bold, 12, 13, 15, 32

\boldkey, 52
\boldmath, 15, 16

\boldsymbol, 13, 15, 16, 31, 49, 52 book documentstyle, 3, 33

\botsmash, 54
\Box, 45
\boxed, 20

\cal, 12, 13, 16

\caption, 32, 54
\captionwidth, 54

cases environment, 24 CD environment, 26

\cdots, 19
\CenteredTagsOnSplits, 55
\cfrac, 23
chap1.tex, 49
chap2.tex, 49
\chapter, 38
\cite, 51
cmbsy, 33
cmmib, 33

                                    cmti7, 11
                                    \comment, 53

comment environment, 31, 50, 53 ctagsplt option, 31, 50

                                    ctagsplt.sty, 50
                                    \curraddr, 34
                                    \cy, 15
                                    \date, 34
                                    \dbinom, 23
                                    \ddddot, 20
                                    \dddot, 20
                                    \ddot, 20
                                    \dedicatory, 34
                                    \dfrac, 22
                                    \Diamond, 45

dimension, 1, 23

                                    \displaybreak, 28, 53
                                    \displaystyle, 52
                                    doc, 43
                                    \document, 51
                                    \documentstyle, 3, 31
                                    \dot, 20

\dots, 18, 19

                                    \dotsb, 19
                                    \dotsc, 19
                                    \dotsi, 19
                                    \dotsm, 19
                                    \dsize, 52

\dump, 45, 48

                                    e-MATH.AMS.org, 41
                                    \em, 13
                                    \email, 34
                                    \End, 26

\end, 2, 19, 52

                                    \endmatrix, 2
                                    \endsomething, 2

eqnarray environment, 26, 28, 32,

52

                                    \eqref, 30

equation environment, 26–28, 52

\family, 4, 7, 8, 13

\fbox, 20

figure environment, 54 figures, 54 fleqn option, 33 floating environments, 54 floats, 54

\foldedtext, 53
fontdef.ams, 9, 48

fontdef.max, 8–10, 12, 48, 51, 55

fontdef.ori, 9, 12, 48
fontsel, 43
fontsel.tex, 4
\footnote, 9, 53
\format, 52

\frac, 22, 23, 53

\fracwithdelims, 23, 53

\frak, 12, 13, 16, 31

gather environment, 27, 28 gathered environment, 28

\haswidth, 53
\Hat, 19
\hat, 19
\hdotsfor, 25, 54
\hspace, 53
\Huge, 6, 33
\huge, 33
hyphen.tex, 47
\idotsint, 18
\iiiint, 18
\iiint, 18
\iint, 18
\innerhdotsfor, 54
inputs, 43
\intertext, 29

intlim option, 31, 50

intlim.sty, 50

\it, 4, 5, 13

\italic, 51, 52
\itdefault, 8
\Join, 45

\keywords, 34
labrea.stanford.edu, 41
\LARGE, 33
\Large, 33
\large, 33
latex.tex, 41
\lcfrac, 23
\ldots, 19
\leadsto, 45
\leftroot, 20

lfonts.new, 44, 47, 48, 51

lfonts.tex, 47
\lhd, 45
\lim, 22
\LimitsOnInts, 55
\loadmsam, 16
\loadmsbm, 16
\log, 22
lplain.tex, 47
\maketitle, 34, 39
\markboth, 32
\markright, 32

\mathrm, 12, 13, 32, 51 \matrix, 2, 24, 52 matrix environment, 52

\mbox, 21
\mediumseries, 5, 13
\medspace, 18
\mho, 45
\midspace, 51, 54

\mit, 12, 13

\mod, 22
mrabbrev.bib, 40, 50
msam, 33
msbm, 33

multline environment, 27, 28

\multlinegap, 28
\negmedspace, 18
\negthickspace, 18
\negthinspace, 18
\new@fontshape, 11

\newcommand, 16, 20, 52
newlfont.sty, 48, 51, 55
\newmathalphabet, 12

\newsymbol, 16, 17, 45, 49

\newtheorem, 29, 36, 37
\nolimits, 21
\NoLimitsOnNames, 55
\NoLimitsOnSums, 55

nonamelm option, 31, 50

nonamelm.sty, 50
\nonumber, 32
\nopagebreak, 54
\normalshape, 5, 9, 13
\normalsize, 33, 55

nosumlim option, 31, 50

nosumlim.sty, 50
\notag, 27, 32
\numberwithin, 29
Old lfonts.tex, 47
oldlfont option, 8
oldlfont.sty, 48

openbib option, 33

\operatorname, 13, 22, 26
\operatornamewithlimits, 22
\overleftarrow, 18
\overleftrightarrow, 18
\overrightarrow, 18
\overset, 21
\pagebreak, 28, 51
\pageheight, 51
\pagewidth, 51
\parbox, 53

pf environment, 37 pf* environment, 37 picture environment, 26 Plain, 46, 47 plain, 36, 40 plain bibliography style, 40

\pmatrix, 24

pmatrix environment, 52 \pmb, 13, 16, 31, 49

\pmod, 22

                                    \pod, 22
                                    pref.tex, 49
                                    preload.med, 48
                                    preload.min, 48, 51, 55
                                    preload.ori, 48
                                    \pretend, 53
                                    \protect, 32
                                    \qed, 37
                                    \qedsymbol, 37
                                    \rcfrac, 23
                                    \ref, 39
                                    \refname, 35
                                    \renewcommand, 7, 35, 37
                                    \rhd, 45

righttag option, 31, 50

                                    righttag.sty, 50

\rm, 4, 5, 7, 8, 13, 16, 32, 52

                                    \rom, 39
                                    \roman, 51

Sb environment, 25

\sc, 5, 13

                                    \scdefault, 8
                                    \scriptscriptstyle, 52
                                    \scriptstyle, 52
                                    \section, 32, 38
                                    \selectfont, 4, 5
                                    \series, 4, 5, 13
                                    \setcounter, 24
                                    \setlength, 28

\sf, 7, 8, 13

                                    \shape, 4, 13
                                    \sideset, 21
                                    \sin, 22
                                    \size, 4, 6

\sl, 5, 13, 52

                                    \slanted, 51, 52
                                    \slash, 30
                                    \sldefault, 8
                                    \smallmatrix, 52

smallmatrix environment, 25 \smash, 23, 24, 54

\something, 2

Sp environment, 25

\spacehdotsfor, 54
\spaceinnerhdotsfor, 54
\split, 54

split environment, 27, 28, 31, 50

\spreadlines, 54
\ssize, 52
\sssize, 52
\stackrel, 21
\subjclass, 34
\subst@fontshape, 12
\syntaxonly, 32

syntonly option, 32

tabular environment, 32 \tag, 27, 31, 32

\tag*, 27
\TagsAsMath, 55
\TagsAsText, 55
\TagsOnRight, 55
\tbinom, 23
\tenbf, 9
test.bib, 48
testart.bbl, 48

testart.tex, 1, 18–23, 26, 27, 48

testbook.bbl, 49
testbook.tex, 1, 49
TeX Fonts, 46
TeX formats, 48
TeX Inputs, 46
TeX inputs, 47
TeX log, 47

\text, 2, 13, 21, 24, 31, 49

\textheight, 51
\textstyle, 52
Textures, 46, 47
\textwidth, 51
tfm, 43
\tfrac, 22
\thanks, 34, 39
thebibliography environment, 35

theorem option, 36

theorem.doc, 50

                                    theorem.sty, 50
                                    \theorembodyfont, 36
                                    \theoremheaderfont, 36
                                    \theoremstyle, 36
                                    \thickfrac, 53
                                    \thickfracwithdelims, 53
                                    \thickspace, 18
                                    \thinspace, 18
                                    \tiny, 6
                                    \title, 34, 35
                                    \topsmash, 54
                                    \topspace, 54
                                    \translator, 34
                                    \tsize, 52

\tt, 4, 7, 8, 13

                                    \underleftarrow, 18
                                    \underleftrightarrow, 18
                                    \underrightarrow, 18
                                    \underset, 21
                                    \unlhd, 45
                                    \unrhd, 45
                                    \uproot, 20
                                    \varinjlim, 22
                                    \varliminf, 22
                                    \varlimsup, 22
                                    \varprojlim, 22

verbatim environment, 50 verbatim option, 31, 53

                                    verbatim.doc, 31, 50
                                    verbatim.sty, 50
                                    \Vmatrix, 24
                                    \vmatrix, 24
                                    \vspace, 54
                                    \widehat, 20
                                    \widetilde, 20

xalignat environment, 27 xxalignat environment, 27