diff options
author | Karl Berry <karl@freefriends.org> | 2006-01-09 00:40:28 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2006-01-09 00:40:28 +0000 |
commit | fd423d0bb64fe29a2be1fbae5baaf4bc386cc274 (patch) | |
tree | 6bf20bbdf3d9741134f6ea40b30c1b3722fa0cd1 /Master/texmf-dist/doc/amstex | |
parent | 0afd1aaf73fc909c6604939dcaf4ccc983b7277e (diff) |
doc 1
git-svn-id: svn://tug.org/texlive/trunk@77 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/doc/amstex')
-rw-r--r-- | Master/texmf-dist/doc/amstex/base/README | 270 | ||||
-rw-r--r-- | Master/texmf-dist/doc/amstex/base/amsguide.pdf | bin | 0 -> 267547 bytes | |||
-rw-r--r-- | Master/texmf-dist/doc/amstex/base/amsguide.tex | 2098 | ||||
-rw-r--r-- | Master/texmf-dist/doc/amstex/base/amsppt.doc | 3399 | ||||
-rw-r--r-- | Master/texmf-dist/doc/amstex/base/amsppt.faq | 194 | ||||
-rw-r--r-- | Master/texmf-dist/doc/amstex/base/amstinst.ps.gz | bin | 0 -> 182908 bytes | |||
-rw-r--r-- | Master/texmf-dist/doc/amstex/base/amstinst.tex | 415 | ||||
-rw-r--r-- | Master/texmf-dist/doc/amstex/base/joyerr.tex | 512 | ||||
-rw-r--r-- | Master/texmf-dist/doc/amstex/base/joyerr2.tex | 319 | ||||
-rw-r--r-- | Master/texmf-dist/doc/amstex/siam/amsamp.tex | 365 |
10 files changed, 7572 insertions, 0 deletions
diff --git a/Master/texmf-dist/doc/amstex/base/README b/Master/texmf-dist/doc/amstex/base/README new file mode 100644 index 00000000000..d5ff970dd43 --- /dev/null +++ b/Master/texmf-dist/doc/amstex/base/README @@ -0,0 +1,270 @@ +READ.ME for AMS-TeX version 2.2 2001/08/29 + +AMS-TeX is a macro package that works with the TeX typesetting program. +A working TeX system is a prerequisite for using any of the components +of AMS-TeX. [TeX is not an AMS product; see the AMS TeX Resources page +(http://www.ams.org/tex/tex-resources.html) for information if you +do not already have TeX.] + +Obtain a printed copy of the full installation instructions: + - Process amstinst.tex with Plain TeX, or + - Print the amstinst.ps file provided. +Read the instructions; they are much more complete than the summary +provided here. + +The instructions assume that your TeX system is arranged according to +the recommended TeX Directory Structure (TDS). Check the documentation +for your TeX system to find out if it uses the TDS. A copy of the TDS +report can be found at CTAN either as an online document + .../tds/standard/tds +or as a printable pdf file + .../tds/standard/tds/tds.pdf +Items on CTAN can usually be found through the CTAN Catalogue: + http://www.ctan.org/search + + +FILES IN THE AMS-TeX DISTRIBUTION + +A complete list of the files contained in the distribution is included +in the installation instructions (amstinst). + +There are two basic methods of obtaining the files needed for AMS-TeX: + - Retrieve one of the AMS-TeX bundles from the AMS FTP server + ftp://ftp.ams.org/pub/tex/ + or the AMS web site + http://www.ams.org/tex/amstex.html + - Retrieve the individual files from one of the AMS servers or from CTAN + .../macros/amstex/ +Install these files as described in the installation instructions +(amstinst); a summary appears below, under INSTALLING AMS-TeX. + +Also, AMS-TeX will call for AMSFonts. Check the tfm-files subdirectory + TEXMF/fonts/tfm/ams/ +to see whether it is already populated (most TeX distributions now +include the AMSFonts). If not, retrieve the .tfm files for AMSFonts 2.2 +and install them into your system tfm-files subdirectory. + +These .tfm files can be retrieved in several ways: + - as a bundle from the AMSFonts page on the AMS web site at + http://www.ams.org/tex/amsfonts.html + - as a tfm.tar file in the /pub/tex directory at the AMS FTP site, + ftp://ftp.ams.org + - as individual .tfm files from the /pub/tex/amsfonts/tfm subdirectory + at the AMS FTP site or from CTAN in .../fonts/amsfonts/tfm +(Note: set the file type to binary in FTP when transferring .tfm files.) +Even if you do not use any symbols from the AMSFonts, you will need at +least the .tfm files to use amsppt.sty and to TeX the accompanying +documentation for AMS-TeX. + +The following documentation files will be useful in installing and using +AMS-TeX. + +amstinst.tex - Installation instructions, comprising Appendices B and C +amstinst.ps of amsguide, provided as both TeX source and ready-to-print + PostScript. +amsguide.tex - The AMS-TeX User's Guide, provided as both TeX source and +amsguide.ps a ready-to-print PostScript file. When you have completed + the installation of AMS-TeX 2.2, process the .tex file using + AMS-TeX 2.2 and print the resulting .dvi file. The output + will be a brief guide to using AMS-TeX 2.2, supplementing + The Joy of TeX. +joyerr.tex - The TeX input file for a document listing errata to + The Joy of TeX prior to AMS-TeX 2.0. It also should be + run through TeX using AMS-TeX 2.2. +joyerr2.tex - The TeX input file for a document listing errata to the + second edition of The Joy of TeX, for AMS-TeX 2.1 and up. + Process with AMS-TeX 2.2 as for the other .tex files. +amsppt.doc - Technical documentation for amsppt.sty, including an update + history. +amsppt.faq - Frequently asked questions and answers regarding AMS-TeX + and amsppt.sty. + + +INSTALLING AMS-TeX 2.2 ON YOUR SYSTEM -- A BRIEF OVERVIEW + +Backup any existing AMS-TeX files before installing a new release. + +Read the instructions in amstinst; they are more complete than these notes. + +If you have retrieved a bundled distribution and unbundled it with the +appropriate tool, the files will be placed into the following subdirectories: + + TEXMF/doc/ams/amstex + TEXMF/source/amstex + TEXMF/tex/amstex/base + TEXMF/tex/plain/amsfonts + +If you have retrieved individual files, you will need to place them into +subdirectories as described in amstinst.ps. + +AMS-TeX will call for the AMSFonts 2.2 .tfm files. Check for their +presence on your system and, if necessary, retrieve them and place them +in the proper location as described above. + +Remember that most TDS sytems operate using a filename list or database, +which must be updated when new files are added; consult your TeX system +documentation for update instructions. + +Run amstex.ini through INITEX (the version of TeX which has no format +preloaded, distributed with your implementation of TeX). It will produce +a format file which will function as a preloaded version of AMS-TeX. +Place this format file in the directory where your implementation of +TeX looks for format files (see your system documentation), refresh the +filename database, and you are ready to use AMS-TeX 2.2. + +If you habitually use the AMSPPT documentstyle, you may prefer to +include it in the format file you create. This can be done by editing +the file amstex.ini, using any text editor, and uncommenting the line +that reads "\documentstyle{amsppt}". Before creating the format file, +read Appendix C from the installation instructions. + +We recommend that, as a first test of your installation, you run the +file amsguide.tex through TeX, and print out the output. This will +provide further information about using AMS-TeX. + +======================================================================== +Highlights of the differences between versions 2.1 and 2.2: + +AMSTEX.TEX +---------- + +---Removed copyright notice and restriction from message printed on + terminal and in log for every run. + +AMSPPT.STY +---------- +(See the user's guide (amsguide.tex) and amsppt.doc, section 20, for +full details.) + +---\subjclass was updated to use \subjclassyear as the date for the +Mathematics Subject Classification scheme. (NOTE: THIS CHANGE IS NOT +BACKWARD COMPATIBLE. EXISTING DOCUMENT FILES NEED NOT BE MODIFIED BUT +THE OUTPUT WILL BE DIFFERENT IF CLASSIFICATION WAS OLDER THAN 1991.) + +======================================================================== +Highlights of the differences between versions 2.0 and 2.1: + +AMSTEX.TEX +---------- +---Improvements to the mechanisms for loading various fonts in +the AMSFonts package. For example, \loadeusm now defines a +\eusm command that can be used like \roman or \bold. + +---Revamped \printoptions command. + +---Some internal cleanup to reduce memory usage in some of TeX's +memory categories (notably hash size). + +---Informational messages appear on screen identifying the +modules within amstex.tex during the creation of a format file. + +AMSPPT.STY +---------- +(See the user's guide (amsguide.tex) and amsppt.doc, sections 18 and 19, +for full details.) + +---\curraddr was added, for giving the current address of an author, +if different from the address given in \address. + +---\rom was added, for preventing unwanted italicization of certain +things, such as parentheses or numbers, in theorems and other italic +passages. \rom automatically inserts italic corrections. + +---The implementation of \nofrills was completely changed, to provide +better error messages for a missing or misspelled \endkeywords or +similar end command when reading a delimited argument. + +---Multiple \thanks commands in the top matter will now produce +multiple acknowledgment footnotes instead of discarding all but the +last one. + +---A period is no longer added automatically at the end of a +\thanks. (NOTE: THIS CHANGE IS NOT BACKWARD COMPATIBLE---DOCUMENT +FILES WILL HAVE TO BE MODIFIED.) + +---\subjclassyear was added to specify the year of the Mathematics +Subject Classification scheme. Only 1991 and 2000 are recognized, +defaulting to 1991 to maintain some backward compatibility. + +---\widestnumber\item now works as claimed in the User's Guide. + +---The missing \par in the internal command \penaltyandskip@ was added. + +---Additional checks were added for runaway \proclaim, \definition, +\ref, \roster, etc. The internal macro \runaway@ was changed to make +its usage more consistent and robust; in the process its name was +changed to \add@missing (and as the name suggests, it now tries to +recover by adding the missing \end... command). + +---As with amstex.tex, informational messages were added identifying the +modules within amsppt.sty. + +---The bibliography macros were substantially modified to correct +another longstanding bug: line breaks after explicit hyphens, +mathbins, and mathrels were inhibited. This also involved changing the +\ref-specific version of \nofrills. BACKWARD COMPATIBILITY (WITH +VERSION 2.0) IS NOT COMPLETE WITH RESPECT TO \nofrills IN THE +BIBLIOGRAPHY MACROS. \nofrills NOW SHOULD ALWAYS FOLLOW IMMEDIATELY +AFTER THE NAME OF THE FIELD TO WHICH IT APPLIES, E.G., \transl\nofrills, +OR \paper\nofrills. This is more consistent with the usage of \nofrills +outside of the references section. \nofrills will cause all the "frills", +such as the parentheses around years in journal article citations, or +words like "eds." or "vol." that are supplied automatically, to be +omitted for the given field. In addition, it will suppress the +automatic punctuation at the end of the field, if any. + +---A \refstyle command was added to allow users to specify one of the +three different reference styles most commonly used in AMS publications: +letter labels in square brackets; unnumbered; and numbered (denoted A, +B, and C, respectively). The syntax is "\refstyle{A}" (immediately after +the \documentstyle command). Style C, numbered with arabic numerals, is +the default selected by amsppt.sty. The \refstyle command ensures +proper correspondence between the formatting of cites in the main text +and the formatting of the references section. Also, \key can now be used +for all reference labels, and the \no command is redundant (though still +supported, for backward compatibility). + +---\miscnote was added, and used in the implementation of \toappear, +so that \toappear and \finalinfo would not be mutually exclusive. +\miscnote might also be used for things like "preprint" or +"submitted". Unlike \finalinfo, \miscnote automatically adds +parentheses. + +---\procinfo was added, to give place and date where the meeting +took place, for a proceedings volume reference. + +---\eds or \ed information will now be used in place of an author's +name, if \by is absent. This would be for collections or proceedings +volumes that are cited as a whole, instead of citing a single paper +within the volume. + +AMSTEX.INI +---------- +File to make format file creation more convenient. See the +user's guide and/or installation notes above. + +AMSPPT1.TEX +----------- +Compatibility file to allow processing of AMS-TeX 1.1 and earlier +documents under AMS-TeX 2.0+. See the user's guide. + + +(NOTE: Author packages for use with AMS-TeX are available from the AMS +web site at http://www.ams.org/tex/author-info.html, or by FTP from +ftp://ftp.ams.org/pub/author-info/packages. All packages are compatible +with AMS-TeX 2.2. If you have previously received an AMS-TeX author +package for use with an earlier version of AMS-TeX, for best results you +should retrieve an upgraded copy from the AMS server.) + +======================================================================== + +Questions or comments can be directed to: + +Technical Support +American Mathematical Society +201 Charles Street +P.O. Box 6248 +Providence, RI 02940 USA + (800) 321-4AMS (321-4267) ext. 4080 (U.S. and Canada) + (401) 455-4080 +Email: tech-support@ams.org diff --git a/Master/texmf-dist/doc/amstex/base/amsguide.pdf b/Master/texmf-dist/doc/amstex/base/amsguide.pdf Binary files differnew file mode 100644 index 00000000000..3ba1747149f --- /dev/null +++ b/Master/texmf-dist/doc/amstex/base/amsguide.pdf diff --git a/Master/texmf-dist/doc/amstex/base/amsguide.tex b/Master/texmf-dist/doc/amstex/base/amsguide.tex new file mode 100644 index 00000000000..1219dc1d6df --- /dev/null +++ b/Master/texmf-dist/doc/amstex/base/amsguide.tex @@ -0,0 +1,2098 @@ +%%% ==================================================================== +%%% @TeX-file{ +%%% filename = "amsguide.tex", +%%% version = "2.2", +%%% date = "2001/08/07", +%%% time = "16:41:48 EDT", +%%% checksum = "38601 2098 10156 78439", +%%% filetype = "AMS-TeX: user documentation", +%%% author = "American Mathematical Society", +%%% copyright = "Copyright 2001 American Mathematical Society, +%%% all rights reserved. Copying of this file is +%%% authorized only if either: +%%% (1) you make absolutely no changes to your copy, +%%% including name; OR +%%% (2) if you do make changes, you first rename it +%%% to some other name.", +%%% address = "American Mathematical Society, +%%% Technical Support, +%%% Publications Technical Group, +%%% P. O. Box 6248, +%%% Providence, RI 02940, +%%% USA", +%%% telephone = "401-455-4080 or (in the USA and Canada) +%%% 800-321-4AMS (321-4267)", +%%% FAX = "401-331-3842", +%%% email = "tech-support@ams.org (Internet)", +%%% codetable = "ISO/ASCII", +%%% keywords = "amstex, ams-tex, tex", +%%% supported = "yes", +%%% abstract = "This file is the User's Guide describing the use of +%%% AMS-TeX 2.2. Installation instructions are found +%%% in appendix B, in file amstinst.tex.", +%%% docstring = "The checksum field above contains a CRC-16 checksum +%%% as the first value, followed by the equivalent of +%%% the standard UNIX wc (word count) utility output of +%%% lines, words, and characters. This is produced by +%%% Robert Solovay's checksum utility.", +%%% } +%%% ==================================================================== +% +% In addition to plain TeX and standard CM fonts, TeXing this file +% requires the following files and fonts: +% +% amstex.tex (version 2.1 or later) +% amsppt.sty (version 2.1 or later) +% amsppt.sti (version 2.1 or later) +% amssym.tex +% msam10 +% msbm10 +% eufm10 +% cmex7 +% cmex8 +% cmbsy7 +% cmcsc8 +% amstinst.tex (Appendices B and C to this User's Guide) +% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +\input amstex +\documentstyle{amsppt} + +\define\GuideVersion{2.2} +\define\GuideDate{August 2001} + +\font\tenss=cmss10 + +\long\def\usertype#1{\smallskip + \moveright2pc\vbox{\def\par{\crcr}\halign{% + \setbox0\hbox{\tt##}% + \hbox\ifdim\wd0<10pc to10pc\fi{\unhbox0\hfil}% + \kern1pc \it $\langle$return$\rangle$\hss + \cr#1\crcr}}% + \smallskip} +\long\def\systype#1{{\rightskip=4pc\leftskip=4pc\noindent\tt #1\par}} + +% Change default dimensions and fonts +\pageheight{49pc} +\dropfoliodepth=2pc +\hfuzz1pc % to suppress reporting of slightly overfull boxes. +\aboveheadskip=2\bigskipamount +\belowheadskip=\medskipamount +\subheadskip=\bigskipamount +\addto\tenpoint{\abovedisplayskip=6pt plus2pt minus3pt + \belowdisplayskip=\abovedisplayskip} +\loadbold +% Prevent hyphenation of "amsppt": +\hyphenation{amsppt} + +% Macros for text substitution and for presentation of examples. +% +\define\Textures{{\it Textures\/}} +\define\AMS{American Mathematical Society} +\define\JAMS{{\it Journal of the \AMS}} +\define\JoT{{\it The Joy of \TeX{}}} +\define\Joy{{\it Joy}} + +\def\filnam#1{{\tt\ignorespaces#1\unskip}} +\hyphenchar\tentt=-1 % to prohibit hyphenation in tt text + +\newdimen\exindent \exindent=2\parindent +% Add a high penalty to discourage line breaks within an example +% without absolutely prohibiting them. +{\obeylines + \gdef^^M{\par\penalty9999}% + \gdef\beginexample#1{\medskip\bgroup % + \def~{\char`\~}% + \NoBlackBoxes\tt\frenchspacing % + \parindent=0pt#1\leftskip=\exindent\obeylines} +}% end \obeylines +\def\endexample{\endgraf\egroup\medskip} +\newdimen\exboxwidth +\exboxwidth=3in +\def\exbox#1#2{\noindent \hangindent=\exboxwidth + \leavevmode\llap{\null\rm#1\unskip\enspace}% + \hbox to\exboxwidth{\tt\ignorespaces#2\hss}\rm\ignorespaces} +\chardef\\=`\\ \chardef\{=`\{ \chardef\}=`\} +\def\<#1>{{\it$\langle$#1\/$\rangle$}} +\def\Dimen{\<dimen>} + +\catcode`\@=11 +\def\cs#1{\leavevmode +% Save the previous skip and put it back after the penalty 0 +% so that the penalty0 won't cause a blank at the end of a line. + \skip@\lastskip\unskip\penalty\z@ + \ifdim\skip@>\z@ \hskip\skip@\fi + {\tt\char`\\\ignorespaces#1\unskip}} + +% Redefine the \subhead macro to be on a line by itself and omit period. +\outer\def\subhead#1\endsubhead{\par\penaltyandskip@{-100}\subheadskip + \noindent{\subheadfont@\ignorespaces#1\unskip\endgraf}\nobreak\noindent} + +% Define macros for presentation of tables of symbols. +\def\BBB#1{\par\bigbreak + \leavevmode\llap{$\bullet$\enspace}{\bf#1}} +\newdimen\biggest +\setbox0\hbox{$\dashrightarrow$}\biggest=\wd0 +\def\1#1{\hbox to\biggest{\hfill$\csname#1\endcsname$\hfill}\ \ % + \cs{#1}} +\def\fudge{\hbox to\biggest{}\ \ \hphantom{\tt\char'134 }} + +\def\getID@#1{\edef\next@{\expandafter\meaning\csname#1\endcsname}% + \expandafter\getID@@\next@0\getID@@} +\def\getID@@#1"#2#3#4#5#6\getID@@{\def\next@{#6}% + \edef\msafam@{\the\msafam}\edef\msbfam@{\the\msbfam}% + \ifx\next@\empty + \edef\next@{\number"#2}% + \ifx\next@\msafam@ + \def\ID@{10#3#4}% + \else + \ifx\next@\msbfam@ + \def\ID@{20#3#4}% + \else\message{Invalid family IDs for msam/msbm fonts, path 2}% + \fi\fi + \else + \edef\next@{\number"#3}% + \ifx\next@\msafam@ + \def\ID@{1#2#4#5}% + \else + \ifx\next@\msbfam@ + \def\ID@{2#2#4#5}% + \else\message{Invalid family IDs for msam/msbm fonts, path 3}% + \fi\fi + \fi} +\def\2#1{\hbox to.5\hsize + {\hbox to\biggest{\hfill$\csname#1\endcsname$\hfill}\ \ % + \getID@{#1}{\tt\ID@}\ \ \cs{#1}\hfill}} +\def\3#1#2{\hbox to.5\hsize + {\hbox to\biggest{\hfil$\csname#1\endcsname$\hfil}\ \ % + \getID@{#1}{\tt\ID@}\ \ \cs{#1}, \cs{#2}\hss}} +\def\4#1{\hbox to.5\hsize + {\hbox to\biggest{\hfill$\csname#1\endcsname$\hfill}\ \ % + \getID@{#1}{\tt\ID@}\ \ \cs{#1}\ \ {\eightpoint(U)}\hfill}} + +\catcode`\@=\active + +\define\thismonth{\ifcase\month % case 0 --- impossible! + \or January\or February\or March\or April\or May\or June% + \or July\or August\or September\or October\or November% + \or December\fi} + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%% TITLE PAGE + +% Quarantine the large fonts used for the title page +\begingroup +\font\fourtn=cmr10 scaled \magstep2 +\font\fourtnsy=cmsy10 scaled \magstep3 +\font\fourtnbf=cmbx10 scaled \magstep3 +\textfont2=\fourtnsy + +\shipout\vbox to\vsize{% +\parindent=0pt +\vskip5pc +\rightline{\fourtnbf User's Guide to \AmSTeX{}} +\bigskip +\rightline{\fourtn Version \GuideVersion} +\medskip +\rightline{\fourtn \GuideDate} +%\rightline{\fourtn {\thismonth} {\number\year}} + +\vfill + +\tenpoint + +This publication was typeset using \AmSTeX{}, the American +Mathematical\newline \quad Society's \TeX{} macro system. + +Copyright \copyright{} 2001 by the \AMS{}. + +All rights reserved. Any material in this guide may be reproduced or +duplicated for personal or educational use. + +\medskip +\begingroup\obeylines +\TeX{} is a trademark of the \AMS{}. +\endgroup +}% End of vbox being shipped out +\endgroup + +%% END TITLE PAGE + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\topmatter +\title\nofrills User's Guide to \AmSTeX{} Version 2.2\endtitle + +%\date {\thismonth} {\number\year}\enddate +\date \GuideDate\enddate + +\toc +\widestnumber\head{7} +\head 1. Overview\endhead +\head 2. Formatting Features\endhead +\head 3. Mathematical Constructions\endhead +\head 4. Fonts\endhead +\head 5. Symbol Names\endhead +\head 6. Other Things You Ought to Know\endhead +\head 7. Getting Help\endhead +\head {} References\endhead +\head {} Appendix A. Sample Bibliography Input and Output\endhead +\head {} Appendix B. Installation Procedures\endhead +\head {} Appendix C. Before Installing \AmSTeX: Facts About Fonts\endhead +\endtoc + +\endtopmatter +\document + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +\head 1. Overview\endhead + +\AmSTeX{} is a macro package for \TeX{}, designed to simplify the input +of mathematical material and format the output according to preset style +specifications. Although the \AMS{} holds the copyright for \AmSTeX{}, +its use is not restricted, but is encouraged for the preparation of +manuscripts intended for publication both in the Society's books and +journals, and also in other mathematical literature. + +Version 2.0 of \AmSTeX{} was released in 1990, concurrent with the +publication of the second edition of \JoT{}. It contained numerous +minor improvements and bug fixes, as well as some major changes +involving additional fonts. Version 2.1 was first released in 1991; +interim updates are identified by changes in release date. The present +version 2.2 was released in August 2001. This User's Guide describes all +the new and changed features from these versions and how to use them, +with further additions and revisions pertaining to the current release. +Topics are grouped by type, and then presented in roughly the same order +as they appear in \JoT{}. + +This User's Guide assumes that you already have a copy of \JoT{}. It +contains references to specific sections that won't help you much if you +don't have a copy. It also assumes for the most part that you will be +using the ``preprint style'', a set of macros that provides features +specific to the formatting of a document, such as headings, page +numbers, and the like. If you are planning to use the preprint style, +you will also need to have a copy of AMSFonts Version~2.2. \JoT{} and +AMSFonts 2.2 are available from the \AMS{} and other distributors. + +\subhead Files Comprising the \AmSTeX{} Version~2.2 package +\endsubhead + +The following files are contained in the \AmSTeX{} Version~2.2 package +distributed by the \AMS{}: +\medskip +\settabs\+\indent&\filnam{amsguide.tex}\qquad&\kern.6\hsize\cr +\+&\filnam{amstex.tex}& + the \AmSTeX{} Version 2.2 macros\cr +\+&\filnam{amstex.bug}& + a chronicle of bug fixes to \filnam{amstex.tex} and + \filnam{amsppt.sty},\cr +\+&& as well as known open bugs\cr +\+&\filnam{amssym.tex}& + macros defining the symbols in fonts \filnam{msam} and + \filnam{msbm}\cr +\+&\filnam{amsppt.sty}& + the preprint style for \AmSTeX{} Version 2.2\cr +\+&\filnam{amsppt.sti}& + initialization options for the \AmSTeX{} 2.2 preprint style\cr +\+&\filnam{amsppt.doc}& + technical documentation for \filnam{amsppt.sty}\cr +\+&\filnam{amsppt.faq}& + some frequently asked questions and answers about \AmSTeX{}\cr +\+&\filnam{amsguide.tex}& + the source file for this User's Guide\cr +\+&\filnam{amstinst.tex}& + the source file for Installation Procedures;\cr +\+&& appendices to this User's Guide\cr +\+&\filnam{amsppt1.tex}& + a backward compatibility file for use with documents\cr +\+&& already completed using \AmSTeX{} versions earlier than 2.0\cr +\+&\filnam{joyerr.tex}& + errata to \JoT{} (first edition)\cr +\+&\filnam{joyerr2.tex}& + errata to \JoT{} (second edition)\cr +\+&\filnam{amstex.ini}& + used in creating format files\cr +\medskip + +The file \filnam{amsppt.doc} is an {\smc ascii} file, and is +not intended to be processed with \TeX{}\null. This documentation file +is arranged in the same order as the macro file that it describes, and +explains the intent and mechanics of the macros in detail. A separate +file (\filnam{amstex.doc}), documenting the file \filnam{amstex.tex}, +is available on request. + +In addition, other files are used during installation. +For instructions on installing the \AmSTeX{} macros and preprint style, +see Appendix B\null. This appendix describes the installation process +for \TeX{} systems based on the \TeX{} Directory Structure (TDS), and +also gives suggestions for installation on other systems. + +\subhead General Description of Changes\endsubhead + +\AmSTeX{} 2.0+, the preprint style, and their technical +documentation are the result of a joint effort begun by Michael Spivak +and extended by the Composition Technical Support group of the \AMS{}. + +In version 2.0 of \AmSTeX{}, the following changes were made: +\widestnumber\item{10} +\roster +\item All known bugs were eliminated. +\item Messages were added identifying the current versions of + \filnam{amstex.tex} and \filnam{amsppt.sty}, to be displayed on your + terminal screen and in the log file. +\item Some error and help messages were changed for the sake of + clarity or to provide more information. +\item Refinements were made to conserve memory space. +\item The CM versions of the Computer Modern fonts were substituted for the + older AM versions. +\item Support for additional fonts was added. + + \itemitem{(a)} \filnam{amstex.tex} provides the mechanism for accessing + the Euler and extra symbol fonts of the AMSFonts collection. + \itemitem{(b)} The preprint style assumes that fonts \filnam{msam}, + \filnam{msbm}, and \filnam{eufm} are installed and available. + +\item Changes were made to the preprint style to make it conform + more closely to the style of AMS publications, in particular, the \JAMS. + + \itemitem{(a)} Running heads were made automatic; they can be suppressed + if desired. + \itemitem{(b)} Additional elements are recognized in both the top matter + and the body of a document, and the input syntax was regularized. + \itemitem{(c)} Footnotes were changed to have normal indentation.% + \footnote{Like this.} + \itemitem{(d)} The style of the references was changed considerably. + +\item The ability to produce roman-numeral page numbers using the + plain \TeX{} convention (negative \cs{pageno}) was added. +\item In the preprint style, mathematics-oriented hyphenation exceptions + were added. (These follow American, not British, rules.) +\item An option was added in the preprint style that + allows documents to be formatted + as chapters of a monograph rather than as separate papers. +\item Finally, some optional formatting features requested by + \AmSTeX{} users were added to the preprint style. +\endroster + +\medskip +In version 2.1, the following changes were made: +\roster +\item \cs{curraddr}, \cs{rom}, and \cs{linespacing} were added. +\item Additional error conditions were identified and supplied with more + informative messages. +\item A sporadic line-breaking problem in the preprint style references + section was remedied. +\item Some bugs introduced into the preprint style during the + version 2.0 changes were found and eliminated. +\item Use of the Euler fonts other than medium Euler Fraktur was + made more convenient. +\item The ability to use multiple \cs{thanks} commands was added. +\item The \cs{proclaim} font was changed from slanted to italic, and + \cs{proclaimfont} provided so that users can change it if desired. +\item \cs{nologo} was reinstated. +\item The installation instructions were revised and augmented. +\item The backward compatibility file \filnam{amsppt1.tex} was added. +\endroster + +\medskip +These changes were made in the January 1997 release: +\roster +\item Bugs reported since the release of version 2.1 were fixed. +\item \cs{urladdr} was added; \cs{linespacing} was documented. +\item Bibliographic elements were added for {\it Math.\ Reviews}, + {\it CMP\/} and AMS preprint server references. +\item Various changes were made to permit easier customization: + + \itemitem{(a)} Command names were given to fonts and dimensions used + in various environments. + \itemitem{(b)} Changeable end-of-document processing was split out + and associated with a new command name. + \itemitem{(c)} The output routine was simplified. + \itemitem{(d)} Initialization options that a user might want to + suppress to save space were moved into a separate file, + \filnam{amsppt.sti} + +\item Page dimensions were changed in the preprint style to match the + current AMS publication specifications. +\item The mechanism for loading AMSFonts was changed to make it easier + for a user to specify the use of a PostScript outline version. +\item The installation instructions were updated and augmented. +\endroster + +These changes were made in version 2.2: +\roster +\item Bugs reported since the release of version 2.1 were fixed. +\item The requirement to acknowledge use of \AmSTeX{} was removed, and + the copyright statement and restriction notice is no longer printed + out on the terminal every time \AmSTeX{} starts up. +\item The installation instructions were completely revised, and based + on the \TeX{} Directory Structure (TDS) used by most current \TeX{} + distributions. +\item a \cs{subjclassyear} command was provided to allow a particular + version of the Mathematics Subject Classification to be cited. +\endroster + +\subhead This User's Guide\endsubhead + +This User's Guide has been prepared using \AmSTeX{} Version~2.2 with the +preprint style. Some changes have been made: font and dimension settings +have been reset, the macros for headings have been redefined to produce a +result more suited to documentation, and some {\it ad hoc\/} macros have +been defined to simplify the presentation of particular information. +However, in general, this document and the file from which it was produced +illustrate the general appearance and input for a preprint with running +heads. Printing the output of \TeX{} for this Guide requires AMSFonts +Version~2.0 or later +(users of AMSFonts Version~2.0 are strongly encouraged to upgrade to +Version~2.2). + + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +\head 2. Formatting Features +\endhead + +Formatting documents prepared with \AmSTeX{} is accomplished by a +``style file''. The features described here are part of the preprint +style. The \AmSTeX{} preprint style, Version~2.2, will format an input +file in a manner suitable for a paper in a journal, unless the style of +a \cs{Monograph} is explicitly selected. Unless noted otherwise, +the journal style is the style described below. + +\setbox1=\hbox{\tt\\dedicatory...\\enddedicatory\ } +\setbox0=\vbox{\hsize=\wd1\parindent=0pt\tt\obeylines + \strut\\title...\\endtitle + \\author...\\endauthor + \\affil...\\endaffil + \\address...\\endaddress + \\curraddr...\\endcurraddr + \\email...\\endemail + \\urladdr...\\endurladdr + \\thanks...\\endthanks + \\dedicatory...\\enddedicatory + \\date...\\enddate + \\translator...\\endtranslator + \\keywords...\\endkeywords + \\subjclass...\\endsubjclass + \strut\\abstract...\\endabstract\endgraf} +\setbox1=\hbox{$\dsize\left\lbrace\,\vcenter{\vphantom{\copy0}}\right. + \nulldelimiterspace=0pt$}% +\setbox2=\hbox{\kern-\wd1$\dsize\left\lbrace\,\vcenter{\copy0}\right\rbrace$} + +\subhead Top Matter\endsubhead + +Some commands affect the appearance of a whole document. Such commands +should go at the top of your input file, right after the \cs{documentstyle} +line and before the \cs{topmatter} line. This area will be referred to as +the ``preamble''. Commands that should be in the preamble include +\cs{define}, \cs{TagsOnRight} and the like, +\cs{NoPageNumbers}, \cs{NoRunningHeads}, \cs{Monograph}, +\cs{pagewidth}, \cs{pageheight}, \cs{pageno}, +and commands that load fonts. +The preamble is relevant to any document, whether paper or monograph. + +The beginning of an \AmSTeX{} file should look something like what +is shown in Figure 1. + +\topinsert + +\beginexample{} +\\input amstex +\\documentstyle\{...\} +\medskip +\<preamble commands, such as \cs{define}, \cs{pageno}, \cs{Monograph}, +\leavevmode\hbox to20pt{}\cs{NoRunningHeads}, \cs{loadbold}, etc.> +\medskip +\\topmatter +\indent\box2 +\strut\\endtopmatter +\\document +\endexample + +\botcaption {Figure 1} The beginning of an \AmSTeX{} file +\endcaption +\endinsert + +If any \cs{end...}\ tag is omitted (or misspelled), an error message will +appear at \cs{endtopmatter} or at the next blank line: for example, if +you misspell \cs{endtitle}, the message will be something like +``{\tt !~Paragraph ended before \cs{title} was +com\discretionary{-}{}{}plete}.'' If you omit \cs{endtopmatter}, there +won't be any error message, but none of the topmatter material will +print. %{\tolerance2000\par} +Tags should be omitted for any top matter elements for which there is +no data; if ``empty'' tags are included, empty footnotes may appear on +the first page, or labels indicating addresses at the end of a paper. + +If you have documents that were prepared for versions of \AmSTeX{} +earlier than version 2.0, you may find the file \filnam{amsppt1.tex} +useful. By including the line \cs{input amsppt1} immediately after the +\cs{documentstyle} line, the topmatter commands and the sectioning +commands that changed in form will work in the original way. Other than +that, there should be few incompatibility problems with previous +versions. Note: The use of \filnam{amsppt1.tex} is discouraged except +for processing preexisting files. + +For multi-line titles, affiliations, authors, or dedications (basically +everywhere that lines are centered individually rather than being set in +paragraphs), line breaks are obtained by using \cs{\\}. In other parts +of the topmatter, which are set in paragraph form, line breaks are +obtained by \cs{linebreak}. + +The title will be set in uppercase. To turn off the automatic +uppercasing, use the \cs{nofrills} option: +\cs{title\\nofrills...\\endtitle}. + +Each author is tagged separately, followed by address(es) and other +information associated with that author. + +Normally, the address given with \cs{address} is the address of the +author at the time the research was being done; if the author's +address at the time of publication is different, the current address +should be given with \cs{curraddr}. This should be entered immediately +following the \cs{address} for the same author. If a \cs{curraddr} is +not paired with an \cs{address}, the current address will not print. + +Electronic mail addresses can be tagged \cs{email...\\endemail}. +Like \cs{curraddr}, every \cs{email} address must be paired with a regular +\cs{address}, otherwise the e-mail address will not print. +The \cs{email} address will be printed at the end of the paper, as +``{\it E-mail address:\/} \<net-address>'', following the address (and +current address, if present) with which it is paired. + +URLs, the addresses of ``home pages'' on the World Wide Web, can be +included using \cs{urladdr...\\endurladdr}. They behave in the same +manner as \cs{email} addresses. + +The \cs{thanks} command is provided for acknowledgments of grant support +and other kinds of support for the author's research, or other general +information not covered by one of the predefined tags such as +\cs{keywords} or \cs{subjclass}. The information will be printed as an +unnumbered footnote at the bottom of the first page. Like \cs{address}, +\cs{thanks} can be used more than once, and is associated with a +particular author. + +In case a paper has not only an author but a translator, \cs{translator} +is provided. This information will be printed at the end of the paper in +eight-point roman, as ``Translated by'' followed by the translator's name +in uppercase. + +The \cs{dedicatory} command is used for such things as +``Dedicated to Professor X on the occasion of his eightieth birthday.'' +The dedication will appear in italics, before the abstract. + +The information for \cs{keywords} and \cs{subjclass} appears as +unnumbered footnotes at the foot of the first page, as in AMS journals. +In a monograph chapter they will not print at all, since they should be +handled separately, as part of the front matter for the monograph. +By default, for backward compatibility, the 1991 Mathematics Subject +Classification will be cited; to specify the 2000 Mathematics Subject +Classification, enter +\beginexample{} +\\subjclassyear\{2000\} +\\subjclass ...\\endsubjclass +\endexample + +The abstract heading ``{\eightpoint\smc Abstract.}''\ appears in caps +and small caps, in the same size (eight point) as the abstract itself. + +A simple table of contents setup is available. Tables of contents +are typed in the topmatter along with everything else (except for +monographs---see the section {\bf Book Formatting} below), using +\cs{toc...\\endtoc}. +\beginexample{} +\\toc +\\specialhead...\\endspecialhead +\\head...\\endhead +\\subhead...\\endsubhead +\\subsubhead...\\endsubsubhead +\\endtoc +\endexample +\noindent +The syntax of the parts is identical to the syntax used +for headings within the document (see the sections {\bf Headings} and +{\bf Book Formatting} below), so that for those who wish to do so +and have a capable text editor, the table of contents can be constructed +by extracting the relevant lines from the main text.\footnote{But note that +the original line breaks in multi-line headings would not be appropriate +for the table of contents, so you'd want to remove any \cs{\\}es that +might be present.} + +Page numbers aren't usually appropriate for the short table of contents +that might appear in a journal article, but if desired, page numbers can +be entered in a manner similar to that for a monograph; see the section +{\bf Book Formatting} below. + +The hanging indentation within a table of contents for \cs{head} and +\cs{subhead} is preset to accommodate numbers of the form +``1.''\ and ``1.1.''\ respectively; the amount of indentation can +be adjusted by using \cs{widestnumber}: +\beginexample{} +\\toc +\\widestnumber\\head\{10\} +\\widestnumber\\subhead\{10.1\} +... +\endexample +\noindent This can be done more than once within different sections of +the table of contents, if desired. + +If the ``section number'' of a \cs{head} happens to be something like +``Appendix'' (as actually happens in this User's Guide), a pair +of empty braces should be entered before it, as follows: +\beginexample{} +\\head \{\}\ Appendix. Sample bibliography input ...\\endhead +\endexample +\noindent +Insertion of {\tt\{\}} followed by a space at the beginning of the heading +text will cause the entire entry to be set flush left as a unit. + +If you are preparing a monograph, the format and content of the top matter +will be different. See the section below on {\bf Book Formatting} for +details. + + +\subhead Headings \endsubhead + +There are four levels of headings (not counting +\cs{title}): +\beginexample{} +\\specialhead...\\endspecialhead +\\head...\\endhead +\\subhead...\\endsubhead +\\subsubhead...\\endsubsubhead +\endexample +\noindent The heading of +this section was typed as +\beginexample{} +\\head 2. Formatting Features +\\endhead +\endexample + +\noindent And the subheading for this subsection was typed as +\beginexample{} +\\subhead Headings\\endsubhead +\endexample +\noindent +Ordinarily, subheadings in the preprint style are run into the text, but for +this User's Guide, the style varies slightly. + +\indent\cs{specialhead} is for long articles that need extra divisions at +a level above the \cs{head} level. In the preprint style +\cs{specialhead} uses boldface type and is set ragged right; \cs{head} +is small caps, centered; \cs{subhead} is boldface, flush left, +run in with the following text; and +\cs{subsubhead} is italic, indented as for an ordinary paragraph, and run +into the text. + +Explicit line breaks are obtained by a \cs{\\} in a \cs{head} or a +\cs{specialhead}, but for \cs{subhead} and \cs{subsubhead}, +which are part of their paragraph, just use \cs{linebreak} as +you would in normal paragraphed text. + +If you are preparing a monograph, the styles of headings will be different. +See the section below on {\bf Book Formatting} for details. + + +\subhead Theorems and Proofs \endsubhead + +In addition to the usual proclamations and demonstrations, mathematicians +may pose other kinds of propositions, which editors may prefer to see +presented in different styles. The following have been provided in +the preprint style. +\beginexample{} +\\definition...\\enddefinition +\\example...\\endexample +\\remark...\\endremark +\endexample +\noindent +The proof of any proclamation is indicated by \cs{demo...}\cs{enddemo}. + +Note that all kinds of proclamations, demonstrations and propositions +must be ended explicitly; a check for proper endings is included with +all classes of proclamations and a missing \cs{end...} is reported. + +In the preprint style \cs{definition} and \cs{example} have +the spacing and heading font of \cs{proclaim}, but are in roman. +\cs{remark} resembles \cs{demo} +except that extra space added at the end of a proof by \cs{enddemo} +is not added by \cs{endremark}. + +In accordance with the style of the \JAMS, the labels on \cs{proclaim}s +and similar constructions are now printed in boldface type (\cs{bf}) +and the text in italic (\cs{it}). (The command \cs{proclaimfont} is +provided so that a user can change the text of a proclamation to +slanted type if desired: \cs{redefine\\proclaimfont\{\\sl\}}.) + +It is conventional in mathematical publishing to use roman, upright +numbers and punctuation even in the midst of +italic text, to avoid visual conflicts with numbers and punctuation in +adjacent math formulas. Since dedicated ``mathematical text italic'' +fonts containing roman numbers and punctuation are not currently +available, the \filnam{amsppt} preprint style provides a command +\cs{rom} to be applied inside theorems and other stretches of +italic text, to give the desired results. +For example, to~produce + +\proclaim{Proposition 2.5} Let $S_1,\dots,S_m$ be the components +of a $J$-holomorphic cusp-curve $S$ and suppose that each +component $S_i$ is \rom(a multiple covering of\rom) a regular +curve and that Assumption \rom{(1.4a)} is satisfied. \dots +\endproclaim + +\noindent you would use \cs{rom} in the following places: +\beginexample{} +each component \$S\char`\_i\$ is \\rom(a multiple covering of\\rom) a +regular curve and that Assumption \\rom\{(1.4a)\} is satisfied +\endexample + +As you can see, \cs{rom} is used like the math font command \cs{roman}: +it applies to the next single character or the next group enclosed in +braces. + +\subhead Other Devices \endsubhead + +For a list produced by \cs{roster}, the amount of indentation can be +adjusted to accommodate wide item numbers. Just before beginning the +\cs{roster}, type, for example, \cs{widestnumber\\item\{(viii)\}}. +This adjustment is temporary. The default will be reinstated by +\cs{endroster}. + +The command \cs{cite} produces +a reference citation in roman type, within square brackets: \cite{21}. + +A structure \cs{block...}\cs{endblock} is provided for quotations. +It is intended for use in the middle of a paragraph to quote an +extract from another source. + + +\subhead Book Formatting \endsubhead + +If you are preparing a monograph, several features are available in the +preprint style that will make your output look like chapters rather than +individual papers. + +First of all, you must signal your intentions by typing \cs{Monograph} +in the preamble, right after the \cs{documentstyle} line. + +A typical topmatter section for a monograph chapter would be typed +like this: +\beginexample{} +\\documentstyle\{amsppt\} +\\Monograph +\\topmatter +\\title\\chapter\{4\} Matrix Algebras\\endtitle +\\endtopmatter +\endexample +\noindent which produces a chapter heading that looks like this: +\bigskip +\vbox{ +\centerline{\eightpoint CHAPTER IV} +\bigskip +\centerline{\bf MATRIX ALGEBRAS}} +\bigskip +\noindent +Notice that the number is converted automatically to roman numerals and +the word ``{\eightpoint CHAPTER}'' is added. For a chapter title that +needs a different sort of treatment, \cs{nofrills} can be used: + +\beginexample{} +\\topmatter +\\title\\chapter\\nofrills\{APPENDIX D\} The Poisson Integral\\endtitle +\\endtopmatter +\endexample +\noindent This produces +\bigskip +\vbox{ +\centerline{\eightpoint APPENDIX D} +\bigskip +\centerline{\bf THE POISSON INTEGRAL}} +\bigskip +\noindent The replacement \cs{chapter} text will appear exactly as +typed. + +Finally, for things like a preface or introduction which have no +pretitle text at all, omit the \cs{chapter} command: +\beginexample{} +\\topmatter +\\title Preface\\endtitle +\\endtopmatter +\endexample + +In monographs, the table of contents is usually treated as a separate +chapter. Start by typing the title ``Contents'' as for a preface or +introduction, and then use the \cs{toc...\\endtoc} structure as the +body of the document (rather than putting it in the topmatter, as you +would for a journal article). +\beginexample{} +\\topmatter +\\title Contents\\endtitle +\\endtopmatter +\bigskip +\\document +\\toc +\\title Preface\\page\{vii\}\\endtitle +\\title\\chapter\{1\} Matrix Algebras\\page\{1\}\\endtitle +\\head \{\} Continuous complex-valued functions\\page\{1\}\\endhead +... +\\title Bibliography\\page\{307\}\\endtitle +\\endtoc +\\enddocument +\endexample + +The chapter titles listed in the table of contents are typed in the same +way as in actual use. To get page numbers in the table of contents, use +\cs{page} as shown, just before the ending of an element. This option +is available for all levels of headings. + +In a monograph using the preprint style, the chapter title is used for +the left running head and the text of section headings +(from \cs{head}) appears as the right running head. +It's not uncommon for the text of a heading to be too long to fit +in the running head width; in such a case use \cs{rightheadtext} to +specify a shortened form of the heading for use in the running heads: +\beginexample{} +\\head Fourier coefficients of continuous periodic functions +of bounded entropy norm\\endhead +\\rightheadtext\{Fourier coefficients of periodic functions\} +\endexample +\noindent This should follow immediately after the \cs{head}, to ensure +that both take effect on the same page. If the chapter title is too long +to fit as a running head, a shortened form can be supplied in a similar +way with \cs{leftheadtext} immediately after the \cs{title}. +See also the section~{\bf Running Heads}. + +The style for a chapter of a monograph differs in some particulars from the +style for a paper. The text of a \cs{head} will be boldface instead of +small caps; headings of theorems, propositions, definitions, remarks, etc\. +will be small caps instead of boldface, and indented rather than flush +left. + + +\subhead Inserts with Captions \endsubhead + +Figures, tables, and some other kinds of objects are often handled as +inserts. These objects may be prepared separately from the main document +and pasted in, in which case space must be left for them. +These objects usually have captions; a caption may be positioned above (for +a table) or below (for a figure). + +An insert may be specified for the top or ``middle'' of a page, i.e., +right where the input for the insert occurs in the text. These are +typed as \cs{topinsert} and \cs{midinsert} respectively. +Furthermore, a caption may be placed at the top or the bottom of the insert, +using the tags \cs{topcaption} and \cs{botcaption} respectively. + +The general structure used to specify an insert with a caption at the top is: +\beginexample{} +\\topinsert\quad{\rm or}\quad \\midinsert +\cs{captionwidth}\{\Dimen\}\quad{\rm(optional)} +\\topcaption\{\<caption label>\} +\ \<optional caption text> +\\endcaption +\cs{vspace}\{\Dimen\}\quad{\rm or}\quad% + \<optional code for the insertion body> +\\endinsert +\endexample + +Here the notation \Dimen{} means a valid \TeX{} dimension as +described in the {\bf Dimensions} section of \JoT{}. +If a bottom caption was desired, \cs{topcaption} would be replaced by +\cs{botcaption}, and +the \cs{vspace} command (or the +optional code for the insertion body) would be moved before the +\cs{botcaption} macro. + +The \cs{vspace\{\Dimen\}} option would be used to leave blank space for +an object to be pasted into place. The value of the \Dimen{} should be +the exact height of the object to be pasted in, because extra space +around the object and the caption are dependent on the document style, +and will be provided automatically. + +The \cs{captionwidth\{\Dimen\}} option may be used to override the default +caption width specified by the document style. + +The \<caption label> is something like ``Figure~1'' or ``Table~2a''. +Do not type any final punctuation; it will be provided. The caption +label will be set in caps and small caps. + +The \<optional caption text> is any descriptive text that may be desired. +The preprint style will set this in roman. Even if there is no text, the +\cs{endcaption} tag must be present. + +If you choose to include the \TeX{} code for a figure, table, or other +captioned object in the input, then omit the \cs{vspace} command +and type the code where appropriate (before \cs{botcaption} +or after the \cs{endcaption} of \cs{topcaption}). + +Sometimes a table is small enough that it is not necessary to put it in an +insert. If the caption is to appear above it, input can be typed as follows: +\beginexample{} +\\topcaption\{\<caption label>\} +\ \<optional caption text> +\\endcaption +\ \<code for the table body> +\endexample +\noindent +The form of the input would be the following if the caption is to appear below: +\beginexample{} +\ \<code for the table body> +\\botcaption\{\<caption label>\} +\ \<optional caption text> +\\endcaption +\endexample +\noindent +To avoid page-breaking problems, +this form of ``insertion'' should be used only for very small objects. + + +\subhead Page Numbers \endsubhead + +If you are using the preprint style, page numbers will appear in the running +heads, at the outside margin, except for the first page, where the running head +will be omitted and the page number will be centered at the bottom of the page. + +If you wish to omit page numbers, type \cs{NoPageNumbers} in the preamble +of the document (after the \cs{documentstyle} line). +The running head text will remain; see also {\bf Running Heads}. + +You can get roman numeral page numbers, e.g.\ for a table of contents or +preface, using the normal \TeX{} convention of \cs{pageno} plus +a negative number. + + +\subhead Page Size and Line Spacing \endsubhead + +In the preprint style, the default page width is 30pc, and the default +height is 50.5pc. +You can change the size of the page by typing +\beginexample{} +\\pagewidth\{\Dimen\}\newline +\\pageheight\{\Dimen\} +\endexample +\noindent using suitable \Dimen{}s, where by this notation we mean a +valid \TeX{} dimension as described in the {\bf Dimensions} section of +\JoT{}. + +The spacing between lines in the preprint style is ordinarily 2pt greater +than the nominal type size. This can be changed by providing a multiplication +factor to the command \cs{linespacing}; for example, \cs{linespacing\{1.5\}} +gives the effect of typewritten doublespacing. + + +\subhead QED \endsubhead + +In the preprint style, \cs{qed} gives an open box `$\square$', +separated from what precedes it by a quad of space. + + +\subhead Running Heads \endsubhead + +If you are using the preprint style, running heads similar to those in +\Joy{} will appear, with text in the center and page numbers to the +outside. (On the first page, as usual, the running head is omitted, and +the page number is placed at the bottom.) + +If you do nothing to define the text of the running heads, the author's +name will be used on the left-hand and the title on the right-hand pages. +(This is the style for papers; for monographs, see below.) +If you want some other values, say a shortened title, you +can redefine the text to appear on left- and right-hand pages by typing +\beginexample{} +\\leftheadtext\{\<left running head text>\} +\\rightheadtext\{\<right running head text>\} +\endexample + +\noindent These instructions can appear anywhere after the +\cs{documentstyle} command, but the most +common place to use them is immediately after a \cs{title} or +\cs{author} or \cs{head} to override the automatic running head text. +If \cs{rightheadtext} or \cs{leftheadtext} is specified above the +topmatter, \cs{title} and \cs{author} will not override them. + +If you are doing a monograph rather than a journal article, and use +the \cs{Monograph} switch, it affects the running heads as follows: +The chapter title appears in the left-hand running heads, and the text of +the current section heading (from \cs{head}) appears in the right-hand +running heads. In chapters that don't contain any \cs{head}s---for +example, a foreword---both the left- and right-hand running heads +will contain the chapter title. + +By default, running heads will be uppercase. This is a frill that +can be turned off by \cs{nofrills}, e.g., +\beginexample{} +\\rightheadtext\\nofrills\{Text of Running Head\} +\endexample + +If for some reason you don't want running heads at all, type +\cs{NoRunningHeads} in the preamble of the document (after the +\cs{documentstyle} line). When running heads are omitted, page numbers +will appear centered at the bottom of the page. (And even those can be +turned off using \cs{NoPageNumbers}.) + +In a monograph, if you don't want +the text from the section \cs{head}s to appear in the running heads +you must redefine the internal command, \cs{headmark}, that is used +by \cs{head} to set the right-hand running head. To do this, put the +following line in your document file, after \cs{Monograph} and +before \cs{topmatter}: +\beginexample{} +\\redefine\\headmark\#1\{\} +\endexample +\noindent (where the {\tt\#1} is an argument number as explained in \Joy, +in the description of \cs{define} and related commands). + +\subhead Tables \endsubhead + +There are no special macros to support the creation of tables in +\AmSTeX{}. Plain \TeX{}'s \cs{settabs} +command and \cs{halign} can also be used (see {\it The \TeX{}book} for +documentation of their usage). More sophisticated table macro packages +are available from other sources. See also the section {\bf Inserts with +Captions} above. + +\subhead Bibliographies \endsubhead + +The references section of a paper begins with \cs{Refs} and must have +\cs{endRefs} at the end. Each entry in the references begins with +\cs{ref} and ends with \cs{endref}. The individual elements between +\cs{ref} and \cs{endref} can be specified in any order. However, +following \cs{ref} is usually a number or other label identifying the +particular reference. This label is produced using \cs{key}. +The format of the labels is determined by the current +{\it references style}, which is set by the \cs{refstyle} +command. The preprint document style provides three reference +styles denoted A, B, and C, corresponding to +letter labels, no labels, and arabic numbers respectively. +The form of the \cs{cite} and \cs{key} commands for each +style, and the output they produce, is as follows: +$$ +\vbox{\offinterlineskip\def\strut{\vrule depth.35\normalbaselineskip + width0pt height.75\normalbaselineskip}\tabskip0pt + \halign{{\tt\strut#}\hfil&\quad#\hfil&\quad\vrule\quad{\tt#}\hfil& + \quad#\hfil&\quad\vrule\quad{\tt#}\hfil&\quad#\hfil\cr +\multispan2\strut depth.7\normalbaselineskip\cs{refstyle\{A\}}& + \multispan2\quad\vrule\quad\cs{refstyle\{B\}}& + \multispan2\quad\vrule\quad\cs{refstyle\{C\}}\cr +% +\noalign{\hrule} +% + height1.1\normalbaselineskip\cs{cite\{DK\}}& [DK]& + \cs{cite\{Smith 1989\}}& [Smith 1989]& + \cs{cite\{19\}}& [19]\cr +% +\cs{key DK}& [DK]& + \omit\quad\vrule\quad(no key)\hfil & (no label)& + \cs{key 19}& 19.\cr +}}$$ +The \cs{refstyle} command is normally placed in the preamble of +a document. + +The references are set with hanging indentation. The amount of indentation +is preset to accommodate the most common case, two-digit numbers. +It can be increased (or decreased) by specifying the widest +label used in the references. For example, +\beginexample{} +\\widestnumber\\key\{GHMR\} \% refstyle A +\\widestnumber\\key\{999\} \% refstyle C --- 3 digits +\endexample +\noindent +will increase the indentation to accommodate the key \hbox{[GHMR]}, or a +three-digit number, respectively. You could also specify +\cs{widestnumber}\cs{key\{9\}} to reduce the indentation from two digits' +worth to one, if your bibliography has fewer than ten entries. As the +examples show, you do not include square brackets, periods, font +commands, or other such formatting when using \cs{widestnumber}. The +indentation will be adjusted for these things automatically. + +For consecutive references by the same author(s), \cs{by} is used for +the first reference, with the author name(s) given in full, and +\cs{bysame} is used for subsequent ones---just the command \cs{bysame} +without repetition of the name(s). The horizontal line produced by +\cs{bysame} has a fixed length of three ems. + +Two variations, \cs{ed} and \cs{eds}, are provided for entering editor +names, as with \cs{page} and \cs{pages}, because the note ``ed.''\ or +``eds.''\ is part of the automatic formatting. If \cs{by} is absent, +the editor name(s) will be used in place of the author name. + +For a proceedings volume, the place and date of the meeting can +be recorded in the \cs{procinfo} field. Parentheses will be +added. + +There are two options for miscellaneous notes at the end of a reference, +\cs{finalinfo} and \cs{miscnote}. \cs{miscnote} differs only by +automatically adding parentheses; it would typically be used for +a note such as ``(preprint)'' or ``(submitted)'' or ``(to appear)''. +Because it's fairly common, the latter has its own command \cs{toappear} +that is equivalent to \cs{miscnote} {\tt to appear}. + +\cs{lang} is used to indicate the original language for papers where +bibliographic information has been translated or there is some other reason +to believe that the original language cannot be correctly identified from +information in the reference. + +Sometimes several references are combined into one---for example, parts +of a long paper that have been published separately. Another type of +compound reference is a work cited both in the original and in +translation. There are commands \cs{moreref} and \cs{transl} to handle +such situations. After \cs{moreref} and \cs{transl}, any of the normal +reference tags can be used again. + +\cs{moreref} is used for citing, e.g., ``part II'' of an article; the +\cs{moreref} command is followed by the desired additional tags and +data. For example: +\beginexample{} +...\\moreref\\paper\\rom\{II\} +\\jour Comm. Pure Appl. Math. \\vol 36 +\\yr 1983 \\pages 571--594\\endref +\endexample + +When using \cs{transl}, a note that describes the translation is +normally entered between \cs{transl} and the next tag. The tags and data +for the translated work then follow. For example: +\beginexample{} +...\\transl English transl. \\publ Birkh\\"auser +\\publaddr Basel \\yr 1985 \\endref +\endexample + +Automatic punctuation will be omitted if the pertinent field was +included but left blank. Otherwise, the command \cs{nofrills} can be +used to keep automatic punctuation from appearing. For example, +\cs{bookinfo\\nofrills...}\ suppresses the comma or other punctuation +that would normally be added at the end of the \cs{bookinfo} +information. \cs{nofrills} also suppresses other automatic formatting +such as the word ``eds.''\ for \cs{eds}, the word ``vol.''\ for book volumes, +or the parentheses around the year for journal articles. The ending +period of a reference can be suppressed with +\cs{finalinfo}\cs{nofrills}. + +Some examples will illustrate the use of these tags. See Appendix~A for +samples of input and output. See also Appendix~C of \JoT{} (first +edition: Appendix~B) for more information on references. + + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +\head 3. Mathematical Constructions +\endhead + +\subhead Wide Accents in Math Mode \endsubhead + +In version 2.0+ of the AMSFonts, +there are wider versions of the \cs{widehat} and \cs{widetilde} +accents; they appear on lines (5) and (6): +\beginexample{} +\exbox{(1)}{\$\\hat x, \\tilde x\$} $\hat x, \tilde x$ +\exbox{(2)}{\$\\widehat x, \\widetilde x\$} $\widehat x, \widetilde x$ +\exbox{(3)}{\$\\widehat\{xy\}, \\widetilde\{xy\}\$} % + $\widehat{xy}, \widetilde{xy}$ +\exbox{(4)}{\$\\widehat\{xyz\}, \\widetilde\{xyz\}\$} % + $\widehat{xyz}, \widetilde{xyz}$ +\exbox{(5)}{\$\\widehat\{xyzu\}, \\widetilde\{xyzu\}\$} % + $\widehat{xyzu}, \widetilde{xyzu}$ +\exbox{(6)}{\$\\widehat\{xyzuv\}, \\widetilde\{xyzuv\}\$} % + $\widehat{xyzuv}, \widetilde{xyzuv}$ +\endexample +\noindent +These wider accents are in the \filnam{msbm} family. If \filnam{msbm} +has been loaded, \cs{widehat} and \cs{widetilde} will automatically +select these wider versions when required; otherwise, the characters +on line (4) will be the largest available. If you are using the +preprint style, \filnam{msbm} is loaded automatically; otherwise, +see the section entitled {\bf Fonts} for instructions on loading it. + + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +\head 4. Fonts\endhead + +\subhead Additional fonts for \AmSTeX{}\endsubhead + +A number of fonts were created for use with \AmSTeX{} 2.0+, both +Computer Modern fonts in sizes not previously available and new fonts +of alphabets and symbols intended to be used for mathematical notation. +These fonts are in the collection AMSFonts Version~2.2. They must be +installed on your computer before you can use \AmSTeX{}'s preprint style +or otherwise refer to them. +Note that AMSFonts Version~2.2 cannot be used with versions of \AmSTeX{} +earlier than Version~2.0, and \AmSTeX{} Version~2.2 cannot be used with +versions of AMSFonts earlier than Version~2.0 +(users of AMSFonts Version~2.0 are strongly encouraged to upgrade to +Version~2.2). + +Several of these fonts are loaded automatically by the preprint +style and others can be loaded on demand. The fonts available and the +commands used to load them are described below. + +\subsubhead Fonts loaded with the preprint style +\endsubsubhead +Several fonts are loaded automatically for general use. +\roster +\item"--" \filnam{cmcsc8} is an additional size of the Computer Modern + small caps font. +\item"--" \filnam{cmex8} and \filnam{cmex7} are additional sizes of the + Computer Modern math extension font. \filnam{cmex8} is used by the + preprint style in abstracts and other eight-point environments; + \filnam{cmex7} is used for all sub- and superscripts. +\endroster +If \cs{PSAMSFonts} is specified (see Appendix C), scaled versions of the +10-point fonts are loaded instead (this is required for submission to +AMS journals). + + +\subsubhead Math fonts loaded with the preprint style +\endsubsubhead +\roster +\item"--" \filnam{msam} and \filnam{msbm} contain extra symbols. The symbols + and the names that will produce them are shown in the section + {\bf Symbol Names} below. If you are not using the preprint style, + each can be loaded separately by \cs{loadmsam} or \cs{loadmsbm} + as appropriate. +\item"--" \filnam{eufm} is the medium-weight Euler Fraktur (German) font. + It can also be loaded by \cs{loadeufm} if the preprint style is not + being used. +\endroster + + +\subsubhead Math fonts loaded by \cs{loadbold} +\endsubsubhead +See the sections below on {\bf Bold Characters in Math Mode} and +{\bf Bold Greek Letters} for details on accessing particular characters +in these fonts. +\roster +\item"--" \filnam{cmmib} is Computer Modern bold math italic. + It also contains bold Greek. +\item"--" \filnam{cmbsy} contains Computer Modern bold math symbols. +\endroster + + +\subsubhead Additional Euler fonts, for use in math, loaded by +\cs{loadeu...}\tt\endsubsubhead +\roster +\item"--" \filnam{eufb} is bold Fraktur (\cs{loadeufb}). +\item"--" \filnam{eusm} is medium-weight script (\cs{loadeusm}). +\item"--" \filnam{eusb} is bold script (\cs{loadeusb}). +\item"--" \filnam{eurm} is medium-weight ``cursive roman'' (\cs{loadeurm}). +\item"--" \filnam{eurb} is bold ``cursive roman'' (\cs{loadeurb}). +\endroster + + +\subsubhead Considerations and warnings\endsubsubhead +The commands to load these font files should be typed in the preamble area +between the +\cs{documentstyle\{...\}} line and the \cs{topmatter}. +Each \cs{load...} command loads the pertinent fonts (including +subscript sizes), assigns a ``math +family'' for them, and defines a math font command. +The names of the commands are the same as the font names: +\cs{eufm}, \cs{eufb}, \cs{eusm}, \cs{eusb}, \cs{eurm}, and +\cs{eurb}. These are used in the same way as +\cs{roman} or \cs{bold}, e.g., \cs{eufb\{M\}} or \cs{eufb M}@. +\AmSTeX{} also defines a couple of synonyms, +\cs{frak} and \cs{goth}, for \cs{eufm} (medium Euler Fraktur). + +\TeX{} can accommodate only sixteen font families in math mode; eight +are already defined by plain \TeX{} before \AmSTeX{} begins, and the +preprint style loads three more (\filnam{msam}, \filnam{msbm}, and +\filnam{eufm}), for a total of eleven. For this reason, you should load +additional fonts with care, requesting only those you know for certain +you will need. + +All the fonts described here, and some others as well, are included in the +collection AMSFonts Version~2.2, which is available from the AMS and other +distributors. The math fonts mentioned here are all supplied in sizes from +five through ten point, suitable for use in mathematical text. + +If you intend to use the AMSFonts in PostScript Type~1 outline form, +see Appendix C. + + +\subhead Bold Characters in Math Mode \endsubhead + +Bold letters are obtained by \cs{bold} as described in \Joy{}. +In addition, bold symbols, italic, and lowercase Greek can be +obtained once \cs{loadbold} appears in the file (this +requires version 2.0+ of \AmSTeX{} and AMSFonts). Two control sequences +are used for different kinds of bold symbols: +\beginexample{\exboxwidth=1.25in} +\exbox{}{\\boldkey} for symbols that actually appear on the keyboard +\exbox{}{\\boldsymbol} for symbols specified by a single control sequence +\endexample +\noindent +For example, +$$\hbox{\tt\$\\bold x \\boldsymbol\\in \\boldsymbol\\varGamma\$}$$ +gives +$$\bold x \boldsymbol\in \boldsymbol\varGamma$$ +[and {\tt\$\\boldsymbol\\lbrack a \\boldsymbol\\rbrack\$} gives +$\boldsymbol\lbrack a \boldsymbol\rbrack$, if you need to use +\cs{lbrack} and \cs{rbrack} instead of the {\tt[} and {\tt]} keys]. + +More precisely, \cs{boldkey} can be used in math formulas in the +following combinations: +\roster +\item"$\bullet$" With any of the symbols +$$ +\ \ -\ \ =\ \ <\ \ >\ \ (\ \ )\ \ [\ \ ]\ \ |\ \ /\ \ * + \ \ .\ \ ,\ \ :\ \ ;\ \ !\ \ ?$$ +to give +$$ +\boldkey+\ \ \boldkey-\ \ \boldkey=\ \ \boldkey<\ \ \boldkey>\ \ +\boldkey(\ \ \boldkey)\ \ \boldkey[\ \ \boldkey]\ \ \boldkey|\ \ +\boldkey/\ \ \boldkey*\ \ \boldkey.\ \ \boldkey,\ \ \boldkey:\ \ +\boldkey;\ \ \boldkey!\ \ \boldkey? +$$ +But \cs{bold} cannot be used to get bold versions of these symbols. +{\tt\$\\bold+\$} will give only the ordinary $+$, etc. + +The bold $\boldkey+$ and $\boldkey-$ will be binary operators, +like the ordinary $+$ and $-$ symbols; +the bold $\boldkey=$ will be a binary relation, like the ordinary $=$, etc. + +\medskip +\item"$\bullet$" With letters: +\beginexample{\exboxwidth=3.75in} +\exbox{}{\$\\boldkey a\$, ..., \$\\boldkey z\$} % + $\boldkey a, \dots, \boldkey z$ +\exbox{}{\$\\boldkey A\$, ..., \$\\boldkey Z\$} % + $\boldkey A, \dots, \boldkey Z$ +\endexample +\noindent +Notice that these are $\fam\cmmibfam bold\ math\ italic$ letters, as +opposed to the bold text letters $\bold a, \dots, \bold z$, $\bold A, +\dots, \bold Z$ that you get by using \cs{bold} in math mode. + +\medskip +\item"$\bullet$" With numerals: +\beginexample{\exboxwidth=3.75in} +\exbox{}{\$\\boldkey 0\$, ..., \$\\boldkey 9\$} % + $\boldkey 0, \dots, \boldkey 9$ +\endexample +\noindent +However, these combinations simply give the same numerals that you get with +{\tt\$\\bold0\$}, \dots, {\tt\$\\bold9\$}. +\endroster + +\medskip +The \cs{boldsymbol} construction can be used in any of the following +combinations: +\roster +\item"$\bullet$" With uppercase and lowercase Greek letters +\beginexample{\exboxwidth=3.75in} +\exbox{}{\$\\boldsymbol\\Gamma\$, ..., \$\\boldsymbol\\Omega\$} % + $\boldsymbol\Gamma$, \dots, $\boldsymbol\Omega$ +\exbox{}{\$\\boldsymbol\\varGamma\$, ..., \$\\boldsymbol\\varOmega\$} % + $\boldsymbol\varGamma$, \dots, $\boldsymbol\varOmega$ +\exbox{}{\$\\boldsymbol\\alpha\$, ..., \$\\boldsymbol\\omega\$} % + $\boldsymbol\alpha$, \dots, $\boldsymbol\omega$ +\endexample +\noindent +In versions of \AmSTeX{} earlier than 2.0, bold unslanted uppercase +Greek letters $\boldsymbol\Gamma$, \dots, $\boldsymbol\Omega$ were +specified by \cs{boldGamma}, \dots, \cs{boldOmega}; these control +sequences have now disappeared. + +\medskip +\item"$\bullet$" +For convenience, \cs{boldsymbol} may also be followed by a letter (but +not by a numeral or other character), giving the same result as +\cs{boldkey}. + +\medskip +\item"$\bullet$" +You can also apply \cs{boldsymbol} to all the other standard symbols that +are specified by single control sequences. For example, to get bold primes: +\beginexample{\exboxwidth=3.75in} +\exbox{}{\$\\boldsymbol\\prime\$} $\boldsymbol\prime$ +\exbox{}{\$\\boldsymbol A\^{ }\{\\boldsymbol\\prime\}\$} % + $\boldsymbol A^{\boldsymbol\prime}$ +\endexample +\noindent +(But \cs{boldsymbol'}, using the shorthand notation for \cs{prime}, +won't work.) + +\medskip +\item"$\bullet$" +You can apply \cs{boldsymbol} to ``delimiters'', such as +\beginexample{\exboxwidth=3.75in} +\exbox{}{\$\\boldsymbol\\\{ ... \\boldsymbol\\\}\$} % + $\boldsymbol\{ \dots \boldsymbol\}$ +\exbox{}{\$\\boldsymbol\\langle ... \\boldsymbol\\rangle\$} % + $\boldsymbol\langle \dots \boldsymbol\rangle$ +\exbox{}{\$\char`\|, \\boldkey\char`\|, \\\char`\|, \\boldsymbol\\\char`\|\$} % + $|,\ \boldkey|,\ \|,\ \boldsymbol\|$ +\exbox{}{\$\\vert, \\boldsymbol\\vert, \\Vert, \\boldsymbol\\Vert\$} % + $\vert,\ \boldsymbol\vert,\ \Vert,\ \boldsymbol\Vert$ +\endexample +\noindent +However, you can't use \cs{boldsymbol} after \cs{left} and \cs{right}. +In particular, typing +\hbox{\tt\\left\\boldsymbol\char`\|\ ...\ \\right\\boldsymbol\char`\|} +will produce only error messages. + +\medskip +\item"$\bullet$" +Certain symbols on the bold fonts can't be accessed at all via \cs{boldkey} +or \cs{boldsymbol}: These include bold versions +${\fam\cmbsyfam A}$, \dots, ${\fam\cmbsyfam Z}$ + of the ``calligraphic letters'' $\Cal A$,~\dots, $\Cal Z$ that you type +as \cs{Cal A}, \dots, \cs{Cal Z}, +and bold versions {\tencmmib0}, \dots, {\tencmmib9} + of the oldstyle numbers +\oldnos0, \dots, \oldnos9 that you get with \cs{oldnos}. If +you really need to have these symbols, you will have to enlist the aid of a +\TeX{}nician, or use \cs{pmb}. +\endroster + + +\subhead Fraktur Font \endsubhead + +The German Fraktur font, which is designed for use +only in math mode, can be made +available by typing \cs{loadeufm} in the preamble area +of your paper. If you are using the preprint style, +medium-weight Fraktur is loaded automatically. +To produce a Fraktur letter, type +\beginexample{\exboxwidth=3.75in} +\exbox{}{\$\\frak g\$} $\frak g$ +\exbox{}{\$\\frak A\$, \\dots, \$\\frak Z\$} $\frak A$, \dots, $\frak Z$ +\endexample + + +\subhead Blackboard Bold \endsubhead + +\AmSTeX{} has a ``blackboard bold'' font, \cs{Bbb}. Like \cs{Cal}, +it will work only in math mode, and only when applied to uppercase +letters. This alphabet is part of the \filnam{msbm} font, and can be +made available by typing \cs{loadmsbm} at the top of your file. (It is +loaded automatically with the preprint style.) +\beginexample{\exboxwidth=3.75in} +\exbox{}{\$\\Bbb A, \\Bbb C, \\Bbb R\$, etc.} $\Bbb A, \Bbb C, \Bbb R$, etc. +\endexample + + +\subhead Poor Man's Bold \endsubhead + +\AmSTeX{} now has boldface versions of most math symbols. However, if you +need only one or two bold symbols and have run out of \TeX{} capacity for +new fonts or font families, you can always get a poor man's bold version +of bold with \cs{pmb}, as described in \Joy{}. + + +\subhead Bold Greek Letters \endsubhead + +Bold Greek letters, both lowercase and uppercase, can be obtained by +using the \cs{boldsymbol} construction, as described in {\bf Bold +Characters in Math Mode}. The upright uppercase bold Greek letters are +part of the ordinary bold font and therefore extra font loading commands +do not need to be used in order to get them. However, the lowercase and +slanted uppercase bold Greek letters are not loaded automatically, so +you must specify \cs{loadbold} before using them. + + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +\head 5. Symbol Names +\endhead + +The symbols in the \filnam{msam} and \filnam{msbm} fonts have been +assigned ``standard'' control sequence names as shown below. All +the symbol names are loaded automatically by the preprint style; if +you are not using the preprint style, the command \cs{UseAMSsymbols} +will have the same effect. +This will add about 200 new +control sequences to \TeX{}'s internal table. If you are short on +space, or need only a few of the symbols, you can use a different +approach to access just the ones you need. See the section {\bf The +\cs{newsymbol} command} below. + + +\subhead Special Symbols and Blackboard Bold Letters +\endsubhead + +Certain symbols from the \filnam{msam} family can be specified by +control sequences that will be defined as soon as the command +\cs{loadmsam} has appeared in the file. + +First there are four symbols that are normally used outside of math mode: +$$\vcenter{\halign to\hsize{\1{#}\hfil\tabskip\centering& + \hbox to.5\hsize{\1{#}\hfil}\tabskip0pt\cr +checkmark&circledR\cr +maltese¥\cr}} +$$ +These symbols, like \P, \S, \dag, and \ddag, can also be used in +math mode, and will change sizes correctly in subscripts and superscripts. + +Next are four symbols that are ``delimiters'' (although there are +no larger versions obtainable with \cs{left} and \cs{right}), so they +must be used in math mode: +$$\vcenter{\halign to\hsize{\1{#}\hfil\tabskip\centering& + \hbox to.5\hsize{\1{#}\hfil}\tabskip0pt\cr + ulcorner&urcorner\cr + llcorner&lrcorner\cr}}$$ + +Finally, two dashed arrows are constructed from symbols in this family. +Note that one of them has two names; it can be accessed by either one: +$$\vcenter{\halign to\hsize{\1{#}\hfil\tabskip\centering& + \hbox to.5\hsize{\1{#}\hfil}\tabskip0pt\cr + \omit\hbox to.5\hsize{\hbox to\biggest{\hfil$\dashrightarrow$\hfil}\ \ % + \cs{dashrightarrow}, \cs{dasharrow}\hss}&dashleftarrow\cr}}$$ + +The Blackboard Bold letters $\Bbb A, \dots, \Bbb Z$ +appear in the \filnam{msbm} family. Once \cs{loadmsbm} has appeared +in the file, they can be typed (in math mode) as \cs{Bbb A}, \dots, +\cs{Bbb Z}. + +The \filnam{msbm} family also contains wider versions of the \cs{widehat} +and \cs{widetilde} as shown above in {\bf Mathematical Constructions}. + + +\subhead The \cs{newsymbol} Command\endsubhead + +All other symbols of the \filnam{msam} and \filnam{msbm} fonts must be named +by control sequences so that they can be used (in math mode only) when the +fonts are loaded. This can be done all at once by typing the instruction +\cs{UseAMSsymbols}, which will load in the file \filnam{amssym.tex}\null. +This instruction is included in the preprint style, so the names are +assigned automatically, which requires over~200 control sequences. + +If you are very short on space for control sequence names, and need only +a few of these symbols, you can omit \cs{UseAMSsymbols}. Instead, +assign only the names you will need by using a new \AmSTeX{} control +sequence \cs{newsymbol} to create a control sequence that will +properly produce this symbol. The control sequence can be either the +``standard'' name, as listed below, or one of your own choosing. + +The list of symbols below shows for each symbol the symbol itself, a +four-character~``ID'', and the ``standard'' name of the symbol. +(The first character of the ID identifies the font family in which a +symbol resides. Symbols from the \filnam{msam} family have {\tt1} as the +first character; symbols from the \filnam{msbm} family have {\tt2} as the +first character.) +For example, the symbol $\nleqslant$ appears as +\medskip +\noindent\kern2\parindent\2{nleqslant} +\medskip +\noindent +To produce a control sequence with this name, the instruction +\medskip +\noindent\kern2\parindent\cs{newsymbol}\cs{nleqslant 230A} +\medskip +\noindent +appears in the file \filnam{amssym.tex}\null. This same instruction can +be typed by a user who is not using the preprint style and has chosen not +to load all the symbol names by \cs{UseAMSsymbols}. Thereafter, the +control sequence \cs{nleqslant} will produce the symbol $\nleqslant$ +(in math mode), and will act properly as a ``binary relation''. + +A few symbols in these fonts replace symbols defined in \filnam{plain.tex} +by combinations of symbols available in the Computer Modern fonts. These +are \cs{angle}~($\angle$) and \cs{hbar}~($\hbar$) from the group +``Miscellaneous symbols'', and \cs{rightleftharpoons}~($\rightleftharpoons$) +from the group ``Arrows'' below (and \Joy, Appendix~F). The new symbols will +change sizes correctly in subscripts and superscripts, provided that you +are using appropriate redefinitions. In order to use \cs{newsymbol} to +replace an existing definition, the name must first be ``undefined''. +Here are the lines you must put in your file if you are not using the +preprint style or \cs{UseAMSsymbols} (which perform the redefinition +automatically): +\medskip +\begingroup +\parindent=2\parindent +\obeylines +\cs{undefine}\cs{angle} +\cs{newsymbol}\cs{angle 105C} +\cs{undefine}\cs{hbar} +\cs{newsymbol}\cs{hbar 207E} +\cs{undefine}\cs{rightleftharpoons} +\cs{newsymbol}\cs{rightleftharpoons 130A} +\endgroup +\medskip +\noindent +These symbols are flagged in the tables below with a ``{\eightpoint(U)}'' +as a reminder that they must be undefined. + +Note in the tables that some symbols are shown with two names. In such +cases, either one can be used to access the symbol. + +% since the symbol tables are set in displays, decrease the skip +% above, so that the space between a section heading and table is +% not so large. +\abovedisplayskip=3pt plus 3pt minus 0pt + +\BBB{Lowercase Greek letters} +$$\halign{\hbox to.5\hsize{\2{#}}&\2{#}\cr +digamma&varkappa\cr}$$ + +\BBB{Hebrew letters} +$$\halign{\hbox to.5\hsize{\2{#}}&\2{#}\cr +beth&gimel\cr +daleth\cr +}$$ + +\BBB{Miscellaneous symbols} +$$\halign{\hbox to.5\hsize{\2{#}}&\2{#}\cr +\omit\4{hbar}&backprime\cr +hslash&varnothing\cr +vartriangle&blacktriangle\cr +triangledown&blacktriangledown\cr +square&blacksquare\cr +lozenge&blacklozenge\cr +circledS&bigstar\cr +\omit\4{angle}&sphericalangle\cr +measuredangle&\omit\cr +nexists&complement\cr +mhoð\cr +Finv&diagup\cr +Game&diagdown\cr +Bbbk&\omit\cr +}$$ + +\BBB{Binary operators} +$$\halign{\hbox to.5\hsize{\2{#}}&\2{#}\cr +dotplus<imes\cr +smallsetminus&rtimes\cr +\omit\3{Cap}{doublecap}&leftthreetimes\cr +\omit\3{Cup}{doublecup}&rightthreetimes\cr +barwedge&curlywedge\cr +veebar&curlyvee\cr +doublebarwedge\cr +boxminus&circleddash\cr +boxtimes&circledast\cr +boxdot&circledcirc\cr +boxplus¢erdot\cr +divideontimes&intercal\cr} +$$ + +\BBB{Binary relations} +$$\halign{\hbox to.5\hsize{\2{#}}&\2{#}\cr +leqq&geqq\cr +leqslant&geqslant\cr +eqslantless&eqslantgtr\cr +lesssim>rsim\cr +lessapprox>rapprox\cr +approxeq\cr +lessdot>rdot\cr +\omit\3{lll}{llless}&\omit\3{ggg}{gggtr}\cr +lessgtr>rless\cr +lesseqgtr>reqless\cr +lesseqqgtr>reqqless\cr +\omit\3{doteqdot}{Doteq}&eqcirc\cr +risingdotseq&circeq\cr +fallingdotseq&triangleq\cr +backsim&thicksim\cr +backsimeq&thickapprox\cr +subseteqq&supseteqq\cr +Subset&Supset\cr +sqsubset&sqsupset\cr +preccurlyeq&succcurlyeq\cr +curlyeqprec&curlyeqsucc\cr +precsim&succsim\cr +precapprox&succapprox\cr +vartriangleleft&vartriangleright\cr +trianglelefteq&trianglerighteq\cr +vDash&Vdash\cr +Vvdash\cr +smallsmile&shortmid\cr +smallfrown&shortparallel\cr +bumpeq&between\cr +Bumpeq&pitchfork\cr +varpropto&backepsilon\cr +blacktriangleleft&blacktriangleright\cr +therefore&because\cr}$$ +\bigbreak +\BBB{Negated relations} +$$\halign{\hbox to.5\hsize{\2{#}}&\2{#}\cr +nless&ngtr\cr +nleq&ngeq\cr +nleqslant&ngeqslant\cr +nleqq&ngeqq\cr +lneq&gneq\cr +lneqq&gneqq\cr +lvertneqq&gvertneqq\cr +lnsim&gnsim\cr +lnapprox&gnapprox\cr +nprec&nsucc\cr +npreceq&nsucceq\cr +precneqq&succneqq\cr +precnsim&succnsim\cr +precnapprox&succnapprox\cr +nsim&ncong\cr +nshortmid&nshortparallel\cr +nmid&nparallel\cr +nvdash&nvDash\cr +nVdash&nVDash\cr +ntriangleleft&ntriangleright\cr +ntrianglelefteq&ntrianglerighteq\cr +nsubseteq&nsupseteq\cr +nsubseteqq&nsupseteqq\cr +subsetneq&supsetneq\cr +varsubsetneq&varsupsetneq\cr +subsetneqq&supsetneqq\cr +varsubsetneqq&varsupsetneqq\cr}$$ + +\overfullrule=0pt + +\BBB{Arrows} +$$\halign{\hbox to.5\hsize{\2{#}}&\2{#}\cr +leftleftarrows&rightrightarrows\cr +leftrightarrows&rightleftarrows\cr +Lleftarrow&Rrightarrow\cr +twoheadleftarrow&twoheadrightarrow\cr +leftarrowtail&rightarrowtail\cr +looparrowleft&looparrowright\cr +leftrightharpoons&\omit\4{rightleftharpoons}\cr +curvearrowleft&curvearrowright\cr +circlearrowleft&circlearrowright\cr +Lsh&Rsh\cr +upuparrows&downdownarrows\cr +% Some fancy tricks to avoid a lot of extra work. MJD +upharpoonleft&upharpoonright}\setbox0\lastbox\unhbox0\unskip,\hfill{\cr +downharpoonleft&\omit\kern7em \cs{restriction}\hfil\cr +multimap&downharpoonright\cr +leftrightsquigarrow&rightsquigarrow\cr}$$ + +\BBB{Negated arrows} +$$\halign{\hbox to.5\hsize{\2{#}}&\2{#}\cr +nleftarrow&nrightarrow\cr +nLeftarrow&nRightarrow\cr +nleftrightarrow&nLeftrightarrow\cr}$$ + + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +\head 6. Other Things You Ought to Know +\endhead + +\subhead Errata to \JoT{} prior to \AmSTeX{} 2.0 +\endsubhead + +The file \filnam{joyerr.tex} contains the full list of errata for the +first edition of \JoT{}, for versions of \AmSTeX{} earlier than +version 2.0; \filnam{joyerr2.tex} contains the errata for the second +edition. A user who desires a typeset copy of this file may run it +through \TeX{} and print out the \filnam{.dvi} file. This will +require Version~2.0+ of \AmSTeX{} and \filnam{amsppt.sty}, and also +AMSFonts Version~2.0+ (users of AMSFonts Version~2.0 are strongly +encouraged to upgrade to Version~2.2). + + +\subhead Acknowledging the Use of \AmSTeX{}\endsubhead + +The following are suggested as appropriate statements of acknowledgment +that \AmSTeX{} has been used to format a document for publication. +It is not required that such an acknowledgment be made. + +\penalty-9000 % to encourage a break without absolutely forcing it. +A single paper may include the following at the bottom of the first page: +\beginexample{} +\rm{}Typeset by \AmSTeX{} +\endexample +\noindent +(This notation is provided automatically by the \AmSTeX{} preprint style. +It can be suppressed by the command \cs{nologo} in the preamble.) + +If an entire journal or book is prepared with \AmSTeX{}, the following +statement can be placed on its copyright page: +\beginexample{} +\rm{}This [journal/book] was typeset by \AmSTeX{}, the \TeX{} macro % +system of the \AMS{}. +\endexample + +If only selected papers in a journal or book are set with \AmSTeX{}, these +papers may be identified as shown above, and the following may be placed +on the copyright page: +\beginexample{} +\rm{}\AmSTeX{} is the \TeX{} macro system of the \AMS{}. +\endexample + + +\head 7. Getting Help +\endhead + +If you should find any bugs in the macros or documentation, +send a Problem Report to: +\beginexample{\rm} +Technical Support +\AMS{} +P. O. Box 6248 +Providence, RI 02940 +\vskip 2pt % +Phone: 800-321-4AMS (4267) \quad or \quad 401-455-4080 +E-mail: tech-support\@ams.org +\endexample + +A Problem Report should contain the following information: +\roster +\item version and date of \filnam{amstex.tex} and of \filnam{amsppt.sty} + with which the problem occurred; +\item a detailed description of the problem; +\item a brief input file which includes the input code for + one or more examples that illustrate the problem; +\item a log file of the \TeX{} session for the input file showing the problem. +\endroster + +\head References\endhead + +\noindent\hangindent2pc Knuth, Donald E. {\it The \TeX{}book}. Reading: + Addison Wesley, 1986. + +\noindent\hangindent2pc Spivak, Michael D. {\it The Joy of \TeX{}}, + 2nd (revised) edition, \AMS{}, Providence, 1990. + +\noindent\hangindent2pc {\it Instructions for Preparation of Papers and + Monographs: \AmSTeX}, version 2.2, \AMS{}, Providence, 2001. + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +\newpage + +% Arrange for the sample references to be set broadside, with the output +% pasted up next to the corresponding input. The section heading should +% be full-width, and the running heads should be the normal page width. +% To accomplish the latter, we must redefine plain's \makeheadline. + +\begingroup % This will be ended after the broadside section + +% To suppress an unimportant `overfull vbox' message (0.8 points): +\vfuzz=1pt + +% Retain headlines at usual width while decreasing \hsize. +\newdimen\headlinewidth +\headlinewidth=\hsize +\def\makeheadline{% + \leftskip=0pt + \vbox{\vbox to\headlineheight{\vss + \hbox to\headlinewidth{\hskip0pt plus\headlinewidth\the\headline}% + \kern-\prevdepth} + \vskip\headlinespace \vskip-\topskip}% + \nointerlineskip} + +\head Appendix A.\quad Sample Bibliography Input and Output +\endhead + +% This measurement includes the space for the running head. +\pageheight{32pc} + +\pagewidth{23pc} +\beginexample{\exindent=0pt} +\\Refs +\\ref\\key 4 \% assuming \\refstyle\{C\} +\\by V. I. Arnol\$'\$d, A. N. Varchenko, +\ and S. M. Guse\\u\\i n-Zade +\\book Singularities of differentiable maps.~\\rom I +\\publ ``Nauka'' \\publaddr Moscow \\yr 1982 +\\lang Russian +\\endref +\ {} +\\ref\\key 5\\bysame +\\book Singularities of differentiable maps.~\\rom\{II\} +\\publ ``Nauka'' \\publaddr Moscow \\yr 1984 +\\lang Russian +\\endref +\ {} +\\ref\\key 6 +\\by O. A. Ladyzhenskaya +\\book Mathematical problems in the dynamics +\ of a viscous incompressible fluid +\\bookinfo 2nd rev. aug. ed. +\\publ ``Nauka'' \\publaddr Moscow \\yr 1970 +\\lang Russian +\\transl English transl. of 1st ed. +\\book The mathematical theory of viscous +\ incompressible flow +\\publ Gordon and Breach \\publaddr New York +\\yr 1963; rev. 1969 +\\endref +\endexample + +\newpage + +\beginexample{\exindent=0pt} +\\ref\\key 7 +\\by P. D. Lax and C. D. Levermore +\\paper The small dispersion limit for the +\ KdV equation.~\\rom I +\\jour Comm. Pure Appl. Math. \\vol 36 \\yr 1983 +\\pages 253--290 \\finalinfo (overview) +\\moreref\\paper \\rom\{II\} +\\jour Comm. Pure Appl. Math. +\\vol 36 \\yr 1983 \\pages 571--594 +\\moreref\\paper \\rom\{III\} +\\jour Comm. Pure Appl. Math. +\\vol 36 \\yr 1983 \\pages 809--829 \\endref +\ {} +\\ref\\key 10 \\by S. Osher +\\paper Shock capturing algorithms for equations of +\ mixed type +\\inbook Numerical Methods for Partial Differential +\ Equations \\eds S. I. Hariharan and T. H. Moulton +\\publ Longman \\publaddr New York \\yr 1986 +\\pages 305--322 +\\endref +\ {} +\\ref\\key 17 \\by G. S. Petrov +\\paper Elliptic integrals and their nonoscillatory +\ behavior +\\jour Funktsional. Anal. i Prilozhen. +\\vol 20 \\yr 1986 \\pages 46--49 +\\transl\\nofrills English transl. in +\\jour Functional Anal. Appl. \\vol 20\\yr 1986 +\\endref +\endexample + +\newpage + +\beginexample{\exindent=0pt} +\% switch to a different references style +\\refstyle\{A\} +\\widestnumber\\key\{GHMR\} +\ {} +\\ref\\key C1 +\\by B. Coomes +\\book Polynomial flows, symmetry groups, and +\ conditions sufficient for injectivity of maps +\\bookinfo Ph.D. thesis, Univ. Nebraska--Lincoln +\\yr 1988 +\\endref +\ {} +\\ref\\key C2 +\\bysame \% B. Coomes +\\paper The Lorenz system does not have a +\ polynomial flow +\\jour J. Differential Equations +\\toappear +\\endref +\ {} +\\ref\\key GHMR +\\by J. Guckenheimer, P. Holmes, M. Martineau, +\ and L. P. Robinson +\\book Nonlinear oscillations, dynamical systems, +\ and bifurcations of vector fields +\\bookinfo \% fields can be left blank +\\publ Springer-Verlag \\publaddr New York +\\yr 1983 +\\endRefs +\endexample + +\newpage + +\begingroup +\refstyle{C} +\aboveheadskip=\abovedisplayskip + +\Refs +\ref\key 4 % assuming \refstyle{C} +\by V. I. Arnol$'$d, A. N. Varchenko, and S. M. Guse\u\i n-Zade +\book Singularities of differentiable maps.~{\rm I} +\publ ``Nauka'' \publaddr Moscow +\yr 1982 +\lang Russian +\endref + +\ref\key 5 +\bysame +\book Singularities of differentiable maps.~{\rm II} +\publ ``Nauka'' \publaddr Moscow +\yr 1984 +\lang Russian +\endref + +\ref\key 6 +\by O. A. Ladyzhenskaya +\book Mathematical problems in the dynamics of a + viscous incompressible fluid +\bookinfo 2nd rev. aug. ed. +\publ ``Nauka'' \publaddr Moscow +\yr 1970 +\lang Russian +\transl English transl. of 1st ed. +\book The mathematical theory of viscous +incompressible flow +\publ Gordon and Breach \publaddr New York +\yr 1963; rev. 1969 +\endref + +\bigskip + +\ref\key 7 +\by P. D. Lax and C. D. Levermore +\paper The small dispersion limit for the KdV equation.~{\rm I} +\jour Comm. Pure Appl. Math. +\vol 36 \yr 1983 \pages 253--290 +\finalinfo (overview) +\moreref\paper {\rm II} +\jour Comm. Pure Appl. Math. +\vol 36 \yr 1983 \pages 571--594 +\moreref\paper {\rm III} +\jour Comm. Pure Appl. Math. +\vol 36 \yr 1983 \pages 809--829 \endref + +\ref\key 10 \by S. Osher +\paper Shock capturing algorithms for equations of mixed type +\inbook Numerical Methods for Partial Differential Equations +\eds S. I. Hariharan and T. H. Moulton +\publ Longman \publaddr New York \yr 1986 \pages 305--322 +\endref + +\ref\key 17 \by G. S. Petrov +\paper Elliptic integrals and their nonoscillatory behavior +\jour Funktsional. Anal. i Pri\-lo\-zhen. +\vol 20 \yr 1986 \pages 46--49 +\transl\nofrills English transl. in \jour Functional Anal. Appl. +\vol 20\yr 1986 +\endref + +\bigskip + +% switch to a different references style +\refstyle{A} +\widestnumber\key{GHMR} + +\ref\key C1 +\by B. Coomes +\book Polynomial flows, symmetry groups, and conditions + sufficient for injectivity of maps +\bookinfo Ph.D. thesis, Univ. Nebraska--Lincoln +\yr 1988 +\endref + +\ref\key C2 +\bysame % B. Coomes +\paper The Lorenz system does not have a polynomial flow +\jour J. Differential Equations +\toappear +\endref + +\ref\key GHMR +\by J. Guckenheimer, P. Holmes, M. Martineau, and L. P. Robinson +\book Nonlinear oscillations, dynamical systems, and + bifurcations of vector fields +\bookinfo % fields can be left blank +\publ Springer-Verlag \publaddr New York +\yr 1983 +\endref +\endRefs + +\endgroup % end special value of \aboveheadskip + + +\newpage +\endgroup % end broadside section + +% Put the page number at the bottom of the page: +\csname firstpage\string @true\endcsname +% Turn off the "Typeset by AmSTeX" logo: +%\expandafter\redefine\csname logo\string @\endcsname{} +\nologo + +% Reset the page number because the broadside pages in +% the previous section will become three pages instead of four. +% 18-JAN-1991 mjd +\advance\pageno by -1 + +% The following file contains the installation instructions +\input amstinst.tex + +\enddocument + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% diff --git a/Master/texmf-dist/doc/amstex/base/amsppt.doc b/Master/texmf-dist/doc/amstex/base/amsppt.doc new file mode 100644 index 00000000000..2338453d289 --- /dev/null +++ b/Master/texmf-dist/doc/amstex/base/amsppt.doc @@ -0,0 +1,3399 @@ +%%% ==================================================================== +%%% @AMSTeX-style-file{ +%%% filename = "amsppt.sty", +\def\filename{amsppt.sty} +% filename = "amsppt.doc", +%%% version = "2.2", +\def\fileversion{2.2} +%%% date = "2001/08/07", +\def\filedate{2001/08/07} +%%% time = "13:47:28 EDT", +%%% checksum = "45523 3399 17317 143562", +%%% author = "American Mathematical Society", +%%% copyright = "Copyright 2001 American Mathematical Society, +%%% all rights reserved. Copying of this file is +%%% authorized only if either: +%%% (1) you make absolutely no changes to your copy +%%% including name; OR +%%% (2) if you do make changes, you first rename it +%%% to some other name.", +%%% address = "American Mathematical Society, +%%% Technical Support, +%%% Publications Technical Group, +%%% P. O. Box 6248, +%%% Providence, RI 02940, +%%% USA", +%%% telephone = "401-455-4080 or (in the USA and Canada) +%%% 800-321-4AMS (321-4267)", +%%% FAX = "401-331-3842", +%%% email = "tech-support@ams.org (Internet)", +%%% codetable = "ISO/ASCII", +%%% supported = "yes", +%%% keywords = "amstex, ams-tex, tex", +%%% abstract = "This file is a documentstyle for use with +%%% AMS-TeX 2.2. It exists in two forms: amsppt.doc, +%%% which is the full form containing all technical +%%% documentation, and amsppt.sty, which is identical +%%% except that all lines beginning with a single percent +%%% sign are removed, to make the file more rapid-loading +%%% when processed by TeX.", +%%% docstring = "The checksum field above contains a CRC-16 checksum +%%% as the first value, followed by the equivalent of +%%% the standard UNIX wc (word count) utility output of +%%% lines, words, and characters. This is produced by +%%% Robert Solovay's checksum utility.", +%%% } +%%% ==================================================================== +% +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% -0- CONTENTS +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% -0- Contents +% -1- Preliminary +% -2- Utility definitions +% -3- Fonts +% -4- Global variable settings +% -5- Top matter definitions +% -6- Section headings +% -7- Theorem environments and similar structures +% -8- Rosters +% -9- Footnotes +% -10- Tables +% -11- Figure spaces and captions +% -12- Miscellaneous formatting macros +% -13- References/Bibliography +% -14- End of document +% -15- Output routine +% -16- Hyphenation exceptions +% -17- Notes +% -18- Appendix: Notes on version 2.1 +% -19- Appendix: Notes on versions 2.1a, 2.1b, ... +% -20- Appendix: Notes on versions 2.2 +% +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% -1- PRELIMINARY +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% +% AMSPPT.DOC contains all the code for AMSPPT.STY, with +% additional comments. AMSPPT.STY is produced by removing from +% AMSPPT.DOC all blank lines and lines beginning with a percent +% sign. This is done to allow it to be loaded faster by TeX. +% +% For the most part the internals of AMSPPT.STY aren't closely +% related to AMSTEX.TEX: AMSTEX.TEX handles mathematics, +% AMSPPT.STY handles visual design and overall structure of +% documents. But some parts of AMSTEX.DOC are relevant, e.g., +% the standard abbreviations \DN@, \RIfM@, etc., the description +% of "compressed format", the remarks about the "K-method", and +% the allocation of scratch registers and variables such as +% \toks@@. +% +% The style produced by AMSPPT.STY is based on the style of the +% Journal of the American Mathematical Society (as of December +% 1990), but is not intended to reproduce it exactly. For one +% thing, most users of AMSPPT.STY will probably have Computer +% Modern fonts, while the Journal of the AMS in 1990 used Times +% Roman fonts licensed from Autologic, Inc. This means that line +% breaks and page breaks were sure to change when a paper was +% submitted to the AMS. For another thing, preprints naturally +% differ in some respects from articles in final published form: +% published articles generally have the journal name, volume and +% year of publication somewhere on the first page, a ``received +% by the editors'' date, subject classification numbers, perhaps +% key words and phrases, and an abstract, none of which are +% necessary in a preprint (though the last few are sometimes +% present). In addition, the Journal of the AMS has a few +% idiosyncrasies such as placement of the abstract at the end of +% an article rather than at the beginning, and a non-zero value +% of \mathsurround, which were deemed inappropriate for inclusion +% in the preprint style (in particular, a non-zero \mathsurround +% would require the user to do extra work in certain situations +% to cancel unwanted side effects). Since we are not matching +% the style of the Journal of the AMS exactly, we sometimes have +% rounded off measurements in AMSPPT.STY to convenient amounts +% such as \bigskipamount and \medskipamount or the nearest whole +% or half pica. For example \belowheadskip is 7pt in the Journal +% of the AMS, but AMSPPT.STY uses 6pt (half a pica). +% +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% +% Bug in amsppt.sty version 2.1 left \amsppt.sty = \endinput +% after the file was loaded. This will fix it if amsppt.sty +% was put in the format file. +% +\expandafter\ifx\csname amsppt.sty\endcsname\endinput + \expandafter\def\csname amsppt.sty\endcsname{2.2 (2001/08/07)}\fi +% +% Check to see if this file was previously loaded and, if so, +% if the version numbers agree. +% +\xdef\fileversiontest{\fileversion\space(\filedate)} +\expandafter\ifx\csname\filename\endcsname\fileversiontest +% Then file is already loaded, and versions agree. Quit here. +% \endinput and \fi MUST be on the same line: + \message{[already loaded]}\endinput\fi +% +% If the file versions disagree, we generate an error message, +% but we don't do an \endinput: maybe the user will want to +% continue, inputting the new version, and see what happens. +% +\expandafter\ifx\csname\filename\endcsname\relax % file not yet loaded + \else\errmessage{Discrepancy in `\filename' file versions: + version \csname\filename\endcsname\space already loaded, trying + now to load version \fileversiontest}\fi +% +% Since we are about to change the catcode of @, we define +% \csname\filename\endcsname to set the catcode back to its previous +% value. Furthermore, it then redefines itself to record the file +% version number for future reference (e.g., the test above). +% +\expandafter\xdef\csname\filename\endcsname{% + \catcode`\noexpand\@=\the\catcode`\@ + \expandafter\gdef\csname\filename\endcsname{% + \fileversion\space(\filedate)}} +% +% Add @ to the plain list of \dospecials, to make it behave +% better in verbatim, e-mail addresses, and URL's. +% +\def\dospecials{\do\ \do\\\do\{\do\}\do\$\do\&% + \do\#\do\^\do\^^K\do\_\do\^^A\do\%\do\~\do\@} +% +% Enable the use of @ as letter in `private' control sequence names. +% Cf. TeXbook, p. 344 (above the \mathcode table). +% +\catcode`\@=11 +% +% For convenience in loading other files of definitions, provide +% commands to save and restore the catcode value of any character, +% most commonly @. +% +\def\savecat#1{% + \expandafter\xdef\csname\string#1savedcat\endcsname{\the\catcode`#1}} +\def\restorecat#1{\catcode`#1=\csname\string#1savedcat\endcsname} +% +% Besides putting the file version on screen, this message also +% records it in the transcript/log file (which is useful for +% troubleshooting). The file name was already given on screen and in +% the transcript file by TeX, as part of the automatic processing +% surrounding file input. +% +\message{version \fileversion\space(\filedate):} +% +% If another documentstyle inputs amsppt.sty, it should define +% \styname and \styversion appropriately. We use an `ifundefined' +% test to avoid overriding the definitions, in that case. +\expandafter\ifx\csname styname\endcsname\relax + \def\styname{AMSPPT}\def\styversion{2.2} +\fi +% +% In AMSPPT.STY we follow the convention in amstex.tex of +% appending @ signs at the end of control sequences, rather than +% substituting @ signs for vowels as is frequently done in +% plain.tex. +% +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% -2- UTILITY DEFINITIONS +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\message{Loading utility definitions,} +% +% For several macros, e.g., \title, we want to allow the user the +% following two options: +% +% \title xxx\endtitle +% \title\nofrills xxx\endtitle +% +% In the first case, we want the text of the title to be stored +% in a box for later use. In the second case, we want certain +% parts of the typesetting to be omitted when constructing the +% box. Internally this is done by prefixing them with \frills@, +% which in the normal cases is simply an identity function +% (\let\frills@\identity@), whereas in the nofrills case it +% gobbles its argument (\let\frills@\eat@). +% +% In order to test for \nofrills we have to use \futurelet +% (because if \nofrills is absent, we don't want to do anything +% that might affect the actual text of the title, such as +% stripping braces or adding an unwanted extra pair around the +% first token or group). +% +\def\identity@#1{#1} +% +\def\nofrills@@#1{% +% This extra step in defining \next@ is a precaution in case #1 +% might be more than one token. + \DN@{#1}% + \ifx\next\nofrills \let\frills@\eat@ + \expandafter\expandafter\expandafter\next@\expandafter\eat@ + \else \let\frills@\identity@\expandafter\next@\fi} +% +\def\nofrillscheck#1{\def\nofrills@{\nofrills@@{#1}}% + \futurelet\next\nofrills@} +% +% Typical use: if we want to execute a macro called \title, but +% check to see if \nofrills is coming up next, we do this: +% +% ... \nofrillscheck\title +% +% If indeed the next thing is \nofrills, then we will execute +% \nofrills@@ before calling \title again. This involves some +% shuffling around in order for us to get back the ``real'' +% definition of \title afterwards and yet still be able to use a +% control sequence named \title to read the argument. This is +% important in giving the user a useful error message if they +% accidentally omit or misspell the matching \endtitle or +% whatever. We could use instead the trick used with \align of +% adding a space onto the \csname with which we read the +% argument, but that would increase the use of hash size. +% +% We define \usualspace to give a warning message if used in +% a place where it's not intended to be used: +% +\Invalid@\usualspace +% +% Facility for adding to a token list, providing it was named +% with the particular naming convention that we require: an +% additional @ sign at the end of the control sequence name. +% Usage: \addto\tenpoint{...} +% +\def\addto#1#2{\csname \expandafter\eat@\string#1@\endcsname + \expandafter{\the\csname \expandafter\eat@\string#1@\endcsname#2}} +% +% Fix Plain's \big, \Big, etc. macros so that they can scale with +% size changes. The relations in \tenpoint are: +% +% total height above +% height baseline +% -------------------------------------------------------------- +% \big: 12pt 8.5 (12/2 = 6, + 2.5 (height of math axis)) +% \Big: 18pt 11.5 (18/2 = 9, + 2.5 (height of math axis)) +% \bigg: 24pt 14.5 (24/2 = 12, + 2.5 (height of math axis)) +% \Bigg: 30pt 17.5 (30/2 = 15, + 2.5 (height of math axis)) +% +% In \tenpoint \bigsize@ will be set to 12pt, the height of an +% ordinary parenthesis in the roman font, x 1.2 +\newdimen\bigsize@ +% +% Using \vcenter automatically factors the height of the math +% axis into our sizing. We set \nulldelimiterspace to zero, +% since we only want the delimiterspace from the \left delimiter. +% +\def\big@#1#2{{\hbox{$\left#2\vcenter to#1\bigsize@{}% + \right.\nulldelimiterspace\z@\m@th$}}} +\def\big{\big@\@ne} +\def\Big{\big@{1.5}} +\def\bigg{\big@\tw@} +\def\Bigg{\big@{2.5}} +% +% Definition almost verbatim from TeXbook p. 317. This is used +% in several places, currently (28-DEC-1989) including \head, +% \title, \author, \dedicatory, \affil, and \topcaption. +% +\def\raggedcenter@{\leftskip\z@ plus.4\hsize \rightskip\leftskip + \parfillskip\z@ \parindent\z@ \spaceskip.3333em \xspaceskip.5em + \pretolerance9999\tolerance9999 \exhyphenpenalty\@M + \hyphenpenalty\@M \let\\\linebreak} +% +% We now define a version of \uppercase that sidesteps any math, +% to prevent uppercasing math variables. In order to be handled +% properly the $..$ must be on the outer level (not enclosed in +% braces) but this is the usual case in our applications of +% \uppercasetext@. Also we increase inter-word space in the +% uppercase text. Footnotes are not handled by +% \uppercasetext@---a footnote within a \title would have to be +% done by using \footnotemark within the title and \footnotetext +% after. In most cases footnotes within a title are something for +% which the author should use \thanks or \affil or \address +% instead. +% +% One other little problem: uppercasing of a few special +% characters like the German "ss" and the undotted i and j (\i +% and \j), used sometimes with accents. We do some reassignments +% here to handle these. We don't worry about restoring the +% lowercase special characters within math embedded in the text +% being uppercased---it's conceivable that someone might want to +% use them there, but too unlikely to need providing for. +% (Undotted i and j in math would be typed as \imath and \jmath, +% not as \i and \j.) +% +% This is what plain.tex has for the special characters: +% +% \chardef\ss="19 \chardef\ae="1A \chardef\oe="1B \chardef\o="1C +% \chardef\AE="1D \chardef\OE="1E \chardef\O="1F +% \chardef\i="10 \chardef\j="11 % dotless letters +% \def\aa{\accent23a} +% \def\AA{\leavevmode\setbox0\hbox{h}\dimen@\ht0\advance\dimen@-1ex% +% \rlap{\raise.67\dimen@\hbox{\char'27}}A} +% \def\l{\char32l} +% \def\L{\leavevmode\setbox0\hbox{L}\hbox to\wd0{\hss\char32L}} +% +\def\uppercasetext@#1{% + {\spaceskip1.3\fontdimen2\the\font plus1.3\fontdimen3\the\font + \def\ss{SS}\let\i=I\let\j=J\let\ae\AE\let\oe\OE + \let\o\O\let\aa\AA\let\l\L + \skipmath@#1$\skipmath@$}} +% +\def\skipmath@#1$#2${\uppercase{#1}% + \ifx\skipmath@#2\else$#2$\expandafter\skipmath@\fi} +% +% Macro to check for missing \endsomething. +\def\add@missing#1{\expandafter\ifx\envir@end#1% + \Err@{You seem to have a missing or misspelled + \expandafter\string\envir@end ...}% +% It is useful to supply the necessary missing piece, especially +% in the case of \endref. + \envir@end +\fi} +% +% \revert@ and \envir@stack are for use by any environments that +% don't enclose their text in a group, e.g., \proclaim, +% \definition, \roster. +% +\newtoks\revert@ +% +\def\envir@stack#1{\toks@\expandafter{\envir@end}% + \edef\next@{\def\noexpand\envir@end{\the\toks@}% + \revert@{\the\revert@}}% + \revert@\expandafter{\next@}% + \def\envir@end{#1}} +% +% Some special trickery is necessary to get around the outerness +% of \enddocument +\begingroup +\catcode`\ =11 +\gdef\revert@envir#1{\expandafter\ifx\envir@end#1% +% restore previous \envir@end: +\the\revert@% +% The space after \enddocument is significant: +\else\ifx\envir@end\enddocument \Err@{Extra \string#1}% +\else\expandafter\add@missing\envir@end\revert@envir#1% +\fi\fi} +% This definition can be made here because \enddocument has not +% yet been declared \outer. +% The space at the end of \enddocument is necessary: +\xdef\enddocument {\string\enddocument}% +% The space at the end of \enddocument is necessary here also: +\global\let\envir@end\enddocument %%%%%% don't remove the final space! +\endgroup\relax +% +\def\first@#1#2\end{#1} +\def\true@{TT} +\def\false@{TF} +\def\empty@{} +% +% Test to see whether a given argument is empty or not. If the +% argument = a single space, it will test the same as empty, +% which is in fact what we want. +% +\begingroup \catcode`\-=3 +\long\gdef\notempty#1{% +% \empty@ is needed if we want the case #1 = {} to work properly: + \expandafter\ifx\first@#1-\end-\empty@ \false@\else \true@\fi} +\endgroup +% +% +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% -3- FONTS +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\message{more fonts,} +% Load some fonts that are not loaded in plain.tex, or only +% preloaded (which means that the font information is in TeX's +% memory but a control sequence name for the font still needs to +% be assigned). plain.tex only loads cmex10, because originally +% that was the only size available. So we load cmex7 and later +% cmex8, but we don't load any smaller sizes, in order to +% conserve font memory; a need for the extension font in sizes +% smaller than 7-point is most unusual. For subscript sums or +% other extension symbols in eightpoint text we will use cmex7 +% rather than cmex6, to allow us to get away without loading +% cmex6. +% +% We use \font@, not simply \font, so that these fonts will be +% handled properly by AMS-TeX's syntax check. +% +\font@\tensmc=cmcsc10 \relax +% +% \sevenex, and \eightex below, must be able to be interpreted +% as math fonts for certain initialization (e.g. establishing +% the height of the strut in \eightpoint) that may be requested +% before \topmatter is invoked, and the fonts are actually loaded. +% +\let\sevenex=\tenex % needs special handling in \PSAMSFonts +% +% We need cmti7 in case \italic is used in a subscript or +% superscript. Once again we will conserve font space by not +% loading cmti6 or cmti5, and declare the \scriptfont in +% \eightpoint to be cmti7 rather than cmti6. At least until we +% know that users actually are using \italic in sub-subscript +% size. +% +\font@\sevenit=cmti7 \relax +% +% We have to load a lot of other fonts for eight-point text +% (footnotes, abstracts, bibliography). Note that cmti and cmsl +% in sizes 5, 6 don't get loaded, since they may not exist (cmti7 +% is one of the standard 75 Computer Modern fonts, but cmti5 and +% cmti6 aren't, nor are any of cmsl5, cmsl6, cmsl7). AMSPPT +% provides for ten-point and eight-point font sets; +% +\font@\eightrm=cmr8 \relax % preloaded in plain.tex +\font@\sixrm=cmr6 \relax % preloaded in plain.tex +\font@\eighti=cmmi8 \relax \skewchar\eighti='177 % preloaded +\font@\sixi=cmmi6 \relax \skewchar\sixi='177 % preloaded +\font@\eightsy=cmsy8 \relax \skewchar\eightsy='60 % preloaded +\font@\sixsy=cmsy6 \relax \skewchar\sixsy='60 % preloaded +\let\eightex=\tenex % needs special handling in \PSAMSFonts +\font@\eightbf=cmbx8 \relax % preloaded in plain.tex +\font@\sixbf=cmbx6 \relax % preloaded in plain.tex +\font@\eightit=cmti8 \relax % preloaded in plain.tex +\font@\eightsl=cmsl8 \relax % preloaded in plain.tex +\font@\eighttt=cmtt8 \relax % preloaded in plain.tex +\let\eightsmc=\nullfont % needs special handling in \PSAMSFonts +% +% Now we define \tenpoint and \eightpoint for regular text and +% footnotes, similarly to the TeXbook, p. 414. We not only +% change the \baselineskip, but also change the glue above and +% below displayed formulas, in case an abstract or footnote +% happens to have them. We also need to set not only \strutbox, +% but also \strutbox@. The height of \strutbox@ is the height of +% \strutbox, minus the value of \normallineskiplimit. And we +% will set \ex@ in each case (for \tenpoint it is supposed to be +% equivalent to 1pt, while for \eightpoint it will then +% presumably be equivalent to .8pt). +% +% When \ifsyntax@ is true, so that we are checking syntax, then +% we won't bother specifying fonts (since we would only change +% them all to \dummyft@ anyway), and we simply let \big and its +% variants gobble up things with the proper syntax, instead of +% worrying about getting the right sizes. +% +% \tenpoint@ is a hook where new material can be added. +% \topmatter makes use of this. Note that to change the +% baselineskip to say 14pt, one should say +% +% \addto\tenpoint{\normalbaselineskip14pt\normalbaselines} +% +% rather than just \addto\tenpoint{\baselineskip14pt} +% +\newtoks\tenpoint@ +% +\def\tenpoint{\normalbaselineskip12\p@ + \abovedisplayskip12\p@ plus3\p@ minus9\p@ + \belowdisplayskip\abovedisplayskip + \abovedisplayshortskip\z@ plus3\p@ + \belowdisplayshortskip7\p@ plus3\p@ minus4\p@ + \textonlyfont@\rm\tenrm \textonlyfont@\it\tenit + \textonlyfont@\sl\tensl \textonlyfont@\bf\tenbf + \textonlyfont@\smc\tensmc \textonlyfont@\tt\tentt + \ifsyntax@ \def\big##1{{\hbox{$\left##1\right.$}}}% + \let\Big\big \let\bigg\big \let\Bigg\big + \else + \textfont\z@\tenrm \scriptfont\z@\sevenrm + \scriptscriptfont\z@\fiverm + \textfont\@ne\teni \scriptfont\@ne\seveni + \scriptscriptfont\@ne\fivei + \textfont\tw@\tensy \scriptfont\tw@\sevensy + \scriptscriptfont\tw@\fivesy + \textfont\thr@@\tenex \scriptfont\thr@@\sevenex + \scriptscriptfont\thr@@\sevenex + \textfont\itfam\tenit \scriptfont\itfam\sevenit + \scriptscriptfont\itfam\sevenit + \textfont\bffam\tenbf \scriptfont\bffam\sevenbf + \scriptscriptfont\bffam\fivebf + \setbox\strutbox\hbox{\vrule height8.5\p@ depth3.5\p@ width\z@}% +% The height of \strutbox@ is supposed to be the height of +% \strutbox minus \normallineskip. We take half from the top and +% half from the bottom. + \setbox\strutbox@\hbox{\lower.5\normallineskiplimit\vbox{% + \kern-\normallineskiplimit\copy\strutbox}}% +% We set \bigsize@ to the height of a parenthesis, times 1.2. +% \bigsize@ controls the height of \big, \Big, \bigg and \Bigg +% delimiters. + \setbox\z@\vbox{\hbox{$($}\kern\z@}\bigsize@1.2\ht\z@ + \fi +% \ex@ is supposed to come out to 1pt; multiplication factor may +% need to be changed if Computer Modern is not being used. \jot, +% a dimen register usually used for extra spacing between lines +% of a multi-line displayed equation or similar structure, is +% reset to 3\ex@ (in plain.tex it is always 3pt, but in AMSPPT it +% may be reduced by \eightpoint). + \normalbaselines\rm\dotsspace@1.5mu\ex@.2326ex\jot3\ex@ + \the\tenpoint@} +% +% Like \tenpoint@, \eightpoint@ is a hook where extra material +% can be added to the definition of \eightpoint. +% +\newtoks\eightpoint@ +% +\def\eightpoint{\normalbaselineskip10\p@ + \abovedisplayskip10\p@ plus2.4\p@ minus7.2\p@ + \belowdisplayskip\abovedisplayskip + \abovedisplayshortskip\z@ plus2.4\p@ + \belowdisplayshortskip5.6\p@ plus2.4\p@ minus3.2\p@ + \textonlyfont@\rm\eightrm \textonlyfont@\it\eightit + \textonlyfont@\sl\eightsl \textonlyfont@\bf\eightbf + \textonlyfont@\smc\eightsmc \textonlyfont@\tt\eighttt + \ifsyntax@\def\big##1{{\hbox{$\left##1\right.$}}}% + \let\Big\big \let\bigg\big \let\Bigg\big + \else + \textfont\z@\eightrm \scriptfont\z@\sixrm + \scriptscriptfont\z@\fiverm + \textfont\@ne\eighti \scriptfont\@ne\sixi + \scriptscriptfont\@ne\fivei + \textfont\tw@\eightsy \scriptfont\tw@\sixsy + \scriptscriptfont\tw@\fivesy +% The smallest size of the extension font currently available is +% 7-point. + \textfont\thr@@\eightex \scriptfont\thr@@\sevenex + \scriptscriptfont\thr@@\sevenex + \textfont\itfam\eightit \scriptfont\itfam\sevenit + \scriptscriptfont\itfam\sevenit + \textfont\bffam\eightbf \scriptfont\bffam\sixbf + \scriptscriptfont\bffam\fivebf + \setbox\strutbox\hbox{\vrule height7\p@ depth3\p@ width\z@}% +% The height of \strutbox@ is supposed to be the height of +% \strutbox minus \normallineskip. We take half from the top and +% half from the bottom. + \setbox\strutbox@\hbox{\raise.5\normallineskiplimit\vbox{% + \kern-\normallineskiplimit\copy\strutbox}}% +% We set \bigsize@ to the height of a parenthesis, times 1.2. +% \bigsize@ controls the height of \big, \Big, \bigg and \Bigg +% delimiters. + \setbox\z@\vbox{\hbox{$($}\kern\z@}\bigsize@1.2\ht\z@ + \fi +% \ex@ is supposed to come out to .8pt; multiplication factor may +% need to be changed if Computer Modern is not being used. \jot, +% a dimen register usually used for extra spacing between lines +% of a multi-line displayed equation or similar structure, is +% reset to 3\ex@ (in plain.tex it is 3pt). + \normalbaselines\eightrm\dotsspace@1.5mu\ex@.2326ex\jot3\ex@ + \the\eightpoint@} +% +% \linespacing command to introduce a factor by which +% \normalbaselineskip will be multiplied. Multiplying by the +% factor will cause any stretch or shrink to be lost; normally +% that's not a problem. +\def\linespacing#1{% + \addto\tenpoint{\normalbaselineskip=#1\normalbaselineskip + \normalbaselines +% Reset the strut boxes. + \setbox\strutbox=\hbox{\vrule height.7\normalbaselineskip + depth.3\normalbaselineskip width\z@}% + \setbox\strutbox@\hbox{\raise.5\normallineskiplimit + \vbox{\kern-\normallineskiplimit\copy\strutbox}}% + }% + \addto\eightpoint{\normalbaselineskip=#1\normalbaselineskip + \normalbaselines +% Reset the strut boxes. + \setbox\strutbox=\hbox{\vrule height.7\normalbaselineskip + depth.3\normalbaselineskip width\z@}% + \setbox\strutbox@\hbox{\raise.5\normallineskiplimit + \vbox{\kern-\normallineskiplimit\copy\strutbox}}% + }% +} +% +\def\extrafont@#1#2#3{\font#1=#2#3\relax} +% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% Postscript versions of the math fonts from the AMSFonts +% package, done jointly by Blue Sky Research and Y&Y, come only +% in sizes 10, 7 and 5, i.e. sizes 9, 8 and 6 are not included. +% +% \PSAMSFonts can be called in the initialization, or by a user +% before \document and \topmatter, to specify that sizes 9,8,6 of +% AMS fonts should be scaled from nearby PS sizes. +% +\newif\ifPSAMSFonts +\def\PSAMSFonts{% + \def\extrafont@##1##2##3{% + \font##1=##2% +% Concatenate the proper size spec to the preceding letters + \ifnum##3=9 10 at9pt% + \else\ifnum##3=8 10 at8pt% + \else\ifnum##3=6 7 at6pt% +% Sizes other than 9, 8 or 6 are not expected, so this branch might +% generate an error: + \else ##3\fi\fi\fi\relax}% + \font@\eightsmc=cmcsc10 at 8pt + \font@\eightex=cmex10 at 8pt + \font@\sevenex=cmex10 at 7pt + \PSAMSFontstrue +} +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% +% If the user has specified \loadeufb, \loadbold, \loadeusm, +% \loadeusm, \loadeurm, \loadeurb, we need to add eightpoint +% fonts. We do this in \topmatter, and the user documentation +% instructs the user to include any \load... command between +% \documentstyle and \topmatter. +% +% At the same time, if PSAMSFonts has not been specified, add the +% regular versions of the three fonts that need special handling. +% +\def\loadextrasizes@#1#2#3#4#5#6#7{% + \ifx\undefined#1% + \else \extrafont@{#4}{#2}{8}\extrafont@{#6}{#2}{6}% + \ifsyntax@ + \else + \addto\tenpoint{\textfont#1#3\scriptfont#1#5% + \scriptscriptfont#1#7}% + \addto\eightpoint{\textfont#1#4\scriptfont#1#6% + \scriptscriptfont#1#7}% + \fi + \fi +} +% +% Provide a mechanism for delaying additional font loading, which +% may be necessary for some publications. +% +\newtoks\loadextrafonts@@ +\def\loadextrafonts@{% + \loadextrasizes@\msafam{msam}% + \tenmsa\eightmsa\sevenmsa\sixmsa\fivemsa + \loadextrasizes@\msbfam{msbm}% + \tenmsb\eightmsb\sevenmsb\sixmsb\fivemsb + \loadextrasizes@\eufmfam{eufm}% + \teneufm\eighteufm\seveneufm\sixeufm\fiveeufm + \loadextrasizes@\eufbfam{eufb}% + \teneufb\eighteufb\seveneufb\sixeufb\fiveeufb + \loadextrasizes@\eusmfam{eusm}% + \teneusm\eighteusm\seveneusm\sixeusm\fiveeusm + \loadextrasizes@\eusbfam{eusb}% + \teneusb\eighteusb\seveneusb\sixeusb\fiveeusb + \loadextrasizes@\eurmfam{eurm}% + \teneurm\eighteurm\seveneurm\sixeurm\fiveeurm + \loadextrasizes@\eurbfam{eurb}% + \teneurb\eighteurb\seveneurb\sixeurb\fiveeurb + \loadextrasizes@\cmmibfam{cmmib}% + \tencmmib\eightcmmib\sevencmmib\sixcmmib\fivecmmib + \loadextrasizes@\cmbsyfam{cmbsy}% + \tencmbsy\eightcmbsy\sevencmbsy\sixcmbsy\fivecmbsy + \let\loadextrafonts@\empty@ + \ifPSAMSFonts + \else + \font@\eightsmc=cmcsc8 \relax + \font@\eightex=cmex8 \relax + \font@\sevenex=cmex7 \relax + \fi + \the\loadextrafonts@@ +} +% +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% -4- GLOBAL VARIABLE SETTINGS +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\message{page dimension settings,} +% First we set up some basic parameters, which are different than +% in plain. These values are the ones currently in use (November +% 1989) in the Journal of the AMS. +% +\parindent1pc +\newdimen\normalparindent \normalparindent\parindent +\normallineskiplimit\p@ +% +% We use a common indent value for setting left and right margins +% for abstract, table of contents, figure captions, and block +% environments. The name is chosen as if we are going to have +% several levels of indent, called \indenti, \indentii, ...; such +% names can be constructed using \csname and \romannumeral with a +% count register, which might be useful some time. +% +\newdimen\indenti \indenti=2pc +% +% Change \magnification (from plain.tex) so that it doesn't reset the +% page dimensions to 6.5 x 9 true inches. +\let\magnification=\mag +% +\topskip10pt \relax +% +% +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% -5- TOP MATTER DEFINITIONS +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\message{top matter,} +% After it's first called, since +% we do not need \topmatter any longer, we define it to be empty, +% to release the memory that the definition takes up. +% +\def\topmatter{\loadextrafonts@ \let\topmatter\relax} +% +% \chapter is used within \title...\endtitle to produce something +% such as "CHAPTER II", centered above the main text of the +% chapter title. We do a little trickery with \afterassignment so +% that the user can remove not only the word "CHAPTER" but also +% the uppercasing and romannumeralizing by \nofrills. Note that +% we can't use \ignorespaces after \chapter@ in the usual way +% because it would get in the way of the \count@ assignment. In +% fact spaces will be ignored by the assignment operation, the +% only problem would be when \nofrills is used. +% +\def\chapterno@{\uppercase\expandafter{\romannumeral\chaptercount@}} +% +\newcount\chaptercount@ +% +% In order to avoid interfering with \topskip, we put the +% \chapter material in the first line of the title, and do some +% box and glue tricks to get it in position. +% +% Perhaps need a test to make sure #1 is a number---if the user +% does \chapter{IV} instead of \chapter{4} they may not +% understand the error message they get. +% +% \chaptercount@ assignment needs to be global because we are +% working from inside the first line of \title. +% +\def\chapter{\let\savedef@\chapter + \def\chapter##1{\let\chapter\savedef@ + \leavevmode\hskip-\leftskip +% Put the \chapter stuff in an \rlap so it doesn't affect +% centering of the title, and in an "uplap" so it is placed above +% where we want it. + \rlap{\vbox to\z@{\vss\centerline{\eightpoint +% We do a baselineskip of 2pc from the base of the "CHAPTER" +% banner to the base of the first title line. (The baseline of +% the \null will coincide with the baseline of the first title +% line.) + \frills@{CHAPTER\space\afterassignment\chapterno@ + \global\chaptercount@=}% + ##1\unskip}\baselineskip2pc\null}}\hskip\leftskip}% + \nofrillscheck\chapter} +% +% We store the title in a box using a \setbox. It could also be +% done by defining \thetitle@. One advantage of \setbox is that +% syntax errors within the title (say for math) are reported +% immediately instead of during the processing of \endtopmatter. +% The title box is always put on the page by \endtopmatter, even +% if it's empty. (With other pieces of the topmatter we check +% first to see whether there's any text to typeset and skip to +% the next item if not.) The text of the title is stored up for +% the running heads, unless \rightheadtoks is nonempty---then +% presumably the user has already used \rightheadtext to set the +% right-hand running head, in which case we leave it unchanged. +% +% The default for titles is uppercasing. From a design +% standpoint it might be preferable to do titles in 14-point text +% with initial caps, but since titles may potentially contain any +% kind of math, doing this would require a full-fledged +% \fourteenpoint analogous to \tenpoint. So to give the title +% extra prominence we use uppercasing instead. The uppercasing +% can be removed by \nofrills. +% +\newbox\titlebox@ +% +\def\title{\let\savedef@\title +% We use a \vtop here because we want to know the height of the +% first line of the title when we start typesetting the +% topmatter, in order to get the correct sinkage from the top of +% the page. + \def\title##1\endtitle{\let\title\savedef@ + \global\setbox\titlebox@\vtop{\tenpoint\bf + \raggedcenter@ +% Increased \baselineskip is because of the uppercasing. We do +% it like this instead of putting it inside the \uppercasetext@ +% macro, because it only applies where an entire paragraph is +% made up of uppercase text. + \baselineskip1.3\baselineskip + \frills@\uppercasetext@{##1}\endgraf}% +% Check to see if right and left hand running heads have been +% already assigned by the user---if so, don't override. + \ifmonograph@ + \edef\next{\the\leftheadtoks}\ifx\next\empty@ \leftheadtext{##1}\fi + \fi + \edef\next{\the\rightheadtoks}\ifx\next\empty@ \rightheadtext{##1}\fi + }% + \nofrillscheck\title} +% +% Currently \author has no need for a \nofrills option, unlike +% \title, since uppercasing is not done. +% +\newbox\authorbox@ +\def\author#1\endauthor{\global\setbox\authorbox@ + \vbox{\tenpoint\smc\raggedcenter@ #1\endgraf}\relaxnext@ + \edef\next{\the\leftheadtoks}% + \ifx\next\empty@\leftheadtext{#1}\fi} +% +\newbox\affilbox@ +\def\affil#1\endaffil{\global\setbox\affilbox@ + \vbox{\tenpoint\raggedcenter@#1\endgraf}} +% +% Since \address can be used any number of times, we have to +% store the different addresses in control sequences that we +% manufacture as needed. We use \addresscount@ to store the +% number of times \address is used. +% +\newcount\addresscount@ +\addresscount@\z@ +\def\addressfont@{\eightpoint} +\def\address#1\endaddress{\global\advance\addresscount@\@ne +% The first address is `\address1', the next is `\address2', etc. + \expandafter\gdef\csname address\number\addresscount@\endcsname +% The unusually large shrinkability in the vskip before the +% address is there because we don't want the addresses to fall on +% a separate page at the end of a paper, and extra shrinkability +% may help them to fit on the previous page in borderline cases. + {\nobreak\vskip12\p@ minus6\p@\indent\addressfont@\smc#1\par}} +% +% \curraddr was added in version 2.1. It uses the address count +% without advancing it, to add to the most recent address macro. +% Ignore empty element; all optional elements are ignored if empty. +% +\def\curraddr{\let\savedef@\curraddr + \def\curraddr##1\endcurraddr{\let\curraddr\savedef@ + \if\notempty{##1}% + \toks@\expandafter\expandafter\expandafter{% + \csname address\number\addresscount@\endcsname}% + \toks@@{##1}% + \expandafter\xdef\csname address\number\addresscount@\endcsname + {\the\toks@\endgraf\noexpand\nobreak + \indent\noexpand\addressfont@{\noexpand\rm + \frills@{{\noexpand\it Current address\noexpand\/}:\space}% + \def\noexpand\usualspace{\space}\the\toks@@\unskip}}% + \fi}% + \nofrillscheck\curraddr} +% +% \email uses the same counter as \address, since they should +% pair up. +% +% Email patch to get tt font +\def\email{\let\savedef@\email + \def\email##1\endemail{\let\email\savedef@ + \if\notempty{##1}% + \toks@{\def\usualspace{{\it\enspace}}\endgraf\indent\addressfont@}% + \toks@@{{\tt##1}\par}% + \expandafter\xdef\csname email\number\addresscount@\endcsname + {\the\toks@\frills@{{\noexpand\it E-mail address\noexpand\/}:% + \noexpand\enspace}\the\toks@@}% + \fi}% + \nofrillscheck\email} +% +% \urladdr the same as \email, with the addition that \tildechar +% is provided for printing this character in a URL. +\def\tildechar{{\tt\char`\~}} +\def\urladdr{\let\savedef@\urladdr + \def\urladdr##1\endurladdr{\let\urladdr\savedef@ + \if\notempty{##1}% + \toks@{\def\usualspace{{\it\enspace}}\endgraf\indent\eightpoint}% + \toks@@{\tt##1\par}% + \expandafter\xdef\csname urladdr\number\addresscount@\endcsname + {\the\toks@\frills@{{\noexpand\it URL\noexpand\/}:% + \noexpand\enspace}\the\toks@@}% + \fi}% + \nofrillscheck\urladdr} +% +\def\thedate@{} +\def\date#1\enddate{\gdef\thedate@{\tenpoint#1\unskip}} +% +\def\thethanks@{} +\def\thanks#1\endthanks{% + \if\notempty{#1}% + \ifx\thethanks@\empty@ \gdef\thethanks@{\eightpoint#1}% + \else + \expandafter\gdef\expandafter\thethanks@\expandafter{% + \thethanks@\endgraf#1}% + \fi + \fi} +% +\def\thekeywords@{} +\def\keywords{\let\savedef@\keywords + \def\keywords##1\endkeywords{\let\keywords\savedef@ + \if\notempty{##1}% + \toks@{\def\usualspace{{\it\enspace}}\eightpoint}% + \toks@@{##1\unskip.}% + \edef\thekeywords@{\the\toks@\frills@{{\noexpand\it + Key words and phrases.\noexpand\enspace}}\the\toks@@}% + \fi}% + \nofrillscheck\keywords} +% +% \subjclass is analogous to \keywords. We also need a year; only +% certain years are valid, so we check and report an error if an +% invalid year is entered. Default to 1991, so that archived +% material will be processed correctly. +% We should also check in case a LaTeX-style year change, [...], is +% entered and report an error for that as well; however, that is +% more complicated, and not implemented in this round. [2001/02/28] +% +\def\xci@{1991} +\def\mm@{2000} +\def\subjclassyear#1{% + \def\subjyear@{#1}% + \ifx\subjyear@\mm@ + \else \ifx\subjyear@\xci@ + \else \message{AmS-TeX warning: Unknown edition (#1) of + Mathematics Subject Classification; using 1991 edition}% + \def\subjyear@{1991}% + \fi\fi} +\subjclassyear{1991} +\def\thesubjclass@{} +\def\subjclass{\let\savedef@\subjclass + \def\subjclass##1\endsubjclass{\let\subjclass\savedef@ + \toks@{\def\usualspace{{\rm\enspace}}\eightpoint}% + \toks@@{##1\unskip.}% + \edef\thesubjclass@{\the\toks@ + \frills@{{\noexpand\rm\noexpand\subjyear@\noexpand\space + {\noexpand\it Mathematics Subject Classification}.\noexpand\enspace}}% + \the\toks@@}}% + \nofrillscheck\subjclass} +% +% Put the abstract in a box with margins at each side equal to +% \indenti, obtained by reducing \hsize within a vbox centered by +% $$...$$. Notice that the \noindent is not erased by \nofrills +% and that's what we want. +% +\newbox\abstractbox@ +\def\abstract{\let\savedef@\abstract + \def\abstract{\let\abstract\savedef@ + \setbox\abstractbox@\vbox\bgroup\noindent$$\vbox\bgroup + \def\envir@end{\endabstract}\advance\hsize-2\indenti + \def\usualspace{\enspace}\eightpoint \noindent + \frills@{{\smc Abstract.\enspace}}}% + \nofrillscheck\abstract} +% +% Finish the box. The \unskip is here in case the abstract ends +% with something that adds vertical space, such as a \proclaim. +% +\def\endabstract{\par\unskip\egroup$$\egroup} +% +% \widestnumber used to reset hanging indention in a table of +% contents or bibliography. Other applications may also be added +% later. +% +% The outerness of the heading macros causes problems. Therefore +% we process \widestnumber in two stages: first, inside a group, +% removing the outerness by letting the macros = \relax. Then, +% using an \expandafter\endgroup trick, we read the arguments +% while the macros are still nonouter, but process the arguments +% after we have exited from the group. +% +% Now that \no is deprecated, provide for the possibility that +% \refstyle C has been set before testing for \widestnumber, +% and if so, don't reset it. [bnb, 1996/12/22] +% +\def\widestnumber{\begingroup \let\head\relax\let\subhead\relax + \let\subsubhead\relax \expandafter\endgroup\setwidest@} +% +\def\setwidest@#1#2{% + \ifx#1\head\setbox\tocheadbox@\hbox{#2.\enspace}% + \else\ifx#1\subhead\setbox\tocsubheadbox@\hbox{#2.\enspace}% + \else\ifx#1\subsubhead\setbox\tocsubheadbox@\hbox{#2.\enspace}% + \else\ifx#1\key + \if C\refstyle@ \else\refstyle A\fi + \setboxz@h{\refsfont@\keyformat{#2}}% + \refindentwd\wd\z@ + \else\ifx#1\no\refstyle C% + \setboxz@h{\refsfont@\keyformat{#2}}% + \refindentwd\wd\z@ + \else\ifx#1\page\setbox\z@\hbox{\quad\bf#2}% + \pagenumwd\wd\z@ +% We assume the default form for \item numbers rather than trying +% to handle all the variations such as "..." + \else\ifx#1\item + \setboxz@h{(#2)}\rosteritemwd\wdz@ + \else\message{\string\widestnumber\space not defined for this + option (\string#1)}% +\fi\fi\fi\fi\fi\fi\fi} +% +% \Monograph is capitalized by analogy with \NoRunningHeads and +% \UseAMSsymbols because of its global scope. We don't use +% \global's because if the user puts \Monograph in the preamble +% area as instructed it will automatically have global effect, +% and in some special applications (e.g. documentation) it may be +% nice to be able to localize the effect. \Monograph changes +% paragraph indention from none to normal for certain structures +% (subhead, proclaim, definition, ...) via \varindent@; it also +% changes fonts for \head, \proclaim, \definition, \example, +% \demo, and \remark. +% +% The \ifmonograph@ test is used to decide whether to save a \toc +% in a box or typeset it immediately, as well as whether to +% typeset \thanks, \subjclass, and \keywords footnotes . +% +\newif\ifmonograph@ +% +\def\Monograph{\monograph@true \let\headmark\rightheadtext + \let\varindent@\indent \def\headfont@{\bf}\def\proclaimheadfont@{\smc}% + \def\remarkheadfont@{\smc}} +% +\let\varindent@\noindent +% +\newbox\tocheadbox@ \newbox\tocsubheadbox@ +\newbox\tocbox@ +% +% Allocate a dimen register for the width of the page number +% column in table of contents. The true value of \pagenumwd +% is not assigned until \toc is actually called, to avoid +% initialization complications. +\newdimen\pagenumwd +% +\def\toc{\toc@{Contents}} +% +% We make a separate macro that just redefines \title, \chapter, +% \specialhead, \head, \subhead, \subsubhead, to simplify the +% code of \toc. This also makes it a little easier to work +% around the outerness that most of them have. +% +\def\newtocdefs{% +% The space after "\def" in these redefinitions is a convenience +% for someone who wants to look for the main definitions---if +% they search for "\def\title" the search will pass over "\def +% \title" and find the main definition further down. + \def \title##1\endtitle + {\penaltyandskip@\z@\smallskipamount + \hangindent\wd\tocheadbox@\noindent{\bf##1}}% + \def \chapter##1{% + Chapter \uppercase\expandafter{% + \romannumeral##1.\unskip}\enspace}% + \def \specialhead##1\endspecialhead + {\par\hangindent\wd\tocheadbox@ \noindent##1\par}% + \def \head##1 ##2\endhead + {\par\hangindent\wd\tocheadbox@ \noindent + \if\notempty{##1}\hbox to\wd\tocheadbox@{\hfil##1\enspace}\fi + ##2\par}% +% Since \subhead and \subsubhead change the \leftskip, we need to +% do a \par before closing the group that localizes the change. +% Unlike \head, we do not try to right-align the numbers. +% + \def \subhead##1 ##2\endsubhead + {\par\vskip-\parskip {\normalbaselines + \advance\leftskip\wd\tocheadbox@ + \hangindent\wd\tocsubheadbox@ \noindent + \if\notempty{##1}% + \hbox to\wd\tocsubheadbox@{##1\unskip\hfil}\fi + ##2\par}}% + \def \subsubhead##1 ##2\endsubsubhead + {\par\vskip-\parskip {\normalbaselines + \advance\leftskip\wd\tocheadbox@ + \hangindent\wd\tocsubheadbox@ \noindent + \if\notempty{##1}% + \hbox to\wd\tocsubheadbox@{##1\unskip\hfil}\fi + ##2\par}}} +% +\def\toc@#1{\relaxnext@ + \DN@{\ifx\next\nofrills\DN@\nofrills{\nextii@}% + \else\DN@{\nextii@{{#1}}}\fi + \next@}% + \DNii@##1{% +% If we're doing a book table of contents, we avoid setting the +% whole thing in a box because if it's several pages long we +% might run out of memory. +\ifmonograph@\bgroup\else\setbox\tocbox@\vbox\bgroup + \centerline{\headfont@\ignorespaces##1\unskip}\nobreak + \vskip\belowheadskip \fi +% Redefine \page (it has another definition normally, for use in +% references). The \hfilneg at the end is to cancel the +% \parfillskip; the \penalty is to keep the \hfilneg from being +% removed (normal processing at the end of a paragraph removes the +% last skip). + \def\page####1% + {\unskip\penalty\z@\null\hfil + \rlap{\hbox to\pagenumwd{\quad\hfil####1}}% + \hfilneg\penalty\@M}% + \setbox\tocheadbox@\hbox{0.\enspace}% + \setbox\tocsubheadbox@\hbox{0.0.\enspace}% + \leftskip\indenti \rightskip\leftskip +% Increase \rightskip to move in the right margin to leave room +% for page numbers (which will hang over into the "right margin"). +% The \bf is for taking into account page numbers for chapter titles, +% which are bold. A little extra width shouldn't hurt for toc's +% without chapter titles. + \setboxz@h{\bf\quad000}\pagenumwd\wd\z@ + \advance\rightskip\pagenumwd +% Redefine all the heading macros to be their table-of-contents +% versions. + \newtocdefs + }% + \FN@\next@} +% +% The \egroup closes the \vbox; or if we're in a monograph, just +% matches the beginning \bgroup. +% +\def\endtoc{\par\egroup} +% +% \pretitle, ..., \prepaper are entry points between the other +% parts of the \topmatter so that users can insert things if +% necessary. If \pretitle is used to put any kind of box on the +% page, it will throw off the sinkage of the title and everything +% will have to be recalculated. +% +\let\pretitle\relax +\let\preauthor\relax +\let\preaffil\relax +\let\predate\relax +\let\preabstract\relax +\let\prepaper\relax +% +% Now \dedicatory shows how to make use of the \pre... entry +% points defined above. +% +\def\dedicatory #1\enddedicatory{\def\preabstract{{\medskip + \eightpoint\it \raggedcenter@#1\endgraf}}} +% +% A hook is provided for a translator name, for translations. +% \eightpoint is used instead of just \eightrm, to be on the safe +% side. For instance, in transliteration some Russian names have +% a ``prime'' symbol to represent the Russian ``soft sign''. If +% we didn't use \eightpoint we'd get a 10-point prime symbol. +% +\def\thetranslator@{} +\def\translator{% + \let\savedef@\translator + \def\translator##1\endtranslator{\let\translator\savedef@ + \edef\thetranslator@{\noexpand\nobreak\noexpand\medskip + \noexpand\line{\noexpand\eightpoint\hfil + \frills@{Translated by \uppercase}{##1}\qquad\qquad}% + \noexpand\nobreak}}% + \nofrillscheck\translator} +% +% \endtopmatter now puts all of these things together on the +% page. We start by checking to see if the left-hand running head +% has been defined; if not, presumably it's because \author has +% not been used, and presumably that means we are in a book +% chapter rather than in an article. So we define it to be the +% same as the right-hand running head, which will usually be the +% text of the title. +% +% When doing chapters in a book, \subjclass, \keywords and +% \thanks should not print at the bottom of the page. +% +% The baseline of the title should always fall at a fixed +% distance from the top of the page, so we do the spacing with +% \topskip instead of \vskip. +% +% The spacing between elements of the topmatter in AMSPPT is +% intended to be the same as in the Journal of the AMS; however +% the actual spacing currently used in the latter is the rather +% idiosyncratic result of a couple of years of piecemeal changes, +% so that rather than follow it blindly we have opted to come as +% close as possible by choosing whole or half-pica amounts. The +% situation is further complicated by the fact that the +% documentstyle for the Journal of the AMS uses a different +% method for putting running heads on the page, so that we cannot +% measure distance from the top of the page in the same way; and +% the date, affiliation, and abstract are handled differently as +% well. +% +% In this diagram the first measurement is from the top of the +% type block to the baseline of the first line of the title. In +% the Journal of the AMS the value is 5.5pc rather than 4pc, +% because it's measured to the top of the running head (which +% extends above the text block). The rest of the measurements are +% approximate visual space, done in \endtopmatter by \vskip's; +% the effective base-to-base distance is approximately half a +% pica more than the amount of the \vskip. +% +% ______________________________ top of type area +% | (according to \pageheight) +% | 4pc baselineskip +% | |----------------------| +% __|___|_______ TITLE ________|__ +% | WHICH MAY BE SEVERAL | +% | LINES LONG | +% |----------------------| +% 2.5pc +% |--------| +% | AUTHOR | +% |--------| +% 1pc +% |--------| +% | AFFIL | +% |--------| +% 1pc +% |------| +% | DATE | +% |------| +% 1pc +% |------------| +% | DEDICATORY | +% |------------| +% 1.5pc +% |------------------------------| +% | ABSTRACT | +% |------------------------------| +% 1.5pc +% |------------------------------| +% | TABLE OF CONTENTS | +% |------------------------------| +% 2pc +% |-----------------------------------| +% | START OF TEXT | +% | | +% +% +% Make this \outer to catch missing or misspelled \end... in the +% topmatter. It doesn't work with \abstract though because that +% uses the \setbox\vbox\bgroup ... \egroup mechanism, so we use +% \add@missing to catch missing \endabstract's. +% +\outer\def\endtopmatter{\add@missing\endabstract + \edef\next{\the\leftheadtoks}% + \ifx\next\empty@ + \expandafter\leftheadtext\expandafter{\the\rightheadtoks}% + \fi + \ifmonograph@\else + \ifx\thesubjclass@\empty@\else \makefootnote@{}{\thesubjclass@}\fi + \ifx\thekeywords@\empty@\else \makefootnote@{}{\thekeywords@}\fi +% If \thanks given, treat it as a footnote text (with no footnote +% mark). + \ifx\thethanks@\empty@\else \makefootnote@{}{\thethanks@}\fi + \fi + \inslogo@ +% We want a sinkage of 4pc from the top of the page (= the top of +% the text area, not including the running heads) for articles, +% and 7pc for monograph chapters. + \pretitle + \begingroup % to localize variant topskip + \ifmonograph@ \topskip7pc \else \topskip4pc \fi +% We don't unvbox the titlebox because we don't expect footnotes +% to ever appear in the title, so we don't need to worry about +% allowing them to migrate to the outer level. (Some journals +% use footnotes in titles to give acknowledgments of research +% support; in AMSPPT this is an unnumbered footnote, done with +% \thanks, outside of the title.) + \box\titlebox@ + \endgroup + \preauthor + \ifvoid\authorbox@\else \vskip2.5pcplus1pc\unvbox\authorbox@\fi + \preaffil + \ifvoid\affilbox@\else \vskip1pcplus.5pc\unvbox\affilbox@\fi + \predate + \ifx\thedate@\empty@\else + \vskip1pcplus.5pc\line{\hfil\thedate@\hfil}\fi + \preabstract + \ifvoid\abstractbox@\else + \vskip1.5pcplus.5pc\unvbox\abstractbox@ \fi + \ifvoid\tocbox@\else\vskip1.5pcplus.5pc\unvbox\tocbox@\fi + \prepaper + \vskip2pcplus1pc\relax +} +% +\newif\ifdocument@ \document@false +\def\document{\document@true +% We call \loadextrafonts@ here as well as in \topmatter; this is +% to allow use of the extra sizes of the fonts in e.g. test documents +% that don't include a full topmatter section. If \topmatter was +% executed, \loadextrafonts@ will now be a harmless no-op. + \loadextrafonts@ + \let\fontlist@\relax\let\alloclist@\relax +% Start out in \tenpoint + \tenpoint} +% +% +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% -6- SECTION HEADINGS +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\message{section heads,} +% In accordance with conventional design principles, the space +% below headings is not given any stretchability or +% shrinkability. +% +\newskip\aboveheadskip \aboveheadskip\bigskipamount +\newdimen\belowheadskip \belowheadskip6\p@ +\def\headfont@{\smc} +% +% Since we often want to do a penalty and vskip, and since there +% are extra complications involved if there is a preceding vskip +% from something else, we define a macro to do it. Normally it +% is used while we're working on the main vertical list, so we +% have to use \removelastskip (which does a negative skip) rather +% than \unskip (which REALLY removes the last skip). If the last +% thing on the main vertical list is anything other than a vskip, +% say a penalty from \pagebreak, the value returned by \lastskip +% will be 0, but the potential complications are a whole other +% subject. This macro handles the straightforward cases. +% +% In some cases we may not want to put a penalty at all. +% We refrain from doing any penalty if the first argument of +% \penaltyandskip@ is 0; the essential effect of an explicit +% \penalty0 can be gotten by doing a penalty of 1 instead. +% +% We use \penalty@ instead of \penalty, so that we can redefine +% \penalty@ in \nobreak, to prevent page breaks between certain +% pairs such as \head \subhead or \head \proclaim or \nopagebreak +% \proclaim ---for example, in +% +% "... which leads to this theorem: +% \proclaim{Theorem 8.2} ..." +% +% a page break after the colon would be bad, and a user might +% want to be able to add a \nopagebreak. +% +% The sequence +% +% \subhead Text...\endsubhead +% \subsubhead Text...\endsubsubhead +% +% will still have the weakness of allowing a pagebreak between +% the two headings, because \endsubhead doesn't do a \nobreak +% (since it's a run-in heading. +% +\def\penaltyandskip@#1#2{\par\skip@#2\relax + \ifdim\lastskip<\skip@\relax\removelastskip + \ifnum#1=\z@\else\penalty@#1\relax\fi\vskip\skip@ + \else\ifnum#1=\z@\else\penalty@#1\relax\fi\fi} +% +% The above code contains a bug: if \lastskip=\skip@ (as it does +% between two adjacent theorems), and this point coincides with +% a page break, the \lastskip will remain at the bottom of the +% page. This could be corrected by reformulating the code, but +% page breaks would change; therefore, no change has been made, +% for reasons of backward compatibility. However, the following +% code would `do the right thing': +% +% \def\penaltyandskip@#1#2{\par\skip@#2\relax +% \ifdim\lastskip>\skip@ +% \ifnum#1=\z@\else\penalty@#1\relax\fi +% \else\relax\removelastskip +% \ifnum#1=\z@\else\penalty@#1\relax\fi\vskip\skip@ +% \fi} +% +% When a page ends with space from \lastskip, inserting \pagebreak +% at the end of the text of the last element (before \end...) will +% remove the space; \removelastskip before the beginning of the +% next element has no lasting effect, as it inserts a negative skip +% that is smaller than the new skip applied with \penaltyandskip@, +% and is therefore removed. +% +\def\nobreak{\penalty\@M +% Change the definition of \penalty@ so that the following number +% will be gobbled (by assigning it to the scratch register +% \count@@@). + \ifvmode\gdef\penalty@{\global\let\penalty@\penalty\count@@@}% +% If the next piece of the document after \nobreak is something +% like \subhead or \proclaim that calls \penaltyandskip@, then +% \penalty@ will reset itself in the way that we want. But if +% not, then we still want to reset \penalty@; so we use +% \everypar. There are probably some unusual cases that will +% still have problems, but at the moment this is the best +% solution we have. + \everypar{\global\let\penalty@\penalty\everypar{}}\fi} +% +\let\penalty@\penalty +% +% We equate the old form of the headings to the new form, for +% backward compatibility. It's easier to do this now rather than +% later because \head and \subhead are going to be outer. +% +\def\heading#1\endheading{\head#1\endhead} +\def\subheading{\DN@{\ifx\next\nofrills + \expandafter\subheading@ + \else \expandafter\subheading@\expandafter\empty@ + \fi}% + \FN@\next@ +} +\def\subheading@#1#2{\subhead#1#2\endsubhead} +% +% One more heading level, for occasional use. This is the next +% level ABOVE \head. The default style is ragged right; +% otherwise it's the same as \head. +% +\newskip\abovespecialheadskip +\abovespecialheadskip=\aboveheadskip +\def\specialheadfont@{\bf} +\outer\def\specialhead{% + \add@missing\endroster \add@missing\enddefinition + \add@missing\enddemo \add@missing\endexample + \add@missing\endproclaim + \penaltyandskip@{-200}\abovespecialheadskip + \begingroup\interlinepenalty\@M\rightskip\z@ plus\hsize + \let\\\linebreak + \specialheadfont@\noindent} +\def\endspecialhead{\par\endgroup\nobreak\vskip\belowheadskip} +% +% penalty-200 is the penalty amount used by plain.tex's +% \bigbreak. +% +\outer\def\head#1\endhead{% + \add@missing\endroster \add@missing\enddefinition + \add@missing\enddemo \add@missing\endexample + \add@missing\endproclaim + \penaltyandskip@{-200}\aboveheadskip + {\headfont@\raggedcenter@\interlinepenalty\@M + #1\endgraf}\headmark{#1}% + \nobreak + \vskip\belowheadskip} +% +% \headmark will be redefined to be \rightheadtext by \Monograph. +% +\let\headmark\eat@ +% +% The purpose of \restoredef@ is to work around problems caused +% by the outerness of things like \subhead. \relax at the +% beginning prevents the \savedef@ (which may be \outer) from +% being read prematurely in certain kinds of expansion. +% +\def\restoredef@#1{\relax\let#1\savedef@\let\savedef@\relax} +% +% \subhead and \subsubhead are simpler, though they allow +% \nofrills. (\head, being centered, does not have automatic +% punctuation put in at the end and so \nofrills doesn't have +% anything to do.) The syntax of \subhead is changed from +% \subheading{...} (version 1) to \subhead...\endsubhead (version +% 2). This was done for the following reasons: (1) to be +% consistent with \head...\endhead (we could have changed \head +% instead of \subhead, but the \x...\endx syntax is the one +% currently in use in AMS production); (2) if someone (perhaps +% us) ever wants to do something tricky with the headings, having +% the \end... may help them avoid technical complications. +% +\newskip\subheadskip \subheadskip\medskipamount +\def\subheadfont@{\bf} +\outer\def\subhead{% + \add@missing\endroster \add@missing\enddefinition + \add@missing\enddemo \add@missing\endexample + \add@missing\endproclaim + \let\savedef@\subhead \let\subhead\relax + \def\subhead##1\endsubhead{\restoredef@\subhead + \penaltyandskip@{-100}\subheadskip +% Add italic correction in \usualspace, because \subheadfont@ is +% italic, in case the substituted punctuation is something tall +% like a question mark or exclamation point. + {\def\usualspace{\/{\subheadfont@\enspace}}% + \varindent@\subheadfont@\ignorespaces##1\unskip\frills@{.\enspace}}% + \ignorespaces}% + \nofrillscheck\subhead} +% +% In version 2.0 of amsppt.sty we also add a third level of +% heading, \subsubhead. +% +\newskip\subsubheadskip \subsubheadskip\medskipamount +\def\subsubheadfont@{\it} +\outer\def\subsubhead{% + \add@missing\endroster \add@missing\enddefinition + \add@missing\enddemo + \add@missing\endexample \add@missing\endproclaim + \let\savedef@\subsubhead \let\subsubhead\relax + \def\subsubhead##1\endsubsubhead{\restoredef@\subsubhead + \penaltyandskip@{-50}\subsubheadskip +% Add italic correction in \usualspace, because \subsubheadfont@ +% is italic, in case the substituted punctuation is something tall +% like a question mark or exclamation point. + {\def\usualspace{\/{\subsubheadfont@\enspace}}% + \subsubheadfont@##1\unskip\frills@{.\enspace}}\ignorespaces}% + \nofrillscheck\subsubhead} +% +% +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% -7- THEOREM ENVIRONMENTS AND SIMILAR STRUCTURES +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\message{theorems/proofs/definitions/remarks,} +% +\def\proclaimheadfont@{\bf} +% Make \proclaimfont a non-private control sequence, so that +% users can change it back to \sl if desired without +% complications. +\def\proclaimfont{\it} +% +\newskip\preproclaimskip \preproclaimskip=\medskipamount +\newskip\postproclaimskip \postproclaimskip=\medskipamount +\outer\def\proclaim{% + \let\savedef@\proclaim \let\proclaim\relax + \add@missing\endroster \add@missing\enddefinition + \add@missing\endproclaim \envir@stack\endproclaim +% penalty-100 is the penalty amount used by plain.tex's +% \medbreak. + \def\proclaim##1{\restoredef@\proclaim + \penaltyandskip@{-100}\preproclaimskip + {\def\usualspace{\/{\proclaimheadfont@\enspace}}% + \varindent@\proclaimheadfont@\ignorespaces##1\unskip + \frills@{.\enspace}}% + \proclaimfont\ignorespaces}% + \nofrillscheck\proclaim} +% +% \endproclaim ends the paragraph, switches back to \rm and adds +% spacing. (This means that if, for some strange reason, a whole +% section of text happens to be in italics, then the user must +% type \it again after each \endproclaim, but that seems too +% special a case to need providing for.) Version 2.1 change: +% removed \outer prefix, to simplify some programming related +% to \add@missing and \revert@envir. +% +\def\endproclaim{\revert@envir\endproclaim \par\rm + \vskip\postproclaimskip} +% +% In \remark, we take the opportunity again to issue an error +% message if a previous \proclaim has no matching \endproclaim. +% +\def\remarkheadfont@{\it} +\def\remarkfont{\rm} +\newskip\remarkskip \remarkskip=\medskipamount +\def\remark{\let\savedef@\remark \let\remark\relax + \add@missing\endroster \add@missing\endproclaim + \envir@stack\endremark + \def\remark##1{\restoredef@\remark + \penaltyandskip@\z@\remarkskip + {\def\usualspace{\/{\remarkheadfont@\enspace}}% + \varindent@\remarkheadfont@\ignorespaces##1\unskip + \frills@{.\enspace}}% + \remarkfont\ignorespaces}% + \nofrillscheck\remark} +% +% \endremark is easy. +% +\def\endremark{\par\revert@envir\endremark} +% +% Assumption: \square is defined in initialization (normally via +% \UseAMSsymbols). +\def\qed{\ifhmode\unskip\nobreak\fi\quad + \ifmmode\square\else$\m@th\square$\fi} +% +% Proofs are the same as Remarks, except there is an additional +% \medskip after a Proof. We don't have a runaway demo or remark +% check until \enddocument because proofs within proofs (and +% perhaps remarks within remarks) are possible. +% +\newskip\postdemoskip \postdemoskip=\medskipamount +% Ensure that there is no lingering indication of a manual end-of-proof box. +\newif\if@qedhere +\def\demo{% + \@qedherefalse + \DN@{\ifx\next\nofrills + \DN@####1####2{\remark####1{####2}\envir@stack\enddemo + \ignorespaces}% + \else + \DN@####1{\remark{####1}\envir@stack\enddemo\ignorespaces}% + \fi + \next@}% +\FN@\next@} +% +\def\enddemo{\par\revert@envir\enddemo \endremark\vskip\postdemoskip} +% +% \definition uses \proclaimheadfont@ because normally the two +% use the same font for the head font, with \definition using \rm +% for the text as opposed to the \it used for \proclaim. +% +\def\definitionfont{\rm} +\newskip\predefinitionskip \predefinitionskip=\medskipamount +\newskip\postdefinitionskip \postdefinitionskip=\medskipamount +\def\definition{\let\savedef@\definition \let\definition\relax + \add@missing\endproclaim \add@missing\endroster + \add@missing\enddefinition \envir@stack\enddefinition +% \proclaimheadfont@ comes after the period here because +% sometimes we want the period to be roman rather than bold, e.g. +% when the preceding thing is a math formula or a citation, set +% in roman type. + \def\definition##1{\restoredef@\definition + \penaltyandskip@{-100}\predefinitionskip + {\def\usualspace{\/{\proclaimheadfont@\enspace}}% + \varindent@\proclaimheadfont@\ignorespaces##1\unskip + \frills@{.\proclaimheadfont@\enspace}}% + \definitionfont\ignorespaces}% + \nofrillscheck\definition} +\def\enddefinition{\revert@envir\enddefinition + \par\vskip\postdefinitionskip} +% +\def\example{% + \DN@{\ifx\next\nofrills + \DN@####1####2{\definition####1{####2}\envir@stack\endexample + \ignorespaces}% + \else + \DN@####1{\definition{####1}\envir@stack\endexample\ignorespaces}% + \fi + \next@}% +\FN@\next@} +\def\endexample{\revert@envir\endexample \enddefinition } +% +% +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% -8- ROSTERS +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\message{rosters,} +% In version 2 of amsppt we provide a more convenient way of +% changing the indention of roster items. +% +\newdimen\rosteritemwd +\rosteritemwd16pt % approximately the width of (iii) in 10 point text +% +% \roster uses \rostercount@ to store the \item number. The first +% item is treated specially, because of the extra space before +% it, so we need a flag \iffirstitem@ to identify it. +% +\newcount\rostercount@ +\newif\iffirstitem@ +% +% Since \item in \roster differs from in \plain, we store plain's +% \item in \plainitem@, so that we can restore the definition +% after the \roster is over. +% +\let\plainitem@\item +% +% In order for our \roster's to work, we will also have to be +% sure that \everypar is {}. Just in case \everypar already has +% a value, as it might in some format, we store those values in +% the token list \everypartoks@, so that we can restore them at +% the end. \par@ does this storing, and sets \everypar{}. +% +\newtoks\everypartoks@ +\def\par@{\everypartoks@\expandafter{\the\everypar}\everypar{}} +% +\def\leftskip@{} +% +\def\roster{% + \envir@stack\endroster +% We also have to store the \leftskip, since it will be changed. + \edef\leftskip@{\leftskip\the\leftskip}% + \relaxnext@ + \rostercount@\z@% Initialize \rostercount@ to 0. + \def\item{\FN@\rosteritem@}% \item, now redefined, has +% to look ahead for [ and ", since we allow optional and literal +% arguments. \rosteritem@ itself is defined below. The following +% \next@ (in \DN@) is the one called at the very end of this +% \def. + \DN@{\ifx\next\runinitem\let\next@\nextii@ + \else\let\next@\nextiii@ + \fi\next@}% +% First we look to see whether \roster is followed by \runinitem, +% since this requires different processing. + \DNii@\runinitem% If \runinitem occurs, \nextii@ must kill it off. + {\unskip% This unskips any space before the original \roster. +% Our definition of \nextii@\runinitem itself uses compressed +% format and a \futurelet\next\next@, because we still have to +% allow [ or " to come next. + \DN@{\ifx\next[\let\next@\nextii@ + \else\ifx\next"\let\next@\nextiii@\else\let\next@\nextiv@\fi + \fi\next@}% +% The following \nextii@ is the one created by +% \nextii@\runinitem; there is no conflict of names, since the +% first calls the second. + \DNii@[####1]{\rostercount@####1\relax + \enspace\therosteritem{\number\rostercount@}~\ignorespaces}% +% If [...] comes next, we use (...) but we explicitly do this by +% setting \rostercount@ equal to ... so that succeeding \item's +% will have the right numbers (use of something other than a +% number will give an error message). + \def\nextiii@"####1"{\enspace{\rm####1}~\ignorespaces}% +% If "..." comes next, we use ... exactly as typed. + \def\nextiv@{\enspace\therosteritem1\rostercount@\@ne~}% +% Otherwise just use (1). + \par@\firstitem@false% Before doing any of this we still change +% \everypar, if necessary, which is normally done elsewhere, and +% set \firstitem@false, since this \runinitem counts as the +% first. + \FN@\next@}% End of definition of \nextii@\runinitem. +% The following \nextiii@ will be used if we didn't have +% \runinitem. + \def\nextiii@{\par\par@% End the present paragraph, change \everypar +% if necessary, prohibit a break, add a small skip, but add +% something to offset any \parskip, if there is any, which would +% be contributed when the next paragraph is begun by the next +% \item. + \penalty\@m\smallskip\vskip-\parskip +% And set \firstitem@true for use with \item. + \firstitem@true}% + \FN@\next@} +% +% Remember that \rosteritem@ is called by +% \futurelet\next\rosteritem@. +% +\def\rosteritem@{\iffirstitem@\firstitem@false + \else\par\vskip-\parskip\fi +% Except at the first \item, we end the paragraph (consisting of +% the previous \item), and subtract any space that might be added +% by the next \item. + \leftskip\rosteritemwd \advance\leftskip\normalparindent + \advance\leftskip.5em \noindent + \DNii@[##1]{\rostercount@##1\relax\itembox@}% +% If [...] follows \item, we use ... as the number, again by +% setting \rostercount@, so that succeeding \items will have the +% right number. + \def\nextiii@"##1"{\def\therosteritem@{\rm##1}\itembox@}% +% If "..." follows \item, we use ... exactly as typed. + \def\nextiv@{\advance\rostercount@\@ne\itembox@}% +% Otherwise we print the \rostercount@ in parentheses. + \def\therosteritem@{\therosteritem{\number\rostercount@}}% + \ifx\next[\let\next@\nextii@\else\ifx\next"\let\next@\nextiii@\else + \let\next@\nextiv@\fi\fi\next@} +% +\def\itembox@{\llap{\hbox to\rosteritemwd{\hss + \kern\z@ % kern to thwart \unskip in \rom + \therosteritem@}\enspace}\ignorespaces} +% +% \therosteritem is just a convenience for the user. +% +\def\therosteritem#1{\rom{(\ignorespaces#1\unskip)}} +% +% We want to save \Runinitem for last, but it is relevant even to +% the definition of \endroster, since we have to worry whether +% \endroster is followed by another \Runinitem. We will use a +% flag \ifnextRunin@ to tell us. +% +\newif\ifnextRunin@ +% +\def\endroster{\relaxnext@ + \revert@envir\endroster % restore \envir@end + \par\leftskip@ % End the paragraph, and restore the \leftskip. + \global\rosteritemwd16\p@ % restore default value + \penalty-50 \vskip-\parskip\smallskip % Add a good break and +% subtract any space that will be started by next paragraph, but +% add a \smallskip. + \DN@{\ifx\next\Runinitem\let\next@\relax +% Don't do anything else if \Runinitem comes next. + \else\nextRunin@false\let\item\plainitem@ % Otherwise, set +% \nextRunin@false, and restore \item to its definition in plain; + \ifx\next\par % moreover, if \endroster is followed by \par, + \DN@\par{\everypar\expandafter{\the\everypartoks@}}% +% delete that instruction (since we've already put in a \par), +% and restore \everypar, + \else % but if the \endroster isn't followed by a new paragraph, + \DN@{\noindent\everypar\expandafter{\the\everypartoks@}}% +% start the next paragraph unindented, and restore \everypar. + \fi\fi\next@}% + \FN@\next@} +% +% Finally, for \Runinitem ... \roster\runinitem we have the usual +% junk for worrying about [ or " coming next, and then more +% interesting things: We have to find out how many lines of text +% we had before the \roster; we will store this in +% \rosterhangafter@. +% +\newcount\rosterhangafter@ +\def\Runinitem#1\roster\runinitem{\relaxnext@ + \envir@stack\endroster +% Initialize \rostercount@ to 0. + \rostercount@\z@ +% Define \item as before. + \def\item{\FN@\rosteritem@}% +% Store everything up to the roster in \runinitem@. + \def\runinitem@{#1}% + \DN@{\ifx\next[\let\next\nextii@\else\ifx\next"\let\next\nextiii@ + \else\let\next\nextiv@\fi\fi\next}% + \DNii@[##1]{\rostercount@##1\relax +% If [...] follows \runinitem, we proceed as before, except we +% call this first instance \item@, and we let \nextv@, defined +% below, take care of everything. + \def\item@{\therosteritem{\number\rostercount@}}\nextv@}% +% If "..." follows \runinitem, we define \item@ to use it. + \def\nextiii@"##1"{\def\item@{{\rm##1}}\nextv@}% + \def\nextiv@{\advance\rostercount@\@ne +% Otherwise, we use the proper \rostercount@. Now comes \nextv@, +% which has to properly typeset things. + \def\item@{\therosteritem{\number\rostercount@}}\nextv@}% +% First store things in \box0 . + \def\nextv@{\setbox\z@\vbox +% Start unindented if we have \ifnextRunin@true. This will +% happen only if we had \Runinitem...\endroster right before. + {\ifnextRunin@\noindent\fi +% Add the stored things in \runinitem@, and then \item@. + \runinitem@\unskip\enspace\item@~\par +% This sets \rosterhangafter@ to the number of lines in \box0 , +% i.e., of the material so far; see the TeXbook, p. 103. We need +% to say \global since this is set within \box0. Now we're done +% with \box0 ! + \global\rosterhangafter@\prevgraf}% + \firstitem@false% Set \firstitem@false for future \item's. +% End previous paragraph unless we had \Runinitem ...\endroster +% right before. Now comes the good part: we +% \hangindent3\parindent, as before, but we do it for +% \rosterhangafter@ lines, the number that already appeared in +% the material we set in \box0 . + \ifnextRunin@\else\par\fi + \hangafter\rosterhangafter@\hangindent3\normalparindent +% Start unindented if we had a \Runinitem ... \endroster right +% before. + \ifnextRunin@\noindent\fi + \runinitem@\unskip\enspace% Put in all the stored stuff + \item@~\ifnextRunin@\else\par@\fi% and the \item@, and +% end the paragraph, unless we had a \Runinitem ... \endroster +% before. + \nextRunin@true\ignorespaces}%% Here's where we set \nextRunin@true. + \FN@\next@} +% +% +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% -9- FOOTNOTES +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\message{footnotes,} +% \footmarkform@ tells how to treat a general type of footnote +% marker. And \thefootnotemark is for the user, analogous to +% \thetag in AMSTEX.TEX. +% +\def\footmarkform@#1{$\m@th^{#1}$} +\let\thefootnotemark\footmarkform@ +% +% \makefootnote@ takes care of the general problem of creating a +% footnote whose marker is #1 and whose text is #2, so that we +% can concentrate separately on the problem of how the marker is +% determined. It is essentially \vfootnote from the TeXbook, p. +% 363, except that we don't do fancy things to worry about +% category code changes, and instead of adding a \strut at the +% end, we will just add the lower part of the strut. +% +\def\makefootnote@#1#2{\insert\footins + {\interlinepenalty\interfootnotelinepenalty + \eightpoint\splittopskip\ht\strutbox\splitmaxdepth\dp\strutbox + \floatingpenalty\@MM\leftskip\z@skip\rightskip\z@skip + \spaceskip\z@skip\xspaceskip\z@skip + \leavevmode{#1}\footstrut\ignorespaces#2\unskip\lower\dp\strutbox + \vbox to\dp\strutbox{}}} +% +% Before version 2.0 \footmarkcount@ was declared in amstex.tex. +% +\newcount\footmarkcount@ +\footmarkcount@\z@ +% +% \footnotemark basically just advances \footmarkcount@ by 1 and +% then uses \footmarkform@{\number\footmarkcount@}---we still +% have to worry about the space factor as in the definition of +% \footnote in the TeXbook, p. 363. However, we are allowing +% both an `optional' argument [#1], where we instead use +% \footmarkform@{#1}, and a `literal' argument "#1", where we +% instead use #1 exactly as typed, so we need to use a \futurelet +% to look at the next symbol. Compressed format is used. +% +\def\footnotemark{\let\@sf\empty@\relaxnext@ + \ifhmode\edef\@sf{\spacefactor\the\spacefactor}\/\fi + \DN@{\ifx[\next\let\next@\nextii@\else + \ifx"\next\let\next@\nextiii@\else + \let\next@\nextiv@\fi\fi\next@}% + \DNii@[##1]{\footmarkform@{##1}\@sf}% + \def\nextiii@"##1"{{##1}\@sf}% + \def\nextiv@{\iffirstchoice@\global\advance\footmarkcount@\@ne\fi + \footmarkform@{\number\footmarkcount@}\@sf}% + \FN@\next@} +% +% \footnotetext essentially applies \makefootnote@ to the next +% group, using \footmarkcount@ for the marker that goes before +% the footnote text. However, we once again allow optional and +% literal arguments. Compressed format is used. +% +\def\footnotetext{\relaxnext@ + \DN@{\ifx[\next\let\next@\nextii@\else + \ifx"\next\let\next@\nextiii@\else + \let\next@\nextiv@\fi\fi\next@}% + \DNii@[##1]##2{\makefootnote@{\footmarkform@{##1}}{##2}}% + \def\nextiii@"##1"##2{\makefootnote@{##1}{##2}}% + \def\nextiv@##1{\makefootnote@{\footmarkform@% + {\number\footmarkcount@}}{##1}}% + \FN@\next@} +% +% Finally, \footnote is basically \footnotemark\footnote, but we +% can't write it directly that way because it, too, can take +% optional and literal arguments. Compressed format again. +% +\def\footnote{\let\@sf\empty@\relaxnext@ + \ifhmode\edef\@sf{\spacefactor\the\spacefactor}\/\fi + \DN@{\ifx[\next\let\next@\nextii@\else + \ifx"\next\let\next@\nextiii@\else + \let\next@\nextiv@\fi\fi\next@}% + \DNii@[##1]##2{\footnotemark[##1]\footnotetext[##1]{##2}}% + \def\nextiii@"##1"##2{\footnotemark"##1"\footnotetext"##1"{##2}}% + \def\nextiv@##1{\footnotemark\footnotetext{##1}}% + \FN@\next@} +% +% \adjustfootnotemark just allows the user to change +% \footmarkcount@. +% +\def\adjustfootnotemark#1{\advance\footmarkcount@#1\relax} +% +% We use the definition of \footnoterule provided by plain, but +% change its width from 2 truein to 5pc. +% +\def\footnoterule{\kern-4\p@ + \hrule width5pc\kern 3.6\p@}% the \hrule is .4pt high +% +% +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% -10- TABLES +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% +% At the present time no table macros are provided. Captions can +% be gotten using \topcaption or \botcaption. +% +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% -11- FIGURE SPACES AND CAPTIONS +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\message{figures and captions,} +\def\captionfont@{\smc} +% +% These captions are designed for use within \topinsert's and +% \midinsert's. \nofrills is not currently an option, though +% probably it should be added eventually. +% +\def\topcaption#1#2\endcaption{% +% The captionwidth may have been changed by the user so we don't +% make the assumption that it is equal to \hsize - 2\indenti. + {\dimen@\hsize \advance\dimen@-\captionwidth@ +% \raggedcenter@ uses the em so we set the font before calling +% it. \leftskip and \rightskip are changed by \raggedcenter so +% the modifications of \leftskip and \rightskip must come after. + \rm\raggedcenter@ \advance\leftskip.5\dimen@ \rightskip\leftskip + {\captionfont@#1}% +% Include period only if both caption number and text are present. + \if\notempty{#2}\if\notempty{#1}.\enspace\fi\ignorespaces#2\fi + \endgraf}\nobreak\bigskip} +% +% For whatever reason, the style in current AMS production has +% figure captions (= \botcaption) set in a block while table +% captions are set ragged center style. +% +\def\botcaption#1#2\endcaption{% +% The previous vskip may be blank space for a figure, so we can't +% use \penaltyandskip@ here, otherwise the \bigskip would not be +% added (assuming the preceding vskip is greater than +% \bigskipamount): + \nobreak\bigskip +% Measure how wide the caption is. Maybe it's only "Figure 1", +% or maybe it's "Figure 1. Blah blah blah ... for 10 lines." In +% the first case center it, in the second case put it in +% paragraph form. Include period only if both caption number and +% text are present. + \setboxz@h{\captionfont@#1\if\notempty{#2}\if\notempty{#1}.\enspace\fi + \rm\ignorespaces#2\fi}% + {\dimen@\hsize \advance\dimen@-\captionwidth@ + \leftskip.5\dimen@ \rightskip\leftskip +% long caption---set it in a paragraph + \noindent \ifdim\wdz@>\captionwidth@ +% short caption---add \hfil to balance with \parfillskip. + \else\hfil\fi + {\captionfont@#1}% + \if\notempty{#2}\if\notempty{#1}.\enspace\fi\rm\ignorespaces#2\fi\endgraf}} +% +% Redefine plain TeX \@ins to add definition of \vspace (locally) +% for use with caption macros. Also \captionwidth. +% +\def\@ins{\par\begingroup\def\vspace##1{\vskip##1\relax}% + \def\captionwidth##1{\captionwidth@##1\relax}% + \setbox\z@\vbox\bgroup} % start a \vbox +% +% CASE 1: \topcaption plus a table typed by the author. +% +% \topinsert +% \topcaption{Table 1}This is a table caption.\endcaption +% \halign{ ... +% ... +% } +% \endinsert +% +% CASE 2: \topcaption plus some blank space. +% +% \midinsert +% \topcaption{Table 2}This is another table caption.\endcaption +% \vspace{13pc} +% \endinsert +% +% CASE 3: \botcaption plus some blank space. +% +% \topinsert +% \vspace{7pc} +% \botcaption{Figure 1}\endcaption +% \endinsert +% +% Use of \captionwidth: +% +% \topinsert +% \captionwidth{14pc} +% \topcaption{Table 1}Text ... +% \endcaption +% \endinsert +% +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% -12- MISCELLANEOUS FORMATTING MACROS +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\message{miscellaneous,} +% \block is intended for typing long quotes in a block, indented on +% both margins. It is set up so that it can be used in either of two +% ways: +% +% $$\block...\endblock\tag1.1$$ +% +% or +% +% Normal text. +% \block ... \endblock +% Continue with more text. +% +% In the latter case, we use a TeX display to provide spacing above +% and below the block. If we're in vertical mode when \block is +% called, we use \noindent to avoid getting an extra blank line +% before the display. But then we will get the short display skips +% instead of the full display skips, so we set \predisplaysize +% explicitly to ensure the full display skips. +% +\def\block{\RIfMIfI@\nondmatherr@\block\fi + \else\ifvmode\noindent$$\predisplaysize\hsize + \else$$\fi + \def\endblock{\par\egroup$$}\fi + \vbox\bgroup\advance\hsize-2\indenti\noindent} +\def\endblock{\par\egroup} +% +% In version 1 of amsppt \cite did some parsing to locate a comma +% in its argument and if one was found the font was switched from +% \citefont to \rm. In version 2 we no longer do this because if +% a \cite deviates too much from the expected form we run into +% problems: The expected form was either \cite{13}, or \cite{13, +% Theorem 2.2}. But if for example the user wants to cite two +% references together, \cite{13,15}, we don't want to switch off +% \citefont after the comma. And since authors tend to invent +% even more imaginative variations than this, we just did away +% with the parsing altogether. +% +% \m@th is in case the author uses subscripts in his citation +% codes. +% +\def\cite#1{\rom{[{\citefont@\m@th#1}]}} +% +% In version 1 of amsppt \citefont was \bf. +% +\def\citefont@{\rm} +% +% \rom provides a way for getting roman punctuation and numerals +% in italic text. It takes pains to handle italic corrections +% reasonably nicely. +% +\def\rom#1{\leavevmode + \edef\prevskip@{\ifdim\lastskip=\z@ \else\hskip\the\lastskip\relax\fi}% + \unskip + \edef\prevpenalty@{\ifnum\lastpenalty=\z@ \else + \penalty\the\lastpenalty\relax\fi}% + \unpenalty \/\prevpenalty@ \prevskip@ {\rm #1}} +% +% +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% -13- BIBLIOGRAPHY +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\message{references,} +% +\def\refsfont@{\eightpoint} +\def\refsheadfont@{\headfont@} +% +% \refindentwd controls the indention from the left margin of the +% ref item numbers or key labels. The initial setting is to 2 +% decimal digits; numbers up to 99 will be aligned on the right +% within a box the width of \refindentwd. \key labels will be +% aligned on the LEFT within a box of the same width; but when +% \key's are being used, the indention may need to be increased +% if it's required that the labels remain clear from the text. +% The \widestnumber macro can be used to do this: +% \widestnumber\key{MNOPQ} will increase \refindentwd to the +% width of a box containing "[MNOPQ]\enspace". \widestnumber can +% also be used with \no: \widestnumber\no{000} for 3-digit +% numbers, \widestnumber\no{0} for 1-digit numbers, and so on. +% However, the use of \no, with or without \widestnumber, is +% deprecated, and this use will not be documented in the user's +% guide. +% +\newdimen\refindentwd +\setboxz@h{\refsfont@ 00.\enspace} +\refindentwd\wdz@ +% +% Allow the default title for the references to be varied easily; +% users will still be instructed to change it using \nofrills. +\def\Refsname{References} +\outer\def\Refs{\add@missing\endroster \add@missing\endproclaim + \let\savedef@\Refs \let\Refs\relax % because of \outer-ness + \def\Refs##1{\restoredef@\Refs +% For a monograph where the title of the References section is +% done using \title, we want to omit the normal "References" +% heading and the vertical skips above and below. This can be +% accomplished using \Refs\nofrills{}. As long as the vskip at +% the end of \endtopmatter is not less than \aboveheadskip and +% \belowheadskip, this will be accomplished by the fact that +% \penaltyandskip@ doesn't add to a previous larger vskip, and +% the ragged center part will simply vanish if #1 is empty. + \if\notempty{##1}\penaltyandskip@{-200}\aboveheadskip + \begingroup \raggedcenter@\refsheadfont@ + \ignorespaces##1\endgraf\endgroup + \penaltyandskip@\@M\belowheadskip + \fi + \begingroup\def\envir@end{\endRefs}\refsfont@\sfcode`\.\@m + }% +% This line here is a little tricky. If a \nofrills is found when +% we look ahead, then \frills@ will become equal to \eat@ and it +% will eat "References" before \Refs is allowed to read its +% argument. Also we have to use a \csname trick to get around +% the outerness of \Refs. MJD + \nofrillscheck{\csname Refs\expandafter\endcsname + \frills@{{\Refsname}}}} +% +\def\endRefs{\par % This will check for a missing \endref, also + \endgroup} +% +% These two conditionals are used for handling the logic of +% typesetting book versus journal article versus proceedings +% article references. +\newif\ifbook@ \newif\ifprocpaper@ +% +% The \else clause here is to handle the case when \nofrills is +% used outside of the References section in an unexpected place +% (i.e., not immediately after \proclaim, \definition, \head, or +% the other things that have a \nofrills option). +% +\def\nofrills{% +% Are we inside a \ref...\endref pair? If so, OK to continue. + \expandafter\ifx\envir@end\endref + \let\do\relax + \xdef\nofrills@list{\nofrills@list\do\curbox}% + \else\errmessage{\Invalid@@ \string\nofrills}% + \fi}% +% +\def\defaultreftexts{\gdef\edtext{ed.}\gdef\pagestext{pp.}% + \gdef\voltext{vol.}\gdef\issuetext{no.}} +\defaultreftexts +% +\def\ref{\par + \begingroup \def\envir@end{\endref}% +% Start the reference. + \noindent\hangindent\refindentwd +% Change \par so that it will supply a (presumably) missing +% \endref, with an error message. + \def\par{\add@missing\endref}% +% Footnotes get lost in references on account of the extensive +% boxing; change \footnote to emit a warning message. + \let\orig@footnote\footnote + \def\footnote{\message{AmS-TeX warning: \string\footnote\space within + a reference will disappear;^^J + use \string\footnotemark\space \string\footnotetext\space instead}% + \orig@footnote}% +% \nofrills@list should always be assigned globally, to conserve +% save stack. + \global\let\nofrills@list\empty@ +% +% Change \linebreak and \mathbreak to work properly in the +% special ref environment. + \refbreaks + \procpaper@false \book@false \moreref@false +% Start an initial box, to match up properly with the first +% upcoming \makerefbox; this will be discarded. + \def\curbox{\z@}\setbox\z@\vbox\bgroup +} +% +% \keyhook@ is used for switching the style of reference labels +% automatically behind the scenes. This is for phasing in, +% without loss of backward compatibility, a \refstyle command to +% implement the various reference styles currently used in AMS +% production. [19-MAR-1991] See the definition of \refstyle. +% +\let\keyhook@\empty@ +% +\def\endref{% +% To wind up the preceding box it is convenient to call +% \makerefbox again; it will also open a new box, however, so we +% give it arguments \thr@@ and \endgraf\egroup that will cause +% the new box to be closed immediately and discarded. But we must +% first make sure box 3 is void or we'll trigger an error +% message. This is done by dumping the current contents of +% (global register) box 3 into (local register) box 2; the \box +% command always makes its argument globally void. (Because box +% 0 is used heavily in \makerefbox, it's easier to just use box 2 +% here, rather than try to verify that using box 0 would be safe +% in all cases.) + \setbox\tw@\box\thr@@ + \makerefbox?\thr@@{\endgraf\egroup}% +% Then we call \endref@ to take all the saved material and +% combine it into a paragraph, adding punctuation to separate +% pieces. + \endref@ +% The \endgraf is done here rather than in \endref@ because in +% \moreref or \transl cases \endref@ shouldn't do the \endgraf. + \endgraf +% Finally, we need to close the group that was started by \ref. +% This has the effect of killing the current definition of +% \envir@end, among other things. + \endgroup + \keyhook@ + \global\let\keyhook@\empty@ % \global to conserve save stack +} +% +\def\key{\gdef\key{\makerefbox\key\keybox@\empty@}\key} \newbox\keybox@ +% \no is deprecated in favor of \key; it remains here only for the +% purpose of compatibility with existing files. +\def\no{\gdef\no{\makerefbox\no\keybox@\empty@}% + \gdef\keyhook@{\refstyle C}\no} +\def\by{\makerefbox\by\bybox@\empty@} \newbox\bybox@ +\let\manyby\by % for backward compatibility +\def\bysame{\by\hbox to3em{\hrulefill}\thinspace\kern\z@} +\def\paper{\makerefbox\paper\paperbox@\it} \newbox\paperbox@ +\def\paperinfo{\makerefbox\paperinfo\paperinfobox@\empty@}% + \newbox\paperinfobox@ +\def\jour{\makerefbox\jour\jourbox@ + {\aftergroup\book@false \aftergroup\procpaper@false}} \newbox\jourbox@ +\def\issue{\makerefbox\issue\issuebox@\empty@} \newbox\issuebox@ +\def\yr{\makerefbox\yr\yrbox@\empty@} \newbox\yrbox@ +\def\pages{\makerefbox\pages\pagesbox@\empty@} \newbox\pagesbox@ +\def\page{\gdef\pagestext{p.}\makerefbox\page\pagesbox@\empty@} +\def\ed{\makerefbox\ed\edbox@\empty@} \newbox\edbox@ +\def\eds{\gdef\edtext{eds.}\makerefbox\eds\edbox@\empty@} +% The \aftergroup\book@true here sets the \ifbook@ switch so that +% later (in \endref@) we will know whether we are typesetting a +% book, a journal article, or a proceedings article. Could use +% \global instead of \aftergroup but avoiding \global is usually +% safer when possible. +\def\book{\makerefbox\book\bookbox@ + {\it\aftergroup\book@true \aftergroup\procpaper@false}} + \newbox\bookbox@ +\def\bookinfo{\makerefbox\bookinfo\bookinfobox@\empty@}% + \newbox\bookinfobox@ +\def\publ{\makerefbox\publ\publbox@\empty@} \newbox\publbox@ +\def\publaddr{\makerefbox\publaddr\publaddrbox@\empty@}% + \newbox\publaddrbox@ +% See the above comment for \book about the \aftergroup +\def\inbook{\makerefbox\inbook\bookbox@ + {\aftergroup\procpaper@true \aftergroup\book@false}} +\def\procinfo{\makerefbox\procinfo\procinfobox@\empty@}% + \newbox\procinfobox@ +\def\finalinfo{\makerefbox\finalinfo\finalinfobox@\empty@}% + \newbox\finalinfobox@ +\def\miscnote{\makerefbox\miscnote\miscnotebox@\empty@}% + \newbox\miscnotebox@ +\def\toappear{\miscnote to appear} +\def\lang{\makerefbox\lang\langbox@\empty@} \newbox\langbox@ +\newbox\morerefbox@ +% +% \vol is special because in AMS style it takes a different font +% depending on whether it's a journal volume or a book volume. +% +\def\vol{\makerefbox\vol\volbox@{\ifbook@ \else + \ifprocpaper@\else\bf\fi\fi}} +\newbox\volbox@ +% +% \MR has to take its argument in braces in order to pick out the +% volume number and make it bold. For consistency we do the same for +% AMSPPS. [mjd,17-Aug-1995] +% Provide an MR number for a bibliography item. +\define\MR#1{\makerefbox\MR\MRbox@\empty@ + \def\next@##1:##2:##3\next@{\ifx @##2\empty@##1\else{\bf##1:}##2\fi}% + MR \next@#1:@:\next@} +% +\newbox\MRbox@ +% +% User-comand for citing a preprint on the AMS preprint server. +% \MR and \AMSPPS are mutually exclusive (at least in normal use), so +% we can use \MRbox@ here instead of allocating another box. +% +% Without the discretionary hyphen, AMSPPS would break as AM-SPPS. +% +\define\AMSPPS#1{\makerefbox\AMSPPS\MRbox@\empty@ AMS\-PPS \##1} +% +% Assume for the moment that \CMP and \MR commands won't occur in +% the same ref. Too much heavy-duty programming required otherwise. +% [mjd,1995/09/28] +\define\CMP#1{\makerefbox\CMP\MRbox@\empty@ CMP #1} +% +\newbox\holdoverbox +% +% \makerefbox takes three arguments: the first is the name of +% the calling macro, for use in error messages; argument 2 +% is the box used for storing data (note: some boxes are shared +% by more than one calling macro); argument 3 is additional +% material (optional---may be empty) that may be used to +% affect the contents of the box. +% +\def\makerefbox#1#2#3{\endgraf +% Set box 0 to the just-completed line of text. + \setbox\z@\lastbox +% Although \holdoverbox will usually be void it still doesn't +% hurt to \unhbox it here in every case, which simplifies the +% programming. + \global\setbox\@ne\hbox{\unhbox\holdoverbox +% \ifvoid test is necessary here to prevent a \linebreak at the +% end of a field from being removed by the \unpenalty. + \ifvoid\z@\else\unhbox\z@\unskip\unskip\unpenalty\fi}% + \egroup +% If box 1 is empty (width <= 0pt) then set the current box to +% void (it might still have a baselineskip glue or something in +% it at this point, for one thing). Otherwise set it to box 1. + \setbox\curbox\box\ifdim\wd\@ne>\z@ \@ne \else\voidb@x\fi +% That finishes the previous box. Now let's start a new one +% using the box given as arg 1 of \makerefbox. But first check +% to see if it's void and if not give an error message. + \ifvoid#2\else\Err@{Redundant \string#1; duplicate use, or + mutually exclusive information already given}\fi + \def\curbox{#2}\setbox\curbox\vbox\bgroup \hsize\maxdimen \noindent + #3} +% +\def\refbreaks{% + \def\refconcat##1{\setbox\z@\lastbox \setbox\holdoverbox\hbox{% + \unhbox\holdoverbox \unhbox\z@\unskip\unskip\unpenalty##1}}% + \def\holdover##1{% + \RIfM@ +% Break the current line, adding \null to ensure proper spacing for +% a preceding mathrel or mathbin. The blank line containing the +% \null will be discarded by later processing. + \penalty-\@M\null +% Put a temporary ending of the current math formula on the next +% line, by itself. + \hfil$\clubpenalty\z@\widowpenalty\z@\interlinepenalty\z@ + \offinterlineskip\endgraf +% Now remove that unwanted extra line and the preceding \lineskip +% (of 0pt) and any penalty. There shouldn't be any penalty, +% actually, because the relevant penalties were set to 0 above; +% but the \unpenalty is harmless and perhaps there is an +% overlooked eventuality that it will catch. + \setbox\z@\lastbox\unskip \unpenalty + \refconcat{##1}% + \noindent +% Since we did a temporary end of the current math formula there +% remains some more math coming up; therefore we need to shift +% into math mode again. By breaking immediately after the +% beginning of the math formula we leave the unwanted extra +% \mathon item in a line by itself; this will be ignored because +% in the unpacking process we will only take the last line out of +% the current \vbox. + $\hfil\penalty-\@M +% No \null here because we don't need to do anything extra to +% affect the math spacing of the following item. (Line breaks +% in math formulas always occur after a \mathbin or \mathrel, +% not before, according to AMS style.) + \else + \endgraf\refconcat{##1}\noindent + \fi}% + \def\break{\holdover{\penalty-\@M}}% + \let\vadjust@\vadjust + \def\vadjust##1{\holdover{\vadjust@{##1}}}% +% It seems unlikely that \newpage will be needed inside of a +% \ref...\endref construction (more likely it will occur between +% references, if at all). So we provide only a very simple +% alternate version using \vadjust. + \def\newpage{\vadjust{\vfill\break}}% +} +% +\def\refstyle#1{\uppercase{% + \gdef\refstyle@{#1}% + \if#1A\relax \def\keyformat##1{[##1]\enspace\hfil}% + \else\if#1B\relax + \refindentwd\parindent + \def\keyformat##1{\aftergroup\kern + \aftergroup-\aftergroup\refindentwd}% + \else\if#1C\relax + \def\keyformat##1{\hfil##1.\enspace}% + \fi\fi\fi}% end of \uppercase +} +% +% Make letters the default for ref labels. This is chosen over +% refstyle C with a view to eventually phasing out \no in favor +% of always using \key, with the formatting being determined by +% the refstyle setting. +\refstyle{A} +% +% You might think that \refbreak@ shouldn't be necessary here (it +% executes a line break if the user specified \linebreak in the +% last field of the reference), but: sometimes there will be a +% language after the final period, and conceivably someone might +% need to break the line after the period and before the +% language. +\def\finalpunct{\ifnum\lastkern=\m@ne\unkern\else.\spacefactor2000 \fi + \refquotes@\refbreak@}% +\def\continuepunct#1#2#3#4{}% +% +% \endref@ is shared by \endref, \moreref, and \transl, therefore +% some of the code needs to be circumspect. +\def\endref@{% +% Change the format of the reference label, if necessary: + \keyhook@ +% This variant definition of \nofrillscheck is embedded in +% \endref@ despite the slight cost in extra execution time, in +% order to allow, e.g., subheadings within a bibliography section +% to have normal \nofrills action. + \def\nofrillscheck##1{% + \def\do####1{\ifx##1####1\let\frills@\eat@\fi}% + \let\frills@\identity@ \nofrills@list}% +% If no author name was given, but editor name was given, then +% transfer it to the author name box so that it will print at the +% beginning of the reference. This would normally happen only +% in the case of a proceedings volume or other such collection, +% cited as a whole. + \ifvoid\bybox@ + \ifvoid\edbox@ + \else\setbox\bybox@\hbox{\unhbox\edbox@\breakcheck + \nofrillscheck\edbox@\frills@{\space(\edtext)}\refbreak@}\fi + \fi +% \noindent \hangindent\refindentwd was done earlier by \ref, so +% at this point we just need to put the reference label on the +% page. +% +% Using this \ifvoid test is partly to prevent accessing \keybox@ +% in the \moreref and \transl cases: + \ifvoid\keybox@\else\hbox to\refindentwd{% + \keyformat{\unhbox\keybox@}}\fi + \ifmoreref@ +% Even though this reads ``\commaunbox@,'' a semicolon will be +% substituted for the comma by the action of \punct@ if +% \morerefbox@ is in fact not void. (And note that both \transl +% and \moreref share \morerefbox@.) + \commaunbox@\morerefbox@ + \else +% Put in some special kerns to flag the beginning of a reference, +% to avoid adding unwanted punctuation and space if \by is omitted. + \kern-\tw@ sp\kern\m@ne sp + \fi + \ppunbox@\empty@\empty@\bybox@\empty@ + \ifbook@ % Case 1: \book etc. + \commaunbox@\bookbox@ \commaunbox@\bookinfobox@ + \ppunbox@\empty@{ (}\procinfobox@)% + \ppunbox@,{ vol.~}\volbox@\empty@ + \ppunbox@\empty@{ (}\edbox@{, \edtext)}% + \commaunbox@\publbox@ \commaunbox@\publaddrbox@ + \commaunbox@\yrbox@ + \ppunbox@,{ \pagestext~}\pagesbox@\empty@ + \else + \commaunbox@\paperbox@ \commaunbox@\paperinfobox@ + \ifprocpaper@ % Case 2: \paper ... \inbook + \commaunbox@\bookbox@ + \ppunbox@\empty@{ (}\procinfobox@)% + \ppunbox@\empty@{ (}\edbox@{, \edtext)}% + \commaunbox@\bookinfobox@ + \ppunbox@,{ \voltext~}\volbox@\empty@ + \commaunbox@\publbox@ \commaunbox@\publaddrbox@ + \commaunbox@\yrbox@ + \ppunbox@,{ \pagestext~}\pagesbox@\empty@ + \else % Case 3: \paper ... \jour + \commaunbox@\jourbox@ + \ppunbox@\empty@{ }\volbox@\empty@ + \ppunbox@\empty@{ (}\yrbox@)% + \ppunbox@,{ \issuetext~}\issuebox@\empty@ +% Although \publ and \publaddr will rarely be used with a journal +% article, it doesn't really hurt to print them if provided, and +% certain rare cases may benefit. E.g.: +% +% \paper \"Uber maximale Monotonie von Operatoren des Typs +% $L^\ast \Phi\circ L$ \paperinfo Report 78-24 \publ Math. Inst., +% Univ. K\"oln \yr 1978 \moreref\jour published as Manuscripta +% Math. \vol28 \yr1979\pages 305--316 +% + \commaunbox@\publbox@ \commaunbox@\publaddrbox@ + \commaunbox@\pagesbox@ + \fi + \fi + \commaunbox@\finalinfobox@ + \ppunbox@\empty@{ (}\miscnotebox@)% +% The final punctuation (usually a period) here is not part of a +% \ppunbox@ clause because it is always inserted even if +% \langbox@ and \MRbox@ are void. + \finalpunct +% Tweak the spacefactor after langbox to suppress the comma that +% would otherwise be added between lang and MR. + \ppunbox@\empty@{ (}\langbox@{)\spacefactor1001 }% +% Print an MR or AMSPPS number + \ifnum\spacefactor>\@m \ppunbox@{}{ }\MRbox@\empty@ + \else \commaunbox@\MRbox@ + \fi +% Restore defaults "ed.", "pp.", etc. in case they were changed. + \defaultreftexts +} +% +% \punct@ is the same as \identity@, but we define it rather than +% using \let, just in case the contents of amsppt.sty ever get +% shuffled around in such a way that \identity@ is later in the +% file. +\def\punct@#1{#1} +% \ppunbox@ takes 4 arguments. #1 is punctuation that should +% precede ending quotes and/or a line breaking penalty, from the +% previous item. #2 is material (usually a word space) that +% should come after ending quotes or a penalty. #3 is the box +% containing the next part of the current reference. #4 is other +% material to follow box #3 (e.g., a closing parenthesis, in some +% cases). +% +\def\ppunbox@#1#2#3#4{\ifvoid#3\else + \let\prespace@\relax +% If nofrills was specified for the previous item, then it will +% have been ended with a kern of -1sp. If we find such a kern, +% we remove it and omit the normal punctuation (arg #1). + \ifnum\lastkern=\m@ne \unkern\let\punct@\eat@ +% A kern of -2sp here means we are at the very beginning of the +% reference, after the key or number. In that case we need to +% omit not only the punctuation, but also any following space. + \ifnum\lastkern=-\tw@ \unkern\let\prespace@\ignorespaces \fi + \fi + \nofrillscheck#3% + \punct@{#1}\refquotes@\refbreak@ +% Restore normal definition of \punct@: + \let\punct@\identity@ + \prespace@ +% If \nofrills is not in effect, the \space will be eaten; +% otherwise it will be substituted for the normal pre-item +% frills. + \frills@{#2\eat@}\space +% \refquotes@ and \refbreak@ will be emptied by \breakcheck +% (unless of course there is a new line breaking penalty present +% for next time around). + \unhbox#3\breakcheck + \frills@{#4\eat@}{\kern\m@ne sp}\fi} +% +\def\commaunbox@#1{\ppunbox@,\space{#1}\empty@} +% +% By putting the \ifnum here inside the \edef we get automatic +% initialization of \refbreak@ for the next time around, instead +% of needing an extra \let\refbreak@\empty@ step after \refbreak@ +% is used. +\def\breakcheck{\edef\refbreak@{\ifnum\lastpenalty=\z@\else + \penalty\the\lastpenalty\relax\fi}\unpenalty} +% +% For quotes, the complication is that the ending quotes must +% fall after a comma or other such punctuation that might come +% next (we don't know yet what punctuation will be used, if any). +% And in addition we have the usual possibility of a line break +% to worry about at the same time. Therefore the special control +% sequence \endquotes is provided, to be used like this, if let's +% say you want book titles to appear in quotes: +% +% \ppunbox@,{ ``}\bookbox@\endquotes +% \commaunbox@\bookinfobox@ +% +% \endquotes defines the control sequence \refquotes@ to add the +% ending quotes later, after we find out whether a comma, period, +% or no punctuation at all will be added (not to mention maybe a +% line breaking penalty that would need to be shuffled around). +% +\def\endquotes{\def\refquotes@{''\let\refquotes@\empty@}} +\let\refquotes@\empty@ +\let\refbreak@\empty@ +% +% We need a switch to handle certain complications with the moreref +% case. +% +\newif\ifmoreref@ +% +% \moreref ends the previous setbox operation, does \endref@ to +% typeset any information gathered so far, and then prepares to +% start the equivalent of a new \ref. +% +\def\moreref{% +% To wind up the preceding box it is convenient to call +% \makerefbox again; it will also open a new box, however, so we +% give it arguments \thr@@ and \endgraf\egroup that will cause the +% new box to be closed immediately and discarded. But we must first +% make sure box 3 is void or we'll trigger an error message. This +% is done by dumping the current contents of (global register) box +% 3 into (local register) box 2; the \box command always makes its +% argument globally void. (Because box 0 is used heavily in +% \makerefbox, it's easier to just use box 2 here, rather than try +% to verify that using box 0 would be safe in all cases.) + \setbox\tw@\box\thr@@ + \makerefbox?\thr@@{\endgraf\egroup}% +% This saved definition will be lost if something else in \endref@ +% uses \savedef@. Currently (14-MAR-1991) that is not the case, +% however, so doing it this way allows us to save a bit of memory. + \let\savedef@\finalpunct \let\finalpunct\empty@ + \endref@ +% The next time \punct@ is called by \ppunbox, it will change +% ",\refquotes@" into "\refquotes@;" or similarly for +% \empty@\refquotes@. Then \punct@ will be restored to its original +% definition. Note that this definition does not need to be +% global; it is local inside the \begingroup ...\endgroup of the +% current \ref. + \def\punct@##1##2{##2;}% + \global\let\nofrills@list\empty@ % global, to conserve save stack +% Now restore the normal definition of \finalpunct : + \let\finalpunct\savedef@ + \moreref@true +% Set any initial text between \moreref and the following +% control sequence in \morerefbox@. This is typically used with +% \transl to add a note such as "English transl." + \def\curbox{\morerefbox@}% + \setbox\morerefbox@\vbox\bgroup \hsize\maxdimen \noindent +} +% And \transl, for setting translation information, +% doesn't need to be any different than \moreref: +% +\def\transl{\moreref} +% +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% -14- END OF DOCUMENT +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\message{end of document,} +% +% Make sure that the primitive \end can be executed; \end may be redefined +% for some purposes where input errors are likely to occur. +\ifx\plainend\undefined \let\plainend\end \fi +\outer\def\enddocument{\par% \par will do a runaway check for \endref + \add@missing\endRefs + \check@missing@document +% Repeat these in case an article (or book chapter!) doesn't have +% a references section: + \add@missing\endroster \add@missing\endproclaim + \add@missing\enddefinition + \add@missing\enddemo \add@missing\endremark \add@missing\endexample + \enddocument@text + \vfill\supereject\plainend} + +% One non-ending element that can be missing is \document. +\def\check@missing@document{% + \ifdocument@ + \else + \Err@{You seem to have a missing or misspelled \string\document}% + \fi} + +\def\enddocument@text{% +% In a monograph we expect the translator name and author +% addresses to be handled in the front matter rather than at the +% end of the individual chapters: + \ifmonograph@ % do nothing + \else +% No break between the References and the final matter. + \nobreak +% The \address's get printed at the end of the paper. Also the +% translator name, if any. We don't need to do an +% \ifx\thetranslator@\empty@, as we did with \thesubjclass@ and +% other items in \endtopmatter, because we're not constructing a +% footnote, just slapping the material on the page. + \thetranslator@ +% Print all the \address's, including e-mail and url addresses if +% present. If any of the \email's are undefined the \csname will +% just evaluate to \relax. + \count@\z@ + \loop\ifnum\count@<\addresscount@\advance\count@\@ne + \csname address\number\count@\endcsname + \csname email\number\count@\endcsname + \csname urladdr\number\count@\endcsname + \repeat + \fi +} + +% +% +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% -15- OUTPUT ROUTINE +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\message{output routine,} +% We provide a \foliofont@ separate from \headlinefont@ because +% it is not uncommon for documentstyles to have the folios in a +% different font, although in our basic style this is not the +% case. \foliofont@ is \eightrm instead of \eightpoint merely +% for efficiency; we don't expect to need for example math family +% assignments in order to typeset the folio. On the other hand +% we need full math capability for \headlinefont@ since running +% heads may contain math (from a title or a section head). From +% a design standpoint it might be preferable to have seven-point +% running heads (compare a small caps \head that falls at the top +% of a page with the running head above it) but it is more +% convenient to use the already available \eightpoint macro, and +% this saves a bit of overhead. +% +\def\folio{\ifnum\pageno<\z@ \romannumeral-\pageno\else\number\pageno \fi} +\def\foliofont@{\eightrm} +\def\headlinefont@{\eightpoint} +% +% \leftheadline and \rightheadline use the method described in +% the TeXbook, p. 260 for selecting different pieces of the +% topmark or botmark. The necessary \else is inserted by +% \leftheadtext and \rightheadtext. \foliofont@ is applied +% within the headline (it was formerly included in \folio). +% Thus \folio comprises only the page number, making it suitable +% for compiling index terms for use with the non-AMS package +% index.tex; there is no intention to add an indexing facility +% to AMS-TeX. +% +\def\leftheadline{\rlap{\foliofont@\folio}\hfill \iftrue\topmark\fi \hfill} +\def\rightheadline{\hfill \expandafter\iffalse\botmark\fi + \hfill \llap{\foliofont@\folio}} +% +\newtoks\leftheadtoks +\newtoks\rightheadtoks +% +% \leftheadtext and \rightheadtext have a \nofrills option to +% turn off uppercasing. They also set their argument in a box, +% during a syntax check, because otherwise syntax errors in the +% argument would not be caught (because the output routine, and +% hence \headline, is never called during a syntax check). +% +\def\leftheadtext{\let\savedef@\leftheadtext + \def\leftheadtext##1{\let\leftheadtext\savedef@ + \leftheadtoks\expandafter{\frills@\uppercasetext@{##1}}% + \mark{\the\leftheadtoks\noexpand\else\the\rightheadtoks} + \ifsyntax@\setboxz@h{\def\\{\unskip\space\ignorespaces}% + \headlinefont@##1}\fi}% + \nofrillscheck\leftheadtext} +% +\def\rightheadtext{\let\savedef@\rightheadtext + \def\rightheadtext##1{\let\rightheadtext\savedef@ + \rightheadtoks\expandafter{\frills@\uppercasetext@{##1}}% + \mark{\the\leftheadtoks\noexpand\else\the\rightheadtoks}% + \ifsyntax@\setboxz@h{\def\\{\unskip\space\ignorespaces}% + \headlinefont@##1}\fi}% + \nofrillscheck\rightheadtext} +% +% In the running heads, we redefine \chapter so that it only does +% a roman numeral (via \chapterno@) rather than "CHAPTER " + +% roman numeral. In the \nofrills case, however, e.g. for +% something like "Appendix A", the given text is printed without +% modification. And we redefine \\ because if the running head +% is taken from a title or section head it might possibly contain +% a \\ from the line-breaking done in the original text. +% +\headline={\def\\{\unskip\space\ignorespaces}\headlinefont@ + \def\chapter{% + \def\chapter##1{% + \frills@{\afterassignment\chapterno@ \chaptercount@=}##1.\space}% + \nofrillscheck\chapter}% + \ifodd\pageno \rightheadline \else \leftheadline\fi} +% +% Capitalization is used to indicate global scope of +% \NoRunningHeads and \NoPageNumbers, as is done by amstex.tex +% for \TagsOnLeft, etc. +% +\def\NoRunningHeads{\global\runheads@false\global\let\headmark\eat@} +\def\NoPageNumbers{\gdef\folio{}} +% +% Finally, we are ready for the \output routine. It is based on +% the \plainoutput routine, but the first page normally has the +% `Typeset by AmS-TeX' logo attached, and we add a switch for +% running heads. The default for running heads is "true". +% +\newif\iffirstpage@ \firstpage@true +\newif\ifrunheads@ \runheads@true +% +\output={\output@} +% +\newdimen\headlineheight \newdimen\headlinespace +\newdimen\dropfoliodepth + +% Distance of drop folio below the type block +\dropfoliodepth=1pc +% Actual height of normal running head text +\headlineheight=5pt +% Base-to-base distance from running head to first text line +\headlinespace=24pt + +% Changing the page width with \pagewidth automatically adjusts the +% caption width as well. \pagewidth is in AMSTEX.TEX but it sets the +% caption width to a different value than the one we want. +\def\pagewidth#1{\hsize#1% + \captionwidth@\hsize \advance\captionwidth@-2\indenti} +% +% Constraints on type block: +% ---Total width x height (default) = 30pc x 50.5pc +% ---Distance from running-head to first text line (base-to-base) is +% 24pt. +% ---Actual height of running head is approx. 5pt (height of cap +% letters in seven-point font). +% ---Drop folio on first page drops 1pc below the type block (i.e., +% below the 50.5pc measurement given above). + +\def\pageheight#1{% + \vsize=#1 % target height + \advance\vsize -\headlineheight % subtract height of running head + \advance\vsize -\headlinespace % subtract space below running head + \advance\vsize \topskip % but the 24pt is base-to-base, so we need to + % compensate for topskip +} + +\pagewidth{30pc}\pageheight{50.5pc} + +% Copyright info at the bottom of article opening pages is done as +% an insert separate from \footins because that is the natural way +% to achieve the placement we want (below all footnotes, but inside +% the text block). +\newinsert\copyins +% Space to allow for, between copyright info and preceding text: +% *** Different from AMS-LaTeX value, which is 1.5pc fixed +% *** (\bigskipamount=12pt plus 4pt minus 4pt; plain.tex) +\skip\copyins=12\p@ +% Maximum height of copyright info: Doesn't really matter, since height +% will always be controlled explicitly, but let's make sure this +% value referred to by TeX is less than page height anyway. +\dimen\copyins=40pc +% Magnification factor (1000 = 1.000) +\count\copyins=1000 +% +% \inslogo@ is called in \endtopmatter (unlike the method of +% amsppt.sty 2.1) +\def\inslogo@{\insert\copyins{\logo@}} +% +\def\logo@{\rightline{\eightpoint Typeset by \AmSTeX}} +% \nologo to turn off the `Typeset by AmS-TeX' note. +\def\nologo{\let\logo@\empty@ \let\inslogo@\empty@} +% +% First-page left or right headline: +\let\flheadline\hfil \let\frheadline\hfil +% +% Permit pages (e.g. book frontmatter) to be without headers or footers. +\newif\ifplain@ \plain@false +% +\def\output@{% +% Cancel possible junk from \ref if page break occurs between +% \ref...\endref [mjd,17-Aug-1995] + \def\break{\penalty-\@M}\let\par\endgraf + \shipout\vbox{% + \ifplain@ + \let\makeheadline\relax \let\makefootline\relax + \else + \iffirstpage@ \global\firstpage@false + \let\rightheadline\frheadline + \let\leftheadline\flheadline + \else + \ifrunheads@ \let\makefootline\relax + \else \let\makeheadline\relax \fi + \fi + \fi + \makeheadline \pagebody \makefootline + }% + \advancepageno \ifnum\outputpenalty>-\@MM\else\dosupereject\fi +} +% +% Redefine \pagecontents to add \copyins material +% *** \skip\footins=\bigskipamount (12pt plus 4pt minus 4pt; plain.tex) +% *** In AMS-LaTeX, value = 7pt plus11pt +\def\pagecontents{% + \ifvoid\topins\else\unvbox\topins\fi + \dimen@=\dp\@cclv \unvbox\@cclv % open up \box255 + \ifvoid\footins + \else % footnote info is present + \vskip\skip\footins + \footnoterule + \unvbox\footins + \fi + \ifr@ggedbottom \kern-\dimen@ \vfil \fi +% \skip\copyins is visual space between top of copyright info and +% bottom of preceding text. + \ifvoid\copyins \else \vskip\skip\copyins \unvbox\copyins \fi +} +% +% \makeheadline is called at the top of a vbox with the page body to +% follow. Restore default \leftskip to avoid indentation when the +% page builder activates in the middle of a roster +\def\makeheadline{% + \leftskip=\z@ + \vbox{% +% We smash the running head inside a vbox of the target height, to +% ensure that the base of the running head always falls at the same +% height in relation to the type block. + \vbox to\headlineheight{\vss +% If \headline is empty, the \hskip here prevents an `Underfull hbox' +% message. If \headline contains an \hfil or \hfill, the \hskip here +% will be ignored. + \hbox to\hsize{\hskip\z@ plus\hsize\the\headline}% + \kern-\prevdepth + }% + \vskip\headlinespace + \vskip-\topskip + }% + \nointerlineskip +} +% +% Assumption: called in vmode after the box containing the page body; +% thus the depth of the preceding box = depth of last line in the +% main text (except in the raggedbottom case). +\def\makefootline{% + \relax\ifdim\prevdepth>\z@ \ifdim\prevdepth>\maxdepth \else + \vskip-\prevdepth \fi\fi + \nointerlineskip + \vbox to\z@{\hbox{}% + \baselineskip\dropfoliodepth + \hbox to\hsize{\hskip\z@ plus\hsize\the\footline}% + \vss}} + +% +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% -16- HYPHENATION EXCEPTIONS +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\message{hyphenation exceptions (U.S. English)} +% Add some common hyphenation exceptions, from TUGboat files, +% 20-NOV-1989. For more details see TUGboat vol 10, no 3, +% November 1989, pp. 336--341. Many words from the TUGboat list +% that seemed less likely to occur in mathematical text have been +% omitted because hyphenation exceptions use up memory (most +% versions of TeX currently have a limit of 307 on hyphenation +% exceptions; each added hyphenation exception uses up something +% like 2 extra words of main memory as well). The list of +% hyphenations for proper names could be expanded forever if room +% permitted; we restrict ourselves to a rather short, extremely +% arbitrary list. +% +% Note: The hyphenation rules of British English differ in some +% particulars from the U.S. rules. +% +\hyphenation{acad-e-my acad-e-mies af-ter-thought anom-aly anom-alies +an-ti-deriv-a-tive an-tin-o-my an-tin-o-mies apoth-e-o-ses +apoth-e-o-sis ap-pen-dix ar-che-typ-al as-sign-a-ble as-sist-ant-ship +as-ymp-tot-ic asyn-chro-nous at-trib-uted at-trib-ut-able bank-rupt +bank-rupt-cy bi-dif-fer-en-tial blue-print busier busiest +cat-a-stroph-ic cat-a-stroph-i-cally con-gress cross-hatched data-base +de-fin-i-tive de-riv-a-tive dis-trib-ute dri-ver dri-vers eco-nom-ics +econ-o-mist elit-ist equi-vari-ant ex-quis-ite ex-tra-or-di-nary +flow-chart for-mi-da-ble forth-right friv-o-lous ge-o-des-ic +ge-o-det-ic geo-met-ric griev-ance griev-ous griev-ous-ly +hexa-dec-i-mal ho-lo-no-my ho-mo-thetic ideals idio-syn-crasy +in-fin-ite-ly in-fin-i-tes-i-mal ir-rev-o-ca-ble key-stroke +lam-en-ta-ble light-weight mal-a-prop-ism man-u-script mar-gin-al +meta-bol-ic me-tab-o-lism meta-lan-guage me-trop-o-lis +met-ro-pol-i-tan mi-nut-est mol-e-cule mono-chrome mono-pole +mo-nop-oly mono-spline mo-not-o-nous mul-ti-fac-eted mul-ti-plic-able +non-euclid-ean non-iso-mor-phic non-smooth par-a-digm par-a-bol-ic +pa-rab-o-loid pa-ram-e-trize para-mount pen-ta-gon phe-nom-e-non +post-script pre-am-ble pro-ce-dur-al pro-hib-i-tive pro-hib-i-tive-ly +pseu-do-dif-fer-en-tial pseu-do-fi-nite pseu-do-nym qua-drat-ic +quad-ra-ture qua-si-smooth qua-si-sta-tion-ary qua-si-tri-an-gu-lar +quin-tes-sence quin-tes-sen-tial re-arrange-ment rec-tan-gle +ret-ri-bu-tion retro-fit retro-fit-ted right-eous right-eous-ness +ro-bot ro-bot-ics sched-ul-ing se-mes-ter semi-def-i-nite +semi-ho-mo-thet-ic set-up se-vere-ly side-step sov-er-eign spe-cious +spher-oid spher-oid-al star-tling star-tling-ly sta-tis-tics +sto-chas-tic straight-est strange-ness strat-a-gem strong-hold +sum-ma-ble symp-to-matic syn-chro-nous topo-graph-i-cal tra-vers-a-ble +tra-ver-sal tra-ver-sals treach-ery turn-around un-at-tached +un-err-ing-ly white-space wide-spread wing-spread wretch-ed +wretch-ed-ly Brown-ian Eng-lish Euler-ian Feb-ru-ary Gauss-ian +Grothen-dieck Hamil-ton-ian Her-mit-ian Jan-u-ary Japan-ese Kor-te-weg +Le-gendre Lip-schitz Lip-schitz-ian Mar-kov-ian Noe-ther-ian +No-vem-ber Rie-mann-ian Schwarz-schild Sep-tem-ber} +% +% Initializations +% +% A "style initialization" file, amsppt.sti, is loaded in, in order +% to use the same version of amsppt.sty for both production and +% distribution. +% +\input amsppt.sti +% +% Write an empty line on screen to tidy up: +\W@{} +% +% Now we restore the catcode for @ that was in effect before this +% file. Note that we do not use \filename here, even though we did +% at the beginning of this file, because in the absence of a proper +% filename stack mechanism, we cannot be sure (taking into account +% possible future changes in the contents of amsppt.sty) that an +% intervening input file did not change \filename to another value. +% +\csname amsppt.sty\endcsname +% +% And that's it. +\endinput +% +% +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% -17- NOTES +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + + Abbreviations used in this file: + + From plain.tex: + + \p@ 1pt, dimen register + \z@ 0pt, dimen register, can be used also as a number + \m@ne -1, count register + + Chardefs and mathchardefs (these control sequences can be used as + numbers): + + \@ne 1 + \tw@ 2 + \thr@@ 3 + \active 13 + \sixt@@n 16 + \@cclv 255 + \@cclvi 256 + \@m 1000 + \@M 10000 + \@MM 20000 + + Scratch registers: + + \countdef\count@=255 + \dimendef\dimen@=0 + \dimendef\dimen@i=1 global only + \dimendef\dimen@ii=2 + \skipdef\skip@=0 + \toksdef\toks@=0 + + Other: + + \m@th sets \mathsurround=0pt + \z@skip 0pt plus 0pt minus 0pt, skip register + \hideskip -1000pt plus 1fill, skip register + \centering 0pt plus 1000pt minus 1000pt, skip register + \voidb@x permanently void box register + \endgraf same as \par, but will be accepted in arguments where + \par would cause an error. + + \space a macro whose expansion is a space token + \empty@ a defined macro with a null expansion + \null an \hbox with null contents + + From amstex.tex: + + \W@ \immediate\write16 + \eat@ gobbles next token or group in braces + \strip@ gets rid of trailing space from given argument + \hashtoks@ token register, containing # + \centering@ skip register, 0pt plus 1000pt + \rightappend@ ... \to ... Append to a token list. + \space@ a space token (\let equal, not a macro like \space) + \relaxnext@ \let\next=\relax + \ex@ dimen, related to x-height, roughly equal to 1pt + \hexnumber@ convert hex digit from decimal form to hex equivalent + \font@ font assignment, like \font but modified to make + syntax check work + \macro@@ used for stripping off the first part of the result + of a \meaning command. + + \def\FN@{\futurelet\next} + \def\DN@{\def\next@} + \def\DNii@{\def\nextii@} + \def\RIfM@{\relax\ifmmode} + \def\RIfMIfI@{\relax\ifmmode\ifinner} + \def\setboxz@h{\setbox\z@\hbox} + \def\wdz@{\wd\z@} + \def\boxz@{\box\z@} + \def\setbox@ne{\setbox\@ne} + \def\wd@ne{\wd\@ne} + + More scratch registers: + + \toks@@ + \count@@ + \count@@@ +% +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% -18- APPENDIX: NOTES ON VERSION 2.1 +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +---\curraddr was added, for giving the current address of an author, +if different from the address given in \address. + +---\rom was added, for preventing unwanted italicization of certain +things such as parentheses or numbers, in theorems and other italic +passages. \rom automatically inserts italic corrections. + +---The implementation of \nofrills was completely changed, to provide +better error messages for a missing or misspelled \endkeywords or +similar end command, when reading a delimited argument. The error +message is now one of + + ! Forbidden control sequence found while scanning use of \keywords. + ! Paragraph ended before \keywords was complete. + +Previously the message would have had the same form, but would have +referred to a mysterious control sequence ``\next@'' instead of +\keywords. + +This change also eliminates a longstanding, very minor bug +(\usualspace@ didn't work if it was stored in something such as +\keywords@ for later use, because of its dependence on the +\ifnofrills@ switch). + +---Multiple \thanks commands in the top matter will now produce +multiple acknowledgment footnotes instead of discarding all but the +last one. A period is no longer added automatically at the end of a +\thanks. + +---\subjclass was updated to use the date (1991) of the current +Mathematics Subject Classification scheme. + +---\widestnumber\item now works as claimed in the User's Guide. + +---The missing \par in \penaltyandskip@ was added. + +---Additional checks were added for runaway \proclaim, \definition, +\ref, \roster, etc. The internal macro \runaway@ was changed to make +its usage more consistent and robust; in the process its name was +changed to \add@missing (and as the name suggests, it now tries to +recover by adding the missing \end... command). + +---The bibliography macros were substantially modified to correct +another longstanding bug: line breaks after explicit hyphens, +mathbins, and mathrels were inhibited. This also involved changing the +\ref-specific version of \nofrills. Backward compatibility (with +version 2.0) is not complete with respect to \nofrills in the +bibliography macros. This seems best, however, not only to avoid +extra implementation difficulties, but also because the user syntax in +version 2.0 was inferior. \nofrills now should always follow +immediately after the name of the field to which it applies, e.g., +\transl\nofrills, or \paper\nofrills. Note that this is more +consistent with the usage of \nofrills outside of the references +section. \nofrills will cause all the "frills" such as the parentheses +around years in journal article citations, or words like "eds." or +"vol." that are supplied automatically, to be omitted for the given +field. In addition, it will suppress the automatic punctuation at the +end of the field, if any. + +The macro \refdef@ is gone; instead, to define a new reference +element, you need a definition of the form + + \newbox\jourbox@ + \def\jour{\makerefbox\jour\jourbox@{\it}} + +where \makerefbox is a macro with three arguments: #1 is the name of +the calling macro (for use in error messages, if need be), #2 is the +box in which the contents of the \jour field should be stored, and #3 +is formatting information (primarily font changes) to be inserted at +the beginning of the box. However, as before, punctuation and words +such as "pp.", "eds.", or "vol." that are to be inserted automatically +are handled by \endref@. + +Therefore, to change such frills, or the ordering of the parts of a +reference, you need to modify \endref@. The macros \ppunbox@ and +\commaunbox@ should normally be used to unpack a box, because they +automatically take care of complications like \nofrills, closing +quotes, or line breaks. \ppunbox@ takes four arguments: + + #1: punctuation that should come before a line break or + closing quotes of a previous field + #2: other material such as "(" or "vol." that should be added + at the beginning of the current field + #3: the name of the box to be unpacked + #4: other material such as ")" that should be added + at the end of the current field + +For example, the command to unpack the \yr field is: + + \ppunbox@\empty@{ (}\yrbox@)% + +Note the use of \empty@ to specify no preceding comma or other +punctuation. + +\commaunbox@ is merely an abbreviation for + + \ppunbox@,\space\xxxbox@\empty@ + +The switches \ifpaperquotes@ and \ifbookquotes@ are gone. If quotes +are to be added around a particular part of a reference, it should be +done in \endref@ using \ppunbox@ and \endquotes as follows: + + \ppunbox@,{ ``}\xxxbox@\endquotes + +\endquotes does not typeset the ending quotes immediately (because we +don't know yet whether to insert a comma or other punctuation before +the ending quotes). Instead, it sets a flag to be used in subsequent +processing. + +---A \refstyle command was added to allow users to specify one of the +three different reference styles most commonly used in AMS +publications: letter labels in square brackets; unnumbered; and +numbered (denoted A, B, and C, respectively). The syntax is +"\refstyle{A}". Style C, numbered with arabic numerals, is the default +selected by amsppt.sty. Eventually, phasing in the \refstyle command +will allow the formatting for cites in the main text to be +automatically linked with the corresponding references in the +bibliography. (Since the bibliography style could also affect the +style of cites, the \refstyle command should be placed in the preamble +of a document.) Also, eventually \key could be used for all reference +labels, and the \no command will be unnecessary, because its current +use is merely to indicate different formatting for the reference +number. + +---\miscnote was added, and used in the implementation of \toappear, +so that \toappear and \finalinfo would not be mutually exclusive. +\miscnote might also be used for things like "preprint" or +"submitted". Unlike \finalinfo, \miscnote automatically adds +parentheses. + +---\procinfo was added, to give place and date where the meeting +took place, for proceedings volumes. + +---\eds or \ed information will now be used in place of an author's +name, if \by is absent. This would be for collections or proceedings +volumes that are cited as a whole, instead of citing a single paper +within the volume. +% +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% -19- APPENDIX: NOTES ON VERSIONS 2.1a, 2.1b, ... +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +Users that have amsppt.sty built into their amstex format file will +need to rebuild their format file if they get a newer version of +amsppt.sty. + +Version 2.1a: + +---Added a test so that amsppt.sty will give an error message if it's +about to be loaded and a different version of amsppt.sty was preloaded +in the format file. + +---Added code to compensate for a bug in version 2.1 that left +\amsppt.sty = \endinput. Probably not necessary---unless the error +message described above is changed in the future to just a warning +message. + +---Added \loadmsam and \loadmsbm before the call to \UseAMSsymbols, +so that amsppt.sty 2.1 will work even with an AMSTeX 2.0 format file. + +---Changed the definition of \magnification (from plain.tex) so that +it won't reset the page dimensions to 6.5 by 9 true inches if +it is used but will behave in a way that's more appropriate +for the amsppt page dimensions. + +---Switched to using box 0 instead of \keybox@ for measuring a \key +given with the \widestnumber command. This prevents a misnumbering +problem that occurred in rare cases (e.g., an unnumbered reference +following numbered references). + +---Changed erroneous \proclaimfont@ to \proclaimheadfont@ and +\demofont@ to \remarkheadfont@ in the definition of \Monograph. Note: +This means that fonts used for \remark, \demo, \proclaim \definition, +\example, were wrong for any document that used \Monograph with amsppt +2.1; switching to amsppt version 2.1a will make the fonts correct +according to AMS standard monograph style, but with a slight chance of +changing line breaks. + +---Added \pagenumwd and put the table-of-contents definition of +\page inside the \toc group so that it will not conflict with +the normal definition of \page if a single document contains +both \toc (with \widestnumber\page used) and \Refs. + +---Added default definition for \leftskip@ to handle rare cases. +Added \envir@stack\endroster in \Runinitem to prevent spurious +"missing \endroster" error every time it's used. + +---Change handling of \key and \no to better handle the complications +related to \refstyle and the need to maintain backward compatibility. +(I.e., \refstyle should automatically be reset to C if \no is used.) + +---Added \procpaper@false and \book@false where appropriate in \book, +\jour, \inbook to handle (rare?) \moreref cases where the additional +ref is not the same type as the first ref. Switched around \moreref +and \transl, a cosmetic change but makes the code easier to +understand. (It seems reasonable for \transl to be based on \moreref, +but rather odd for \moreref to be based on \transl, as in version +2.1.) + +---Added \ifvoid test in \makerefbox to give an error message +if the same tag is used twice or mutually exclusive tags (e.g., +\book and \inbook) are used. + +---Added some code to print out editors and pages information +if given even when according to AMS style it should normally +be omitted. + +Version 2.1b: + +---Restored the old \nologo command by popular demand. + +---Added \linespacing command to facilitate changing line spacing +globally: \linespacing{2.0} increases line spacing by a factor of 2, +similarly \linespacing{1.5} or \linespacing{2.3} for arbitrary +factors. + +---Italic font is now used instead of slanted throughout (for e.g. +\proclaim). + +---Omitting \by in a \ref is now possible without getting unwanted +punctuation at the very beginning after the key. + +---\rom now handles preceding ~, not just preceding space. + +---\subsubheadfont@ added to facilitate font switching. + +---\document does some font setup if \topmatter is omitted. + +---Fixed a problem with running heads and \chapter\nofrills. + +---Eliminated spurious error message from \roster \widestnumber inside +a \proclaim. + +Version 2.1c: + +---Fixed a bug introduced in version 2.1b: lost punctuation and space +at the beginning of a \moreref. + + +Version 2.1d: + +---Minor corrections to \PSAMSFonts, documentation + +---Fixed \linespacing bug: the vrule inside \strutbox did not have +zero width. + +Version 2.1e: + +---Added \MR, \AMSPPS commands + +---Added some code to \output@ to reset \break, \par in case output +routine is invoked inside \ref ... \endref *and* something added by the +output routine (e.g., journal logo on first page) uses them. + +Version 2.1f: + +---Moved MR and AMSPPS numbers after final period. + +---Split part of \enddocument into separate \enddocument@text for easier +customization. + +Version 2.1g (January 1997 distribution): + +---Added code to initialize PSAMSFonts-sensitive fonts correctly regardless +of which fonts are being used. + +---Moved loading of AMSFonts and symbol names to initialization block at +end of file. + +---In \makeheadline, added \leftskip=\z@ to avoid indentation of journal +logo when end of page 1/beginning of page 2 contains a roster. + +---Added \urladdr to other author addresses. + +---Added \refsheadfont@ to permit font change without redefinition. + +---Added \refstyle@ to permit correct initialization of indent with +\widestnumber when \refstyle C is used. + +---Added \inslogo@ to \endtopmatter to drop in insert with AMS-TeX logo or +copyright notice. + +---Added \preproclaimskip, \postproclaimskip, \remarkskip, \postdemoskip, +\predefinitionskip, \postdefinitionskip to permit spacing variations without +redefinitions. + +---Revamped calculation of \pageheight to derive \vsize from known dimensions. + +---Revamped output routine for simplicity, and to accept AMS-TeX logo / +copyright block as a bottom insertion rather than as an element between the +page body and the footline; this makes it possible to use a single \pageheight +on all pages. + +---Redefined \pagecontents to include logo/copyright insert, \copyins. + +---Redefined \makeheadline to reset formatting parameters (\leftskip, etc.) +to avoid problems if page makeup occurs in the middle of (say) a \roster, +and to ensure that the running head is always the same height, regardless +of the presence of accents or math. + +---Redefined \makefootline for similar reasons of consistency. + +---Moved initialization of AMSFonts to end of file. + +---Adjusted indentation of code to clarify structure and nesting. + +---Added test for the presence of a local initialization file (amsppt.sti); +if present, input it, and if not, carry out initialization suitable for the +use of this style by general users. + +Version 2.1h (January 1997 distribution): + +---Added a link for an initialization file, amsppt.sti; this permits easier +tailoring of certain features (e.g. use of PSAMSFONTS, documented in the +AMS-TeX User's Guide), as well as use in AMS production of publication-time +local features, without requiring a separate version of amsppt.sty. + +---Added \Refsname to permit publication-specific initialization of variant +references title without requiring full redefinition of \Refs. + +---Added \remarkfont and \definitionfont instead of \rm to allow flexibility. + +---Removed ninepoint; if this were to be needed, it's likely that enough +other changes would also be needed that the result would be a different style. +% +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% -20- APPENDIX: NOTES ON VERSIONS 2.2 +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +Version 2.2 (August 2001 distribution): + +---Added @ to the plain list of \dospecials, to make it behave better in +verbatim, e-mail addresses, and URL's. + +---Added commands \savecat and \restorecat to make it easy to save and +restore the catcode value of any character, most commonly @. + +---Replaced explicit font for addresses by \addressfont@. + +---Check address fields, thanks and subject classification for presence of +data, and omit if empty. + +---Added \subjclassyear to identify version of classification scheme; check +for valid years (1991, 2000), default to 1991 for backward compatibility + +---Added a check for the presence of \document line; report at \enddocument +if missing. + +---Documented a bug in the application of space between two adjacent theorems; +didn't fix it (compatibility: would change page breaks). + +---Added \if@qedhere to support feature in AMS document styles that permits +location of end-of-proof box to be varied. + +---Removed period at end of caption if it is not followed by text. + +---Added a warning to \footnote inside references; footnotes inside references +disappear, taking with them the reference element to which they are attached. + +---Removed \foliofont@ from definition of \folio and added it instead to the +running heads, permitting "clean" page numbers to be output with indexing +terms when an auxiliary package such as index.tex (from texsis) is used. diff --git a/Master/texmf-dist/doc/amstex/base/amsppt.faq b/Master/texmf-dist/doc/amstex/base/amsppt.faq new file mode 100644 index 00000000000..0f6811d03b1 --- /dev/null +++ b/Master/texmf-dist/doc/amstex/base/amsppt.faq @@ -0,0 +1,194 @@ +%% @txtfile{ +%% filename = "amsppt.faq", +%% version = "2.2", +%% date = "2001/08/07", +%% time = "13:53:55 EDT", +%% checksum = "02733 194 1367 9268", +%% filetype = "AMS-TeX: user documentation", +%% author = "American Mathematical Society", +%% copyright = "Copyright 2001 American Mathematical Society, +%% all rights reserved. Copying of this file is +%% authorized only if either: +%% (1) you make absolutely no changes to your copy +%% including name; OR +%% (2) if you do make changes, you first rename it +%% to some other name.", +%% address = "American Mathematical Society, +%% Technical Support, +%% Publications Technical Group, +%% P. O. Box 6248, +%% Providence, RI 02940, +%% USA", +%% telephone = "401-455-4080 or (in the USA and Canada) +%% 800-321-4AMS (321-4267)", +%% FAX = "401-331-3842", +%% email = "tech-support@ams.org (Internet)", +%% codetable = "ISO/ASCII", +%% keywords = "amstex, ams-tex, tex", +%% abstract = "This file contains frequently asked questions and +%% answers concerning AMS-TeX, and in particular how +%% to cope with ``missing'' features and features of +%% the preprint documentstyle (amsppt) that are +%% specifically tailored to AMS publication style.", +%% docstring = "The checksum field above contains a CRC-16 checksum +%% as the first value, followed by the equivalent of +%% the standard UNIX wc (word count) utility output of +%% lines, words, and characters. This is produced by +%% Robert Solovay's checksum utility.", +%% } +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +Frequently asked questions about AMS-TeX and amsppt.sty. + + 1) Why does the bottom of every page get cut off when \magnification + is used? + 2) How can I prepare a two-column index for a book using AMS-TeX? + 3) I need 12pt type in my paper. How do I get it? + 4) I need to put a footnote in my bibliography, but it disappears. + How do I get it to print out? + 5) A page ending with a theorem is shorter than other pages. Why? + 6) Why am I getting a label ``E-mail address'' at the end of my paper + with no data? + 7) I need diagonal arrows in my commutative diagrams. How do I + get them? + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +1) Why does the bottom of every page get cut off when \magnification + is used? + +Version 2.1 of amsppt.sty was modified (in January 1997) to make the +output dimensions the same as those for the majority of AMS publications, +in particular journals. This made it possible to simplify quite radically +the AMS ``author packages'' for particular publications, thus (in the +long run) avoiding questions that were demanding scarce support time. + +One of the January 1997 changes consisted in positioning the running +head, i.e. the top of the type block, at the exact top of the normal +print area, rather than ``above'' the print area as is the default in +plain TeX. Although the default setting for laser printers starts the +printing 1in down from the top edge of the paper, on a typesetter, that +setting is traditionally 0 (to avoid wasting the expensive photographic +medium), and unless special measures are taken, the running heads would +print ``above'' the top, often overprinting something else or being lost +off the edge, resulting in even greater waste of materials and time. +In addition, running heads ``above'' the print area could not be checked +in the previewers used at AMS. + +The earlier behavior can be restored by specifying + \voffset-2pc +when processing a document with amsppt.sty. This command is present, +but commented out, in the file amsppt.sti, a file intended for the +specification of local defaults. Since amsppt.sti is automatically +read in by amsppt.sty, uncommenting the relevant command would adjust +the position of output on paper sufficiently to accommodate magnification +up to \magstep 1. + +Note that no AMS publication uses magnification as a technique for +providing larger type; if larger type is desired, that is encoded into +the relevant author package by providing additional fonts. + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +2) How can I prepare a two-column index for a book using AMS-TeX? + +AMS-TeX was originally intended to provide only features to make it +easier to typeset mathematical content -- display equations, theorems, +and similar material. Niceties of formatting were to be provided by +other packages such as LaTeX. Things didn't quite turn out that way, +and AMS-TeX and LaTeX didn't merge as readily as was once hoped. + +It is still not planned to add advanced formatting features, including +double columns, to AMS-TeX. However, some simple macros can be defined +and used in an AMS-TeX source file to produce an .idx file, which can +then be processed by the makeindex program. (Makeindex is included +with all standard TeX distributions.) The resulting .ind file can be +processed separately through (AMS-)LaTeX to create a two-column index. + +Macros compatible with makeindex and plain TeX (and therefore AMS-TeX) +can be found on CTAN, in the area + /tex-archive/macros/texsis/index/ + +Read the documentation that comes with makeindex and the comments in +the file index.tex for instructions. + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +3) I need 12pt type in my paper. How do I get it? + +This size isn't needed in most AMS publications, but when it is, it is +defined for the author packages that need it. In particular, \twelvepoint +is defined in the file ams-spec.sty, which is used with monographs and +book proceedings. (\elevenpoint is also defined in ams-spec.sty.) + +The file amsspec.sty can be obtained as part of the gen-m (generic book) +author package from the AMS web server: + http://www.ams.org/tex/author-info.html + +Create a file called myfonts.tex. Begin that file with the line + \savecat @ +and end it with the line + \restorecat @ +Copy the definition of \twelvepoint and all associated \font@ commands +from amsspec.sty into myfonts.tex. Then include the command + \input myfonts +in the preamble of your document file. + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +4) I need to put a footnote in my bibliography, but it disappears. + How do I get it to print out? + +Not only the footnote disappears, but also the element of the reference +to which the footnote is attached. This happens because the parts of +the footnote are boxed during processing, and footnotes disappear from +boxed material. The solution is to use \footnotemark in the reference, +and \footnotetext{...} after \endref. + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +5) A page ending with a theorem is shorter than other pages. Why? + +If a page break occurs between two theorems, or between any combination +of adjacent theorem or proof (\proclaim or \demo), the space following +the first one will fall before a favorable penalty and will not be +removed at the bottom of the page. This is due to a bug, in which the +vertical space preceding a theorem or proof will be removed only if it +is less than the space to be added In AMS style, the space above is +the same as the space below, so what should have been done is test for +a space less than or equal to the space to be added; however, to change +this now could cause changes in the paging of existing documents. + +In order to get rid of the extra space, put \pagebreak immediately +before the \endproclaim or \enddemo at the bottom of the page; this +should, of course, be done only for the final run. + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + + 6) Why am I getting a label ``E-mail address'' at the end of my paper + with no data? + +In the topmatter templates for AMS author packages, all possible tags +for subject and author information are included for convenience. If +any of these are left in your file with no data, ``empty'' footnotes +can appear on the first page (for \subjclass or \keywords), or labels +associated with author addresses can appear at the end of a paper with +no data. Checking for ``empty'' tags isn't easily accomplished, so an +author should make sure that any tag that doesn't have data is removed +or commented out. + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + + 7) I need diagonal arrows in my commutative diagrams. How do I + get them? + +The \CD structure of AMS-TeX provides only vertical and horizontal +connectors. To get diagonal connectors, it is necessary to use another +package. XY-pic, by Kristoffer Rose, provides many more facilities +than \CD, and it is compatible with AMS-TeX. XY-pic can be found on +CTAN, in the area + /tex-archive/macros/generic/diagrams/xypic/ +Be sure to read the excellent documentation, xyguide, which is available +in dvi, PostScript and PDF form, ready to print. + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% diff --git a/Master/texmf-dist/doc/amstex/base/amstinst.ps.gz b/Master/texmf-dist/doc/amstex/base/amstinst.ps.gz Binary files differnew file mode 100644 index 00000000000..0b1475b7f8b --- /dev/null +++ b/Master/texmf-dist/doc/amstex/base/amstinst.ps.gz diff --git a/Master/texmf-dist/doc/amstex/base/amstinst.tex b/Master/texmf-dist/doc/amstex/base/amstinst.tex new file mode 100644 index 00000000000..ec021e23d43 --- /dev/null +++ b/Master/texmf-dist/doc/amstex/base/amstinst.tex @@ -0,0 +1,415 @@ +%%% ==================================================================== +%%% @TeX-file{ +%%% filename = "amstinst.tex", +%%% version = "2.2", +%%% date = "2001/08/09", +%%% time = "18:47:33 EDT", +%%% checksum = "30594 415 2485 18444", +%%% filetype = "AMS-TeX: user documentation", +%%% author = "American Mathematical Society", +%%% copyright = "Copyright 2001 American Mathematical Society, +%%% all rights reserved. Copying of this file is +%%% authorized only if either: +%%% (1) you make absolutely no changes to your copy, +%%% including name; OR +%%% (2) if you do make changes, you first rename it +%%% to some other name.", +%%% address = "American Mathematical Society, +%%% Technical Support, +%%% P. O. Box 6248, +%%% Providence, RI 02940, +%%% USA", +%%% telephone = "401-455-4080 or (in the USA and Canada) +%%% 800-321-4AMS (321-4267)", +%%% FAX = "401-331-3842", +%%% email = "tech-support@ams.org (Internet)", +%%% codetable = "ISO/ASCII", +%%% keywords = "amstex, ams-tex", +%%% supported = "yes", +%%% abstract = "This file is part of the AMS-TeX distribution, +%%% version 2.2. It contains installation instructions. +%%% The file amsguide.tex inputs this file, but this +%%% file is also designed so that it can be processed +%%% separately, using only Plain TeX.", +%%% docstring = "The checksum field above contains a CRC-16 checksum +%%% as the first value, followed by the equivalent of +%%% the standard UNIX wc (word count) utility output of +%%% lines, words, and characters. This is produced by +%%% Robert Solovay's checksum utility.", +%%% } +%%% ==================================================================== +% +% This file is input by amsguide.tex, which requires AMS-TeX 2.1 or +% later. However it can also be typeset separately using Plain \TeX{}, +% means of the mechanism below: we check to see if amsppt.sty has +% been loaded earlier; if so, we set the catcode of the ~ character +% to 14 so that the following section of definitions will be ignored +% (since the definitions would be redundant); otherwise we set the +% catcode to 9 ("ignore") so that the definitions will be carried out. +% Several definitions differ from the ones in amsguide.tex because +% amsppt.sty is absent. +% +% Enclosing the definitions section within the initial \if ... +% \else ... \fi would be problematic because of the outerness of +% \head and \subhead in the amsppt documentstyle. +% +% Leave the definition of \head active; it is slightly different from +% the one in amsppt.sty, and gives a different result in Appendix C. +% +\expandafter\ifx\csname amsppt.sty\endcsname\relax + \catcode`\~=9 \else \catcode`\~=14 \let\BYE\relax \fi +~ \let\BYE\bye +~ \hsize=30pc \vsize=47pc + \def\head#1\endhead{\bigskip{\sc\noindent + \leftskip0pt plus.5\hsize \rightskip=\leftskip\parfillskip=0pt + \def\\{\break}#1\par}\nobreak\smallskip} + \font\sc=cmcsc10 +~ \def\subhead#1\endsubhead{\removelastskip\medskip{\bf\noindent +~ #1\par}\nobreak\smallskip} +~ \def\AmSTeX{{\the\textfont2 A\kern-.1667em% +~ \lower.5ex\hbox{M}\kern-.125emS}-\TeX\spacefactor 1000 } +~ \long\def\usertype#1{\smallskip +~ \moveright2pc\vbox{\def\par{\crcr}\halign{% +~ \setbox0\hbox{\tt##}% +~ \hbox\ifdim\wd0<10pc to10pc\fi{\unhbox0\hfil}% +~ \kern1pc \it $\langle$return$\rangle$\hss +~ \cr#1\crcr}}% +~ \smallskip} +~ \def\<#1>{{\it$\langle$#1\/$\rangle$}} +~ \hfuzz1pc % to suppress reporting of overfull boxes. +~ \hyphenation{amsppt} +~ \def\Textures{{\it Textures\/}} +~ \def\AMS{American Mathematical Society} +~ \def\filnam#1{{\tt\def\\{\char`\\}\ignorespaces#1\unskip}} +~ \hyphenchar\tentt=-1 % to prohibit hyphenation in tt text +~ \newdimen\exindent \exindent=2\parindent +~ {\obeylines +~ \gdef^^M{\par\penalty9999}% +~ \gdef\beginexample#1{\medskip\bgroup % +~ \def\~{\char`\~}\def\\{\char`\\}\def\{{\char`\{}\def\}{\char`\}}% +~ \overfullrule0pt\tt\frenchspacing % +~ \parindent=0pt#1\leftskip=\exindent\obeylines} +~ }% end \obeylines +~ \def\endexample{\endgraf\egroup\medskip} +~ \def\cs#1{\leavevmode +~ \skip0\lastskip\unskip\penalty0 +~ \ifdim\skip0>0pt \hskip\skip0\fi +~ {\tt\def\{{\char`\{}\def\}{\char`\}}% +~ \def\\{\char`\\}\char`\\\ignorespaces#1\unskip}} +~ \newcount\rostercount +~ \def\roster{\par\smallskip\begingroup \rostercount=0 +~ \def\par{{\endgraf}}\hangindent3pc +~ \def\item{\futurelet\next\iitem}% +~ \def\iitem{\ifx\next"\expandafter\iiitem +~ \else\advance\rostercount 1 \iiitem"(\the\rostercount)"\fi}% +~ \def\iiitem"##1"{\par \noindent\hbox to\hangindent{\hss##1\enspace}}% +~ } +~ \def\endroster{\par\smallskip\endgroup} +~ \def\newpage{\vfil\eject} +\catcode126=\active % restore ~ to normal; using `\~ here wouldn't work! +\def\TEXMF{{\tt TEXMF}} + +\head Appendix B\\ Installation Procedures\endhead + +\subhead B.1. Introduction\endsubhead + +The \AmSTeX{} software can be used with any implementation of \TeX{}\null. +Many \TeX{} distributions include \AmSTeX{}, ready to run; check the +documentation that came with the \TeX{} distribution you are using. +When a new version of \AmSTeX{} is released, all distributors are +notified, so if your \TeX{} system is up to date, it is likely that you +don't need to do anything at all. + +Most up-to-date \TeX{} installations are organized according to the +\TeX{} Directory Structure (TDS)\null. This is a tree structure whose +root is identified as something like {\tt /usr/local/share/texmf} or +{\tt c:\char`\\sw\char`\\texmf}. In the following instructions, +we will use the name \TEXMF{} to identify the root directory of a +TDS or similar structure. + +When installing a new release of \AmSTeX{}, you may want to first +back up your old version, if you have existing documents that use it. +Although new releases are intended to be backward compatible, a backup +provides insurance in case something goes wrong. + + +\subhead B.2. Location of \AmSTeX{} Files in a TDS Tree\endsubhead + +Files in the \AmSTeX{} distribution fall into four categories: +files for use with \TeX{}, source files, documentation, and formats. +The following list shows all the files in the current distribution, +along with their recommended locations in a TDS tree. + +\medskip +\begingroup +\obeylines\obeyspaces\tt% +TEXMF/ +\ tex/amstex/base/ +\ amstex.tex +\ amstex.ini +\ amsppt.sty +\ amsppt.sti +\ amsppt1.tex +\ tex/plain/amsfonts/ +\ amssym.def +\ amssym.tex +\ source/amstex/ +\ README +\ amsppt.doc +\ amstex.bug +\ doc/ams/amstex/ +\ amsguide.tex +\ amsguide.ps +\ amsppt.faq +\ amstinst.tex +\ amstinst.ps +\ joyerr.tex +\ joyerr2.tex +\ \<\TeX-implementation>/formats/ +\ amstex.fmt +\endgroup + +\medskip +\noindent +The \AmSTeX{} distribution can be retrieved in bundled form from the +AMS web site, e.g., as a \filnam{.zip} or \filnam{.tar} file. In this +form, the files are already arranged according to the TDS structure. +(The format file is not included in the distribution. It is +platform-specific, and must be created as part of the installation; +see below.) To install the collection from a TDS-formatted bundle, +place the bundled file into a convenient directory and unpack it using +the \TEXMF{} directory as the ``Extract to'' target. Some examples: + +\halign{\quad#\hfil\quad & #\hfil \cr + WinZip: & Click on ``Extract'' and then in the ``Extract to'' box, enter\cr + & {\tt\char`\\sw\char`\\texmf}\quad (or whatever TEXMF is on your + system)\cr + gzip: & {\tt gzip -dc amstex.tgz \char`\|\ (cd TEXMF; tar xvf -)}\cr + unzip: & {\tt unzip amstex2.zip -d TEXMF}\cr +} + +\noindent +The bundled file may be deleted after unpacking. + +If the files are obtained from CTAN (where they are mirrored from +the AMS server), they are not in TDS order. Use the above list to +place the files into the proper location. + +Note: If you currently have any of the following files from very old +releases of \AmSTeX{}, delete them before installing the new release. +They are either irrelevant or superseded in the new version of \AmSTeX{}, +and it is best to remove them to avoid confusion. If you back up your +existing \AmSTeX{} files before installing the new version, these files +should be included. + +\settabs4\columns {\tt +\+\ \ amsfil.chg& amsplain.tex& amsppt.mor& amstex.chg\cr +\+\ \ cyracc.def& cyrmemo.def& cyrmemo.tex& amsplain.fmt\cr +} + +\medskip +The TFM files for some of AMSFonts 2.2 (\filnam{msam*}, \filnam{msbm*}, +and \filnam{eufm*}) are needed to run \AmSTeX{} with the AMSPPT +document style, even if you don't plan to actually print anything using the +AMSFonts. (These fonts {\it are} needed to process and print the User's +Guide of which this appendix is a part.) TFM files are available from the +AMS web site, \filnam{www.ams.org/tex/amsfonts.html}, or by anonymous FTP +from \filnam{ftp.ams.org}. They should be placed in the directory +\filnam{TEXMF/fonts/tfm/ams/}. + + +\subhead B.3. What if Your \TeX{} System Isn't in a TDS Tree?\endsubhead + +If your \TeX{} system is arranged in some other way, you must consult +the user documentation for guidance. The hints that follow are just +that---hints. If your \TeX{} system documentation recommends something +different, you should follow that procedure. + +We recommend placing \AmSTeX{} files into distinct subdirectories or +folders, to simplify installation of future versions. + +First, determine where \TeX{} will look for files to be input. If +\filnam{amstex.tex} and \filnam{amssym.def} are already present, place +the files listed in section B.2 under {\tt tex/amstex/base/} and +{\tt tex/plain/amsfonts/} into those same areas. If neither of these +files is already present, look for the file \filnam{plain.tex}. +Create appropriate subdirectories under the area where you find this +file for the new \AmSTeX{} files. + +If there isn't any obvious place to put source or documentation files +(the ones listed in section B.2 under {\tt source/amstex/} and +{\tt doc/ams/amstex/}), you can put them in with the input files. +Consult the documentation for your \TeX{} distribution. + +Once all the files are installed, you are ready to create a format +file. + + +\subhead B.4. Creating a Format File\endsubhead + +Every implementation of \TeX{} uses format files to preload the macros, +fonts, and hyphenation patterns that define basic user environments +such as \AmSTeX. Although it is not strictly necessary to use a +format file for \AmSTeX, preloading will save startup time, especially +on slower systems. Note: Each format file takes up 150K--300K of +disk space (depending on your \TeX{} implementation). + +If your \TeX{} system already includes the format file \filnam{amstex.fmt}, +you may not have to create a new one; recent changes to \filnam{amstex.tex} +are cosmetic, and will not affect any math formatting features. +If the AMSPPT preprint style has been included in the format, then a new +format file is in order. (We recommend using the name \filnam{amsppt.fmt} +for a format file with AMSPPT preloaded so that there is no question which +is present; see below.) + +Creating a format file (also known as ``initialization'') requires a +special version of \TeX, a particular switch, or item in a menu. +Read the documentation for your \TeX{} distribution to learn how to +create a format file. + +Before creating your format file, you will want to consider whether you +habitually use the AMSPPT document style. If you use other document styles +rarely or never, then you would benefit from the use of a format file with +\filnam{amsppt.sty} preloaded. If you are likely to use other document styles +periodically, then you probably do not want to preload \filnam{amsppt.sty}. +To make a simple \AmSTeX{} format file, proceed with the next paragraph. +To make a format file with \filnam{amsppt.sty} preloaded, edit the file +\filnam{amstex.ini} and remove the percent sign (comment character) at the +beginning of the line {\tt\char`\%}\cs{documentstyle\{amsppt\}}, just before +the \cs{dump} command. Save this file with the name \filnam{amsppt.ini}. + +If you intend to use Type~1 outline versions of AMSFonts, read Appendix~C +before proceeding. Users of \Textures{} will have to comment out one more +\cs{input} statement; read the instructions. + +Update the file name database (if one is used) so that \TeX{} will be able +to find \filnam{amstex.ini} (or \filnam{amsppt.ini}) and the other files. +This may be done by a command such as {\tt texhash} or via a menu option. +Consult the documentation for your \TeX{} distribution for instructions +on how to perform this update. + +Now run the ``initialization'' version of \TeX{} on \filnam{amstex.ini} +(or \filnam{amsppt.ini}). This will create an \AmSTeX{} format file named +\filnam{amstex.fmt} (or \filnam{amsppt.fmt}). Some implementations of +\TeX{} will automatically place the format file in the proper directory; +otherwise you should move this file manually into the \TeX{} formats +directory. Once again update the file name database to make the format +file visible to \TeX{}. + + +\subhead B.5. Using \AmSTeX{} 2.0+\endsubhead + +With some \TeX{} implementations, a format file can be specified by preceding +its name with an ampersand: + +\usertype{tex \&amstex filename} + +Other implementations treat the name of the format file as a command: + +\usertype{amstex filename} + +Still other implementations allow the installation of this name as a +menu option. For details of how to use format files with your +implementation of \TeX{}, see your documentation. + + +\subhead B.5. Getting a printed copy of the User's Guide \endsubhead + +The \AmSTeX{} User's Guide can be obtained as a PDF file from the AMS +web site. It is also included in the distribution as a PostScript file, +ready to print (\filnam{amsguide.ps}). Or, you can use your newly +created \AmSTeX{} or AMSPPT format file to typeset the file +\filnam{amsguide.tex}; even if you print out this guide from another +source, we recommend using the file \filnam{amsguide.tex} as a test +to make sure that your newly installed \AmSTeX{} is working properly. + + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +\newpage +\csname firstpage\string @true\endcsname + +\head Appendix C\\ Before Installing \AmSTeX: Facts About Fonts\endhead + +\subhead C.1. Using AMSFonts in PostScript Type~1 Form\endsubhead + +The AMSFonts Version~2.2 have been converted to PostScript Type~1 outlines +in two forms: + +The AMS web site ({\tt www.ams.org/tex/type1-fonts.html}) holds the +canonical distribution. This is a collection containing all the +typefaces, but only in 5, 7, and 10 point sizes; other sizes must be created +by scaling. The \AmSTeX{} preprint style provides a way for authors to +indicate that fonts should be loaded under this alternative scaling +convention. If you are using this version of AMSFonts, insert the line +\cs{PSAMSFonts} in the preamble of your file, before the \cs{topmatter} +line; see section C.3, below, for instructions on making this your local +default. + +Basil Malyshev has created a collection, called BaKoMa, containing the +Computer Modern fonts as well as all sizes of the AMSFonts used in +mathematics, but excluding the \filnam{wncy*} cyrillic fonts. The BaKoMa +fonts can be used with no special action; however, for papers or monographs +to be published by the AMS, \cs{PSAMSFonts} should be specified. + + +\subhead C.2. Using AMS Symbol Fonts\endsubhead + +The preprint style automatically loads the Fraktur font (\filnam{eufm}) and +both fonts of extra symbols (\filnam{msam} and \filnam{msbm}), as well as +all the symbol names, as described in the sections {\bf Fonts} and +{\bf Symbol Names}. If these will not be used, and you want a version of +\filnam{amsppt.sty} that requires less memory than the default version, you +can suppress the loading of these resources. If \filnam{amsppt.sty} is to +be included in your format file, you must make this change before creating +the format file. See the next section for instructions. + +\subhead C.3 Setting Local Default Options\endsubhead + +An ``initialization file'', \filnam{amsppt.sti}, contains settings for +some options that a user may wish to change locally. This file is read +in automatically by \filnam{amsppt.sty}. + +Two lines in \filnam{amsppt.sti} affect the inclusion of AMS symbol fonts: +\beginexample{} +\\loadeufm \\loadmsam \\loadmsbm +\\message\{symbol names\}\\UseAMSsymbols\\message\{,\} +\endexample +\noindent +To use \filnam{amsppt.sty} without AMSFonts, comment out both lines (place +a {\tt\char`\%} at the beginning of each line); to disable just the symbol +names, comment out the second line. In either case, remove the {\tt\char`\%} +sign from the beginning of the line +\beginexample{} +\%\\define\\square\{\\vrule width.6em height.5em depth.1em\\relax\} +\endexample +\noindent +This is required for using \cs{qed} to indicate end of proof. +Extra math symbols can be loaded on demand with \cs{newsymbol} or by +including \cs{UseAMSsymbols} in the preamble of a particular document. + +In order to make the Type~1 versions of the AMSFonts as distributed from +the AMS web site your local default, activate the line +\beginexample{} +\%\\PSAMSFonts +\endexample +\noindent +by removing the {\tt\char`\%} sign from the beginning of the line. + + +\BYE % This is = \relax if this file is input by amsguide.tex +%% \CharacterTable +%% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z +%% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z +%% Digits \0\1\2\3\4\5\6\7\8\9 +%% Exclamation \! Double quote \" Hash (number) \# +%% Dollar \$ Percent \% Ampersand \& +%% Acute accent \' Left paren \( Right paren \) +%% Asterisk \* Plus \+ Comma \, +%% Minus \- Point \. Solidus \/ +%% Colon \: Semicolon \; Less than \< +%% Equals \= Greater than \> Question mark \? +%% Commercial at \@ Left bracket \[ Backslash \\ +%% Right bracket \] Circumflex \^ Underscore \_ +%% Grave accent \` Left brace \{ Vertical bar \| +%% Right brace \} Tilde \~} diff --git a/Master/texmf-dist/doc/amstex/base/joyerr.tex b/Master/texmf-dist/doc/amstex/base/joyerr.tex new file mode 100644 index 00000000000..4a8771aafe5 --- /dev/null +++ b/Master/texmf-dist/doc/amstex/base/joyerr.tex @@ -0,0 +1,512 @@ +%% @texfile{ +%% filename="joyerr.tex", +%% version="2.1", +%% date="8-MAY-1991", +%% filetype="AMS-TeX: user documentation", +%% copyright="Copyright (C) American Mathematical Society, +%% all rights reserved. Copying of this file is +%% authorized only if either: +%% (1) you make absolutely no changes to your copy +%% including name; OR +%% (2) if you do make changes, you first rename it to some +%% other name.", +%% author="American Mathematical Society", +%% address="American Mathematical Society, +%% Technical Support Department, +%% P. O. Box 6248, +%% Providence, RI 02940, +%% USA", +%% telephone="401-455-4080 or (in the USA) 800-321-4AMS", +%% email="Internet: Tech-Support@Math.AMS.org", +%% codetable="ISO/ASCII", +%% checksumtype="line count", +%% checksum="512", +%% keywords="amstex, ams-tex, tex", +%% abstract="This file contains errata to The Joy of TeX, +%% 1986 edition. It must be run with AMSTEX and AMSPPT +%% 2.0+; it is incompatible with previous versions. +%% It also requires the file AMSSYM.TEX and the fonts +%% MSAM10 and MSBM10." +%% } +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\input amstex +\documentstyle{amsppt} + +\define\lastupdate{15 October 89} + +\pagewidth{29pc} +\raggedbottom +\tenpoint + +\def\JoT{{\sl The Joy of \TeX}} + +% Support verbatim listing of TeX source, as defined in TeXbook, p. 421; +% lifted from MANMAC.TEX, and modified slightly for narrower columns. +\catcode`\@=11 + +\chardef\other=12 +\def\ttverbatim{\begingroup \catcode`\\=\other + \catcode`\{=\other \catcode`\}=\other \catcode`\$=\other + \catcode`\&=\other \catcode`\#=\other \catcode`\%=\other + \catcode`\~=\other \catcode`\_=\other \catcode`\^=\other + \catcode`\"=\other + \obeyspaces \obeylines \hyphenpenalty=10000 \tt} + +\newskip\ttglue +{\tenpoint\tt \global\ttglue=.5em plus .25em minus .15em} +% this should be installed in each font + +% From David Eppstein's ``Trees'' paper (TUGboat 6#1), preserve initial +% spaces. +{\obeyspaces\gdef {\ifvmode\indent\fi\space}} + +% Permissible overhang beyond right margin. +\newdimen\ttrightskip +\ttrightskip=5pc + +% Although | is ordinarily an escape character within verbatim mode, +% provide a method for letting it instead be the character itself +% within a display verbatim listing, as needed; this is based on +% a technique developed by Michael Ferguson. Note that within one +% \begintt...\endtt block, | can be only one of: +% the printing | character, or +% active (the escape character) +% It cannot perform both functions at the same time. +\newif\ifttVertChar \ttVertCharfalse +{\catcode`\|=\active \gdef\VertChar{\def|{\char"7C }}} + +% Other non-tt elements that may be embedded within \begintt...\endtt . +\def\MTH{$} +\def\sb{_} +\def\sp{^} +\def\SP{{\tt\char"20 }} % "visible" space +\chardef\bs=`\\ +\def\vrt{{\tt\char`\|}} + +\catcode`\|=\active +{\obeylines \gdef\activatettbar{\global\catcode`\|=\active % + \gdef|{\ttverbatim \spaceskip\ttglue \xspaceskip\ttglue % + \let^^M=\ \let|=\endgroup}}} +\activatettbar + +\catcode`\@=13 + +\def\ttindent{\noindent\kern3\parindent\hangindent3\parindent} + +% This definition is stolen from the file of TeXbook errata. +\def\bugonpage#1(#2) \par{\bigbreak\tenpoint + \hrule width\hsize + \line{\lower3.5pt\vbox to13pt{}Page #1\hfil(#2)}\hrule width\hsize + \nobreak\medskip} + +% Some definitions for setting particular Joy notation. +\def\CR{$\langle$carriage-return$\rangle$} +\def\tab{{\smc tab}} + +\NoBlackBoxes + +\topmatter +\title Errata to \JoT{} prior to \AmSTeX{} 2.0\endtitle +\endtopmatter + +\document + +\noindent +This list of corrections to \JoT, 1986 edition, includes all known +corrections that preceded the release of \AmSTeX{} Version 2.0. +Reprints with corrections may already incorporate some or all of +these changes. + +The printing date of each copy of \JoT\ is identified on the reverse +of the title page. The list below will permit you to determine +which corrections have not already been incorporated in your copy of \JoT. + +\smallskip +\halign{\kern 30pt #\hfil\qquad&#\hfil\cr +First printing, 1986 & all changes\cr +Second printing with corrections, 1986 & changes after 11/25/86\cr +Third printing with corrections, 1987 & changes after 5/12/87\cr} +\smallskip + +For differences between earlier versions of \AmSTeX{} and Version 2.0, +see the {\bf User's Guide to \AmSTeX{} 2.0}. +The second edition of \JoT{}, 1990, contains all changes in this list +as well as new material for \AmSTeX{} 2.0. + +(This errata list was last updated \lastupdate.) + + +\bugonpage 12, line 12 (11/11/86) + +\noindent +What output is produced by |\$\|\SP|\|\SP|1.00| and by |\$|\SP|\|\SP|1.00|? + +\bugonpage 22, line 28 (11/24/86) + +\line{will be some surprises in it---so you should go pick it up +as soon as possible.\hfil} + +\bugonpage 26, line 9 (10/15/89) + +\line{uptight when you encounter an error message, because +\TeX\ can always be coaxed} + +\bugonpage 39, line 4 (10/15/89) + +\line{words as evenly as possible. But everyone knows that such +bland perfection isn't} + +\bugonpage 39, line $-4$ (12/12/89) + +\line{allowed here also, to accommodate threesomes, foursomes, and +even more perverse} + +\bugonpage 44, line $-10$ (12/12/89) + +\line{their own papers might prefer to leave these details to someone +else, and even} + +\bugonpage 81, line 13 (10/25/89) + +\line{But don't use |\,| before an expression like $\dsize \frac{dy}{dx}$ +or before the $dx$ in $dy/dx$.} + +\bugonpage 88, line $-5$ (5/11/87) + +\centerline{\indent We derive the quadratic formula by +``completing the square'':} + +\bugonpage 90, line $-4$ (10/15/89) + +\line{to the old style that they may be discomforted by the +``improvements''.\hfil} + +\bugonpage 99, lines 15--16 (8/6/86) + +{\baselineskip 18pt +\ttindent +|$\varinjlim$ |$\varinjlim$\newline +|$\varprojlim$ |$\varprojlim$\endgraf +}% end extra \baselineskip + +\bugonpage 108, line 11 (11/11/86) + +\ttindent +| &=(a+b)(a+b)^n=(a+b)| + +\bugonpage 109, line 6 (12/12/89) + +\line{when tags are set on the right. What input do you think you +should use?\hfill} + +\bugonpage 109, line $-14$ (10/15/89) + +\line{so that the |=\bigl[| is aligned with the invisible |\qquad|. +Notice, again, that such} + +\bugonpage 113, line 1 (4/10/86) + +\line{And there's |\bmatrix...\endbmatrix| to get brackets + |\left[...\right]| around} + +\bugonpage 127, line 11 (7/13/87) + +\line{\indent If you're an experienced mathematical typist you've +probably already begun to} + +\bugonpage 129, lines 14--15 (10/15/89) + +\def\vector#1#2{(#1_1,\dots,#1_{#2})} +\begingroup +\hyphenpenalty=10000 +\noindent +with things like $\vector xm$, +$\vector y{n+1}$ as well. Explain how to define |\vector| so that we can +type these as |$\vector xm$| and |$\vector y{n+1}$|. + +\endgroup + +\bugonpage 129, last 3 lines (10/15/89) + +\noindent +In Exercise 19.20 we defined |\vector| so that +|$\vector xn$| produces $\vector xn$, etc. But perhaps you don't like this, +perhaps you'd prefer to type |$\vector nx$|, with the `|n|' +first, and the `|x|' second. How can you arrange this? + +\bugonpage 131, lines 10--11 (10/15/89) + +\begingroup +\noindent +How would you |\define| the control sequence |\vector| so that +you type |$\vector x,n.$| to get $\vector xn$, and |$\vector y,m+1.$| to get +$\vector y{m+1}$, etc. + +\endgroup + +\bugonpage 144, line 16 (10/15/89) + +\line{\indent This command is ``global''---it affects everything +that follows, even if it is in-} + +\bugonpage 162, line $-6$ (5/11/87) + +\line{if you typed |\footnote""{...}| then you would get no marker +at all, just a note} + +\bugonpage 171, line $-7$ (10/15/89) + +\line{too much, and only |\linebreak| will force \TeX\ to overcome +its reluctance.\hfil} + +\bugonpage 176, line 4 (12/12/89) + +\line{about it, and an |&| is tolerated only in special situations. +So you should remember} + +% This feature has been reinstated in AMS-TeX 2.0. +%\bugonpage 178, PAGE NUMBERS (11/14/86) +% +%Warning: |\nopagenumbers| does not at present work as advertised +%with the |amsppt| style. Consequently, this paragraph has been +%deleted. + +%\bugonpage 178, between lines $-5$ and $-6$ (10/15/89) +% +%\line{\bf PAGE NUMBERS\hfil} +%\vskip 2pt +%\noindent If you are using the |amsppt| style and you type +%|\nopagenumbers| at the beginning of the document (after the +%|\documentstyle| line), the page numbers at the bottom of the page +%will disappear. Other styles probably will ignore |\nopagenumbers|. + +\bugonpage 179, line 4 (10/15/89) + +\line{change its position on the 8$\frac12$ by 11 sheet of paper. +Typing\hfil} + +\bugonpage 180, lines 5--6 (10/15/89) + +\ttindent +| &=f'(x) = \frac1{2\sqrt x}\qquad|\newline +| \foldedtext\foldedwidth{2in}{for some $x$ in $(k, k+1)$,| + +\bugonpage 181, line $-$4 (10/15/89) + +\line{should be included at the end of that displayed formula.\hfil} + +\bugonpage 182, line $-2$ (12/12/89) + +\line{argument'' feature of |\roster| (again compare with +{\bf footnote}). If you type} + +\bugonpage 186, line 13 (10/15/89) + +\line{commands are ``global''---they affect everything +that follows even if used in a group} + +\bugonpage 189, line 21 (12/12/89) + +\line{will first be divided into lines of a certain length +(3 inches less than the width} + +\bugonpage 195, lines 4, 11 (7/13/87) + +Change\qquad ``In addition to''\qquad to\qquad ``First we have''. + +\bugonpage 195, line $-1$ (12/12/89) + +\ttindent +|... in a bibliography''.| + +\bugonpage 202, line $-6$ (12/12/89) + +\line{If `|etc.|' were typed instead of `|etc\.|' there would be a +larger space after the} + +\bugonpage 208, line 12 (12/12/89) + +\line{it does in ordinary text.\hfil} + +\bugonpage 210, line 4 (12/12/89) + +\line{you'll get the two equations $a+b=c$ and $A+B=C$ displayed +separately.} + +\bugonpage 212, line 6 (12/12/89) + +\line{If you press \CR, \TeX\ will continue merrily, and you will get +$a^b{}^c$} + +\bugonpage 218, line $-6$ (7/13/87) + +\line{Of course, you weren't supposed to anticipate such after-the-fact +corrections.\hfil} + +\bugonpage 222, answer to {\bf 14.11}, line 1 (10/15/89) + +\ttindent +|We derive the quadratic formula by| + +\bugonpage 229, answer to {\bf 15.19}, lines 2--3 (10/15/89) + +\ttindent +|$\operatorname{\text{\sl SO}}(n)$ |% + $\operatorname{\text{\sl SO}}(n)$\newline +|$\operatorname{\text{\bf SO}}(n)$ |% + $\operatorname{\text{\bf SO}}(n)$ + +\bugonpage 230, answer to {\bf 16.3}, lines 6--9 (10/25/89) + +\noindent +to suppress any extra space that \TeX\ might put in. (Actually, +|...\tag{$**$}$$| happens to work correctly, but |...\tag{$***$}$$| +would give the tag ($***$); rather than worrying about why this +happens, just type |...\tag{${*}{*}$}$$|\linebreak +and |...\tag{${*}{*}{*}$}$$| to be on the safe side.) + +\bugonpage 230, answer to {\bf 16.4}, line 3 (7/13/87) + +\ttindent +|Q^l&=Q_1\biggl\{\sum_k(-1)^k(PQ_1-I)^k\biggr\}| + +\bugonpage 230, answer to {\bf 16.4}, line 6 (10/25/89) + +\ttindent +| Q_1\tag 1{${}_r$}| + +\bugonpage 231, answer to {\bf 16.6} (10/25/89) + +\noindent Line 2: + +\ttindent +|\align \alpha_4&=\sqrt{\dfrac12}\\| + +\noindent Line 6: + +\ttindent +|\text{etc.}| + +\bugonpage 233, answer to {\bf 17.4}, line 6 (5/13/86) + +\ttindent +| \dots, $b_{3k}$.}\endmultline| + +\bugonpage 234, answer to {\bf 18.4} (5/13/86) + +\noindent Line 6: + +\ttindent +|\pmatrix \format\r&\quad\r\\| + +\noindent Line 10: + +\ttindent +|=\pmatrix \format\r&\quad\r\\| + +\bugonpage 239, answer to {\bf 19.13} (10/15/89) + +\gdef\vector#1{(#1_1,\dots,#1_n)}% +\ttindent +|\define\vector#1{(#1_1,\dots,#1_n)}| +\medskip +\noindent +and then use |$\vector x| to get $\vector x$ and |$\vector y$| to get +$\vector y$, etc. + +\bugonpage 240, answer to {\bf 19.14} (10/15/89) + +\ttindent +|$\vector\alpha$| and |$\vector{x'}$|. + +\bugonpage 240, answer to {\bf 19.15} (10/15/89) + +\noindent{\bf 19.15.} +You can get $\vector{{x'}}$ by typing |$\vector{{x'}}$|; now the argument is +|{x'}| and |{x'}_1| gives ${x'}_1$, etc. On the other hand, + you can't get the formula $(x_1{}',\dots,x_n{}')$ using |\vector|---you'd +just have to type it out in full. + +\bugonpage 240, answer to {\bf 19.20} (10/15/89) + +\ttindent +|\define\vector#1#2{(#1_1,\dots,#1_{#2})}| + +\bugonpage 242, answer to {\bf 19.23} (10/15/89) + +\ttindent +|\define\vector#1#2{(#2_1,\dots,#2_{#1})}| +\medskip +\noindent +Although |#1| and |#2| must appear in that order after the +|\define\vector|, they can appear in any order within +the definition itself. + +\bugonpage 242, answer to {\bf 19.24} (10/15/89) + +\ttindent +|\define\vector#1,#2.{(#1_1,\dots,#1_{#2})}| + +\bugonpage 242, answer to {\bf 19.27}, line 1 (7/13/87) % Francis O. McGuinness + +\line{{\bf 19.27.} This is a perfectly acceptable |\define|, but you are +{\sl not\/} defining a new} + +\bugonpage 251, line 1 (10/25/89) + +\line{is supplied as a synonym for |\thickspace|. In |plain|, the thick +space |\;| can} + +\bugonpage 252, line 6 (11/11/86) + +\ttindent +|$f''^2$| + +\bugonpage 261, after line 12 (6/22/87) + +Add\qquad $\eqsim$\quad|\eqsim| + +\bugonpage 261, line 15 (6/22/87) + +Change\qquad $\ncong$\quad|\napprox|\qquad to\qquad $\ncong$\quad|\ncong| + +\bugonpage 262, line 15 (11/14/86) + +Change\qquad $\eth$\quad|\thorn|\qquad to\qquad $\eth$\quad|\eth| + +\bugonpage 264, line 1 (11/11/86) + +\centerline{\bf Appendix G: $\{$\TeX\ Users$\}$} + +\bugonpage 265, line 6 (11/11/86) + +\line{you might want to look back at Appendix G\null. + Perhaps someone in TUG has} + +\bugonpage 275, column 1 (11/14/86) + +Add entry\newline +|\eth| ($\eth$),\quad 262 + +\bugonpage 279, column 1 (12/12/89) + +\noindent +|\lesssim| ($\lesssim$),\quad 260 + +\bugonpage 281, column 1 (6/22/86) + +Remove entry for\quad |\napprox| + +Add entry\newline +|\ncong| ($\ncong$),\quad 261 + +\bugonpage 284, column 1 (12/12/89) + +\noindent +|\Psi| ($\Psi$),\quad 255 + +\bugonpage 288, column 2 (11/14/86) + +Delete entry for\quad |\thorn| + +\enddocument diff --git a/Master/texmf-dist/doc/amstex/base/joyerr2.tex b/Master/texmf-dist/doc/amstex/base/joyerr2.tex new file mode 100644 index 00000000000..8e1881980ac --- /dev/null +++ b/Master/texmf-dist/doc/amstex/base/joyerr2.tex @@ -0,0 +1,319 @@ +%% @texfile{ +%% filename = "joyerr2.tex", +%% version = "1.01", +%% date = "2001/08/05", +%% time = "17:03:46 EDT", +%% checksum = "04000 319 1132 9628", +%% author = "American Mathematical Society", +%% filetype = "AMS-TeX: user documentation", +%% copyright = "Copyright 2000 American Mathematical Society, +%% all rights reserved. Copying of this file is +%% authorized only if either: +%% (1) you make absolutely no changes to your copy +%% including name; OR +%% (2) if you do make changes, you first rename it to some +%% other name.", +%% address = "American Mathematical Society, +%% Technical Support, +%% Electronic Products and Services, +%% P. O. Box 6248, +%% Providence, RI 02940, +%% USA", +%% telephone = "401-455-4080 or (in the USA and Canada) +%% 800-321-4AMS (321-4267)", +%% FAX = "401-331-3842", +%% email = "tech-support@ams.org (Internet)", +%% codetable = "ISO/ASCII", +%% keywords = "amstex, ams-tex, tex", +%% abstract = "This file contains errata to The Joy of TeX, +%% second edition, 1990. It must be run with AMSTEX +%% and AMSPPT 2.0+; it is incompatible with previous +%% versions. It also requires the file amssym.tex and +%% the fonts msam10 and msbm10.", +%% docstring = "The checksum field above contains a CRC-16 checksum +%% as the first value, followed by the equivalent of +%% the standard UNIX wc (word count) utility output of +%% lines, words, and characters. This is produced by +%% Robert Solovay's checksum utility.", +%% } +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\input amstex +\documentstyle{amsppt} + +\define\lastupdate{5 August 2001} + +\pagewidth{29pc} +\raggedbottom +\tenpoint + +% \ninepoint required for diversions; sidetrip symbol not available. +% Substitute 7pt for \scriptfont, usually 6pt; not really needed +\catcode`\@=11 +\font@\ninerm=cmr10 at 9pt +\font@\ninei=cmmi10 at 9pt +\font@\ninesy=cmsy10 at 9pt +\font@\nineit=cmti10 at 9pt +\font@\ninesl=cmsl10 at 9pt +\font@\ninebf=cmbx10 at 9pt +\font@\ninett=cmtt10 at 9pt +\def\ninepoint{\normalbaselineskip12pt + \def\rm{\fam0\ninerm}% + \def\it{\fam\itfam\nineit}% + \def\sl{\fam\slfam\ninesl}% + \def\bf{\fam\bffam\ninebf}% + \def\tt{\ninett}% + \def\smc{\tensmc}% + \textfont0=\ninerm \scriptfont0=\sevenrm \scriptscriptfont0=\fiverm + \textfont1=\ninei \scriptfont1=\seveni \scriptscriptfont1=\fivei + \textfont2=\ninesy \scriptfont2=\sevensy \scriptscriptfont2=\fivesy + \textfont3=\tenex \scriptfont3=\tenex \scriptscriptfont3=\tenex + \textfont\itfam=\nineit + \textfont\slfam=\ninesl + \textfont\bffam=\ninebf \scriptfont\bffam=\sevenbf + \scriptscriptfont\bffam=\fivebf + \tt\ttglue=.45em minus .135em + \setbox\strutbox=\hbox{\vrule height8pt depth3pt width0pt}% + \normalbaselines\rm} + +\def\JoT{{\sl The Joy of \TeX}} + +% Support verbatim listing of TeX source, as defined in TeXbook, p. 421; +% lifted from MANMAC.TEX, and modified slightly for narrower columns. +\catcode`\@=11 + +\chardef\other=12 +\def\ttverbatim{\begingroup \catcode`\\=\other + \catcode`\{=\other \catcode`\}=\other \catcode`\$=\other + \catcode`\&=\other \catcode`\#=\other \catcode`\%=\other + \catcode`\~=\other \catcode`\_=\other \catcode`\^=\other + \catcode`\"=\other + \obeyspaces \obeylines \hyphenpenalty=10000 \tt} + +\newskip\ttglue +{\tenpoint\tt \global\ttglue=.5em plus .25em minus .15em} +% this should be installed in each font + +% From David Eppstein's ``Trees'' paper (TUGboat 6#1), preserve initial +% spaces. +{\obeyspaces\gdef {\ifvmode\indent\fi\space}} + +% Permissible overhang beyond right margin. +\newdimen\ttrightskip +\ttrightskip=5pc + +% Although | is ordinarily an escape character within verbatim mode, +% provide a method for letting it instead be the character itself +% within a display verbatim listing, as needed; this is based on +% a technique developed by Michael Ferguson. Note that within one +% \begintt...\endtt block, | can be only one of: +% the printing | character, or +% active (the escape character) +% It cannot perform both functions at the same time. +\newif\ifttVertChar \ttVertCharfalse +{\catcode`\|=\active \gdef\VertChar{\def|{\char"7C }}} + +% Other non-tt elements that may be embedded within \begintt...\endtt . +\def\MTH{$} +\def\sb{_} +\def\sp{^} +\def\SP{{\tt\char"20 }} % "visible" space +\chardef\bs=`\\ +\def\vrt{{\tt\char`\|}} + +\catcode`\|=\active +{\obeylines \gdef\activatettbar{\global\catcode`\|=\active % + \gdef|{\ttverbatim \spaceskip\ttglue \xspaceskip\ttglue % + \let^^M=\ \let|=\endgroup}}} +\activatettbar + +\catcode`\@=13 + +\def\ttindent{\noindent\kern3\parindent\hangindent3\parindent} + +% This definition is stolen from the file of TeXbook errata. +\def\bugonpage#1(#2) \par{\bigbreak\tenpoint + \hrule width\hsize + \line{\lower3.5pt\vbox to13pt{}Page #1\hfil(#2)}\hrule width\hsize + \nobreak\medskip} + +% Some definitions for setting particular Joy notation. +\def\CR{$\langle$carriage-return$\rangle$} +\def\tab{{\smc tab}} + +\NoBlackBoxes + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +\topmatter +\title Errata to \JoT, second edition,\linebreak + for \AmSTeX{} 2.0\endtitle +\leftheadtext{Errata to \JoT, second edition, for \AmSTeX{} 2.0} +\rightheadtext{Errata to \JoT, second edition, for \AmSTeX{} 2.0} +\endtopmatter + +\document + +\noindent +This list of corrections to \JoT, second edition, 1990, includes all known +corrections to that edition. Corrections for the previous edition, which +preceded the release of \AmSTeX{} Version 2.0, can be found in the file +|joterr.tex|. + +The printing date of each copy of \JoT\ is identified on the reverse +of the title page. No corrections have been made in any reprint of +\JoT, second edition, since the initial printing in 1990. + +\smallskip +(This errata list was last updated \lastupdate.) + + +\bugonpage xviii, line 16 (1997/06/07) + +\noindent +[{\sl change $d0$ at end of line to $d\theta$.}] + +\bugonpage xx, line 14 (1997/06/07) + +\noindent +[{\sl change $d0$ at end of line to $d\theta$.}] + +\bugonpage 19, lines $-9$ to $-7$ (1997/06/07) + +\begingroup +\hsize27.5pc +\leftskip1.5pc +\noindent +sensation, particularly the material that he has expounded on pages\linebreak +22--23. Including this material cost an extra \$1000, but it did make +\P\P\linebreak +1 and 2 quite popular +\endgroup + +\bugonpage 23, lines 24--26 (1997/06/07) + +\begingroup +\hsize=30.15pc +\BlackBoxes +\indent The head of the department, our university's own I. M. Stable, + attributes Treemu\-nch's recent aberrant behavior to the much-publicized + ``research'' for his paper; notwithstanding, others say that Treemunch's + name isn't on the computers' databases, +\par +\endgroup + +\bugonpage 24, line 17 (1997/06/07) + +\noindent\kern1.5pc +\line{notwithstanding, others say that Treemunch's name isn't on + the computers'} + +\bugonpage 24, line $-13$ (1997/06/07) + +\ttindent +|the computers'\linebreak databases ...| + +\bugonpage 33, line 9 (1997/06/07) + +\line{\indent Ties are often preferable to |\.|\ after abbreviations. +For example, it is best} + +\bugonpage 97, lines 7--8 (1997/06/07) + +\noindent +some other kind of tag. Some journals place these tags to the left of +the formula: + +\bugonpage 129, line 13 (1997/06/07) + +\noindent\kern-1.5pc +{\bf ACCENTS IN MATH MODE} + +\bugonpage 137, line 12 (1997/06/07) + +\noindent\kern-1.5pc +{\bf ARROWS} + +\bugonpage 163, line 16 (1997/06/07) + +\noindent\kern-1.5pc +{\bf GREEK LETTERS} + +\bugonpage 163, line 21 (1997/06/07) + +\noindent\kern-1.5pc +{\bf HORIZONTAL BRACES} + +\bugonpage 175, line $-13$ (1997/06/07) + +\noindent +|amsppt| style, you still must type |\loadmsam| and |\loadmsbm| but you can + +\bugonpage 182, line 20 (1997/06/07) + +\noindent\kern-1.5pc +{\bf RUNNING HEADS} + +\bugonpage 183, lines $-3$ to $-2$ (1997/06/07) + +\noindent +the |\bigl| and |\bigr| for the delimiters (see {\bf big and bigg}) +should be accompanied by a |\bigm|{\tt\char`\|} for the $\vert$: + +\bugonpage 194, lines $-4$ to $-3$ (1997/06/07) + +\begingroup +\NoBlackBoxes +\ninepoint +\leftskip18pt +\noindent +\AmSTeX\ also takes care to disregard extraneous spaces in constructions +like \hbox{|\author|} and |\title|. Although we typed\par +\endgroup + +\bugonpage 201, line $-11$ (1997/06/07) + +\noindent +\line{tuation, the |amsppt| preprint style provides a command |\rom| to +be applied} + +\bugonpage 244, lines $-3$ to $-1$ (1997/06/07) + +\noindent +When you leave out the |&|, \TeX\ simply inserts a blank for the right +hand part of the second formula, so the whole second formula was treated +as the left hand part, with the right hand part being blank. + +\bugonpage 291, column 2 (1999/01/07) + +Add entry\newline +empty delimiter (|\left.|, |\right.|), 85, 144 + +\bugonpage 293, column 2, index entry ``formulas'' (1996/11/23) + +Add second level entry\newline +\indent{\it see also\/} tags + +\bugonpage 298, column 1 (1997/06/07) + +\noindent +margin gap in |\multline|, 175 + +\bugonpage 298, column 1, index entry ``math formulas'' (1997/06/07) + +Add second level entry\newline +\indent|\tag|, 97 + +\bugonpage 293, column 2, index entry ``numbers'' (1996/11/23) + +Add second level entry\newline +\indent{\it see also\/} tags + +\bugonpage 300, column 1, index entry ``operators'' (1997/06/07) + +\indent space around, 43--44, 164-165, 224 + +\bugonpage 303, column 1, index entry ``relations'' (1997/06/07) + +\indent space around, 43--44, 137, 165 + +\enddocument diff --git a/Master/texmf-dist/doc/amstex/siam/amsamp.tex b/Master/texmf-dist/doc/amstex/siam/amsamp.tex new file mode 100644 index 00000000000..44048937dd7 --- /dev/null +++ b/Master/texmf-dist/doc/amstex/siam/amsamp.tex @@ -0,0 +1,365 @@ +% This is the sample paper for the AmSTeX SIAM style file, (amstex)siam.sty +% for use with AmSTeX version 2.1 or later and amsppt.sty, version 2.1a. +% RCS information: $Revision: 1.1 $, $Date: 93/01/25 15:33:19 $. +\input amstex +\documentstyle{amstexs1} +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% Macro definitions for running heads and first page % +\accepted\SIMAF % +\firstpageno{10} % +\lastpageno{12} % +\issuevolume{1} % +\issuenumber{2} % +\issuemonth{February} % +\placenumber{002} % place of paper in this issue % +\issueyear{1988} % +\shortauthor{Bradley J. Lucier and Douglas N. Arnold} % +\shorttitle{A Sample Paper} % +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% Macros specific to this paper % +\define\loner{{L^1(\Bbb R)}} % +\define\linfr{{L^\infty(\Bbb R)}} % +\define\bvr{{\roman{BV}(\Bbb R)}} % +\define\TV{{\roman {TV}}} % +\define\sdot{\,\cdot\,} % +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\topmatter +\title +A SAMPLE PAPER, WITH A RATHER LONG TITLE, TO ILLUSTRATE THE +\AmSTeX\ SIAM STYLE\footnote[\boldkey*]{Unlikely to appear.} +\endtitle +\author +BRADLEY J. LUCIER\footnote[\dag]{Department of Mathematics, Purdue University, +West Lafayette, Indiana 47907. Present address, somewhere on the beach +(lucier\@math.purdue.edu). +The work of the first author was not supported by the +Wolf Foundation.}\ and DOUGLAS N. ARNOLD\footnote[\ddag]{Department +of Mathematics, Pennsylvania State University, +University Park, Pennsylvania 16802.} +\endauthor +\abstract +This sample paper illustrates many of the amstex +macros as used with the \AmSTeX\ SIAM style file amstexsiam (version 2.0a). +The \AmSTeX\ SIAM style file, which +inputs and builds upon the amsppt style (version 2.1a or later) +of Michael Spivak, gives authors easy +access to most of the typographical constructions used in SIAM journals. +It does not address the issues of the table of contents +or tables, which must be set using more primitive \TeX\ macros. +\endabstract +\keywords +porous medium, interface curves +\endkeywords +\subjclass +65N60 +\endsubjclass +\endtopmatter +\document +\subhead 1. Introduction\endsubhead +We are concerned with numerical approximations to the so-called +porous-medium equation \cite{6}, +$$ +\alignedat2 + &u_t=\phi(u)_{xx},&&\qquad x\in\Bbb R,\quad t>0,\quad\phi(u)=u^m,\quad m>1, +\\ + &u(x,0)=u_0(x),&&\qquad x\in\Bbb R. +\endalignedat +\tag 1.1 +$$ +We assume that the initial data $u_0(x)$ has bounded support, that +$0\leq u_0\leq M$, and that $\phi(u_0)_x\in\bvr$. +It is well known that a unique solution $u(x,t)$ of (1.1) exists, +and that $u$ satisfies +$$ + 0\leq u\leq M\text{ and }\TV\phi(u(\,\cdot\,,t))_x\leq\TV\phi(u_0)_x. +\tag 1.2 +$$ +If the data has slightly more regularity, then this too is satisfied +by the solution. Specifically, if $m$ is no greater than two and +$u_0$ is Lipschitz continuous, then $u(\,\cdot\,,t)$ is also Lipschitz; +if $m$ is greater than two and $(u_0^{m-1})_x\in\linfr$, then +$(u(\,\cdot\,,t)^{m-1})_x\in\linfr$ +(see [3]). (This will follow from results presented here, also.) +We also use the fact that the solution $u$ is H\"older continuous in $t$. + +\subhead 2. $\linfr$ error bounds\endsubhead +After a simple definition, we state a theorem +that expresses the error of approximations $u^h$ in +terms of the weak truncation error $E$. +\definition{Definition 2.1}\rm A {\it definition} +is the same as a theorem set in roman +type. In version 2 of the \AmSTeX\ style file for the SIAM journals, +definitions are set with their own command. +\enddefinition +\proclaim{Theorem 2.1} +Let $\{u^h\}$ be a family of approximate solutions satisfying +the following conditions for $0\leq t\leq T${\rm:} +\roster +\item For all $x\in\Bbb R$ and positive $t$, $0\leq u^h(x,t)\leq M${\rm;} +\item Both $u$ and $u^h$ are H\"older--$\alpha$ in $x$ +for some $\alpha\in(0,1\wedge 1/(m-1))${\rm;} $u^h$ is right +continuous in $t${\rm;} +and $u^h$ is H\"older continuous in $t$ on +strips $\Bbb R\times(t^n,t^{n+1})$, with the set $\{t^n\}$ having no +limit points\/{\rm;} and +\item There exists a positive function $\omega(h,\epsilon)$ such that\/{\rm:} +whenever $\{w^\epsilon\}_{0<\epsilon\leq\epsilon_0}$ is a family of functions +in $\bold X$ for which +{\roster +\item"(a)" there is a sequence of positive numbers $\epsilon$ tending +to zero, such that for these values of +$\epsilon$, $\|w^\epsilon\|_\infty\leq 1/\epsilon$, +\item"(b)" for all positive +$\epsilon$, $\|w_x^\epsilon(\sdot,t)\|_\loner\leq 1/\epsilon^2$, and +\item"(c)" for all $\epsilon>0$, +$$ +\sup\Sb +x\in\Bbb R\\0\leq t_1,t_2\leq T\endSb +\dfrac{|w^\epsilon(x,t_2)-w^\epsilon(x,t_1)|}{|t_2-t_1|^p}\leq 1/\epsilon^2, +$$ +where $p$ is some number not exceeding $1$, +\endroster}% +then\footnote{This is an obvious ploy, but we need a footnote.} + $|E (u^h,w^\epsilon,T)|\leq\omega(h,\epsilon).$ +\item +This is the fourth item in the outer roster. +\endroster +Then, there is a constant $C=C(m,M,T)$ such that +$$\multline +\|u-u^h\|_{\infty,\Bbb R\times[0,T]}\leq C\biggl[ +\sup \biggl |\int_\Bbb R(u_0(x)-u^h(x,0)) w(x,0) \,dx\biggr|\\ ++\omega(h,\epsilon)+\epsilon^\alpha\biggr],\endmultline +\tag 2.1 +$$ +where the supremum is taken over all $w\in\bold X$. +\endproclaim + +\demo{Proof} +We assume first that $Q$ is decreasing and consider the following cases: +\case{Case\/ {\rm1:} +$b'\geq 1/2$} We have $P(1/8)\geq\delta>0$ where $\delta$ +depends only on $d$, for otherwise by (3.7) applied to $P$ and $p=\infty$, +$P$ could not attain the value $1$ at $x=1$. Similarly, for +$m=(a'+b')/2$, $Q(m)\geq\delta'>0$ for some $\delta'$ depending only on $d$ +since otherwise $Q$ cannot attain the value $1$ at $x=a'$. Hence, for +$\delta''=\min(\delta,\delta')$, +$|A(y)|\geq|m-1/8|\geq b'/4\geq\frac18\max(b',1)$ for +$y\in[0,\delta'']$. On the other hand, +$|A(y)|\leq \max(b',1)$ for all $y\in[0,1]$, so (4.2) follows for +all $1\leq p\leq\infty$. +\endcase +\case{Case\/ {\rm2:} +$b'\leq 1/2$} We have $P(3/4)\leq\delta<1$ with $\delta$ +depending only on $d$ for otherwise (3.7) applied to $1-P$ and $p=\infty$ +would show that $P$ could not attain the value $0$ at $x=0$. It follows +that $|A(y)|\geq 3/4-b'\geq 1/4$, $y\in[\delta,1]$, while $|A(y)|\leq 1$ +for all $y\in[0,1]$. Hence (4.2) follows for +all $1\leq p\leq\infty$. +\endcase +We consider now when $Q$ is increasing. We can assume that $Q$ is not +a translate of $P$, i.e\., we do not have $P(x)=Q(x+\delta)$ for some $\delta$, +for then (4.2) follows trivially. In what follows, $C$ and $\delta$ +depend on $d$, and $C$ may depend on $p$. We consider the following cases: +\case{Case\/ {\rm3:} $a'\geq 1/4$ and $b'\leq 100$} +From (3.7) for $P$ +and $p=\infty$, it follows that $P(1/8)\geq\delta$ since otherwise $P$ cannot +attain the value $1$ at $x=1$. Hence $|A(y)|\geq a'-1/8\geq1/8$ on +$[0,\delta]$. On the other hand $|A(y)|\leq b'$ for all $y\in[0,1]$ and hence +(4.2) follows for all $1\leq p\leq\infty$. +\endcase +Let $z$ be in $\bold X$. Because $E(u,\sdot,\sdot)\equiv0$, +Equation (1.5) implies that +$$ +\int_\Bbb R\Delta uz|^T_0dx=\int_0^T\int_\Bbb R +\Delta u(z_t+\phi[u,u^h]z_{xx})\,dx\,dt- +E(u^h,z,t), +\tag 2.2 +$$ +where $\Delta u=u-u^h$ and +$$ +\phi[u,u^h]=\dfrac{\phi(u)-\phi(u^h)}{u-u^h}. +$$ +Extend $\phi[u,u^h](\cdot,t)=\phi[u,u^h](\cdot,0)$ for negative $t$, and +$\phi[u,u^h](\cdot,t)=\phi[u,u^h](\cdot,T)$ +for $t>T$. +Fix a point $x_0$ and a number $\epsilon>0$. Let $j_\epsilon$ +be a smooth function of $x$ with integral $1$ and support in +$[-\epsilon,\epsilon]$, +and let $J_\delta$ be a smooth function of +$x$ and $t$ with integral $1$ and support in +$[-\delta,\delta]\times[-\delta,\delta]$; $\delta$ and $\epsilon$ are +positive numbers to be specified later. +We choose $z=z^{\epsilon\delta}$ to satisfy +$$ +\aligned + &z_t+(\delta+J_\delta*\phi[u,u^h])z_{xx}=0,\qquad x\in\Bbb R,\;0 +\leq t\leq T,\\ + &z(x,T)=j_\epsilon(x-x_0). +\endaligned +\tag 2.3 +$$ +The conclusion of the theorem now follows from (2.1) and the fact that +$$ +|j_\epsilon*\Delta u(x_0,t)-\Delta u(x_0,t)|\leq C\epsilon^\alpha, +$$ +which follows from Assumption 2. +\qquad\qed +\enddemo +\example{Example\/ {\rm 1}} This is an example of an example. +\endexample +\remark{Remark\/ {\rm 1}} Examples are set the same as definitions in +some styles, +and the same as proofs in others. What convention does this style follow? +\endremark +Sometimes you want to include a figure, as in Fig.~1. +\topinsert +\def\Bif{{\bf if\/ }}\def\Bwhile{{\bf while\/ }}\def\Belse{{\bf else\/ }} +\settabs\+\qquad&\qquad&\qquad&\qquad&\cr +\+\smc Tree Partition Algorithm \{\cr +\+&Let stack size denote the number of nodes in the\cr +\+&&subtrees stored temporarily on the local stack\cr +\+&pop I from global stack\cr +\+&set stack size := 0\cr +\+&\Bwhile (stack size $\leq$ max size and stack size + +I$\rightarrow$tree size $>$ 3 (max size)) \{\cr +\+&&process I as an interior node\cr +\+&&let min tree be the smaller of the subtrees of the two children of I\cr +\+&&let max tree be the larger of the subtrees of the two children of I\cr +\+&&\Bif (min tree$\rightarrow$tree size + stack size $>$ 3 (max size)) \{\cr +\+&&&push min tree onto the global stack\cr +\+&&\} \Belse \{\cr +\+&&&push min tree onto the local stack\cr +\+&&&set stack size := stack size + min tree$\rightarrow$tree size\cr +\+&&\}\cr +\+&&set I := max tree\cr +\+&\}\cr +\+&\Bif (I$\rightarrow$tree size + stack size $>$ 3 (max size)) \{\cr +\+&&push I onto the global stack\cr +\+&\} \Belse \{\cr +\+&&push I onto the local stack\cr +\+&\}\cr +\+&Process all subtrees on the local stack\cr +\+\}\cr +\botcaption{Fig.~1} Tree partition algorithm Tree partition algorithm +Tree partition algorithm Tree partition algorithm Tree partition algorithm +Tree partition algorithm Tree partition algorithm.\endcaption +\endinsert + +We finish with a table of all SIAM journals. +\midinsert +\topcaption{Table 1}{SIAM journal acronyms and titles}\endcaption +\settabs\+\indent&Acronym\indent&Title&\cr +\hbox to \hsize{\hrulefill} +\+&Acronym&Title&\cr +\hbox to \hsize{\hrulefill} +\+&SINUM&SIAM Journal on Numerical Analysis&\cr +\+&SIREV&SIAM Review&\cr +\+&SIMA&SIAM Journal on Mathematical Analysis&\cr +\+&SIMAX&SIAM Journal on Matrix Analysis and Applications&\cr +\+&SICOMP&SIAM Journal on Computing&\cr +\+&SISC&SIAM Journal on Scientific Computing&\cr +\+&SIOPT&SIAM Journal on Optimization&\cr +\+&SIAP&SIAM Journal on Applied Mathematics&\cr +\+&SICON&SIAM Journal on Control and Optimization&\cr +\+&SIDMA&SIAM Journal on Discrete Mathematics&\cr +\+&TVP&Theory of Probability and Its Applications&\cr +\hbox to \hsize{\hrulefill} +\endinsert + +\Refs +\ref + \no 1 + \by L. A. Caffarelli and A. Friedman + \paper Regularity of the free boundary of a gas flow in an + $n$-dimensional porous medium + \jour Indiana Math. J. + \vol 29 + \yr 1980 + \pages 361--391 +\endref +\ref\no 2 + \by R. DeVore and B. Lucier + \paper High order regularity for solutions of the inviscid Burgers equation + \inbook Nonlinear Hyperbolic Problems +\procinfo Proceedings of an Advanced Research Workshop, Bordeaux, +France, June 1988 + \bookinfo Lecture Notes in Mathematics + \vol 1402 + \eds C. Carasso, P. Charrier, B. Hanouzet, and J.-L. Joly + \yr 1989 + \publ Springer-Verlag + \publaddr New York + \pages 147--154 +\endref +\ref \no 3 + \bysame + \paper Wavelets + \jour Acta Numerica + \yr 1992 + \ed A. Iserles + \publ Cambridge University Press + \publaddr New York + \pages 1--56 +\endref +\ref \no 4 + \by R. A. DeVore and V. A. Popov + \paper Interpolation spaces and non-linear approximation + \inbook Function Spaces and Applications + \bookinfo Lecture Notes in Mathematics + \procinfo Proceedings of the US--Swedish Seminar held in Lund, +Sweden, June 15--21, 1986 + \vol 1302 + \eds M. Cwikel, J. Peetre, Y. Sagher, and H. Wallin + \publ Springer-Verlag + \publaddr New York + \yr 1988 + \pages 191--205 + \endref +\ref \no 5 + \by R. A. DeVore and X. M. Yu + \paper Nonlinear $n$-widths in Besov spaces + \inbook Approximation Theory VI: Vol. 1 + \eds C. K. Chui, L. L. Schumaker, and J. D. Ward + \publ Academic Press + \publaddr New York + \yr 1989 + \pages 203--206 + \lang In Russian + \endref +\ref + \no 6 + \by K. Hollig and M. Pilant + \paper Regularity of the free boundary for the porous medium equation + \paperinfo MRC Tech. Rep. 2742 +\endref +\ref + \no 7 + \by J. Jerome + \book Approximation of Nonlinear Evolution Systems + \publ Academic Press + \publaddr New York + \yr 1983 +\endref +\ref + \no 8 + \manyby R. J. LeVeque + \paper Convergence of a large time step generalization of Godunov's method + for conservation laws + \jour Comm. Pure Appl. Math. + \vol 37 + \yr 1984 + \pages 463--478 +\endref +\ref\no 9 + \by O. Rioul and M. Vetterli + \paper Wavelets and signal processing + \jour IEEE Signal Processing Magazine + \vol 8 + \issue 4 + \yr 1991 + \toappear +\endref +\endRefs +\enddocument + |