%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % AMSLATEX.TEX August 1990 % % % % This file is part of the AMS-LaTeX Version 1.0 distribution % % American Mathematical Society, Technical Support Group, % % P. O. Box 6248, Providence, RI 02940 % % 800-321-4AMS (321-4267) or 401-455-4080 % % Internet: Tech-Support@Math.AMS.com % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %% A file for the User's Guide for the AMS-LaTeX macro package. %% \ifx\undefined\selectfont % If we are using an old LaTeX format file that does not incorporate % the Mittelbach--Sch"opf font selection scheme, we will % use the following documentstyle line: \documentstyle{article} % Otherwise we will use the following documentstyle declaration: \else \documentstyle[oldlfont]{article} \fi \makeindex % write index information to the file amslatex.idx % Some special definitions used in producing this documentation: \input{extradef} % Used in the first appendix, for listings of files: \newenvironment{filelist}{\par \addvspace{\medskipamount}\hrule\nobreak\addvspace{\medskipamount}\noindent \begin{tabular*}{\columnwidth}[t]{p{7pc}@{\extracolsep{\fill}}p{20pc}}}% {\end{tabular*}\par} \begin{document} \begin{titlepage} \pagestyle{empty} \title{\amslatex/ Version 1.0\\User's Guide} \author{American Mathematical Society} \date{August 1990} \maketitle \end{titlepage} % By not using arabic numbers for the table of contents pages, we % avoid having to run this file three times to get correct page % numbers. \pagenumbering{roman} \tableofcontents \newpage \pagenumbering{arabic} \part{General} \section{Introduction} The necessary documentation for using the \amslatex/ package has two parts: this {\em User's Guide\/}, and some sample files illustrating the features available in the \amslatex/ package. The file used to produce this {\it User's Guide} is \fn{amslatex.tex}; the sample files are named \fn{testart.tex} and \fn{testbook.tex}. Installation instructions for the \amslatex/ package are found in a separate file, \fn{amltinst.tex}. As explained in the \fn{amltinst.tex} file, installation requires making a new \latex/ format file. This {\em 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 \opt{amstex} option; this is done instead in the sample file \fn{testart.tex}. In the {\em User's Guide\/} approximate output has been shown for the purposes of illustration when it was practical to do so in ordinary \latex/. For best understanding, you should be reasonably familiar with the \latex/ manual: {\sl\latex/: A document preparation system}, by Leslie Lamport \cite{lm}. Reading the \jt/ \cite{jt} (the manual for \amstex/) will help you get the most out of the \amslatex/ software, but is not mandatory. For users whose background is in \amstex/ rather than \latex/, there is an appendix describing the ways in which the \latex/ \opt{amstex} option differs from \amstex/ 2.0. \subsection{Notes} The notation \, \, and the like will be used to indicate that an arbitrary dimension or number or whatever is to be substituted by the user. By {\it dimension\/} we mean a number followed by one of \tex/'s standard units {\tt pt}, {\tt pc}, {\tt in}, {\tt mm}, {\tt cm}, and so forth. It is important in this {\it User's Guide} that we distinguish between the original, non-\latex/ implementation of \amstex/ and the modified form of it that constitutes the \latex/ option \opt{amstex}. Typewriter type will be used for the \latex/ option \opt{amstex}, and the standard logo \amstex/ will be used for the original non-\latex/ version. \section{The \amslatex/ project} \amstex/ 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 \cs{matrix} and \cs{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. \amstex/, unlike \latex/ 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 \latex/ for preparing such items as indexes, bibliographies, tables, and simple diagrams. These features are such a convenience for authors that the use of \latex/ spread rapidly in the mid-80s (a reasonably mature version of \latex/ was available by the end of 1983), and the American Mathematical Society began to be asked by its authors to accept electronic submissions in \latex/. The obvious question to ask was whether the strengths of \amstex/ could be combined with the strengths of \latex/, and in 1987 the American Mathematical Society began to investigate the possibility of doing just that. Work on the \amslatex/ project was carried out over the next three years by Romesh Kumar, a \tex/ consultant in the Chicago area, and by West German \latex/ experts Frank Mittelbach and Rainer Sch\"opf, with assistance from Michael Downes of the American Mathematical Society Technical Support staff. The overall philosophy was to provide \amstex/ commands to the \latex/ user without deviating from standard \latex/ syntax whenever possible. Thus, to make their syntax more like normal \latex/ syntax, \amstex/ commands having the form \cs{something}\5$\ldots$\5\cs{endsomething} were converted to \latex/ environments, so that they now have the form \cs{begin}\verb"{something}"\5$\ldots$\5\cs{end}\verb"{something}". For example, a matrix is typed as \cs{begin}\verb"{matrix}"\5\dots\5\cs{end}\verb"{matrix}" instead of \cs{matrix}\5$\ldots$\5\cs{endmatrix}. Also, some commands that have top and bottom options were changed so that the option is specified using \verb"[t]" or \verb"[b]" instead of by a prefix \verb"top" or \verb"bot" in the command name. See Appendix~\ref{s:diff} for more details. A good part of the original \amstex/ was whittled off in the creation of the \opt{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. \amslatex/ is different enough from the original \amstex/ that using the \jt/ as documentation would be unsatisfactory. Instead, this {\it User's Guide\/} aims to be more or less self-sufficient. The \jt/ is still recommended reading because it provides background information that helps explain why some things are handled the way they are. \section{Major components of the \amslatex/ package} The first major part of the \amslatex/ package is an extensive modification of \amstex/ 2.0 that allows it to be used in \latex/ as a documentstyle option. In other words, if you are writing an article, your documentstyle declaration should look like this: \begin{verbatim} \documentstyle[amstex]{article} \end{verbatim} The second major part of the \amslatex/ package is a pair of documentstyles called \sty{amsart} and \sty{amsbook}, parallel to \latex/'s \sty{article} and \sty{book}, which are designed to be used in preparing manuscripts for submission to the AMS. As alternatives to the standard \latex/ article and book styles, the AMS style files also offer the general \latex/ user style files which match the style of AMS publications. When the \sty{amsart} and \sty{amsbook} style files are used the \opt{amstex} option will be automatically included, so that the documentstyle declarations would simply be \cs{documentstyle}\verb"{amsart}" or \cs{documentstyle}\verb"{amsbook}". The analog in \amstex/ of the \sty{amsart} documentstyle is the documentstyle \sty{amsppt} (``AMS preprint''). In \sty{amsart} and \sty{amsbook} the document structure commands of the {\tt amsppt} style described in Appendix~A of the \jt/ have been superseded by their \latex/ equivalents, where equivalents existed, and otherwise have been reimplemented in \latex/ form. In order to save a significant amount of memory, the bibliography commands described in Appendix~C of the \jt/ have been dropped in favor of \bibtex/. \newpage \part{Font considerations} \label{s:fonts} \section{The font selection scheme of Mittelbach and Sch\"opf} 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\"opf to adapt their new \latex/ font selection scheme to accommodate the needs of the \amslatex/ 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 \latex/ terms this means that, for example, \verb"\bf\Large" has the same effect as \verb"\Large\bf". At the present time the files for the new font selection scheme are being distributed along with the \amslatex/ package, with the permission of Mittelbach and Sch\"opf; in the future the new scheme will become part of \latex/, 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\"opf that appeared in \tugboat/, June 1990 (vol.~11, no.~2): {\it The new font family selection---user interface to standard \latex/\/} \cite{msf}. If you don't have access to that article, contact the \tex/ User's Group (see Appendix~D for the address). \section{Basic concepts} In normal use, the ordinary \latex/ commands \cs{rm}, \cs{it}, \cs{tt}, \cs{bf} are defined in terms of more primitive commands \cs{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\"opf font selection scheme classifies fonts based on the attributes {\em shape}, {\em series}, {\em size}, and {\em family}. Each attribute can be changed independently using the commands \cs{shape}, \cs{series}, \cs{size}, and \cs{family}. For example, to change the family attribute to {\tt cmr} (Computer Modern roman), the command would be \cs{family}\verb={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 \cs{selectfont}. For example, if the current font is family {\tt cmr}, size 10/12 (10-point type with 12-point baselineskip), series {\tt m} (medium weight and width), and shape {\tt it} (italic), then the command \begin{verbatim} \family{cmtt}\shape{n}\selectfont \end{verbatim} would switch to a Computer Modern typewriter font in the ``normal,'' i.e., upright, shape. The current size and series values would be used in the selection of the new font. \subsection{Shape} The {\em shape} attribute is one of normal ({\tt n}), italic ({\tt it}), small caps ({\tt sc}), slanted (or ``sloped'') ({\tt sl}), and 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 {\tt sc}, without changing other font attributes would be \begin{verbatim} \shape{sc}\selectfont \end{verbatim} but there are abbreviations for the most common shape changes: \cs{sc}, \cs{it}, \cs{sl}, and \cs{normalshape}. These are the same as in the previous font selection scheme, except for \cs{normalshape}, which may be understood as a replacement for \cs{rm}. In the new font selection scheme \cs{rm} is a family-changing command, not a shape-changing command. If you are dismayed at the prospect of typing many instances of \cs{normalshape}, which is obviously much longer than \cs{rm}, don't be. As you shall see, many former uses of \cs{rm}, especially in mathematics, are better handled by other means. With astute use of grouping, most documents can be done without using \cs{normalshape} at all. \subsection{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\"opf scheme are as shown in Table~\ref{weight-width} (adapted from Table~1 in \cite{msf}), along with their corresponding abbreviations for use with the \cs{series} command. Examples: \begin{description} \item[\cs{series}{\tt\char`\{ux\char`\}}\cs{selectfont}] Switches to an ultra expanded version of the current font. \item[\cs{series}{\tt\char`\{sbc\char`\}}\cs{selectfont}] Switches to a semibold condensed version of the current font. \item[\cs{series}{\tt\char`\{m\char`\}}\cs{selectfont}] Switches to a medium weight, medium width version of the current font. \end{description} Only two series changes are common enough to require abbreviations: \cs{bf} and \cs{mediumseries} are abbreviations for, respectively, \begin{verbatim} \series{bx}\selectfont \series{m}\selectfont \end{verbatim} or, in other words, ``bold'' and ``not bold''. \begin{table}[htp] \caption{Font weights and widths, and their abbreviations. For use in the {\tt\bslash series\-} command, combine the weight and width abbreviations, dropping any {\tt m}'s (for ``medium''), except in the case where both weight and width are medium: then use a single {\tt m}. Examples: Ultra Bold Condensed: {\tt ubc}; Medium Condensed:~{\tt c}.} \label{weight-width} \begin{center} \begin{tabular}{|ll@{\hspace{2\tabcolsep}}ll|} \hline Weight&& Width&\\ \hline \vrule width0pt height10pt Ultra Light& {\tt ul}& Ultra Condensed& {\tt uc}\\ Extra Light& {\tt el}& Extra Condensed& {\tt ec}\\ Light& {\tt l}& Condensed& {\tt c}\\ Semilight& {\tt sl}& Semicondensed& {\tt sc}\\ Medium (normal)& {\tt m}& Medium& {\tt m}\\ Semibold& {\tt sb}& Semiexpanded& {\tt sx}\\ Bold& {\tt b}& Expanded& {\tt x}\\ Extra Bold& {\tt eb}& Extra Expanded& {\tt ex}\\ Ultra Bold& {\tt ub}& Ultra Expanded& {\tt ux}\\[3pt] \hline \end{tabular} \end{center} \end{table} \subsection{Size} Because a change in font size is usually accompanied by a change in baselineskip, the \cs{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 \begin{verbatim} \size{14}{18pt}\selectfont \end{verbatim} All the usual \latex/ size-changing commands from \cs{tiny} to \cs{Huge} have suitable definitions based on the \cs{size} command. {\em Note}.\ In the specification for the baselineskip, it is necessary to give the units, because in some situations a unit other than {\tt pt} may be desirable. \subsection{Family}\label{s:families} We define a font {\em 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~\ref{fams} gives a classification of some of the Computer Modern fonts according to family. \begin{table}[htp] \caption{Computer Modern font families} \label{fams} \begin{center} \begin{tabular}{|p{12pc}|l|} \hline Font file name& Family (and abbreviation)\\ \hline \tt \raggedright cmr10, cmti10, cmsl10, cmcsc10, cmu10, cmbx10, cmbxti, cmbxsl, cmb10& Computer modern roman ({\tt cmr})\\ \hline \tt \raggedright cmss10, cmssi10, cmssbx10, cmssdc10& Computer modern sans serif ({\tt cmss})\\ \hline \tt \raggedright cmtt10, cmitt10, cmsltt, cmtcsc10& Computer modern typewriter ({\tt cmtt})\\ \hline \end{tabular} \end{center} \end{table} The abbreviations \cs{rm}, \cs{tt}, and \cs{sf} are provided for switching to the Computer Modern roman, typewriter, and sans serif families. (The definition of \cs{sf}, for example, is \verb=\family{cmss}\selectfont=.) \subsection{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 \cs{family} command as described in \S\ref{s:families}. If you want to change the {\it 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: \begin{verbatim} \newcommand\rmdefault{cmr} \newcommand\sfdefault{cmss} \newcommand\ttdefault{cmtt} \end{verbatim} Some or all of these default settings can be changed using {\tt\bslash renewcommand}. For example, if you have families {\tt pstr}, {\tt pshel}, and {\tt pstt} for respectively PostScript Times Roman, PostScript Helvetica, and Postscript Typewriter fonts, then you could make them the default via the commands \begin{verbatim} \renewcommand{\rmdefault}{pstr} \renewcommand{\sfdefault}{pshel} \renewcommand{\ttdefault}{pstt} \end{verbatim} 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 \cs{rm}, \cs{sf}, and \cs{tt} will select the PostScript families rather than Computer Modern families. Computer Modern families would still be accessible through explicit use of the \cs{family} command, e.g., \begin{verbatim} \family{cmtt}\selectfont \end{verbatim} 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 {\tt pstr}, {\tt pshel}, and {\tt pstt}, as well as what sizes, shapes, and weights are available on your particular system; see the file \fn{fontdef.max} for more details. In addition to the family defaults, there are defaults for some other font attributes: \cs{bfdefault}, \cs{itdefault}, \cs{scdefault}, and \cs{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: \begin{verbatim} \renewcommand{\sldefault}{it} \end{verbatim} The normal values for these defaults are \begin{verbatim} \bfdefault bx \itdefault it \scdefault sc \sldefault sl \end{verbatim} 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: \[\begin{tabular}{|l|ll|} \hline Bold& \multicolumn{2}{c|}{Bold Expanded}\\[2pt] \hline {\tt cmb10}& {\tt cmbx5}& {\tt cmbxsl8}\\ & {\tt cmbx6}& {\tt cmbxsl10}\\ & {\tt cmbx7}& {\tt cmbxti7}\\ & {\tt cmbx8}& {\tt cmbxti10}\\ & {\tt cmbx9}&\\ & {\tt cmbx10}&\\ & {\tt cmbx12}&\\ \hline \end{tabular}\] \subsection{The {\tt oldlfont} option} \label{s:oldlfont} When the Mittelbach--Sch\"opf font selection scheme is in use, emulation of the old font selection scheme can be obtained by adding the option \opt{oldlfont} to the documentstyle options list. When the \opt{oldlfont} option is used, size-changing commands return to normal shape and medium series in addition to changing the font size; \cs{rm} gives normal shape and medium series; \cs{tt} gives the normal shape and medium series of the typewriter font; and \cs{sf} gives the normal shape and medium series of sans serif. \subsection{Warnings} When using the Mittelbach--Sch\"opf 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 {\tt \bslash cmr/bx/n/10}. Formerly it would have appeared as \cs{tenbf}. Many combinations of font attributes are not available at the present time because the corresponding fonts do not exist. The combination \begin{verbatim} \family{cmr}\series{bx}\shape{sl} \end{verbatim} happens to be available, because the corresponding font file, {\tt cmbxsl10}, is part of the standard \tex/ distribution. However, for the combination \begin{verbatim} \family{cmss}\series{sbux}\shape{sc} \end{verbatim} ``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 \latex/ because they do not reset all the font attributes in the new font selection scheme. For example, if the \cs{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 \cs{footnote} resets only the {\em size\/} attribute, not the {\em shape\/} or {\em family\/} or {\em series\/} attributes. Problems of this nature will be rectified in the next version of \latex/ (version 2.10); in the meantime, you can add explicit font commands where needed: to get a normal footnote in italic text, type\indexcs{normalshape} \begin{verbatim} \footnote{\normalshape ...} \end{verbatim} instead of just \cs{footnote}. \section{Names of math font commands} \label{s:mathfonts} The single biggest issue in the integration of \amstex/ and \latex/ font usage was that in \amstex/ 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 \amstex/ is a command with one argument. This means that in \amslatex/, to obtain a single bold letter in math you type \cs{bold}\verb"{A}" rather than \verb"{\bf A}", and two bold letters would be typed \verb"\bold{A}"\5\verb"\bold{B}" instead of \verb"{\bf AB}". (A similar distinction between text accents and math accents already existed in \latex/.) 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 \opt{amstex} option is \cs{mathrm}, \cs{bold}, \cs{cal}, with the addition of \cs{frak} (Fraktur) and \cs{Bbb} (blackboard bold) if \amsfonts/ are available. Math italic, the default font for letters in math, also has a name, \cs{mit}, but this is never needed in ordinary use. Tables \ref{fonttable} and~\ref{mathfonts} give a comprehensive listing of font change commands for convenient reference. \begin{table}[htp] \chardef\{=`\{ \chardef\}=`\} \caption{Font commands used in text} \label{fonttable} \begin{center} \begin{tabular}{|lll|} \hline \multicolumn{1}{|l}{Font command}& Equivalent& Font selected\\ \hline \cs{normalshape}& \tt\cs{shape}\{n\}& normal, upright, ``roman''\\ \cs{it}& \tt\cs{shape}\{it\}& italic\\ \cs{em}& \tt\cs{shape}\{it\}$^*$ & emphasis\\ \cs{sl}& \tt\cs{shape}\{sl\}& slanted\\ \cs{sc}& \tt\cs{shape}\{sc\}& small caps\\ \cs{mediumseries}& \tt\cs{series}\{m\}& medium weight\\ \cs{bf}& \tt\cs{series}\{bx\}& bold extended weight\\ \cs{tt}& \tt\cs{family}\{cmtt\}& typewriter style\\ \cs{sf}& \tt\cs{family}\{cmss\}& sans serif\\ \cs{rm}& \tt\cs{family}\{cmr\}& roman\\ \hline \multicolumn{3}{|l|}{\parbox{20pc}{$^*$\strut The command \cs{em} selects shape {\tt it} if the current font is upright, otherwise it selects shape {\tt n} (normal).}}\\[6pt] \hline \end{tabular} \end{center} \bigskip \caption{Font commands used in math} \label{mathfonts} \begin{center} \begin{tabular}{|lp{20pc}|} \hline \cs{bold}& Used to obtain bold letters from the English alphabet.\\ \cs{boldsymbol}& Used to obtain bold numbers and other nonalphabetic symbols, as well as bold Greek letters.\\ \cs{pmb}& ``Poor man's bold,'' used for math symbols when bold versions don't exist in the currently available fonts.\\ \cs{cal}& Calligraphic letters. Only uppercase is available.\\ \cs{mit}& Math italic. This font is automatically selected in math mode, so the command \cs{mit} is not needed in normal use.\\ \cs{mathrm}& Roman, normal shape. Note: most of the time, \cs{text} or \cs{operatorname} should be used instead of \cs{mathrm} to produce this font in math.\\ \cs{frak}& Euler Fraktur alphabet.\\ \cs{Bbb}& Blackboard bold alphabet. Only uppercase is available.\\ \hline \end{tabular} \end{center} \end{table} To gain access to a new math alphabet, you use the \cs{new\-math\-alpha\-bet} command in the preamble of your document. If you have the \amsfonts/ 2.0 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~\ref{fonts} to see what family names are included in the standard font definition file \fn{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 \LaTeX{} at a larger institution where some technical person has been assigned to handle arcane font matters, you may need to consult that person. \begin{table}[htp] \caption{Font name assignments made in {\tt fontdef.max}} \label{fonts} \medskip \begin{tabular}{|lllp{17pc}|} \hline \multicolumn{1}{|c}{Family}& \multicolumn{1}{c}{Series}& \multicolumn{1}{c}{Shape}& \\ \hline 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& \latex/ extra symbols\\ lasy& b& n& \latex/ 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\\ \hline \end{tabular} \end{table} Suppose, then, that the family name for the University of Washington fonts is {\tt UWCyr}. Decide on the name of the command you'd like to use for Cyrillic, let's say \cs{cy}. In the preamble area of your document, add the line \begin{verbatim} \newmathalphabet*{\cy}{UWCyr}{m}{n} \end{verbatim} Thenceforth \verb=\cy{A}=, \verb=\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 {\it \amsfonts/ User's Guide\/} \cite{amsfonts} gives a complete table. If you also want to use bold Russian letters, you could define another math alphabet and name it, say, \verb=\boldcy=. Alternatively, you could set things up so that bold Russian letters are accessible through the commands \cs{boldsymbol} and \cs{boldmath}. If you add the line \begin{verbatim} \addtoversion{bold}{\cy}{UWCyr}{b}{n} \end{verbatim} in your document's preamble, then \verb=\cy{A}= would produce a normal-weight Russian A and \begin{verbatim} {\boldmath $ ... \cy{A} ... $ } \end{verbatim} 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 \cs{boldsymbol}: \begin{verbatim} $ ... \boldsymbol{\cy{A}} ... $ \end{verbatim} In the \opt{amstex} option \cs{boldsymbol} is to be used for individual bold math symbols and bold Greek letters---everything in math except for letters (where you would use \cs{bold}). For example, to obtain a bold $\infty$, $+$, $\pi$, or $0$, you would use the commands \verb"\boldsymbol{\infty}", \verb"\boldsymbol{+}", \verb"\boldsymbol{\pi}", or \verb"\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 ({\sc CMBSY} and {\sc CMMIB}) are provided in the \amsfonts/ 2.0 distribution. Since \cs{boldsymbol} takes rather a lot of typing, you would usually put some definitions in the preamble of the form \begin{verbatim} \newcommand{\bpi}{\boldsymbol{\pi}} \newcommand{\binfty}{\boldsymbol{\infty}} \end{verbatim} for any bold symbols you're going to use frequently. For some math symbols \cs{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'' (\cs{pmb}) can be used for some of the things that aren't handled properly by \cs{boldsymbol}. It works by typesetting three copies of the symbol with slight offsets. With large operators and extension symbols, however, \cs{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 \verb=\boldmath= preceding the formula, as described in the \latex/ manual. The sequence \verb={\bf\hat{a}}= (in ordinary \latex/) or \verb=\bold{\hat{a}}= (in the \opt{amstex} option) produces a bold accent character over the {\bf a}, as you would expect. However, combinations like \verb"{\cal\hat{a}}" will not work because the \cs{cal} font does not have its own accents. In the \opt{amstex} option the font change commands are defined in such a way that accent characters will be taken from the \cs{rm} font if they are not available in the current font (in addition to the \cs{cal} font, the \cs{Bbb} and \cs{frak} fonts don't contain accents). In ordinary \latex/ uppercase Greek can be made bold by, e.g., \verb"{\bf\Gamma}". In the \opt{amstex} option uppercase Greek can be made bold only by using \cs{boldsymbol} (in other words, uppercase Greek is handled the same as lowercase Greek). \sloppypar \section{The command {\tt\bslash newsymbol}} \label{s:newsym} The command \cs{newsymbol} is presently used only for symbols from the AMS extra symbol fonts, MSAM and MSBM. \cs{newsymbol} allows you to create a control sequence that will properly produce a symbol from the extra symbol fonts. The use of \cs{newsymbol} is explained in the {\em\amsfonts/ User's Guide\/}. In a \latex/ document there is one main difference in usage, which is only applicable if you want to use \amsfonts/ without using the \opt{amstex} option: instead of using the additional setting-up commands \cs{loadmsam} and \cs{loadmsbm}, you should put ``\opt{amsfonts}'' in the documentstyle options list. Otherwise \cs{newsymbol} commands can be used exactly as shown in the {\em\amsfonts/ User's Guide\/}. Like \cs{newcommand}'s, they should be placed in the preamble. The \opt{amsfonts} option is geared to the current release of \amsfonts/ (version 2.0). In this version, some rearranging has been done and some font names are different than in earlier versions. If you have an earlier version, you would need to contact the AMS for an upgrade to version 2.0 in order to use the \opt{amsfonts} option successfully. See Appendix~D for how to obtain \amsfonts/. \section{The {\tt amssymb} option} If you are running a version of \latex/ 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 \opt{amssymb} documentstyle option, which will define all the symbol names (about 200), so you won't have to include an individual \cs{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) to save processing time; it is a stand-alone option, so it can be included in the format file without including the \opt{amstex} option. \newpage \part{Features of the {\tt amstex} option} \section{Math spacing commands} Both\indexcs{,}\indexcs{:}\indexcs{;}\indexcs{thinspace}% \indexcs{negthinspace}\indexcs{medspace}\indexcs{negmedspace}% \indexcs{thickspace}\indexcs{negthickspace} 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: \begin{center} \begin{tabular}{|l|l||l|l|} Abbrev.&Spelled out&Abbrev.&Spelled out\\ \verb+\,+&\verb+\thinspace+&\verb+\!+&\verb+\negthinspace+\\ \verb+\:+&\verb+\medspace+&&\verb+\negmedspace+\\ \verb+\;+&\verb+\thickspace+&&\verb+\negthickspace+\\ \verb+@,+&&\verb+@!+&\\ &\verb+\quad+&&\\ &\verb+\qquad+&& \end{tabular} \end{center} \verb"@,"\index{"@,@{\tt{}"@,}} and \verb"@!"\index{"@"!@{\tt{}"@"!}} give one-tenth the space of \cs{,} and {\tt\bslash !}\index{"!@{\tt\bslash "!}} respectively, for extra fine tuning where necessary. \section{Multiple integral signs} \cs{iint}, \cs{iiint}, and \cs{iiiint} give multiple integral signs with the spacing between them nicely adjusted, in both text and display style. \cs{idotsint} is an extension of the same idea that gives two integral signs with dots between them. \section{Over and under arrows} There are some additional over and under arrow operations provided in the \opt{amstex} option: {\samepage \begin{tabbing} \qquad\={\tt\bslash overleftrightarrow\qquad}\=\kill \> \cs{underleftarrow} \> \cs{underrightarrow} \+\\ \cs{overleftrightarrow} \> \cs{underleftrightarrow} \end{tabbing} } All over and under operations, including the previously available ones, have been modified to scale properly in subscript sizes. (After you have installed \amslatex/, you can process and print the sample file \fn{testart.tex} to see examples of the arrows.) \section{Dots} In the \opt{amstex} option dots should be typed as \cs{dots}; placement (on the baseline or centered) is selected according to whatever follows after the \cs{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---that is, if you are using the \sty{amsart} documentstyle. Dot placement can be changed in other documentstyles if different conventions are wanted. If the dots fall at the end of a math formula, the next thing is something like \verb"\end" or \verb"\)" or \verb"$", which does not give any information about how to place the dots. Then you must help by using \cs{dotsc} for ``dots with commas,'' or \cs{dotsb} for ``dots with binary operators/relations,'' or \cs{dotsm} for ``multiplication dots,'' or \cs{dotsi} for ``dots with integrals.'' For example, the input \begin{verbatim} 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\]. \end{verbatim} 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. \begin{quotation} Then we have the series $A_1,A_2,\ldots\,$, the regional sum $A_1+A_2+\cdots\,$, the orthogonal product $A_1A_2\cdots\,$, and the infinite integral \[\int_{A_1}\int_{A_2}\cdots\,.\] \end{quotation} 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 \latex/ and makes documents more portable between places where different conventions prevail. The control sequences \cs{ldots} and \cs{cdots} are still available, however, for compatibility. \section{Accents in math} The following accent commands automatically give good positioning of double accents: \begin{verbatim} \Hat \Check \Tilde \Acute \Grave \Dot \Ddot \Breve \Bar \Vec \end{verbatim} In ordinary \latex/ the second accent will usually be askew: $\hat{\hat A}$ (\verb"\hat{\hat A}"). In the \opt{amstex} option, if you type \verb"\Hat"\5\verb"{\Hat A}" (using the capitalized form for both accents) the second accent will be properly positioned (see \fn{testart.tex} for examples). As explained in the \jt/, 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 \cs{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. \cs{accented\-symbol} is used like \cs{newcommand}: \begin{verbatim} \accentedsymbol{\Ahathat}{\Hat{\Hat A}} \end{verbatim} Some accents have a wide form: typing \verb"$\widehat{xy},\widetilde{xy}$" produces $\widehat{xy},\widetilde{xy}$. Because these wide accents have a certain maximum size, extremely long expressions are better handled by a different notation: $(AmBD)^{\widehat{\hphantom{x}}}$ instead of $\widehat{AmBD}$. But getting an accent into a superscript is a little tricky (try it), so \opt{amstex} has the following control sequences to make it easier: \begin{verbatim} \sphat \spcheck \sptilde \spdot \spddot \spdddot \spbreve \end{verbatim} The example above would be typed \verb"(AmBD)\sphat". Finally, \cs{dddot} and \cs{ddddot} are available to produce triple and quadruple dot accents in addition to the \cs{dot} and \cs{ddot} accents already available in \latex/. \section{Roots} In ordinary \latex/ the placement of root indices is sometimes not so good: $\sqrt[\beta]{k}$ (\verb"\sqrt"\5\verb"[\beta]{k}"). In the \opt{amstex} option \cs{leftroot} and \cs{uproot} allow you to adjust the position of the root: \verb"\sqrt"\5\verb"[\leftroot{-2}"\5\verb"\uproot{2}"\5\verb"\beta]{k}" will move the beta up and to the right. (See the sample file \fn{testart.tex}.) The negative argument used with \cs{leftroot} moves the $\beta$ to the right. The units are a small dimension that is a useful size for such adjustments. \section{Boxed formulas} The command \cs{boxed} puts a box around its argument, like \cs{fbox} except that the contents are in math mode. \section{Extensible arrows} \verb"@>>>" and \verb"@<<<" 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 \verb+>+ or \verb+<+ symbols, and for a subscript, it's typed between the second and third symbols. For example, \verb+@>\xi F_k\Gamma_k\alpha>>+ would have a superscript $\xi F_k\Gamma_k\alpha$ placed above the arrow. These arrows were originally developed for use in commutative diagrams but can be used elsewhere also. However, the \opt{amscd} option must be loaded for extensible arrows to function. (See section \ref{s:commdiag} for more information about the \opt{amscd} option.) \section{{\tt\bslash overset}, {\tt\bslash underset} and {\tt\bslash sideset}} \latex/ provides \cs{stackrel} for placing a superscript above a binary relation. In \opt{amstex} there are somewhat more general commands, \cs{overset} and \cs{underset}, that can be used to place one symbol above or below another symbol, whether it's a relation or something else. The input \verb"\overset{*}{X}" will place a superscript-size $*$ above the $X$; \cs{underset} performs the parallel operation that you'd expect. There's also a command called \cs{sideset}, for a rather special purpose: putting symbols at the subscript and superscript corners of a large operator symbol such as $\sum$ or $\prod$. 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 \cs{nolimits}: here's \verb"\sum\nolimits' E_n" in display mode: \begin{equation}\sum\nolimits' E_n.\end{equation} 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 \begin{equation}\sum_{n\verb"]"\5\verb"{...}"\5\verb"{...}" makes a fraction where the thickness of the horizontal rule is determined by the given dimension. The sample file \fn{testart.tex} shows an example using a thickness of \verb=1.5pt=. \cs{fracwithdelims}\5\\5\\5\verb"["\\verb"]" is an extension of the same idea, with delimiters on either side specified by the user.% \setbox0=\hbox{\footnotesize \verb"\left"\5\verb"(\frac"\5\verb"{...}"\5\verb"{...}"\5\verb"\right)"}% \footnote{The perceptive reader may wonder why this command is necessary when you can type things like \unhbox0. The answer is that \cs{fracwithdelims} provides slightly better spacing.} For binomial expressions such as $\bigl({n\atop k}\bigr)$ \opt{amstex} has \cs{binom}, \cs{dbinom} and \cs{tbinom}. \cs{binom} is an abbreviation for \cs{fracwithdelims}\verb"()[0pt]". After you have installed \amslatex/, you can typeset and print the sample file \fn{testart.tex} to see examples of \cs{frac} and \cs{binom}. \section{Continued fractions} The continued fraction \begin{equation} \def\cfrac#1#2{{\displaystyle\strut#1\over\displaystyle#2}% \kern-\nulldelimiterspace} \cfrac{1}{\sqrt{2}+ \cfrac{1}{\sqrt{2}+ \cfrac{1}{\sqrt{2}+ \cfrac{1}{\sqrt{2}+ \cfrac{1}{\sqrt{2}+\cdots }}}}} \end{equation} can be obtained by typing {\samepage \begin{verbatim} \cfrac{1}{\sqrt{2}+ \cfrac{1}{\sqrt{2}+ \cfrac{1}{\sqrt{2}+ \cfrac{1}{\sqrt{2}+ \cfrac{1}{\sqrt{2}+\dotsb }}}}} \end{verbatim} }Left or right placement of any of the numerators is accomplished by using \cs{lcfrac} or \cs{rcfrac} instead of \cs{cfrac}. \section{Smash options} The plain \tex/ command \cs{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 \opt{amstex} there are optional arguments \verb"t" and \verb"b" for \cs{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 \verb"\smash[b]{"\5\\5\verb"}". \section{New \latex/ environments} \subsection{The ``cases'' environment} ``Cases'' constructions like the following are common in mathematics: \begin{equation} P_{r-j}= \left\{ \begin{array}{ll} 0 &\mbox{if $r-j$ is odd},\\ r!\,(-1)^{(r-j)/2} &\mbox{if $r-j$ is even}. \end{array} \right. \end{equation} and in the \opt{amstex} option there is a \env{cases} environment: \begin{verbatim} \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} \end{verbatim} Notice the use of \cs{text} and the embedded math. \subsection{Matrix} In the creation of the \opt{amstex} option, \amstex/'s \cs{matrix} could have been discarded, since \latex/'s \env{array} environment has the same function. But we wanted to keep \amstex/'s \cs{pmatrix}, \cs{bmatrix}, \cs{vmatrix} and \cs{Vmatrix} commands, with delimiters built in; for consistency, the basic \cs{matrix} has been retained also. It and the other matrix commands have been changed into \latex/ environments that work like \env{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 \verb"MaxMatrixCols", which you can change if necessary using \latex/'s \cs{setcounter} or \cs{addtocounter} commands. I.e., suppose you have a big matrix with 19 or 20 columns. Then you'd do something like this: \begin{verbatim} \begin{equation} \setcounter{MaxMatrixCols}{20} A=\begin{pmatrix} ...&...&...&...&...&...&...&...&...&...&...&...& ... \\ ... \\ ... \end{pmatrix} \end{equation} \end{verbatim} To produce a small matrix suitable for use in text, use the \env{smallmatrix} environment. \begin{verbatim} \begin{math} \bigl( \begin{smallmatrix} a&b\\ c&d \end{smallmatrix} \bigr) \end{math} \end{verbatim} \cs{hdotsfor}\verb"{"\\verb"}" produces a row of dots in a matrix spanning the given number of columns. \begin{verbatim} \begin{matrix} a&b&c&d\\ e&\hdotsfor{3} \end{matrix} \end{verbatim} 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, \verb"\hdotsfor[1.5]{3}". The number in square brackets will be used as a multiplier; the normal value is 1. \subsection{The {\tt Sb} and {\tt Sp} environments} The \env{Sb} and \env{Sp} environments can be used to typeset several lines as a subscript or superscript: for example \begin{verbatim} \begin{equation} \sum\begin{Sb} 0\le i\le m\\ 0j>> T\\ @VVV @VV{\End P}V\\ (S\otimes T)/I @= (Z\otimes T)/J \end{CD} \end{verbatim} (with \cs{End} defined as \cs{operatorname}\verb={End}=; see \S\ref{s:opname}). This would give longer horizontal arrows than in (\ref{e:cd}) and improved spacing between elements of the diagram (see \fn{testart.tex}). In the \env{CD} environment the commands \verb=@>>>=, \verb=@<<<=, \verb=@VVV=, and \verb=@AAA= give respectively right, left, down, and up arrows.\index{"@VVV@{\tt{}"@VVV}}% \index{"@AAA@{\tt{}"@AAA}}% \index{"@<<<@{\tt{}"@<<<}}% \index{"@>>>@{\tt{}"@>>>}}% For the horizontal arrows, material between the first and second \verb=>= or \verb=<= 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 {\tt A}s or {\tt V}s of vertical arrows will be typeset as left or right ``sidescripts''. \section{Alignment structures for equations} \label{s:displays} In the \opt{amstex} option several environments exist for creating multi-line displayed equations. They are similar in function to \latex/'s \env{equation} and \env{eqnarray} environments. These environments are: \begin{verbatim} align gather alignat xalignat xxalignat multline split \end{verbatim} Each environment, except for \env{split}, has both starred and unstarred forms, where the unstarred forms have automatic numbering, using \latex/'s \env{equation} counter. You can suppress the number on any particular line by putting \cs{notag} before the \cs\bslash; you can also override it with a tag of your own using \cs{tag}\verb"{"\