From df014cf02a62504f6b3e7a4398fb1e093b84f114 Mon Sep 17 00:00:00 2001 From: Karl Berry Date: Thu, 12 Jan 2006 23:44:10 +0000 Subject: trunk/Master/texmf-dist/tex/amstex git-svn-id: svn://tug.org/texlive/trunk@607 c570f23f-e606-0410-a88d-b1316a301751 --- Master/texmf-dist/tex/amstex/base/amsppt.sti | 67 + Master/texmf-dist/tex/amstex/base/amsppt.sty | 1274 +++++++++++++++++ Master/texmf-dist/tex/amstex/base/amsppt1.tex | 141 ++ Master/texmf-dist/tex/amstex/base/amstex.bug | 854 +++++++++++ Master/texmf-dist/tex/amstex/base/amstex.tex | 1806 ++++++++++++++++++++++++ Master/texmf-dist/tex/amstex/config/amstex.ini | 47 + Master/texmf-dist/tex/amstex/siam/amsamp.tex | 365 +++++ Master/texmf-dist/tex/amstex/siam/amstexsi.sty | 634 +++++++++ Master/texmf-dist/tex/amstex/siam/siamdoc.tex | 238 ++++ 9 files changed, 5426 insertions(+) create mode 100644 Master/texmf-dist/tex/amstex/base/amsppt.sti create mode 100644 Master/texmf-dist/tex/amstex/base/amsppt.sty create mode 100644 Master/texmf-dist/tex/amstex/base/amsppt1.tex create mode 100644 Master/texmf-dist/tex/amstex/base/amstex.bug create mode 100644 Master/texmf-dist/tex/amstex/base/amstex.tex create mode 100644 Master/texmf-dist/tex/amstex/config/amstex.ini create mode 100644 Master/texmf-dist/tex/amstex/siam/amsamp.tex create mode 100644 Master/texmf-dist/tex/amstex/siam/amstexsi.sty create mode 100644 Master/texmf-dist/tex/amstex/siam/siamdoc.tex (limited to 'Master/texmf-dist/tex/amstex') diff --git a/Master/texmf-dist/tex/amstex/base/amsppt.sti b/Master/texmf-dist/tex/amstex/base/amsppt.sti new file mode 100644 index 00000000000..172bdbc7f12 --- /dev/null +++ b/Master/texmf-dist/tex/amstex/base/amsppt.sti @@ -0,0 +1,67 @@ +%%% ==================================================================== +%%% @AMSTeX-style-file{ +%%% filename = "amsppt.sti", +\def\filename{amsppt.sti} +%%% version = "2.2", +\def\fileversion{2.2} +%%% date = "2001/08/07", +\def\filedate{2001/08/07} +%%% time = "13:25:21 EDT", +%%% checksum = "45087 67 377 2936", +%%% author = "American Mathematical Society", +%%% copyright = "Copyright 1997, 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 an add-on documentstyle for use with +%%% AMS-TeX 2.2 and amsppt.sty. It contains commands +%%% suitable for initialization of an AMS-TeX session +%%% for most users. Changes should be made to this file +%%% only as instructed in the AMS-TeX 2.2 User's Guide.", +%%% 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.", +%%% } +%%% ==================================================================== + +%% To use amsppt.sty without AMSFonts, comment out the following +%% two lines; to load extra math symbols only on demand (with +%% \newsymbol) comment out the second line. +\loadeufm \loadmsam \loadmsbm +\message{symbol names}\UseAMSsymbols\message{,} + +%% The following definition can be used to provide a \square for +%% \qed in lieu of the normal \UseAMSsymbols route. +%\define\square{\vrule width.6em height.5em depth.1em\relax} + +%% To use the Blue Sky/Y&Y Type 1 version of the AMSFonts, which +%% provide only selected sizes, activate the following command. +%% This option is required for submissions to AMS journals. +%\PSAMSFonts + +%% If \magnification is used, the page will be too long to print +%% even on A4 paper. The following setting will move the output +%% up so that it is not cut off. +%\voffset-2pc + +\tenpoint + +\endinput diff --git a/Master/texmf-dist/tex/amstex/base/amsppt.sty b/Master/texmf-dist/tex/amstex/base/amsppt.sty new file mode 100644 index 00000000000..e20e45e2749 --- /dev/null +++ b/Master/texmf-dist/tex/amstex/base/amsppt.sty @@ -0,0 +1,1274 @@ +%% +%% This is file `amsppt.sty', +%% generated with the docstrip utility. +%% +%% The original source files were: +%% +%% amsppt.doc +%% +%%% ==================================================================== +%%% @AMSTeX-style-file{ +%%% filename = "amsppt.sty", +\def\filename{amsppt.sty} +%%% 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.", +%%% } +%%% ==================================================================== +\expandafter\ifx\csname amsppt.sty\endcsname\endinput + \expandafter\def\csname amsppt.sty\endcsname{2.2 (2001/08/07)}\fi +\xdef\fileversiontest{\fileversion\space(\filedate)} +\expandafter\ifx\csname\filename\endcsname\fileversiontest + \message{[already loaded]}\endinput\fi +\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 +\expandafter\xdef\csname\filename\endcsname{% + \catcode`\noexpand\@=\the\catcode`\@ + \expandafter\gdef\csname\filename\endcsname{% + \fileversion\space(\filedate)}} +\def\dospecials{\do\ \do\\\do\{\do\}\do\$\do\&% + \do\#\do\^\do\^^K\do\_\do\^^A\do\%\do\~\do\@} +\catcode`\@=11 +\def\savecat#1{% + \expandafter\xdef\csname\string#1savedcat\endcsname{\the\catcode`#1}} +\def\restorecat#1{\catcode`#1=\csname\string#1savedcat\endcsname} +\message{version \fileversion\space(\filedate):} +\expandafter\ifx\csname styname\endcsname\relax + \def\styname{AMSPPT}\def\styversion{2.2} +\fi +\message{Loading utility definitions,} +\def\identity@#1{#1} +\def\nofrills@@#1{% + \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@} +\Invalid@\usualspace +\def\addto#1#2{\csname \expandafter\eat@\string#1@\endcsname + \expandafter{\the\csname \expandafter\eat@\string#1@\endcsname#2}} +\newdimen\bigsize@ +\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}} +\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} +\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} +\def\add@missing#1{\expandafter\ifx\envir@end#1% + \Err@{You seem to have a missing or misspelled + \expandafter\string\envir@end ...}% + \envir@end +\fi} +\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}} +\begingroup +\catcode`\ =11 +\gdef\revert@envir#1{\expandafter\ifx\envir@end#1% +\the\revert@% +\else\ifx\envir@end\enddocument \Err@{Extra \string#1}% +\else\expandafter\add@missing\envir@end\revert@envir#1% +\fi\fi} +\xdef\enddocument {\string\enddocument}% +\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@{} +\begingroup \catcode`\-=3 +\long\gdef\notempty#1{% + \expandafter\ifx\first@#1-\end-\empty@ \false@\else \true@\fi} +\endgroup +\message{more fonts,} +\font@\tensmc=cmcsc10 \relax +\let\sevenex=\tenex % needs special handling in \PSAMSFonts +\font@\sevenit=cmti7 \relax +\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 +\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@}% + \setbox\strutbox@\hbox{\lower.5\normallineskiplimit\vbox{% + \kern-\normallineskiplimit\copy\strutbox}}% + \setbox\z@\vbox{\hbox{$($}\kern\z@}\bigsize@1.2\ht\z@ + \fi + \normalbaselines\rm\dotsspace@1.5mu\ex@.2326ex\jot3\ex@ + \the\tenpoint@} +\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 + \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@}% + \setbox\strutbox@\hbox{\raise.5\normallineskiplimit\vbox{% + \kern-\normallineskiplimit\copy\strutbox}}% + \setbox\z@\vbox{\hbox{$($}\kern\z@}\bigsize@1.2\ht\z@ + \fi + \normalbaselines\eightrm\dotsspace@1.5mu\ex@.2326ex\jot3\ex@ + \the\eightpoint@} +\def\linespacing#1{% + \addto\tenpoint{\normalbaselineskip=#1\normalbaselineskip + \normalbaselines + \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 + \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} +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\newif\ifPSAMSFonts +\def\PSAMSFonts{% + \def\extrafont@##1##2##3{% + \font##1=##2% + \ifnum##3=9 10 at9pt% + \else\ifnum##3=8 10 at8pt% + \else\ifnum##3=6 7 at6pt% + \else ##3\fi\fi\fi\relax}% + \font@\eightsmc=cmcsc10 at 8pt + \font@\eightex=cmex10 at 8pt + \font@\sevenex=cmex10 at 7pt + \PSAMSFontstrue +} +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\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 +} +\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@@ +} +\message{page dimension settings,} +\parindent1pc +\newdimen\normalparindent \normalparindent\parindent +\normallineskiplimit\p@ +\newdimen\indenti \indenti=2pc +\let\magnification=\mag +\topskip10pt \relax +\message{top matter,} +\def\topmatter{\loadextrafonts@ \let\topmatter\relax} +\def\chapterno@{\uppercase\expandafter{\romannumeral\chaptercount@}} +\newcount\chaptercount@ +\def\chapter{\let\savedef@\chapter + \def\chapter##1{\let\chapter\savedef@ + \leavevmode\hskip-\leftskip + \rlap{\vbox to\z@{\vss\centerline{\eightpoint + \frills@{CHAPTER\space\afterassignment\chapterno@ + \global\chaptercount@=}% + ##1\unskip}\baselineskip2pc\null}}\hskip\leftskip}% + \nofrillscheck\chapter} +\newbox\titlebox@ +\def\title{\let\savedef@\title + \def\title##1\endtitle{\let\title\savedef@ + \global\setbox\titlebox@\vtop{\tenpoint\bf + \raggedcenter@ + \baselineskip1.3\baselineskip + \frills@\uppercasetext@{##1}\endgraf}% + \ifmonograph@ + \edef\next{\the\leftheadtoks}\ifx\next\empty@ \leftheadtext{##1}\fi + \fi + \edef\next{\the\rightheadtoks}\ifx\next\empty@ \rightheadtext{##1}\fi + }% + \nofrillscheck\title} +\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}} +\newcount\addresscount@ +\addresscount@\z@ +\def\addressfont@{\eightpoint} +\def\address#1\endaddress{\global\advance\addresscount@\@ne + \expandafter\gdef\csname address\number\addresscount@\endcsname + {\nobreak\vskip12\p@ minus6\p@\indent\addressfont@\smc#1\par}} +\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} +\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} +\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} +\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} +\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} +\def\endabstract{\par\unskip\egroup$$\egroup} +\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@ + \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} +\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@ +\newdimen\pagenumwd +\def\toc{\toc@{Contents}} +\def\newtocdefs{% + \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}% + \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{% +\ifmonograph@\bgroup\else\setbox\tocbox@\vbox\bgroup + \centerline{\headfont@\ignorespaces##1\unskip}\nobreak + \vskip\belowheadskip \fi + \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 + \setboxz@h{\bf\quad000}\pagenumwd\wd\z@ + \advance\rightskip\pagenumwd + \newtocdefs + }% + \FN@\next@} +\def\endtoc{\par\egroup} +\let\pretitle\relax +\let\preauthor\relax +\let\preaffil\relax +\let\predate\relax +\let\preabstract\relax +\let\prepaper\relax +\def\dedicatory #1\enddedicatory{\def\preabstract{{\medskip + \eightpoint\it \raggedcenter@#1\endgraf}}} +\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} +\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 + \ifx\thethanks@\empty@\else \makefootnote@{}{\thethanks@}\fi + \fi + \inslogo@ + \pretitle + \begingroup % to localize variant topskip + \ifmonograph@ \topskip7pc \else \topskip4pc \fi + \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 + \loadextrafonts@ + \let\fontlist@\relax\let\alloclist@\relax + \tenpoint} +\message{section heads,} +\newskip\aboveheadskip \aboveheadskip\bigskipamount +\newdimen\belowheadskip \belowheadskip6\p@ +\def\headfont@{\smc} +\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} +\def\nobreak{\penalty\@M + \ifvmode\gdef\penalty@{\global\let\penalty@\penalty\count@@@}% + \everypar{\global\let\penalty@\penalty\everypar{}}\fi} +\let\penalty@\penalty +\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} +\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} +\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} +\let\headmark\eat@ +\def\restoredef@#1{\relax\let#1\savedef@\let\savedef@\relax} +\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 + {\def\usualspace{\/{\subheadfont@\enspace}}% + \varindent@\subheadfont@\ignorespaces##1\unskip\frills@{.\enspace}}% + \ignorespaces}% + \nofrillscheck\subhead} +\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 + {\def\usualspace{\/{\subsubheadfont@\enspace}}% + \subsubheadfont@##1\unskip\frills@{.\enspace}}\ignorespaces}% + \nofrillscheck\subsubhead} +\message{theorems/proofs/definitions/remarks,} +\def\proclaimheadfont@{\bf} +\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 + \def\proclaim##1{\restoredef@\proclaim + \penaltyandskip@{-100}\preproclaimskip + {\def\usualspace{\/{\proclaimheadfont@\enspace}}% + \varindent@\proclaimheadfont@\ignorespaces##1\unskip + \frills@{.\enspace}}% + \proclaimfont\ignorespaces}% + \nofrillscheck\proclaim} +\def\endproclaim{\revert@envir\endproclaim \par\rm + \vskip\postproclaimskip} +\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} +\def\endremark{\par\revert@envir\endremark} +\def\qed{\ifhmode\unskip\nobreak\fi\quad + \ifmmode\square\else$\m@th\square$\fi} +\newskip\postdemoskip \postdemoskip=\medskipamount +\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} +\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 + \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 } +\message{rosters,} +\newdimen\rosteritemwd +\rosteritemwd16pt % approximately the width of (iii) in 10 point text +\newcount\rostercount@ +\newif\iffirstitem@ +\let\plainitem@\item +\newtoks\everypartoks@ +\def\par@{\everypartoks@\expandafter{\the\everypar}\everypar{}} +\def\leftskip@{} +\def\roster{% + \envir@stack\endroster + \edef\leftskip@{\leftskip\the\leftskip}% + \relaxnext@ + \rostercount@\z@% Initialize \rostercount@ to 0. + \def\item{\FN@\rosteritem@}% \item, now redefined, has + \DN@{\ifx\next\runinitem\let\next@\nextii@ + \else\let\next@\nextiii@ + \fi\next@}% + \DNii@\runinitem% If \runinitem occurs, \nextii@ must kill it off. + {\unskip% This unskips any space before the original \roster. + \DN@{\ifx\next[\let\next@\nextii@ + \else\ifx\next"\let\next@\nextiii@\else\let\next@\nextiv@\fi + \fi\next@}% + \DNii@[####1]{\rostercount@####1\relax + \enspace\therosteritem{\number\rostercount@}~\ignorespaces}% + \def\nextiii@"####1"{\enspace{\rm####1}~\ignorespaces}% + \def\nextiv@{\enspace\therosteritem1\rostercount@\@ne~}% + \par@\firstitem@false% Before doing any of this we still change + \FN@\next@}% End of definition of \nextii@\runinitem. + \def\nextiii@{\par\par@% End the present paragraph, change \everypar + \penalty\@m\smallskip\vskip-\parskip + \firstitem@true}% + \FN@\next@} +\def\rosteritem@{\iffirstitem@\firstitem@false + \else\par\vskip-\parskip\fi + \leftskip\rosteritemwd \advance\leftskip\normalparindent + \advance\leftskip.5em \noindent + \DNii@[##1]{\rostercount@##1\relax\itembox@}% + \def\nextiii@"##1"{\def\therosteritem@{\rm##1}\itembox@}% + \def\nextiv@{\advance\rostercount@\@ne\itembox@}% + \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} +\def\therosteritem#1{\rom{(\ignorespaces#1\unskip)}} +\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 + \DN@{\ifx\next\Runinitem\let\next@\relax + \else\nextRunin@false\let\item\plainitem@ % Otherwise, set + \ifx\next\par % moreover, if \endroster is followed by \par, + \DN@\par{\everypar\expandafter{\the\everypartoks@}}% + \else % but if the \endroster isn't followed by a new paragraph, + \DN@{\noindent\everypar\expandafter{\the\everypartoks@}}% + \fi\fi\next@}% + \FN@\next@} +\newcount\rosterhangafter@ +\def\Runinitem#1\roster\runinitem{\relaxnext@ + \envir@stack\endroster + \rostercount@\z@ + \def\item{\FN@\rosteritem@}% + \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 + \def\item@{\therosteritem{\number\rostercount@}}\nextv@}% + \def\nextiii@"##1"{\def\item@{{\rm##1}}\nextv@}% + \def\nextiv@{\advance\rostercount@\@ne + \def\item@{\therosteritem{\number\rostercount@}}\nextv@}% + \def\nextv@{\setbox\z@\vbox + {\ifnextRunin@\noindent\fi + \runinitem@\unskip\enspace\item@~\par + \global\rosterhangafter@\prevgraf}% + \firstitem@false% Set \firstitem@false for future \item's. + \ifnextRunin@\else\par\fi + \hangafter\rosterhangafter@\hangindent3\normalparindent + \ifnextRunin@\noindent\fi + \runinitem@\unskip\enspace% Put in all the stored stuff + \item@~\ifnextRunin@\else\par@\fi% and the \item@, and + \nextRunin@true\ignorespaces}%% Here's where we set \nextRunin@true. + \FN@\next@} +\message{footnotes,} +\def\footmarkform@#1{$\m@th^{#1}$} +\let\thefootnotemark\footmarkform@ +\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{}}} +\newcount\footmarkcount@ +\footmarkcount@\z@ +\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@} +\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@} +\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@} +\def\adjustfootnotemark#1{\advance\footmarkcount@#1\relax} +\def\footnoterule{\kern-4\p@ + \hrule width5pc\kern 3.6\p@}% the \hrule is .4pt high +\message{figures and captions,} +\def\captionfont@{\smc} +\def\topcaption#1#2\endcaption{% + {\dimen@\hsize \advance\dimen@-\captionwidth@ + \rm\raggedcenter@ \advance\leftskip.5\dimen@ \rightskip\leftskip + {\captionfont@#1}% + \if\notempty{#2}\if\notempty{#1}.\enspace\fi\ignorespaces#2\fi + \endgraf}\nobreak\bigskip} +\def\botcaption#1#2\endcaption{% + \nobreak\bigskip + \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 + \noindent \ifdim\wdz@>\captionwidth@ + \else\hfil\fi + {\captionfont@#1}% + \if\notempty{#2}\if\notempty{#1}.\enspace\fi\rm\ignorespaces#2\fi\endgraf}} +\def\@ins{\par\begingroup\def\vspace##1{\vskip##1\relax}% + \def\captionwidth##1{\captionwidth@##1\relax}% + \setbox\z@\vbox\bgroup} % start a \vbox +\message{miscellaneous,} +\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} +\def\cite#1{\rom{[{\citefont@\m@th#1}]}} +\def\citefont@{\rm} +\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}} +\message{references,} +\def\refsfont@{\eightpoint} +\def\refsheadfont@{\headfont@} +\newdimen\refindentwd +\setboxz@h{\refsfont@ 00.\enspace} +\refindentwd\wdz@ +\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 + \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 + }% + \nofrillscheck{\csname Refs\expandafter\endcsname + \frills@{{\Refsname}}}} +\def\endRefs{\par % This will check for a missing \endref, also + \endgroup} +\newif\ifbook@ \newif\ifprocpaper@ +\def\nofrills{% + \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}% + \noindent\hangindent\refindentwd + \def\par{\add@missing\endref}% + \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}% + \global\let\nofrills@list\empty@ + \refbreaks + \procpaper@false \book@false \moreref@false + \def\curbox{\z@}\setbox\z@\vbox\bgroup +} +\let\keyhook@\empty@ +\def\endref{% + \setbox\tw@\box\thr@@ + \makerefbox?\thr@@{\endgraf\egroup}% + \endref@ + \endgraf + \endgroup + \keyhook@ + \global\let\keyhook@\empty@ % \global to conserve save stack +} +\def\key{\gdef\key{\makerefbox\key\keybox@\empty@}\key} \newbox\keybox@ +\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@} +\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@ +\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@ +\def\vol{\makerefbox\vol\volbox@{\ifbook@ \else + \ifprocpaper@\else\bf\fi\fi}} +\newbox\volbox@ +\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@ +\define\AMSPPS#1{\makerefbox\AMSPPS\MRbox@\empty@ AMS\-PPS \##1} +\define\CMP#1{\makerefbox\CMP\MRbox@\empty@ CMP #1} +\newbox\holdoverbox +\def\makerefbox#1#2#3{\endgraf + \setbox\z@\lastbox + \global\setbox\@ne\hbox{\unhbox\holdoverbox + \ifvoid\z@\else\unhbox\z@\unskip\unskip\unpenalty\fi}% + \egroup + \setbox\curbox\box\ifdim\wd\@ne>\z@ \@ne \else\voidb@x\fi + \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@ + \penalty-\@M\null + \hfil$\clubpenalty\z@\widowpenalty\z@\interlinepenalty\z@ + \offinterlineskip\endgraf + \setbox\z@\lastbox\unskip \unpenalty + \refconcat{##1}% + \noindent + $\hfil\penalty-\@M + \else + \endgraf\refconcat{##1}\noindent + \fi}% + \def\break{\holdover{\penalty-\@M}}% + \let\vadjust@\vadjust + \def\vadjust##1{\holdover{\vadjust@{##1}}}% + \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 +} +\refstyle{A} +\def\finalpunct{\ifnum\lastkern=\m@ne\unkern\else.\spacefactor2000 \fi + \refquotes@\refbreak@}% +\def\continuepunct#1#2#3#4{}% +\def\endref@{% + \keyhook@ + \def\nofrillscheck##1{% + \def\do####1{\ifx##1####1\let\frills@\eat@\fi}% + \let\frills@\identity@ \nofrills@list}% + \ifvoid\bybox@ + \ifvoid\edbox@ + \else\setbox\bybox@\hbox{\unhbox\edbox@\breakcheck + \nofrillscheck\edbox@\frills@{\space(\edtext)}\refbreak@}\fi + \fi + \ifvoid\keybox@\else\hbox to\refindentwd{% + \keyformat{\unhbox\keybox@}}\fi + \ifmoreref@ + \commaunbox@\morerefbox@ + \else + \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@ + \commaunbox@\publbox@ \commaunbox@\publaddrbox@ + \commaunbox@\pagesbox@ + \fi + \fi + \commaunbox@\finalinfobox@ + \ppunbox@\empty@{ (}\miscnotebox@)% + \finalpunct + \ppunbox@\empty@{ (}\langbox@{)\spacefactor1001 }% + \ifnum\spacefactor>\@m \ppunbox@{}{ }\MRbox@\empty@ + \else \commaunbox@\MRbox@ + \fi + \defaultreftexts +} +\def\punct@#1{#1} +\def\ppunbox@#1#2#3#4{\ifvoid#3\else + \let\prespace@\relax + \ifnum\lastkern=\m@ne \unkern\let\punct@\eat@ + \ifnum\lastkern=-\tw@ \unkern\let\prespace@\ignorespaces \fi + \fi + \nofrillscheck#3% + \punct@{#1}\refquotes@\refbreak@ + \let\punct@\identity@ + \prespace@ + \frills@{#2\eat@}\space + \unhbox#3\breakcheck + \frills@{#4\eat@}{\kern\m@ne sp}\fi} +\def\commaunbox@#1{\ppunbox@,\space{#1}\empty@} +\def\breakcheck{\edef\refbreak@{\ifnum\lastpenalty=\z@\else + \penalty\the\lastpenalty\relax\fi}\unpenalty} +\def\endquotes{\def\refquotes@{''\let\refquotes@\empty@}} +\let\refquotes@\empty@ +\let\refbreak@\empty@ +\newif\ifmoreref@ +\def\moreref{% + \setbox\tw@\box\thr@@ + \makerefbox?\thr@@{\endgraf\egroup}% + \let\savedef@\finalpunct \let\finalpunct\empty@ + \endref@ + \def\punct@##1##2{##2;}% + \global\let\nofrills@list\empty@ % global, to conserve save stack + \let\finalpunct\savedef@ + \moreref@true + \def\curbox{\morerefbox@}% + \setbox\morerefbox@\vbox\bgroup \hsize\maxdimen \noindent +} +\def\transl{\moreref} +\message{end of document,} +\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 + \add@missing\endroster \add@missing\endproclaim + \add@missing\enddefinition + \add@missing\enddemo \add@missing\endremark \add@missing\endexample + \enddocument@text + \vfill\supereject\plainend} + +\def\check@missing@document{% + \ifdocument@ + \else + \Err@{You seem to have a missing or misspelled \string\document}% + \fi} + +\def\enddocument@text{% + \ifmonograph@ % do nothing + \else + \nobreak + \thetranslator@ + \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 +} + +\message{output routine,} +\def\folio{\ifnum\pageno<\z@ \romannumeral-\pageno\else\number\pageno \fi} +\def\foliofont@{\eightrm} +\def\headlinefont@{\eightpoint} +\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 +\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} +\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} +\def\NoRunningHeads{\global\runheads@false\global\let\headmark\eat@} +\def\NoPageNumbers{\gdef\folio{}} +\newif\iffirstpage@ \firstpage@true +\newif\ifrunheads@ \runheads@true +\output={\output@} +\newdimen\headlineheight \newdimen\headlinespace +\newdimen\dropfoliodepth + +\dropfoliodepth=1pc +\headlineheight=5pt +\headlinespace=24pt + +\def\pagewidth#1{\hsize#1% + \captionwidth@\hsize \advance\captionwidth@-2\indenti} + +\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} + +\newinsert\copyins +\skip\copyins=12\p@ +\dimen\copyins=40pc +\count\copyins=1000 +\def\inslogo@{\insert\copyins{\logo@}} +\def\logo@{\rightline{\eightpoint Typeset by \AmSTeX}} +\def\nologo{\let\logo@\empty@ \let\inslogo@\empty@} +\let\flheadline\hfil \let\frheadline\hfil +\newif\ifplain@ \plain@false +\def\output@{% + \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 +} +\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 + \ifvoid\copyins \else \vskip\skip\copyins \unvbox\copyins \fi +} +\def\makeheadline{% + \leftskip=\z@ + \vbox{% + \vbox to\headlineheight{\vss + \hbox to\hsize{\hskip\z@ plus\hsize\the\headline}% + \kern-\prevdepth + }% + \vskip\headlinespace + \vskip-\topskip + }% + \nointerlineskip +} +\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}} + +\message{hyphenation exceptions (U.S. English)} +\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} +\input amsppt.sti +\W@{} +\csname amsppt.sty\endcsname +\endinput +%% +%% End of file `amsppt.sty'. diff --git a/Master/texmf-dist/tex/amstex/base/amsppt1.tex b/Master/texmf-dist/tex/amstex/base/amsppt1.tex new file mode 100644 index 00000000000..ba208637902 --- /dev/null +++ b/Master/texmf-dist/tex/amstex/base/amsppt1.tex @@ -0,0 +1,141 @@ +%% @texfile{ +%% filename = "amsppt1.tex", +%% version = "2.2", +%% date = "2001/08/07", +%% time = "13:17:37 EDT", +%% checksum = "11263 141 693 5811", +%% filetype = "AMS-TeX: option", +%% author = "American Mathematical Society", +%% copyright = "Copyright 1991, 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 is a a conversion file that makes documents +%% prepared for AMSPPT version 1 compatible with AMSPPT +%% version 2.0+. The statement +%% \input amsppt1 +%% needs to be added after the \documentstyle line in each +%% document to be converted.", +%% 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.", +%% } +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% +% We start by testing the control sequence \amsppt1.tex so that we +% can prevent accidentally loading this file twice. +\expandafter\ifx\csname amsppt1.tex\endcsname\relax + \else\endinput\fi +% Now we define \amsppt1.tex to handle catcoding of the @ sign. +\expandafter\edef\csname amsppt1.tex\endcsname{% + \catcode`\noexpand\@=\the\catcode`\@\space} +\catcode`\@=11 +% + +\let\ad@\address \def\address#1{\ad@#1\endaddress} +\let\da@\date \def\date#1{\da@#1\enddate} +\let\tk@\thanks \def\thanks#1{\tk@#1\endthanks} +\let\kw@\keywords \def\keywords#1{\kw@#1\endkeywords} +\let\su@\subjclass \def\subjclass#1{\su@#1\endsubjclass} +\let\ab@\abstract \long\def\abstract#1{\ab@#1\endabstract} +% +% If we assume that documents that use amsppt1.tex will not be +% intended for submission to the AMS, then it's better to revert to +% the old page dimensions: +% +\parindent10\p@ \hsize26pc \vsize42pc +\captionwidth@\hsize \advance\captionwidth@-1.5in +% +\def\nologo{\let\logo@\empty} +% +% Backward compatibility for \subheading and \heading are already +% provided in AMSPPT 2.0 because (unlike the topmatter items) there +% is no name conflict. +% +% In AMSPPT version 2.0+ \endRefs is expected at the end of the +% References section. We install a test in \enddocument +% to let us know if \endRefs needs to be added. +% Just in case someone has amsppt1.tex but not amsppt.sty vers. 2.2 +% we first make the change in the older version of \enddocument +% and then use a test to prevent the newer version from being +% read. +\outer\def\enddocument{% + \runaway@{proclaim}% +% To test whether we are inside a \Refs section, we check +% the \sfcode of the period. Just in case someone has +% used \frenchspacing, we also check the \sfcode of the +% comma as well. + \ifnum\sfcode`\.=\@m % if sfcode of period = 1000, we must be in \Refs ... + \ifnum\sfcode`\,=\@m\else % unless comma also has sfcode 1000, which + % means \frenchspacing was used. + \message{Note: For \styname\space version 2 compatibility, add + \string\endRefs\space at end of + \expandafter\eat@\string\\Refs section}% + \endRefs + \fi\fi +\ifmonograph@ % do nothing +\else + \nobreak + \thetranslator@ + \count@\z@ \loop\ifnum\count@<\addresscount@\advance\count@\@ne + \csname address\number\count@\endcsname + \csname email\number\count@\endcsname + \repeat +\fi + \vfill\supereject\end} + +% If \add@missing is undefined, let's quit here. +\expandafter\ifx\csname add@missing\endcsname\relax +% Restore the old catcode of the @ character: + \csname amsppt1.tex\endcsname + \endinput\fi + +\outer\def\enddocument{\par % \par will do a runaway check for \endref + \expandafter\ifx\envir@end\endRefs + \message{Note: For \styname\space version 2 compatibility, add + \string\endRefs\space at end of + \expandafter\eat@\string\\Refs section}% + \endRefs + \fi +% 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 +% 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 + \thetranslator@ +% Print all the \address's, including e-mail 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 + \repeat +\fi + \vfill\supereject\end} +% +% Restore the old catcode of the @ character: +\csname amsppt1.tex\endcsname +\endinput diff --git a/Master/texmf-dist/tex/amstex/base/amstex.bug b/Master/texmf-dist/tex/amstex/base/amstex.bug new file mode 100644 index 00000000000..6bd31baaa69 --- /dev/null +++ b/Master/texmf-dist/tex/amstex/base/amstex.bug @@ -0,0 +1,854 @@ +%%% ==================================================================== +%%% @Text-file{ +%%% filename = "amstex.bug", +%%% version = "2.2", +%%% date = "2001/08/07", +%%% time = "13:39:04 EDT", +%%% checksum = "53599 854 3423 28968", +%%% author = "American Mathematical Society", +%%% copyright = "Copyright 1997, 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 list of bugs and/or changes in the +%%% AMS-TeX distribution (amstex.tex, amsppt.sty, +%%% amssym.tex, amsppt1.tex, amstex.ini, and related +%%% documentation files). Changed Items are listed in +%%% reverse chronological order. A secondary list at the +%%% end, marked with %% at the left margin, have not yet +%%% been dealt with, but are listed here in case the +%%% information might help some users, and to record +%%% the fact that they have been reported to the AMS.", +%%% 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.", +%%% } +%%% ==================================================================== + +Changes released July 2001 + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +File: amstex.tex +Date reported: 2001/??/?? + +Request to remove copyright notice and restriction from message printed +on terminal and in log for every run. This restriction made AMS-TeX +"not free software" for purposes of TeX live. + +Changed: Version 2.2 (August 2001) + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +File: amsppt.sty +Date reported: 2000/08/24 + +\email \endemail, without any data, causes the label "E-mail address" +to be printed without data following the author address; similarly for +other author-specific elements. + +Corrected: Version 2.2 (August 2001) + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +File: amsppt.sty +Date reported: 2000/03/31 + +In captions, if there is no label, a period prints out before the +caption text. + +Corrected: Version 2.2 (August 2001) + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +File: amsppt.sty +Date reported: 2000/01/?? + +Need for alternate year for \subjclass to support 2000 Mathematics +Subject Classification. \subjclassyear provided and defaulted to 1991. + +Corrected: Version 2.2 (August 2001) + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +File: amsppt.sty +Date reported: 1999/01/11 + +In order to avoid problems with @ in verbatim (and e-mail addresses?) +add @ (and other active characters) to \dospecials + +Corrected: Version 2.2 (August 2001) + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +File: amsppt.sty +Date reported: 1996/12/20 + +AMS style dictates that roster items should be in parentheses at all +levels, e.g. (1), (2), etc. + +Changed: Version 2.2 (August 2001) + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +File: amstex.tex +Date reported: 4-SEP-1991 (MJD) + +In the \everyjob message, a space is needed before the second hyphen. + +\everyjob changed to remove restrictions. + +Changed: Version 2.2 (August 2001) + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +%%% ==================================================================== + +Changes released January 1997 + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +File: amsppt.sty +Date reported: ??? + +Activation of \PSAMSFonts requires change to amsppt.sty; change +approach to "do the right thing" when \PSAMSFonts is entered in a +document preamble. + +Corrected: Version 2.1g, January 1997 + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +File: amsppt.sty +Date reported: ??? + +In \output@, setting logo outside of pagecontents makes it difficult +to get all pages the same size; convert copyright/logo to insert, +with side benefit of simpler output routine. + +Corrected: Version 2.1g, January 1997 + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +File: amsppt.sty +Date reported: ??? (bnb) + +Hard coded skips and fonts mean that author packages must redefine +entire heading structures rather than simply substituting parameters; +add named skips \preproclaim, \postproclaim, \remark, \postdemo, +\predefinition, \postdefinition and named font \refsheadfont@. + +Corrected: Version 2.1g, January 1997 + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +File: amsppt.sty +Date reported: ??? (bnb) + +Initialization of \refstyle A wipes out \refindentwd if \refstyle C +is requested. + +Corrected: Version 2.1g, January 1997 + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +File: amsppt.sty +Date reported: 11-Oct-1996 (bnb) + +Bug in \makeheadline: when first page ends with roster, serieslogo is +not flush left. + +Corrected: Version 2.1g, January 1997 + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +%%% ==================================================================== + +Changes released December 1993 + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +File: amsppt.sty +Date reported: 3-Nov-1993 (V. Jalby) + +Bug in \linespacing: the vrule in \strutbox must have zero width. + +Corrected: Version 2.1d, December 1993 + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +File: amssym.tex +Date reported: ?-?-1993 (M. Spivak) + +\diagup and \diagdown should be class 0 instead of class 3. + +Corrected: Version 2.1b + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +File: amsppt.sty +Date reported: 5-Mar-1993 (B.K.P. Horn) + +Misspelled \PSAMSFONTS instead of \PSAMSFonts for the (commented out) +\nineex font declaration. + +Corrected: Version 2.1d, December 1993 + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +File: amsppt.sty +Date reported: 4-Mar-1993 (B.K.P. Horn) + +The description of the PSAMSFonts switch fails to mention Y&Y as +co-developer of the PS versions of the AMSFonts. + +Corrected: Version 2.1d, December 1993 + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +%%% ==================================================================== + +Changes released January 1993 + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +File: amsppt.sty +Date reported: 10-Jan-1993 (S. Cioe) + +Problem with \moreref punctuation introduced by 2.1b change to \ref. + +Corrected: Version 2.1c + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +File: amsppt.sty +Date reported: 1-Nov-1992 (D. Henderson) + +Added support for PostScript versions of AMS fonts from Y&Y / Blue Sky +Research. + +Corrected: Version 2.1c + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +%%% ==================================================================== + +Changes released September 1992 + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +File: amsppt.sty +Date reported: 11-SEP-1992 (J.S. Milne) + +When \roster\widestnumber is used from within \proclaim you get an +error about a missing \endproclaim + +Corrected: Version 2.1b + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +File: amsppt.sty +Date reported: 31-Aug-1992 (T. Hailperin) + +The following document has problems with the running heads. \chapterno@ +prints as empty, followed by a period, then "Chapter 4 ...." + +\input amstex +\documentstyle{amsppt} +\Monograph + +\topmatter +\title\chapter\nofrills{Appendix A} +Test for header with nofrills\endtitle +\endtopmatter + +\document + +dummy text +\newpage + +first left-hand page + +\enddocument + +Corrected: Version 2.1b + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +File: amsppt.sty +Date reported: 20-Aug-1992 (JUL) + +\subsubhead needs a dedicated \subsubheadfont@ command (like +\headfont@ and \subheadfont@) to permit +redefinition for different publications. + +Corrected: Version 2.1b + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +File: amsppt.sty +Date reported: 5-Aug-1992 (mjd) + +\rom should handle a preceding ~ as well as ordinary spaces. The +penalty needs to be saved and reinserted after the italic correction. +Something like + +\def\rom#1{\leavevmode + \edef\prevskip@{\ifdim\lastskip=\z@ \else\hskip\the\lastskip\relax\fi}% + \def\prevpenalty@{}% + \unskip + \edef\prevpenalty@{\ifnum\lastpenalty=\z@ \else + \penalty\the\lastpenalty\relax\fi}% + \unpenalty \/\prevpenalty@ \prevskip@ {\rm #1}} + +Corrected: Version 2.1b + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +File: amsppt.sty +Date reported: 26-Jul-1992 (B. Lucier) + +If \topmatter is omitted, some necessary font setup is not done. +Perhaps it should be done by \document if need be. + +Corrected: Version 2.1b + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +File: amsppt.sty +Date reported: 11-Jun-1992 (mjd) + +Four skip assignments (\leftskip etc.) in \makefootnote@ should +really use \z@skip instead of \z@. + +Corrected: Version 2.1b + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +File: amsppt.sty +Date reported: 24-FEB-1992 (mjd) + +(Change, not bug): Restore \nologo command (popular behest). + +Corrected: Version 2.1b + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +File: amsppt.sty/doc +Date reported: 24-JAN-1992 (M. Luskin) + +Comma is printed at the beginning of a \ref if \by is omitted. + +Fix: Insert \kern-1sp [ = \nofrills] in \endref@ after the key/number. + +Corrected: Version 2.1b + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +%%% ==================================================================== + +Changes released January 1992 + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +File: amsppt.sty +Date reported: 20-JAN-1992 (M. F. Bridgland) + +Problem with \moreref if the additional part of the ref is a different +type than the first part of the ref. (Distinguishing three main types: +book, journal paper, proceedings paper.) In the following example +the journal name fails to print and the volume number is printed +as 'vol. 34', instead of '{\bf 34}'. + +\ref + \no 3 + \by G. Bracha + \paper An $O(\log n)$ expected rounds randomized Byzantine +generals algorithm + \paperinfo preliminary version + \inbook Proceedings of the Seventeenth Annual ACM Symposium on Theory +of Computing + \yr 1985 + \pages 316--326 + \moreref + \paperinfo final version + \jour J. Assoc. Comput. Mach. + \vol 34 + \yr 1987 + \pages 910--920 + \endref + +Corrected: Version 2.1a, January 1992 + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +File: amsguide.tex +Date reported: 12-DEC-1991 (Guenter Rote (rote@kop.tu-graz.ada.at)) + +p. 22, under "negated arrows", \leftarrow should be \nleftarrow. +Reference number (now 2320) should be 2338, and arrow should be slashed. + +Corrected: Version 2.1b, January 1992 + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +File: amsppt.sty +Date reported: 29-NOV-1991 (M. F. Bridgland) + +If numbered references are followed by unnumbered ones, the first +unnumbered one is given a spurious number which consists of the value +sent to \widestnumber to establish the label width. + +Corrected: Version 2.1a, January 1992 + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +File: amsppt.sty +Date reported: 8-OCT-1991 (A. Sudakov) + +\Monograph sets `\demofont@' and `\proclaimfont@' when the names +actually used by \proclaim is \proclaimheadfont@ and \demo +(in version 2.1 of amsppt.sty) calls \remark and hence should +modify \remarkheadfont@. + +Corrected: Version 2.1a, January 1992 + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +File: amsppt.sty +Date reported: 5-SEP-1991 (A. Meyerowitz) + +amsppt.sty 2.1 might as well include \loadmsam and \loadmsbm +before \UseAMSsymbols, so that it works even if used with +an AMSTeX 2.0 format file. + +Corrected: Version 2.1a, January 1992 + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +File: amsppt.sty +Date reported: 28-AUG-1991 (mjd) + +In a \ref, when using \book, we might as well print out \eds and +\pages or \page info (even though in AMS style this information +is normally omitted). \eds will print anyway if \by is omitted, so the +problem case is only when both \by and \eds are used in the same +reference (surely it's a bit rare in citing a monograph to list both +the author and an editor...) + +Corrected: Version 2.1a, January 1992 + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +File: amsppt.sty +Date reported: 23-AUG-1991 (mjd) + +Spacing above/below \block is imperfect. When used in +vertical mode, the \noindent causes +the short dislay skips to be used, which is then overcompensated +for, on the top only, with the \vskip\abovedisplayskip. + +% \block is intended for typing long quotes in a block, indented +% on both margins. If we're not in horizontal mode, we do a +% \noindent to avoid getting an extra blank line before the +% display. +% +\def\block{\RIfMIfI@\nondmatherr@\block\fi + \else\ifvmode\vskip\abovedisplayskip\noindent\fi + $$\def\endblock{\par\egroup$$}\fi + \vbox\bgroup\advance\hsize-2\indenti\noindent} +\def\endblock{\par\egroup} + +Corrected: Version 2.1a, January 1992 + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +File: amsppt.sty +Date reported: 22-AUG-1991 (MJD) + +The definition of \page in \toc@ needs to be localized, otherwise +it will cancel the proper definition of \page for use in +\ref, if a \toc and a \Refs occur in the same file. + +\def\toc@#1{\relaxnext@ + \def\page##1% + {\unskip\penalty0\null\hfil + \rlap{\hbox to\wd\pagesbox@{\quad\hfil##1}}\hfilneg\penalty\@M}% + +Corrected: Version 2.1a, January 1992 + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +File: amsppt.sty +Date reported: 21-AUG-1991 (T. Shifrin) + +\Runinitem causes an `extra \endroster' error every time. + +Corrected: Version 2.1a, January 1992 + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +File: amsguide.tex +Date reported: 21-AUG-1991 (L. Evens) + +The AMSTeX User's Guide contains an incorrect example regarding the +TOC entry for \head. + +> It turns out that I was misled by the +> AmSTeX 2.0 User's Guide which is not very clear about how to use +> these macros. In particular, one of its examples (p. 8) won't work: +> +> \toc +> ... +> \head Continuous complex-valued functions\page{1}\endhead +> ... +> \endtoc +> +> I think this may work if there are two spaces between `\head' +> and `Continuous', but it certainly doesn't work with one space which +> is what appears to be in the User's Guide. Fortunately, I was +> able to work out the correct syntax by examining the macro definition +> in amsppt.sty. +> The documentation should be changed to emphasize that +> one should put {} followed by a space before any text without +> a caption. + +Corrected: Version 2.1b, January 1992 + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +File: amsppt.sty +Date reported: 17-MAY-1991 (mjd) + +An author in a \ref...\endref structure used \no for the reference +number and also mistakenly used \no to attempt to produce an issue +number. This resulted in the reference number having the issue number +value. It should be fairly simple to add an \ifvoid test when +putting reference data in a box to make sure the box is void; +if not, give a warning to the user about the command being used twice +inside one \ref (or \moreref or \transl) unit. + +Corrected: Version 2.1a, January 1992 + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +File: AMSPPT.STY +Date reported: 14-FEB-1991 (RMG) + +Slanted fonts should be changed to italic for consistency with AMS +publications. + +Corrected: Version 2.1b, January 1992 + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +%%% ==================================================================== + +Changes released August 1991 + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +File: amsppt1.tex +Date reported: 3-JUL-1991 (D. Feldman et al.) + +Extra { after \message in the first definition of \enddocument +causes an error message when the file is input. + +Corrected: Version 2.1b, August 1991 + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +Changes made in Version 2.1, June 1991 + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +File: AMSTEX.TEX +Date reported: 7-FEB-1991 + +It seems that there was an error in copying the definition of \pmb@ +from the TeXbook (p. 386)---there should not be a minus sign in +"\kern-.05em". + +---Made some additional adjustments to tune the `boldness' further +(it's hard, though, to find a good compromise that produces +distinctly bold subscript characters and not too-bold text-size +characters). + +Corrected: Version 2.1, June 1991 + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + File: INSTALLATION PROGRAM + Date reported: 21-JAN-1991 + + (1) In the second prompt message "fonts" should be changed to "files". + (2) Maybe a warning about not needing to press Return key. + (3) Error during TFM file move step did not prevent the + "AMSTeX successfully installed" message from appearing. + (4) Omitting the initial backslash from the directory names given + in response to the questions causes problems. + +(1) corrected Version 2.1, May 1991 +(2) Many DOS applications do not require use of Return key; left as is. +(3) Wording of final line changed for Version 2.1, May 1991 +(4) Warning about necessity of backslash included in Version 2.1, May 1991. + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +File: AMSPPT.STY +Date reported: 14-DEC-1990 + +User's guide should explain how to make an amsppt format file, not just +an amstex format. For users with smaller, comparatively slower systems, +this saves quite a bit of time every time they run AMSTeX. + +Corrected: Version 2.1, June 1991 + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +File: AMSINST.TEX (now part of AMSGUIDE.TEX) +Date reported: 11-DEC-1990 + +Font cmbsy10 used in installation guide at a large size (18pt) +caused problems for some people who don't have it at that size. + +---Problem has been resolved in the new amsguide.tex that incorporates +the installation instructions, by eliminating the large title where the +font occurred. + +Corrected: Version 2.1, June 1991 + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +File: AMSTEX.TEX +Date reported: 3-DEC-1990 + +\loadeusm, etc. should not do \newfam if the family is already loaded +(should check to see if, e.g., \eusmfam is already defined). One +user ran into trouble because \loadmsam, \loadmsbm and \loadeufm +were done in the format file and therefore when amsppt.sty was +loaded the three family assignments were duplicated. + +---Changed the \load commands to undefine themselves after their +first use. This also saves a little main memory. + +Corrected: Version 2.1, June 1991 + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +File: AMSPPT.STY +Date reported: 28-NOV-1990 (H. P. Boas) + +In definition of \thanks, \unskip was erroneously placed after the +period instead of before. + +---Fixed by removing the period and requiring it to be typed by the +user. (\thanks could conceivably contain more than one sentence.) + +Corrected: Version 2.1, June 1991 + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +File: AMSTEX.TEX +Date reported: 5-NOV-1990 + +In \rightarrowfill and similar things the minus sign should be smashed +(as in plain.tex \relbar). Compare + + $$\buildrel\textstyle\sim\over\longrightarrow$$ % plain + $$\overset\tsize\sim\to\longrightarrow$$ % AMSTeX + $$A @>\tsize\sim>> B$$ % @>>> uses \rightarrowfill + +---\rightarrowfill is defined in plain.tex, actually. AMSTEX.TEX +also defines \rightarrowfill@. Smashing \rightarrowfill is nontrivial +(perhaps that's why Knuth didn't do it). + +Corrected: Version 2.1, June 1991 + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +File: AMSTEX.TEX +Date reported: 5-NOV-1990 + +\intertext should add penalties to discourage page breaks; as a minimum, +there should be \penalty\predisplaypenalty added before the second +\vskip: + +\def\intertext@{\def\intertext##1{\crcr\noalign{\vskip\belowdisplayskip + \vbox{\normalbaselines\noindent##1}\penalty\predisplaypenalty + \vskip\abovedisplayskip}}} + +Corrected: Version 2.1, June 1991 + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +File: AMSPPT.STY +Date reported: 3-OCT-1990 + +The figure caption macros should treat + + \fc{Figure 1} + \endfc + +the same as + + \fc{Figure 1}\endfc + +In other words the test to see if the second argument is empty should +work even when the second argument is a blank space. + +Corrected: Version 2.1, June 1991 + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +File: AMSPPT.STY +Date reported: 1-OCT-1990 (Silvio Levy) + +\penaltyandskip@ macro needs to have \par at the beginning. + +Corrected: Version 2.1, June 1991 + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +File: AMSPPT.STY +Date reported: 1-SEP-1990 + +\widestnumber\item doesn't work as claimed in the user's guide. + +Corrected: Version 2.1, June 1991 + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +File: AMSPPT.STY +Date reported: 1-MAR-1990 + +Line breaking in \Refs section doesn't work properly after explicit +hyphens, or after mathbins and mathrels, because of setting the +text in \hbox's. + +---Substantial changes in the internal workings of \ref and related +macros. + +Corrected: Version 2.1, June 1991 + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +File: AMSPPT.STY +Date reported: 1-FEB-1990 + +Missing \endkeywords, \endsubjclass, and \endsubhead, among others, +produce a puzzling error message ("Use of \next@ does not match its +definition"). + +---Involved substantial changes to \nofrills mechanism (internal +implementation, not user interface). + +Corrected: Version 2.1, June 1991 + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +%%% ==================================================================== + +Problems reported, not resolved + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%% File: amsppt.sty +%% Date reported: 2000/12/04 +%% +%% Footnote in bibliography entry disappears, along with the element to +%% which the footnote is attached; this is a consequence of extensive +%% boxing in compiling a reference. Fixing this is too complicated; +%% however, a warning message will be issued, and the problem has been +%% documented in amsppt.faq. +%% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%% File: amsppt.sty +%% Date reported: 2000/08/24 +%% +%% When no data present for \email...\endemail, label is generated with +%% no data. For other top matter elements, blank footnotes appear. +%% +%% It's not obvious where or how to check whether an element is empty; +%% all these begin by recycling \savedef@. Documentation added that +%% empty fields should be omitted. +%% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%% File: amsppt.sty, amsppt.sti +%% Date reported: 1999/03/05 +%% +%% Requested that pre-1997 page dimensions be restored for backward +%% compatibility, especially when using magnification. This will not be +%% done, as amsppt.sty is supposed to match AMS document specifications. +%% However, a modification has been placed in amsppt.sti (the local +%% adjustments), commented out, with code to compensate for the change. +%% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%% File: amstex.tex +%% Date reported: 1998/09/24 +%% +%% When used with the e-plain arrow.tex package, \leavevmode in the +%% definition of \finsm@sh (\smash) disrupts the proper setting of +%% horizontal arrows. +%% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%% File: amsppt.sty +%% Date reported: 1997/09/24 +%% +%% If two \proclaim's are adjacent, and a page break falls between them, +%% the post-proclaim space is at the bottom of the page, giving a short +%% page. +%% +%% Not changed; to do so would cause changes in existing documents. +%% Manual workaround: include \pagebreak as the last thing before +%% \endproclaim; similarly for \enddemo. +%% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%% File: amsppt.sty +%% Date reported: 1997/01/08 +%% +%% When \linespacing is set to a value >1, in multiline displays with +%% tagged lines, a vertical bar appears before the tags. +%% Could not reproduce problem +%% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%% File: amstex.tex +%% Date reported: 1-JUL-1991 (N. Poppelier) +%% +%% The algorithm used in determining whether to move a tag to a separate +%% line in \align is incorrect: it appears that the tag will be moved if +%% the space available is less than 2w (allowing for centering also), where +%% w is the width of the tag, when it would be better to not move it unless +%% the space is less than (w + 1 em), and also uncenter the main part of +%% the display if necessary in order to fit the tag (this is the algorithm +%% used by \eqno & \leqno). +%% +%% Need to check \split also. This bug has been reported before +%% by other people also. +%% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%% File: amstex.tex +%% Date reported: 26-JUN-1991 (J. Walker) +%% +%% \@ins and perhaps also \topcaption, \botcaption should be +%% defined in amstex.tex, rather than amsppt.sty. The +%% Joy of TeX description of using \midinsert and \topinsert +%% implies that the use of amsppt is not necessary, when +%% currently it is. +%% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%% File: AMSTEX.TEX +%% Date reported: 11-JUN-1991 (MJD) +%% +%% \dotsspace@ should by default be set to give the same spacing as +%% for \dots? +%% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%% File: AMSTEX.TEX +%% Date reported: 10-JUN-1991 (MJD) +%% +%% \align (and presumably other display alignments) never use +%% \abovedisplayshortskip even when the first line of the display +%% would permit it. +%% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%% File: AMSPPT.STY +%% Date reported: 19-MAR-1991 +%% +%% Page break can happen between \subhead and \subsubhead in some +%% circumstances. +%% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%% File: AMSPPT.STY +%% Date reported: 21-FEB-1991 +%% +%% \Runinitem doesn't work as claimed for a roster at the beginning +%% of a \proclaim or anything similar. Probably will require a change +%% in the user syntax to do it properly. So the users' guide would +%% need changing at the same time. +%% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%% File: INSTALLATION PROGRAM +%% Date reported: 21-JAN-1991 +%% +%% One user with an IBM PC/PS2 model 50, an IBM SCII adapter and a large +%% SCII disc partitioned into two logical disks D: and E: had trouble with +%% the PC installation program: it refused to recognize the existence of +%% drive E: +%% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%% File: AMSTEX.TEX +%% Date reported: 7-MAR-1990 (Weng Chew) +%% +%% \alignat allows a tag to overprint rather than moving it to a separate +%% line if necessary. Also apparently \alignat may sometimes cause an +%% `overfull' black box in the margin even when the material appears to +%% fit within the margins. (Perhaps Chew had a \right. on the right-hand +%% side. If not then something may need to be fixed.) +%% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% diff --git a/Master/texmf-dist/tex/amstex/base/amstex.tex b/Master/texmf-dist/tex/amstex/base/amstex.tex new file mode 100644 index 00000000000..2e9131a4600 --- /dev/null +++ b/Master/texmf-dist/tex/amstex/base/amstex.tex @@ -0,0 +1,1806 @@ +%% @texfile{ +%% filename = "amstex.tex", +%% version = "2.2", +%% date = "2001/10/04", +%% time = "09:08:48 EDT", +%% checksum = "54330 1806 2947 78920", +%% filetype = "AMS-TeX: documentstyle", +%% author = "American Mathematical Society", +%% copyright = "Copyright 1985, 1990, 1991, 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 the AMS-TeX Version 2.2 +%% macro package. It is intended to be used in +%% conjunction with plain TeX. The macros defined +%% herein are chiefly oriented to the construction +%% of mathematical formulas, both display and +%% nondisplay, using AMS conventions for fonts, +%% spacing, and other details." +%% 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.", +%% } +%% ==================================================================== +\def\fmtname{AmS-TeX} +\let\plainfmtversion\fmtversion +\def\fmtversion{2.2} +\catcode`\@=11 +\ifx\amstexloaded@\relax\catcode`\@=\active + \endinput\else\let\amstexloaded@\relax\fi +\newlinechar=`\^^J +\def\W@{\immediate\write\sixt@@n} +\def\CR@{\W@{^^J\fmtname - Version \fmtversion^^J}} +\CR@ \everyjob{\CR@} +\message{Loading definitions for} +\message{misc utility macros,} +\toksdef\toks@@=2 +\long\def\rightappend@#1\to#2{\toks@{\\{#1}}\toks@@ + =\expandafter{#2}\xdef#2{\the\toks@@\the\toks@}\toks@{}\toks@@{}} +\def\alloclist@{} +\newif\ifalloc@ +\def\showallocations{{\def\\{\immediate\write\m@ne}\alloclist@}\alloc@true} +\def\alloc@#1#2#3#4#5{\global\advance\count1#1by\@ne + \ch@ck#1#4#2\allocationnumber=\count1#1 + \global#3#5=\allocationnumber + \edef\next@{\string#5=\string#2\the\allocationnumber}% + \expandafter\rightappend@\next@\to\alloclist@} +\newcount\count@@ +\newcount\count@@@ +\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} +\def\iterate{\body\expandafter\iterate\else\fi} +\def\err@#1{\errmessage{AmS-TeX error: #1}} +\newhelp\defaulthelp@{Sorry, I already gave what help I could...^^J +Maybe you should try asking a human?^^J +An error might have occurred before I noticed any problems.^^J +``If all else fails, read the instructions.''} +\def\Err@{\errhelp\defaulthelp@\err@} +\def\eat@#1{} +\def\in@#1#2{\def\in@@##1#1##2##3\in@@{\ifx\in@##2\in@false\else\in@true\fi}% + \in@@#2#1\in@\in@@} +\newif\ifin@ +\def\space@.{\futurelet\space@\relax} +\space@. % +\newhelp\athelp@ +{Only certain combinations beginning with @ make sense to me.^^J +Perhaps you wanted \string\@\space for a printed @?^^J +I've ignored the character or group after @.} +{\catcode`\~=\active % just in case + \lccode`\~=`\@ \lowercase{\gdef~{\FN@\at@}}} +\def\at@{\let\next@\at@@ + \ifcat\noexpand\next a\else\ifcat\noexpand\next0\else + \ifcat\noexpand\next\relax\else + \let\next\at@@@\fi\fi\fi + \next@} +\def\at@@#1{\expandafter + \ifx\csname\space @\string#1\endcsname\relax + \expandafter\at@@@ \else + \csname\space @\string#1\expandafter\endcsname\fi} +\def\at@@@#1{\errhelp\athelp@ \err@{\Invalid@@ @}}%% +\def\atdef@#1{\expandafter\def\csname\space @\string#1\endcsname}%% +\newhelp\defahelp@{If you typed \string\define\space cs instead of +\string\define\string\cs\space^^J +I've substituted an inaccessible control sequence so that your^^J +definition will be completed without mixing me up too badly.^^J +If you typed \string\define{\string\cs} the inaccessible control sequence^^J +was defined to be \string\cs, and the rest of your^^J +definition appears as input.} +\newhelp\defbhelp@{I've ignored your definition, because it might^^J +conflict with other uses that are important to me.} +\def\define{\FN@\define@} +\def\define@{\ifcat\noexpand\next\relax + \expandafter\define@@\else\errhelp\defahelp@ %1 + \err@{\string\define\space must be followed by a control + sequence}\expandafter\def\expandafter\nextii@\fi} %2 +\def\undefined@@@@@@@@@@{} +\def\preloaded@@@@@@@@@@{} +\def\next@@@@@@@@@@{} +\def\define@@#1{\ifx#1\relax\errhelp\defbhelp@ %1 + \err@{\string#1\space is already defined}\DN@{\DNii@}\else + \expandafter\ifx\csname\expandafter\eat@\string %2 + #1@@@@@@@@@@\endcsname\undefined@@@@@@@@@@\errhelp\defbhelp@ + \err@{\string#1\space can't be defined}\DN@{\DNii@}\else + \expandafter\ifx\csname\expandafter\eat@\string#1\endcsname\relax %3 + \global\let#1\undefined\DN@{\def#1}\else\errhelp\defbhelp@ + \err@{\string#1\space is already defined}\DN@{\DNii@}\fi + \fi\fi\next@} +\let\redefine\def +\def\predefine#1#2{\let#1#2} +\def\undefine#1{\let#1\undefined} +\message{page layout,} +\newdimen\captionwidth@ +\captionwidth@\hsize +\advance\captionwidth@-1.5in +\def\pagewidth#1{\hsize#1\relax + \captionwidth@\hsize\advance\captionwidth@-1.5in} +\def\pageheight#1{\vsize#1\relax} +\def\hcorrection#1{\advance\hoffset#1\relax} +\def\vcorrection#1{\advance\voffset#1\relax} +\message{accents/punctuation,} +\def\tie{\unskip\nobreak\ } +\let\graveaccent\` +\let\acuteaccent\' +\let\tildeaccent\~ +\let\hataccent\^ +\let\underscore\_ +\let\B\= +\let\D\. +\let\ic@\/ +\def\/{\unskip\ic@} +\def\textfonti{\the\textfont\@ne} +\def\t#1#2{{\edef\next@{\the\font}\textfonti\accent"7F \next@#1#2}} +\def~{\unskip\nobreak\ \ignorespaces} +\def\.{.\spacefactor\@m} +\atdef@;{\leavevmode\null;} +\atdef@:{\leavevmode\null:} +\atdef@?{\leavevmode\null?} +\edef\@{\string @} +\def\relaxnext@{\let\next\relax} +\atdef@-{\relaxnext@\leavevmode + \DN@{\ifx\next-\DN@-{\FN@\nextii@}\else + \DN@{\leavevmode\hbox{-}}\fi\next@}% + \DNii@{\ifx\next-\DN@-{\leavevmode\hbox{---}}\else + \DN@{\leavevmode\hbox{--}}\fi\next@}% + \FN@\next@} +\def\srdr@{\kern.16667em} +\def\drsr@{\kern.02778em} +\def\sldl@{\drsr@} +\def\dlsl@{\srdr@} +\atdef@"{\unskip\relaxnext@ + \DN@{\ifx\next\space@\DN@. {\FN@\nextii@}\else + \DN@.{\FN@\nextii@}\fi\next@.}% + \DNii@{\ifx\next`\DN@`{\FN@\nextiii@}\else + \ifx\next\lq\DN@\lq{\FN@\nextiii@}\else + \DN@####1{\FN@\nextiv@}\fi\fi\next@}% + \def\nextiii@{\ifx\next`\DN@`{\sldl@``}\else\ifx\next\lq + \DN@\lq{\sldl@``}\else\DN@{\dlsl@`}\fi\fi\next@}% + \def\nextiv@{\ifx\next'\DN@'{\srdr@''}\else + \ifx\next\rq\DN@\rq{\srdr@''}\else\DN@{\drsr@'}\fi\fi\next@}% + \FN@\next@} +\def\flushpar{\par\noindent} +\def\textfontii{\the\textfont\tw@} +\def\lbrace@{\delimiter"4266308 } +\def\rbrace@{\delimiter"5267309 } +\def\{{\RIfM@\lbrace@\else{\textfontii f}\spacefactor\@m\fi} +\def\}{\RIfM@\rbrace@\else + \let\@sf\empty\ifhmode\edef\@sf{\spacefactor\the\spacefactor}\fi + {\textfontii g}\@sf\relax\fi} +\let\lbrace\{ +\let\rbrace\} +\def\AmSTeX{{\textfontii A\kern-.1667em% + \lower.5ex\hbox{M}\kern-.125emS}-\TeX\spacefactor1000 } +\message{line and page breaks,} +\def\vmodeerr@#1{\Err@{\string#1\space not allowed between paragraphs}} +\def\mathmodeerr@#1{\Err@{\string#1\space not allowed in math mode}} +\def\linebreak{\RIfM@\mathmodeerr@\linebreak\else + \ifhmode\unskip\unkern\break\else\vmodeerr@\linebreak\fi\fi} +\def\slash{\unskip/\penalty\exhyphenpenalty} +\newskip\saveskip@ +\def\allowlinebreak{\RIfM@\mathmodeerr@\allowlinebreak\else + \ifhmode\saveskip@\lastskip\unskip + \allowbreak\ifdim\saveskip@>\z@\hskip\saveskip@\fi + \else\vmodeerr@\allowlinebreak\fi\fi} +\def\nolinebreak{\RIfM@\mathmodeerr@\nolinebreak\else + \ifhmode\saveskip@\lastskip\unskip + \nobreak\ifdim\saveskip@>\z@\hskip\saveskip@\fi + \else\vmodeerr@\nolinebreak\fi\fi} +\def\newline{\relaxnext@ + \DN@{\RIfM@\expandafter\mathmodeerr@\expandafter\newline\else + \ifhmode\ifx\next\par\else + \expandafter\unskip\expandafter\null\expandafter\hfill\expandafter\break\fi + \else + \expandafter\vmodeerr@\expandafter\newline\fi\fi}% + \FN@\next@} +\def\dmatherr@#1{\Err@{\string#1\space not allowed in display math mode}} +\def\nondmatherr@#1{\Err@{\string#1\space not allowed in non-display math + mode}} +\def\onlydmatherr@#1{\Err@{\string#1\space allowed only in display math mode}} +\def\nonmatherr@#1{\Err@{\string#1\space allowed only in math mode}} +\def\mathbreak{\RIfMIfI@\break\else + \dmatherr@\mathbreak\fi\else\nonmatherr@\mathbreak\fi} +\def\nomathbreak{\RIfMIfI@\nobreak\else + \dmatherr@\nomathbreak\fi\else\nonmatherr@\nomathbreak\fi} +\def\allowmathbreak{\RIfMIfI@\allowbreak\else + \dmatherr@\allowmathbreak\fi\else\nonmatherr@\allowmathbreak\fi} +\def\pagebreak{\RIfM@ + \ifinner\nondmatherr@\pagebreak\else\postdisplaypenalty-\@M\fi + \else\ifvmode\removelastskip\break\else\vadjust{\break}\fi\fi} +\def\nopagebreak{\RIfM@ + \ifinner\nondmatherr@\nopagebreak\else\postdisplaypenalty\@M\fi + \else\ifvmode\nobreak\else\vadjust{\nobreak}\fi\fi} +\def\nonvmodeerr@#1{\Err@{\string#1\space not allowed within a paragraph + or in math}} +\def\vnonvmode@#1#2{\relaxnext@\DNii@{\ifx\next\par\DN@{#1}\else + \DN@{#2}\fi\next@}% + \ifvmode\DN@{#1}\else + \DN@{\FN@\nextii@}\fi\next@} +\def\newpage{\vnonvmode@{\vfill\break}{\nonvmodeerr@\newpage}} +\def\smallpagebreak{\vnonvmode@\smallbreak{\nonvmodeerr@\smallpagebreak}} +\def\medpagebreak{\vnonvmode@\medbreak{\nonvmodeerr@\medpagebreak}} +\def\bigpagebreak{\vnonvmode@\bigbreak{\nonvmodeerr@\bigpagebreak}} +\def\NoBlackBoxes{\global\overfullrule\z@} +\def\BlackBoxes{\global\overfullrule5\p@} +\def\Invalid@#1{\def#1{\Err@{\Invalid@@\string#1}}} +\def\Invalid@@{Invalid use of } +\message{figures,} +\Invalid@\caption +\Invalid@\captionwidth +\newdimen\smallcaptionwidth@ +\def\topspace{\mid@false\ins@} +\def\midspace{\mid@true\ins@} +\newif\ifmid@ +\def\captionfont@{} +\def\ins@#1{\relaxnext@\allowbreak + \smallcaptionwidth@\captionwidth@\gdef\thespace@{#1}% + \DN@{\ifx\next\space@\DN@. {\FN@\nextii@}\else + \DN@.{\FN@\nextii@}\fi\next@.}% + \DNii@{\ifx\next\caption\DN@\caption{\FN@\nextiii@}% + \else\let\next@\nextiv@\fi\next@}% + \def\nextiv@{\vnonvmode@ + {\ifmid@\expandafter\midinsert\else\expandafter\topinsert\fi + \vbox to\thespace@{}\endinsert} + {\ifmid@\nonvmodeerr@\midspace\else\nonvmodeerr@\topspace\fi}}% + \def\nextiii@{\ifx\next\captionwidth\expandafter\nextv@ + \else\expandafter\nextvi@\fi}% + \def\nextv@\captionwidth##1##2{\smallcaptionwidth@##1\relax\nextvi@{##2}}% + \def\nextvi@##1{\def\thecaption@{\captionfont@##1}% + \DN@{\ifx\next\space@\DN@. {\FN@\nextvii@}\else + \DN@.{\FN@\nextvii@}\fi\next@.}% + \FN@\next@}% + \def\nextvii@{\vnonvmode@ + {\ifmid@\expandafter\midinsert\else + \expandafter\topinsert\fi\vbox to\thespace@{}\nobreak\smallskip + \setboxz@h{\noindent\ignorespaces\thecaption@\unskip}% + \ifdim\wdz@>\smallcaptionwidth@\centerline{\vbox{\hsize\smallcaptionwidth@ + \noindent\ignorespaces\thecaption@\unskip}}% + \else\centerline{\boxz@}\fi\endinsert} + {\ifmid@\nonvmodeerr@\midspace + \else\nonvmodeerr@\topspace\fi}}% + \FN@\next@} +\message{comments,} +\def\newcodes@{\catcode`\\12\catcode`\{12\catcode`\}12\catcode`\#12% + \catcode`\%12\relax} +\def\oldcodes@{\catcode`\\0\catcode`\{1\catcode`\}2\catcode`\#6% + \catcode`\%14\relax} +\def\comment{\newcodes@\endlinechar=10 \comment@} +{\lccode`\0=`\\ +\lowercase{\gdef\comment@#1^^J{\comment@@#10endcomment\comment@@@}% +\gdef\comment@@#10endcomment{\FN@\comment@@@}% +\gdef\comment@@@#1\comment@@@{\ifx\next\comment@@@\let\next\comment@ + \else\def\next{\oldcodes@\endlinechar=`\^^M\relax}% + \fi\next}}} +\def\pr@m@s{\ifx'\next\DN@##1{\prim@s}\else\let\next@\egroup\fi\next@} +\def\prime{{\null\prime@\null}} +\mathchardef\prime@="0230 +\let\dsize\displaystyle +\let\tsize\textstyle +\let\ssize\scriptstyle +\let\sssize\scriptscriptstyle +\message{math spacing,} +\def\,{\RIfM@\mskip\thinmuskip\relax\else\kern.16667em\fi} +\def\!{\RIfM@\mskip-\thinmuskip\relax\else\kern-.16667em\fi} +\let\thinspace\, +\let\negthinspace\! +\def\medspace{\RIfM@\mskip\medmuskip\relax\else\kern.222222em\fi} +\def\negmedspace{\RIfM@\mskip-\medmuskip\relax\else\kern-.222222em\fi} +\def\thickspace{\RIfM@\mskip\thickmuskip\relax\else\kern.27777em\fi} +\let\;\thickspace +\def\negthickspace{\RIfM@\mskip-\thickmuskip\relax\else + \kern-.27777em\fi} +\atdef@,{\RIfM@\mskip.1\thinmuskip\else\leavevmode\null,\fi} +\atdef@!{\RIfM@\mskip-.1\thinmuskip\else\leavevmode\null!\fi} +\atdef@.{\RIfM@&&\else\leavevmode.\spacefactor3000 \fi} +\def\and{\DOTSB\;\mathchar"3026 \;} +\def\implies{\DOTSB\;\Longrightarrow\;} +\def\impliedby{\DOTSB\;\Longleftarrow\;} +\message{fractions,} +\def\frac#1#2{{#1\over#2}} +\def\dfrac#1#2{{\displaystyle{#1\over#2}}} +\def\tfrac#1#2{{\textstyle{#1\over#2}}} +\newdimen\ex@ +\ex@.2326ex +\Invalid@\thickness +\def\thickfrac{\relaxnext@ + \DN@{\ifx\next\thickness\let\next@\nextii@\else + \DN@{\nextii@\thickness1}\fi\next@}% + \DNii@\thickness##1##2##3{{##2\above##1\ex@##3}}% + \FN@\next@} +\def\fracwithdelims#1#2#3#4{{#3\overwithdelims#1#2#4}} +\def\thickfracwithdelims#1#2{\relaxnext@\def\ldelim@{#1}\def\rdelim@{#2}% + \DN@{\ifx\next\thickness\let\next@\nextii@\else + \DN@{\nextii@\thickness1}\fi\next@}% + \DNii@\thickness##1##2##3{{##2\abovewithdelims + \ldelim@\rdelim@##1\ex@##3}}% + \FN@\next@} +\def\binom#1#2{{#1\choose#2}} +\def\dbinom#1#2{{\displaystyle{#1\choose#2}}} +\def\tbinom#1#2{{\textstyle{#1\choose#2}}} +\def\:{\nobreak\hskip.1111em\mathpunct{}\nonscript\mkern-\thinmuskip{:}\hskip + .3333emplus.0555em\relax} +\def\snug{\unskip\kern-\mathsurround} +\message{smash commands,} +\def\topsmash{\top@true\bot@false\smash@} +\def\botsmash{\top@false\bot@true\smash@} +\newif\iftop@ +\newif\ifbot@ +\def\smash{\top@true\bot@true\smash@} +\def\smash@{\RIfM@\expandafter\mathpalette\expandafter\mathsm@sh\else + \expandafter\makesm@sh\fi} +\def\finsm@sh{\iftop@\ht\z@\z@\fi\ifbot@\dp\z@\z@\fi\leavevmode\boxz@} +\message{large operator symbols,} +\def\LimitsOnSums{\global\let\slimits@\displaylimits} +\def\NoLimitsOnSums{\global\let\slimits@\nolimits} +\LimitsOnSums +\mathchardef\coprod@="1360 \def\coprod{\DOTSB\coprod@\slimits@} +\mathchardef\bigvee@="1357 \def\bigvee{\DOTSB\bigvee@\slimits@} +\mathchardef\bigwedge@="1356 \def\bigwedge{\DOTSB\bigwedge@\slimits@} +\mathchardef\biguplus@="1355 \def\biguplus{\DOTSB\biguplus@\slimits@} +\mathchardef\bigcap@="1354 \def\bigcap{\DOTSB\bigcap@\slimits@} +\mathchardef\bigcup@="1353 \def\bigcup{\DOTSB\bigcup@\slimits@} +\mathchardef\prod@="1351 \def\prod{\DOTSB\prod@\slimits@} +\mathchardef\sum@="1350 \def\sum{\DOTSB\sum@\slimits@} +\mathchardef\bigotimes@="134E \def\bigotimes{\DOTSB\bigotimes@\slimits@} +\mathchardef\bigoplus@="134C \def\bigoplus{\DOTSB\bigoplus@\slimits@} +\mathchardef\bigodot@="134A \def\bigodot{\DOTSB\bigodot@\slimits@} +\mathchardef\bigsqcup@="1346 \def\bigsqcup{\DOTSB\bigsqcup@\slimits@} +\message{integrals,} +\def\LimitsOnInts{\global\let\ilimits@\displaylimits} +\def\NoLimitsOnInts{\global\let\ilimits@\nolimits} +\NoLimitsOnInts +\def\int{\DOTSI\intop\ilimits@} +\def\oint{\DOTSI\ointop\ilimits@} +\def\intic@{\mathchoice{\hskip.5em}{\hskip.4em}{\hskip.4em}{\hskip.4em}} +\def\negintic@{\mathchoice + {\hskip-.5em}{\hskip-.4em}{\hskip-.4em}{\hskip-.4em}} +\def\intkern@{\mathchoice{\!\!\!}{\!\!}{\!\!}{\!\!}} +\def\intdots@{\mathchoice{\plaincdots@} + {{\cdotp}\mkern1.5mu{\cdotp}\mkern1.5mu{\cdotp}} + {{\cdotp}\mkern1mu{\cdotp}\mkern1mu{\cdotp}} + {{\cdotp}\mkern1mu{\cdotp}\mkern1mu{\cdotp}}} +\newcount\intno@ +\def\iint{\DOTSI\intno@\tw@\FN@\ints@} +\def\iiint{\DOTSI\intno@\thr@@\FN@\ints@} +\def\iiiint{\DOTSI\intno@4 \FN@\ints@} +\def\idotsint{\DOTSI\intno@\z@\FN@\ints@} +\def\ints@{\findlimits@\ints@@} +\newif\iflimtoken@ +\newif\iflimits@ +\def\findlimits@{\limtoken@true\ifx\next\limits\limits@true + \else\ifx\next\nolimits\limits@false\else + \limtoken@false\ifx\ilimits@\nolimits\limits@false\else + \ifinner\limits@false\else\limits@true\fi\fi\fi\fi} +\def\multint@{\int\ifnum\intno@=\z@\intdots@ %1 + \else\intkern@\fi %2 + \ifnum\intno@>\tw@\int\intkern@\fi %3 + \ifnum\intno@>\thr@@\int\intkern@\fi %4 + \int} %5 +\def\multintlimits@{\intop\ifnum\intno@=\z@\intdots@\else\intkern@\fi + \ifnum\intno@>\tw@\intop\intkern@\fi + \ifnum\intno@>\thr@@\intop\intkern@\fi\intop} +\def\ints@@{\iflimtoken@ %1 + \def\ints@@@{\iflimits@\negintic@\mathop{\intic@\multintlimits@}\limits %2 + \else\multint@\nolimits\fi %3 + \eat@} %4 + \else %5 + \def\ints@@@{\iflimits@\negintic@ + \mathop{\intic@\multintlimits@}\limits\else + \multint@\nolimits\fi}\fi\ints@@@} +\def\LimitsOnNames{\global\let\nlimits@\displaylimits} +\def\NoLimitsOnNames{\global\let\nlimits@\nolimits@} +\LimitsOnNames +\def\nolimits@{\relaxnext@ + \DN@{\ifx\next\limits\DN@\limits{\nolimits}\else + \let\next@\nolimits\fi\next@}% + \FN@\next@} +\message{operator names,} +\def\newmcodes@{\mathcode`\'"27\mathcode`\*"2A\mathcode`\."613A% + \mathcode`\-"2D\mathcode`\/"2F\mathcode`\:"603A } +\def\operatorname#1{\mathop{\newmcodes@\kern\z@\fam\z@#1}\nolimits@} +\def\operatornamewithlimits#1{\mathop{\newmcodes@\kern\z@\fam\z@#1}\nlimits@} +\def\qopname@#1{\mathop{\fam\z@#1}\nolimits@} +\def\qopnamewl@#1{\mathop{\fam\z@#1}\nlimits@} +\def\arccos{\qopname@{arccos}} +\def\arcsin{\qopname@{arcsin}} +\def\arctan{\qopname@{arctan}} +\def\arg{\qopname@{arg}} +\def\cos{\qopname@{cos}} +\def\cosh{\qopname@{cosh}} +\def\cot{\qopname@{cot}} +\def\coth{\qopname@{coth}} +\def\csc{\qopname@{csc}} +\def\deg{\qopname@{deg}} +\def\det{\qopnamewl@{det}} +\def\dim{\qopname@{dim}} +\def\exp{\qopname@{exp}} +\def\gcd{\qopnamewl@{gcd}} +\def\hom{\qopname@{hom}} +\def\inf{\qopnamewl@{inf}} +\def\injlim{\qopnamewl@{inj\,lim}} +\def\ker{\qopname@{ker}} +\def\lg{\qopname@{lg}} +\def\lim{\qopnamewl@{lim}} +\def\liminf{\qopnamewl@{lim\,inf}} +\def\limsup{\qopnamewl@{lim\,sup}} +\def\ln{\qopname@{ln}} +\def\log{\qopname@{log}} +\def\max{\qopnamewl@{max}} +\def\min{\qopnamewl@{min}} +\def\Pr{\qopnamewl@{Pr}} +\def\projlim{\qopnamewl@{proj\,lim}} +\def\sec{\qopname@{sec}} +\def\sin{\qopname@{sin}} +\def\sinh{\qopname@{sinh}} +\def\sup{\qopnamewl@{sup}} +\def\tan{\qopname@{tan}} +\def\tanh{\qopname@{tanh}} +\def\varinjlim{\mathop{\vtop{\ialign{##\crcr + \hfil\rm lim\hfil\crcr\noalign{\nointerlineskip}\rightarrowfill\crcr + \noalign{\nointerlineskip\kern-\ex@}\crcr}}}} +\def\varprojlim{\mathop{\vtop{\ialign{##\crcr + \hfil\rm lim\hfil\crcr\noalign{\nointerlineskip}\leftarrowfill\crcr + \noalign{\nointerlineskip\kern-\ex@}\crcr}}}} +\def\varliminf{\mathop{\underline{\vrule height\z@ depth.2exwidth\z@ + \hbox{\rm lim}}}} +\def\varlimsup{\mathop{\overline{\hbox{\rm lim}}}} +\newdimen\buffer@ +\buffer@\fontdimen13 \tenex +\newdimen\buffer +\buffer\buffer@ +\def\ChangeBuffer#1{\fontdimen13 \tenex#1\relax + \global\buffer\fontdimen13 \tenex} +\def\ResetBuffer{\fontdimen13 \tenex\buffer@\global\buffer\buffer@} +\def\shave#1{\mathop{\hbox{$\m@th\fontdimen13 \tenex\z@ %1 + \displaystyle{#1}$}}\fontdimen13 \tenex\buffer} +\def\topshave#1{\mathop{\topsmash{\displaystyle{#1}}\vphantom{\shave{#1}}}} +\def\botshave#1{\mathop{\botsmash{\displaystyle{#1}}\vphantom{\shave{#1}}}} +\message{multilevel sub/superscripts,} +\Invalid@\\ +\def\Let@{\relax\iffalse{\fi\let\\=\cr\iffalse}\fi} +\Invalid@\vspace +\def\vspace@{\def\vspace##1{\crcr\noalign{\vskip##1\relax}}} +\def\multilimits@{\bgroup\vspace@\Let@ + \baselineskip\fontdimen10 \scriptfont\tw@ + \advance\baselineskip\fontdimen12 \scriptfont\tw@ + \lineskip\thr@@\fontdimen8 \scriptfont\thr@@ + \lineskiplimit\lineskip + \vbox\bgroup\ialign\bgroup\hfil$\m@th\scriptstyle{##}$\hfil\crcr} +\def\Sb{_\multilimits@} +\def\endSb{\crcr\egroup\egroup\egroup} +\def\Sp{^\multilimits@} +\let\endSp\endSb +\def\spreadlines#1{\RIfMIfI@\onlydmatherr@\spreadlines\else + \openup#1\relax\fi\else\onlydmatherr@\spreadlines\fi} +\def\Mathstrut@{\copy\Mathstrutbox@} +\newbox\Mathstrutbox@ +\setbox\Mathstrutbox@\null +\setboxz@h{$\m@th($} +\ht\Mathstrutbox@\ht\z@ +\dp\Mathstrutbox@\dp\z@ +\message{matrices,} +\newdimen\spreadmlines@ +\def\spreadmatrixlines#1{\RIfMIfI@ + \onlydmatherr@\spreadmatrixlines\else + \spreadmlines@#1\relax\fi\else\onlydmatherr@\spreadmatrixlines\fi} +\def\matrix{\null\,\vcenter\bgroup\Let@\vspace@ + \normalbaselines\openup\spreadmlines@\ialign + \bgroup\hfil$\m@th##$\hfil&&\quad\hfil$\m@th##$\hfil\crcr + \Mathstrut@\crcr\noalign{\kern-\baselineskip}} +\def\endmatrix{\crcr\Mathstrut@\crcr\noalign{\kern-\baselineskip}\egroup + \egroup\,} +\def\format{\crcr\egroup\iffalse{\fi\ifnum`}=0 \fi\format@} +\newtoks\hashtoks@ +\hashtoks@{#} +\def\format@#1\\{\def\preamble@{#1}% + \def\l{$\m@th\the\hashtoks@$\hfil}% + \def\c{\hfil$\m@th\the\hashtoks@$\hfil}% + \def\r{\hfil$\m@th\the\hashtoks@$}% + \edef\preamble@@{\preamble@}\ifnum`{=0 \fi\iffalse}\fi + \ialign\bgroup\span\preamble@@\crcr} +\def\smallmatrix{\null\,\vcenter\bgroup\vspace@\Let@ + \baselineskip9\ex@\lineskip\ex@ + \ialign\bgroup\hfil$\m@th\scriptstyle{##}$\hfil&&\thickspace\hfil + $\m@th\scriptstyle{##}$\hfil\crcr} +\def\endsmallmatrix{\crcr\egroup\egroup\,} +\def\pmatrix{\left(\matrix} +\def\endpmatrix{\endmatrix\right)} +\def\bmatrix{\left[\matrix} +\def\endbmatrix{\endmatrix\right]} +\def\vmatrix{\left|\matrix} +\def\endvmatrix{\endmatrix\right|} +\def\Vmatrix{\left\|\matrix} +\def\endVmatrix{\endmatrix\right\|} +\def\hdots{\mathinner{\ldotp\ldotp\ldotp}} +\newmuskip\dotsspace@ +\dotsspace@1.5mu +\def\strip@#1 {#1} +\def\spacehdots#1\for#2{\multispan{#2}\xleaders + \hbox{$\m@th\mkern\strip@#1 \dotsspace@.\mkern\strip@#1 \dotsspace@$}\hfill} +\def\hdotsfor#1{\spacehdots\@ne\for{#1}} +\def\multispan@#1{\omit\mscount#1\unskip\loop\ifnum\mscount>\@ne\sp@n\repeat} +\def\spaceinnerhdots#1\for#2\after#3{\multispan@{\strip@#2 }#3\xleaders + \hbox{$\m@th\mkern\strip@#1 \dotsspace@.\mkern\strip@#1 \dotsspace@$}\hfill} +\def\innerhdotsfor#1\after#2{\spaceinnerhdots\@ne\for#1\after{#2}} +\def\cases{\bgroup\spreadmlines@\jot\left\{\,\matrix\format\l&\quad\l\\} +\def\endcases{\endmatrix\right.\egroup} +\message{multiline displays,} +\newif\ifinany@ +\newif\ifinalign@ +\newif\ifingather@ +\def\strut@{\copy\strutbox@} +\newbox\strutbox@ +\setbox\strutbox@\hbox{\vrule height8\p@ depth3\p@ width\z@} +\def\topaligned{\null\,\vtop\aligned@} +\def\botaligned{\null\,\vbox\aligned@} +\def\aligned{\null\,\vcenter\aligned@} +\def\aligned@{\bgroup\vspace@\Let@ + \ifinany@\else\openup\jot\fi\ialign + \bgroup\hfil\strut@$\m@th\displaystyle{##}$& + $\m@th\displaystyle{{}##}$\hfil\crcr} +\def\endaligned{\crcr\egroup\egroup} +\let\endtopaligned\endaligned +\let\endbotaligned\endaligned +\def\alignedat#1{\null\,\vcenter\bgroup\doat@{#1}\vspace@\Let@ + \ifinany@\else\openup\jot\fi\ialign\bgroup\span\preamble@@\crcr} +\newcount\atcount@ +\def\doat@#1{\toks@{\hfil\strut@$\m@th + \displaystyle{\the\hashtoks@}$&$\m@th\displaystyle + {{}\the\hashtoks@}$\hfil}% %1 + \atcount@#1\relax\advance\atcount@\m@ne %2 + \loop\ifnum\atcount@>\z@\toks@=\expandafter{\the\toks@&\hfil$\m@th + \displaystyle{\the\hashtoks@}$&$\m@th + \displaystyle{{}\the\hashtoks@}$\hfil}\advance + \atcount@\m@ne\repeat %3 + \xdef\preamble@{\the\toks@}\xdef\preamble@@{\preamble@}} +\let\endalignedat\endaligned +\def\gathered{\null\,\vcenter\bgroup\vspace@\Let@ + \ifinany@\else\openup\jot\fi\ialign + \bgroup\hfil\strut@$\m@th\displaystyle{##}$\hfil\crcr} +\def\endgathered{\crcr\egroup\egroup} +\newif\iftagsleft@ +\def\TagsOnLeft{\global\tagsleft@true} +\def\TagsOnRight{\global\tagsleft@false} +\TagsOnLeft +\newif\ifmathtags@ +\def\TagsAsMath{\global\mathtags@true} +\def\TagsAsText{\global\mathtags@false} +\TagsAsText +\def\tagform@#1{\hbox{\rm(\ignorespaces#1\unskip)}} +\def\thetag{\leavevmode\tagform@} +\def\tag#1$${\iftagsleft@\leqno\else\eqno\fi %1 + \maketag@#1\maketag@ %2 + $$} %3 +\def\maketag@{\FN@\maketag@@} +\def\maketag@@{\ifx\next"\expandafter\maketag@@@\else\expandafter\maketag@@@@ + \fi} +\def\maketag@@@"#1"#2\maketag@{\hbox{\rm#1}} %1 +\def\maketag@@@@#1\maketag@{\ifmathtags@\tagform@{$\m@th#1$}\else + \tagform@{#1}\fi} +\interdisplaylinepenalty\@M +\def\allowdisplaybreaks{\RIfMIfI@ + \onlydmatherr@\allowdisplaybreaks\else + \interdisplaylinepenalty\z@\fi\else\onlydmatherr@\allowdisplaybreaks\fi} +\Invalid@\allowdisplaybreak +\Invalid@\displaybreak +\Invalid@\intertext +\def\allowdisplaybreak@{\def\allowdisplaybreak{\crcr\noalign{\allowbreak}}} +\def\displaybreak@{\def\displaybreak{\crcr\noalign{\break}}} +\def\intertext@{\def\intertext##1{\crcr\noalign{% + \penalty\postdisplaypenalty \vskip\belowdisplayskip + \vbox{\normalbaselines\noindent##1}% + \penalty\predisplaypenalty \vskip\abovedisplayskip}}} +\newskip\centering@ +\centering@\z@ plus\@m\p@ +\def\align{\relax\ifingather@\DN@{\csname align (in + \string\gather)\endcsname}\else + \ifmmode\ifinner\DN@{\onlydmatherr@\align}\else + \let\next@\align@\fi + \else\DN@{\onlydmatherr@\align}\fi\fi\next@} +\newhelp\andhelp@ +{An extra & here is so disastrous that you should probably exit^^J +and fix things up.} +\newif\iftag@ +\newcount\and@ +\def\align@{\inalign@true\inany@true + \vspace@\allowdisplaybreak@\displaybreak@\intertext@ + \def\tag{\global\tag@true\ifnum\and@=\z@\DN@{&&}\else + \DN@{&}\fi\next@}% + \iftagsleft@\DN@{\csname align \endcsname}\else + \DN@{\csname align \space\endcsname}\fi\next@} +\def\Tag@{\iftag@\else\errhelp\andhelp@\err@{Extra & on this line}\fi} +\newdimen\lwidth@ +\newdimen\rwidth@ +\newdimen\maxlwidth@ +\newdimen\maxrwidth@ +\newdimen\totwidth@ +\def\measure@#1\endalign{\lwidth@\z@\rwidth@\z@\maxlwidth@\z@\maxrwidth@\z@ + \global\and@\z@ %1 + \setbox@ne\vbox %2 + {\everycr{\noalign{\global\tag@false\global\and@\z@}}\Let@ %3 + \halign{\setboxz@h{$\m@th\displaystyle{\@lign##}$}% %4 + \global\lwidth@\wdz@ %5 + \ifdim\lwidth@>\maxlwidth@\global\maxlwidth@\lwidth@\fi %6 + \global\advance\and@\@ne %7 + &\setboxz@h{$\m@th\displaystyle{{}\@lign##}$}\global\rwidth@\wdz@ %8 + \ifdim\rwidth@>\maxrwidth@\global\maxrwidth@\rwidth@\fi %9 + \global\advance\and@\@ne %10 + &\Tag@ + \eat@{##}\crcr#1\crcr}}% %11 + \totwidth@\maxlwidth@\advance\totwidth@\maxrwidth@} %12 +\def\displ@y@{\global\dt@ptrue\openup\jot + \everycr{\noalign{\global\tag@false\global\and@\z@\ifdt@p\global\dt@pfalse + \vskip-\lineskiplimit\vskip\normallineskiplimit\else + \penalty\interdisplaylinepenalty\fi}}} +\def\black@#1{\noalign{\ifdim#1>\displaywidth + \dimen@\prevdepth\nointerlineskip %1 + \vskip-\ht\strutbox@\vskip-\dp\strutbox@ %2 + \vbox{\noindent\hbox to#1{\strut@\hfill}}% %3 + \prevdepth\dimen@ %4 + \fi}} +\expandafter\def\csname align \space\endcsname#1\endalign + {\measure@#1\endalign\global\and@\z@ %1 + \ifingather@\everycr{\noalign{\global\and@\z@}}\else\displ@y@\fi %2 + \Let@\tabskip\centering@ %3 + \halign to\displaywidth + {\hfil\strut@\setboxz@h{$\m@th\displaystyle{\@lign##}$}% %4 + \global\lwidth@\wdz@\boxz@\global\advance\and@\@ne %5 + \tabskip\z@skip %6 + &\setboxz@h{$\m@th\displaystyle{{}\@lign##}$}% %7 + \global\rwidth@\wdz@\boxz@\hfill\global\advance\and@\@ne %8 + \tabskip\centering@ %9 + &\setboxz@h{\@lign\strut@\maketag@##\maketag@}% %10 + \dimen@\displaywidth\advance\dimen@-\totwidth@ + \divide\dimen@\tw@\advance\dimen@\maxrwidth@\advance\dimen@-\rwidth@ %11 + \ifdim\dimen@<\tw@\wdz@\llap{\vtop{\normalbaselines\null\boxz@}}% %12 + \else\llap{\boxz@}\fi %13 + \tabskip\z@skip %14 + \crcr#1\crcr %15 + \black@\totwidth@}} %16 +\newdimen\lineht@ +\expandafter\def\csname align \endcsname#1\endalign{\measure@#1\endalign + \global\and@\z@ + \ifdim\totwidth@>\displaywidth\let\displaywidth@\totwidth@\else + \let\displaywidth@\displaywidth\fi %1 + \ifingather@\everycr{\noalign{\global\and@\z@}}\else\displ@y@\fi + \Let@\tabskip\centering@\halign to\displaywidth + {\hfil\strut@\setboxz@h{$\m@th\displaystyle{\@lign##}$}% + \global\lwidth@\wdz@\global\lineht@\ht\z@ %2 + \boxz@\global\advance\and@\@ne + \tabskip\z@skip&\setboxz@h{$\m@th\displaystyle{{}\@lign##}$}% + \global\rwidth@\wdz@\ifdim\ht\z@>\lineht@\global\lineht@\ht\z@\fi %3 + \boxz@\hfil\global\advance\and@\@ne + \tabskip\centering@&\kern-\displaywidth@ %4 + \setboxz@h{\@lign\strut@\maketag@##\maketag@}% + \dimen@\displaywidth\advance\dimen@-\totwidth@ + \divide\dimen@\tw@\advance\dimen@\maxlwidth@\advance\dimen@-\lwidth@ + \ifdim\dimen@<\tw@\wdz@ + \rlap{\vbox{\normalbaselines\boxz@\vbox to\lineht@{}}}\else + \rlap{\boxz@}\fi + \tabskip\displaywidth@\crcr#1\crcr\black@\totwidth@}} +\expandafter\def\csname align (in \string\gather)\endcsname + #1\endalign{\vcenter{\align@#1\endalign}} +\Invalid@\endalign +\newif\ifxat@ +\def\alignat{\RIfMIfI@\DN@{\onlydmatherr@\alignat}\else + \DN@{\csname alignat \endcsname}\fi\else + \DN@{\onlydmatherr@\alignat}\fi\next@} +\newif\ifmeasuring@ +\newbox\savealignat@ +\expandafter\def\csname alignat \endcsname#1#2\endalignat %1 + {\inany@true\xat@false + \def\tag{\global\tag@true\count@#1\relax\multiply\count@\tw@ + \xdef\tag@{}\loop\ifnum\count@>\and@\xdef\tag@{&\tag@}\advance\count@\m@ne + \repeat\tag@}% + \vspace@\allowdisplaybreak@\displaybreak@\intertext@ + \displ@y@\measuring@true %2 + \setbox\savealignat@\hbox{$\m@th\displaystyle\Let@ + \attag@{#1}% %3 + \vbox{\halign{\span\preamble@@\crcr#2\crcr}}$}% + \measuring@false %4 + \Let@\attag@{#1}% %5 + \tabskip\centering@\halign to\displaywidth + {\span\preamble@@\crcr#2\crcr %6 + \black@{\wd\savealignat@}}} %7 +\Invalid@\endalignat +\def\xalignat{\RIfMIfI@ + \DN@{\onlydmatherr@\xalignat}\else + \DN@{\csname xalignat \endcsname}\fi\else + \DN@{\onlydmatherr@\xalignat}\fi\next@} +\expandafter\def\csname xalignat \endcsname#1#2\endxalignat + {\inany@true\xat@true + \def\tag{\global\tag@true\def\tag@{}\count@#1\relax\multiply\count@\tw@ + \loop\ifnum\count@>\and@\xdef\tag@{&\tag@}\advance\count@\m@ne\repeat\tag@}% + \vspace@\allowdisplaybreak@\displaybreak@\intertext@ + \displ@y@\measuring@true\setbox\savealignat@\hbox{$\m@th\displaystyle\Let@ + \attag@{#1}\vbox{\halign{\span\preamble@@\crcr#2\crcr}}$}% + \measuring@false\Let@ + \attag@{#1}\tabskip\centering@\halign to\displaywidth + {\span\preamble@@\crcr#2\crcr\black@{\wd\savealignat@}}} +\def\attag@#1{\let\Maketag@\maketag@\let\TAG@\Tag@ %1 + \let\Tag@=0\let\maketag@=0% %2 + \ifmeasuring@\def\llap@##1{\setboxz@h{##1}\hbox to\tw@\wdz@{}}% + \def\rlap@##1{\setboxz@h{##1}\hbox to\tw@\wdz@{}}\else + \let\llap@\llap\let\rlap@\rlap\fi %3 + \toks@{\hfil\strut@$\m@th\displaystyle{\@lign\the\hashtoks@}$\tabskip\z@skip + \global\advance\and@\@ne&$\m@th\displaystyle{{}\@lign\the\hashtoks@}$\hfil + \ifxat@\tabskip\centering@\fi\global\advance\and@\@ne}% %4 + \iftagsleft@ + \toks@@{\tabskip\centering@&\Tag@\kern-\displaywidth + \rlap@{\@lign\maketag@\the\hashtoks@\maketag@}% + \global\advance\and@\@ne\tabskip\displaywidth}\else + \toks@@{\tabskip\centering@&\Tag@\llap@{\@lign\maketag@ + \the\hashtoks@\maketag@}\global\advance\and@\@ne\tabskip\z@skip}\fi %5 + \atcount@#1\relax\advance\atcount@\m@ne + \loop\ifnum\atcount@>\z@ + \toks@=\expandafter{\the\toks@&\hfil$\m@th\displaystyle{\@lign + \the\hashtoks@}$\global\advance\and@\@ne + \tabskip\z@skip&$\m@th\displaystyle{{}\@lign\the\hashtoks@}$\hfil\ifxat@ + \tabskip\centering@\fi\global\advance\and@\@ne}\advance\atcount@\m@ne + \repeat %6 + \xdef\preamble@{\the\toks@\the\toks@@}% %7 + \xdef\preamble@@{\preamble@}% %8 + \let\maketag@\Maketag@\let\Tag@\TAG@} %9 +\Invalid@\endxalignat +\def\xxalignat{\RIfMIfI@ + \DN@{\onlydmatherr@\xxalignat}\else\DN@{\csname xxalignat + \endcsname}\fi\else + \DN@{\onlydmatherr@\xxalignat}\fi\next@} +\expandafter\def\csname xxalignat \endcsname#1#2\endxxalignat{\inany@true + \vspace@\allowdisplaybreak@\displaybreak@\intertext@ + \displ@y\setbox\savealignat@\hbox{$\m@th\displaystyle\Let@ + \xxattag@{#1}\vbox{\halign{\span\preamble@@\crcr#2\crcr}}$}% + \Let@\xxattag@{#1}\tabskip\z@skip\halign to\displaywidth + {\span\preamble@@\crcr#2\crcr\black@{\wd\savealignat@}}} +\def\xxattag@#1{\toks@{\tabskip\z@skip\hfil\strut@ + $\m@th\displaystyle{\the\hashtoks@}$&% + $\m@th\displaystyle{{}\the\hashtoks@}$\hfil\tabskip\centering@&}% + \atcount@#1\relax\advance\atcount@\m@ne\loop\ifnum\atcount@>\z@ + \toks@=\expandafter{\the\toks@&\hfil$\m@th\displaystyle{\the\hashtoks@}$% + \tabskip\z@skip&$\m@th\displaystyle{{}\the\hashtoks@}$\hfil + \tabskip\centering@}\advance\atcount@\m@ne\repeat + \xdef\preamble@{\the\toks@\tabskip\z@skip}\xdef\preamble@@{\preamble@}} +\Invalid@\endxxalignat +\newdimen\gwidth@ +\newdimen\gmaxwidth@ +\def\gmeasure@#1\endgather{\gwidth@\z@\gmaxwidth@\z@\setbox@ne\vbox{\Let@ + \halign{\setboxz@h{$\m@th\displaystyle{##}$}\global\gwidth@\wdz@ + \ifdim\gwidth@>\gmaxwidth@\global\gmaxwidth@\gwidth@\fi + &\eat@{##}\crcr#1\crcr}}} +\def\gather{\RIfMIfI@\DN@{\onlydmatherr@\gather}\else + \ingather@true\inany@true\def\tag{&}% + \vspace@\allowdisplaybreak@\displaybreak@\intertext@ + \displ@y\Let@ + \iftagsleft@\DN@{\csname gather \endcsname}\else + \DN@{\csname gather \space\endcsname}\fi\fi + \else\DN@{\onlydmatherr@\gather}\fi\next@} +\expandafter\def\csname gather \space\endcsname#1\endgather + {\gmeasure@#1\endgather\tabskip\centering@ + \halign to\displaywidth{\hfil\strut@\setboxz@h{$\m@th\displaystyle{##}$}% + \global\gwidth@\wdz@\boxz@\hfil& + \setboxz@h{\strut@{\maketag@##\maketag@}}% + \dimen@\displaywidth\advance\dimen@-\gwidth@ + \ifdim\dimen@>\tw@\wdz@\llap{\boxz@}\else + \llap{\vtop{\normalbaselines\null\boxz@}}\fi + \tabskip\z@skip\crcr#1\crcr\black@\gmaxwidth@}} +\newdimen\glineht@ +\expandafter\def\csname gather \endcsname#1\endgather{\gmeasure@#1\endgather + \ifdim\gmaxwidth@>\displaywidth\let\gdisplaywidth@\gmaxwidth@\else + \let\gdisplaywidth@\displaywidth\fi\tabskip\centering@\halign to\displaywidth + {\hfil\strut@\setboxz@h{$\m@th\displaystyle{##}$}% + \global\gwidth@\wdz@\global\glineht@\ht\z@\boxz@\hfil&\kern-\gdisplaywidth@ + \setboxz@h{\strut@{\maketag@##\maketag@}}% + \dimen@\displaywidth\advance\dimen@-\gwidth@ + \ifdim\dimen@>\tw@\wdz@\rlap{\boxz@}\else + \rlap{\vbox{\normalbaselines\boxz@\vbox to\glineht@{}}}\fi + \tabskip\gdisplaywidth@\crcr#1\crcr\black@\gmaxwidth@}} +\newif\ifctagsplit@ +\def\CenteredTagsOnSplits{\global\ctagsplit@true} +\def\TopOrBottomTagsOnSplits{\global\ctagsplit@false} +\TopOrBottomTagsOnSplits +\def\split{\relax\ifinany@\let\next@\insplit@\else + \ifmmode\ifinner\def\next@{\onlydmatherr@\split}\else + \let\next@\outsplit@\fi\else + \def\next@{\onlydmatherr@\split}\fi\fi\next@} +\def\insplit@{\global\setbox\z@\vbox\bgroup\vspace@\Let@\ialign\bgroup + \hfil\strut@$\m@th\displaystyle{##}$&$\m@th\displaystyle{{}##}$\hfill\crcr} +\def\endsplit{\crcr\egroup\egroup\iftagsleft@\expandafter\lendsplit@\else + \expandafter\rendsplit@\fi} +\def\rendsplit@{\global\setbox9 \vbox + {\unvcopy\z@\global\setbox8 \lastbox\unskip}% %1 + \setbox@ne\hbox{\unhcopy8 \unskip\global\setbox\tw@\lastbox + \unskip\global\setbox\thr@@\lastbox}% %2 + \global\setbox7 \hbox{\unhbox\tw@\unskip}% %3 + \ifinalign@\ifctagsplit@ %4 + \gdef\split@{\hbox to\wd\thr@@{}& + \vcenter{\vbox{\moveleft\wd\thr@@\boxz@}}}% %5 + \else\gdef\split@{&\vbox{\moveleft\wd\thr@@\box9}\crcr + \box\thr@@&\box7}\fi %6 + \else %7 + \ifctagsplit@\gdef\split@{\vcenter{\boxz@}}\else + \gdef\split@{\box9\crcr\hbox{\box\thr@@\box7}}\fi + \fi + \split@} %8 +\def\lendsplit@{\global\setbox9\vtop{\unvcopy\z@}% %1 + \setbox@ne\vbox{\unvcopy\z@\global\setbox8\lastbox}% %2 + \setbox@ne\hbox{\unhcopy8\unskip\setbox\tw@\lastbox + \unskip\global\setbox\thr@@\lastbox}% %3 + \ifinalign@\ifctagsplit@ %4 + \gdef\split@{\hbox to\wd\thr@@{}& + \vcenter{\vbox{\moveleft\wd\thr@@\box9}}}% %5 + \else %6 + \gdef\split@{\hbox to\wd\thr@@{}&\vbox{\moveleft\wd\thr@@\box9}}\fi + \else + \ifctagsplit@\gdef\split@{\vcenter{\box9}}\else + \gdef\split@{\box9}\fi + \fi\split@} +\def\outsplit@#1$${\align\insplit@#1\endalign$$} +\newdimen\multlinegap@ +\multlinegap@1em +\newdimen\multlinetaggap@ +\multlinetaggap@1em +\def\MultlineGap#1{\global\multlinegap@#1\relax} +\def\multlinegap#1{\RIfMIfI@\onlydmatherr@\multlinegap\else + \multlinegap@#1\relax\fi\else\onlydmatherr@\multlinegap\fi} +\def\nomultlinegap{\multlinegap{\z@}} +\def\multline{\RIfMIfI@ + \DN@{\onlydmatherr@\multline}\else + \DN@{\multline@}\fi\else + \DN@{\onlydmatherr@\multline}\fi\next@} +\newif\iftagin@ +\def\tagin@#1{\tagin@false\in@\tag{#1}\ifin@\tagin@true\fi} +\def\multline@#1$${\inany@true\vspace@\allowdisplaybreak@\displaybreak@ + \tagin@{#1}\iftagsleft@\DN@{\multline@l#1$$}\else + \DN@{\multline@r#1$$}\fi\next@} +\newdimen\mwidth@ +\def\rmmeasure@#1\endmultline{% + \def\shoveleft##1{##1}\def\shoveright##1{##1}% %1 + \setbox@ne\vbox{\Let@\halign{\setboxz@h + {$\m@th\@lign\displaystyle{}##$}\global\mwidth@\wdz@ + \crcr#1\crcr}}} +\newdimen\mlineht@ +\newif\ifzerocr@ +\newif\ifonecr@ +\def\lmmeasure@#1\endmultline{\global\zerocr@true\global\onecr@false + \everycr{\noalign{\ifonecr@\global\onecr@false\fi + \ifzerocr@\global\zerocr@false\global\onecr@true\fi}}% %1 + \def\shoveleft##1{##1}\def\shoveright##1{##1}% + \setbox@ne\vbox{\Let@\halign{\setboxz@h + {$\m@th\@lign\displaystyle{}##$}\ifonecr@\global\mwidth@\wdz@ + \global\mlineht@\ht\z@\fi\crcr#1\crcr}}} +\newbox\mtagbox@ +\newdimen\ltwidth@ +\newdimen\rtwidth@ +\def\multline@l#1$${\iftagin@\DN@{\lmultline@@#1$$}\else + \DN@{\setbox\mtagbox@\null\ltwidth@\z@\rtwidth@\z@ + \lmultline@@@#1$$}\fi\next@} +\def\lmultline@@#1\endmultline\tag#2$${% + \setbox\mtagbox@\hbox{\maketag@#2\maketag@}% %1 + \lmmeasure@#1\endmultline\dimen@\mwidth@\advance\dimen@\wd\mtagbox@ + \advance\dimen@\multlinetaggap@ %2 + \ifdim\dimen@>\displaywidth\ltwidth@\z@\else\ltwidth@\wd\mtagbox@\fi %3 + \lmultline@@@#1\endmultline$$} +\def\lmultline@@@{\displ@y + \def\shoveright##1{##1\hfilneg\hskip\multlinegap@}% + \def\shoveleft##1{\setboxz@h{$\m@th\displaystyle{}##1$}% + \setbox@ne\hbox{$\m@th\displaystyle##1$}% + \hfilneg + \iftagin@ + \ifdim\ltwidth@>\z@\hskip\ltwidth@\hskip\multlinetaggap@\fi + \else\hskip\multlinegap@\fi\hskip.5\wd@ne\hskip-.5\wdz@##1}% %1 + \halign\bgroup\Let@\hbox to\displaywidth + {\strut@$\m@th\displaystyle\hfil{}##\hfil$}\crcr + \hfilneg %2 + \iftagin@ %3 + \ifdim\ltwidth@>\z@ %4 + \box\mtagbox@\hskip\multlinetaggap@ %5 + \else + \rlap{\vbox{\normalbaselines\hbox{\strut@\box\mtagbox@}% + \vbox to\mlineht@{}}}\fi %6 + \else\hskip\multlinegap@\fi} %7 +\def\multline@r#1$${\iftagin@\DN@{\rmultline@@#1$$}\else + \DN@{\setbox\mtagbox@\null\ltwidth@\z@\rtwidth@\z@ + \rmultline@@@#1$$}\fi\next@} +\def\rmultline@@#1\endmultline\tag#2$${\ltwidth@\z@ + \setbox\mtagbox@\hbox{\maketag@#2\maketag@}% + \rmmeasure@#1\endmultline\dimen@\mwidth@\advance\dimen@\wd\mtagbox@ + \advance\dimen@\multlinetaggap@ + \ifdim\dimen@>\displaywidth\rtwidth@\z@\else\rtwidth@\wd\mtagbox@\fi + \rmultline@@@#1\endmultline$$} +\def\rmultline@@@{\displ@y + \def\shoveright##1{##1\hfilneg\iftagin@\ifdim\rtwidth@>\z@ + \hskip\rtwidth@\hskip\multlinetaggap@\fi\else\hskip\multlinegap@\fi}% + \def\shoveleft##1{\setboxz@h{$\m@th\displaystyle{}##1$}% + \setbox@ne\hbox{$\m@th\displaystyle##1$}% + \hfilneg\hskip\multlinegap@\hskip.5\wd@ne\hskip-.5\wdz@##1}% + \halign\bgroup\Let@\hbox to\displaywidth + {\strut@$\m@th\displaystyle\hfil{}##\hfil$}\crcr + \hfilneg\hskip\multlinegap@} +\def\endmultline{\iftagsleft@\expandafter\lendmultline@\else + \expandafter\rendmultline@\fi} +\def\lendmultline@{\hfilneg\hskip\multlinegap@\crcr\egroup} +\def\rendmultline@{\iftagin@ %1 + \ifdim\rtwidth@>\z@ %2 + \hskip\multlinetaggap@\box\mtagbox@ %3 + \else\llap{\vtop{\normalbaselines\null\hbox{\strut@\box\mtagbox@}}}\fi %4 + \else\hskip\multlinegap@\fi %5 + \hfilneg\crcr\egroup} +\def\bmod{\mskip-\medmuskip\mkern5mu\mathbin{\fam\z@ mod}\penalty900 + \mkern5mu\mskip-\medmuskip} +\def\pmod#1{\allowbreak\ifinner\mkern8mu\else\mkern18mu\fi + ({\fam\z@ mod}\,\,#1)} +\def\pod#1{\allowbreak\ifinner\mkern8mu\else\mkern18mu\fi(#1)} +\def\mod#1{\allowbreak\ifinner\mkern12mu\else\mkern18mu\fi{\fam\z@ mod}\,\,#1} +\message{continued fractions,} +\newcount\cfraccount@ +\def\cfrac{\bgroup\bgroup\advance\cfraccount@\@ne\strut + \iffalse{\fi\def\\{\over\displaystyle}\iffalse}\fi} +\def\lcfrac{\bgroup\bgroup\advance\cfraccount@\@ne\strut + \iffalse{\fi\def\\{\hfill\over\displaystyle}\iffalse}\fi} +\def\rcfrac{\bgroup\bgroup\advance\cfraccount@\@ne\strut\hfill + \iffalse{\fi\def\\{\over\displaystyle}\iffalse}\fi} +\def\gloop@#1\repeat{\gdef\body{#1}\iterate} +\def\endcfrac{\gloop@\ifnum\cfraccount@>\z@\global\advance\cfraccount@\m@ne + \egroup\hskip-\nulldelimiterspace\egroup\repeat} +\message{compound symbols,} +\def\binrel@#1{\setboxz@h{\thinmuskip0mu + \medmuskip\m@ne mu\thickmuskip\@ne mu$#1\m@th$}% + \setbox@ne\hbox{\thinmuskip0mu\medmuskip\m@ne mu\thickmuskip + \@ne mu${}#1{}\m@th$}% + \setbox\tw@\hbox{\hskip\wd@ne\hskip-\wdz@}} +\def\overset#1\to#2{\binrel@{#2}\ifdim\wd\tw@<\z@ + \mathbin{\mathop{\kern\z@#2}\limits^{#1}}\else\ifdim\wd\tw@>\z@ + \mathrel{\mathop{\kern\z@#2}\limits^{#1}}\else + {\mathop{\kern\z@#2}\limits^{#1}}{}\fi\fi} +\def\underset#1\to#2{\binrel@{#2}\ifdim\wd\tw@<\z@ + \mathbin{\mathop{\kern\z@#2}\limits_{#1}}\else\ifdim\wd\tw@>\z@ + \mathrel{\mathop{\kern\z@#2}\limits_{#1}}\else + {\mathop{\kern\z@#2}\limits_{#1}}{}\fi\fi} +\def\oversetbrace#1\to#2{\overbrace{#2}^{#1}} +\def\undersetbrace#1\to#2{\underbrace{#2}_{#1}} +\def\sideset#1\and#2\to#3{% + \setbox@ne\hbox{$\dsize{\vphantom{#3}}#1{#3}\m@th$}% + \setbox\tw@\hbox{$\dsize{#3}#2\m@th$}% + \hskip\wd@ne\hskip-\wd\tw@\mathop{\hskip\wd\tw@\hskip-\wd@ne + {\vphantom{#3}}#1{#3}#2}} +\def\rightarrowfill@#1{\setboxz@h{$#1-\m@th$}\ht\z@\z@ + $#1\m@th\copy\z@\mkern-6mu\cleaders + \hbox{$#1\mkern-2mu\box\z@\mkern-2mu$}\hfill + \mkern-6mu\mathord\rightarrow$} +\def\leftarrowfill@#1{\setboxz@h{$#1-\m@th$}\ht\z@\z@ + $#1\m@th\mathord\leftarrow\mkern-6mu\cleaders + \hbox{$#1\mkern-2mu\copy\z@\mkern-2mu$}\hfill + \mkern-6mu\box\z@$} +\def\leftrightarrowfill@#1{\setboxz@h{$#1-\m@th$}\ht\z@\z@ + $#1\m@th\mathord\leftarrow\mkern-6mu\cleaders + \hbox{$#1\mkern-2mu\box\z@\mkern-2mu$}\hfill + \mkern-6mu\mathord\rightarrow$} +\def\overrightarrow{\mathpalette\overrightarrow@} +\def\overrightarrow@#1#2{\vbox{\ialign{##\crcr\rightarrowfill@#1\crcr + \noalign{\kern-\ex@\nointerlineskip}$\m@th\hfil#1#2\hfil$\crcr}}} +\let\overarrow\overrightarrow +\def\overleftarrow{\mathpalette\overleftarrow@} +\def\overleftarrow@#1#2{\vbox{\ialign{##\crcr\leftarrowfill@#1\crcr + \noalign{\kern-\ex@\nointerlineskip}$\m@th\hfil#1#2\hfil$\crcr}}} +\def\overleftrightarrow{\mathpalette\overleftrightarrow@} +\def\overleftrightarrow@#1#2{\vbox{\ialign{##\crcr\leftrightarrowfill@#1\crcr + \noalign{\kern-\ex@\nointerlineskip}$\m@th\hfil#1#2\hfil$\crcr}}} +\def\underrightarrow{\mathpalette\underrightarrow@} +\def\underrightarrow@#1#2{\vtop{\ialign{##\crcr$\m@th\hfil#1#2\hfil$\crcr + \noalign{\nointerlineskip}\rightarrowfill@#1\crcr}}} +\let\underarrow\underrightarrow +\def\underleftarrow{\mathpalette\underleftarrow@} +\def\underleftarrow@#1#2{\vtop{\ialign{##\crcr$\m@th\hfil#1#2\hfil$\crcr + \noalign{\nointerlineskip}\leftarrowfill@#1\crcr}}} +\def\underleftrightarrow{\mathpalette\underleftrightarrow@} +\def\underleftrightarrow@#1#2{\vtop{\ialign{##\crcr$\m@th\hfil#1#2\hfil$\crcr + \noalign{\nointerlineskip}\leftrightarrowfill@#1\crcr}}} +\message{various kinds of dots,} +\let\DOTSI\relax +\let\DOTSB\relax +\let\DOTSX\relax +\newif\ifmath@ +{\uccode`7=`\\ \uccode`8=`m \uccode`9=`a \uccode`0=`t \uccode`!=`h + \uppercase{\gdef\math@#1#2#3#4#5#6\math@{\global\math@false\ifx 7#1\ifx 8#2% + \ifx 9#3\ifx 0#4\ifx !#5\xdef\meaning@{#6}\global\math@true\fi\fi\fi\fi\fi}}} +\newif\ifmathch@ +{\uccode`7=`c \uccode`8=`h \uccode`9=`\" + \uppercase{\gdef\mathch@#1#2#3#4#5#6\mathch@{\global\mathch@false + \ifx 7#1\ifx 8#2\ifx 9#5\global\mathch@true\xdef\meaning@{9#6}\fi\fi\fi}}} +\newcount\classnum@ +\def\getmathch@#1.#2\getmathch@{\classnum@#1 \divide\classnum@4096 + \ifcase\number\classnum@\or\or\gdef\thedots@{\dotsb@}\or + \gdef\thedots@{\dotsb@}\fi} +\newif\ifmathbin@ +{\uccode`4=`b \uccode`5=`i \uccode`6=`n + \uppercase{\gdef\mathbin@#1#2#3{\relaxnext@ + \DNii@##1\mathbin@{\ifx\space@\next\global\mathbin@true\fi}% + \global\mathbin@false\DN@##1\mathbin@{}% + \ifx 4#1\ifx 5#2\ifx 6#3\DN@{\FN@\nextii@}\fi\fi\fi\next@}}} +\newif\ifmathrel@ +{\uccode`4=`r \uccode`5=`e \uccode`6=`l + \uppercase{\gdef\mathrel@#1#2#3{\relaxnext@ + \DNii@##1\mathrel@{\ifx\space@\next\global\mathrel@true\fi}% + \global\mathrel@false\DN@##1\mathrel@{}% + \ifx 4#1\ifx 5#2\ifx 6#3\DN@{\FN@\nextii@}\fi\fi\fi\next@}}} +\newif\ifmacro@ +{\uccode`5=`m \uccode`6=`a \uccode`7=`c + \uppercase{\gdef\macro@#1#2#3#4\macro@{\global\macro@false + \ifx 5#1\ifx 6#2\ifx 7#3\global\macro@true + \xdef\meaning@{\macro@@#4\macro@@}\fi\fi\fi}}} +\def\macro@@#1->#2\macro@@{#2} +\newif\ifDOTS@ +\newcount\DOTSCASE@ +{\uccode`6=`\\ \uccode`7=`D \uccode`8=`O \uccode`9=`T \uccode`0=`S + \uppercase{\gdef\DOTS@#1#2#3#4#5{\global\DOTS@false\DN@##1\DOTS@{}% + \ifx 6#1\ifx 7#2\ifx 8#3\ifx 9#4\ifx 0#5\let\next@\DOTS@@\fi\fi\fi\fi\fi + \next@}}} +{\uccode`3=`B \uccode`4=`I \uccode`5=`X + \uppercase{\gdef\DOTS@@#1{\relaxnext@ + \DNii@##1\DOTS@{\ifx\space@\next\global\DOTS@true\fi}% + \DN@{\FN@\nextii@}% + \ifx 3#1\global\DOTSCASE@\z@\else + \ifx 4#1\global\DOTSCASE@\@ne\else + \ifx 5#1\global\DOTSCASE@\tw@\else\DN@##1\DOTS@{}% + \fi\fi\fi\next@}}} +\newif\ifnot@ +{\uccode`5=`\\ \uccode`6=`n \uccode`7=`o \uccode`8=`t + \uppercase{\gdef\not@#1#2#3#4{\relaxnext@ + \DNii@##1\not@{\ifx\space@\next\global\not@true\fi}% + \global\not@false\DN@##1\not@{}% + \ifx 5#1\ifx 6#2\ifx 7#3\ifx 8#4\DN@{\FN@\nextii@}\fi\fi\fi + \fi\next@}}} +\newif\ifkeybin@ +\def\keybin@{\keybin@true + \ifx\next+\else\ifx\next=\else\ifx\next<\else\ifx\next>\else\ifx\next-\else + \ifx\next*\else\ifx\next:\else\keybin@false\fi\fi\fi\fi\fi\fi\fi} +\def\dots{\RIfM@\expandafter\mdots@\else\expandafter\tdots@\fi} +\def\tdots@{\unskip\relaxnext@ + \DN@{$\m@th\mathinner{\ldotp\ldotp\ldotp}\, + \ifx\next,\,$\else\ifx\next.\,$\else\ifx\next;\,$\else\ifx\next:\,$\else + \ifx\next?\,$\else\ifx\next!\,$\else$ \fi\fi\fi\fi\fi\fi}% + \ \FN@\next@} +\def\mdots@{\FN@\mdots@@} +\def\mdots@@{\gdef\thedots@{\dotso@}% %1 + \ifx\next\boldkey\gdef\thedots@\boldkey{\boldkeydots@}\else %2 + \ifx\next\boldsymbol\gdef\thedots@\boldsymbol{\boldsymboldots@}\else %3 + \ifx,\next\gdef\thedots@{\dotsc}% %4 + \else\ifx\not\next\gdef\thedots@{\dotsb@}% %5 + \else\keybin@ + \ifkeybin@\gdef\thedots@{\dotsb@}% %6 + \else\xdef\meaning@{\meaning\next..........}\xdef\meaning@@{\meaning@}% %7 + \expandafter\math@\meaning@\math@ + \ifmath@ + \expandafter\mathch@\meaning@\mathch@ + \ifmathch@\expandafter\getmathch@\meaning@\getmathch@\fi %8 + \else\expandafter\macro@\meaning@@\macro@ %9 + \ifmacro@ %10 + \expandafter\not@\meaning@\not@\ifnot@\gdef\thedots@{\dotsb@}% %11 + \else\expandafter\DOTS@\meaning@\DOTS@ + \ifDOTS@ + \ifcase\number\DOTSCASE@\gdef\thedots@{\dotsb@}% + \or\gdef\thedots@{\dotsi}\else\fi %12 + \else\expandafter\math@\meaning@\math@ %13 + \ifmath@\expandafter\mathbin@\meaning@\mathbin@ + \ifmathbin@\gdef\thedots@{\dotsb@}% %14 + \else\expandafter\mathrel@\meaning@\mathrel@ + \ifmathrel@\gdef\thedots@{\dotsb@}% %15 + \fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi + \thedots@} +\def\plainldots@{\mathinner{\ldotp\ldotp\ldotp}} +\def\plaincdots@{\mathinner{\cdotp\cdotp\cdotp}} +\def\dotsi{\!\plaincdots@} +\let\dotsb@\plaincdots@ +\newif\ifextra@ +\newif\ifrightdelim@ +\def\rightdelim@{\global\rightdelim@true %1 + \ifx\next)\else %2 + \ifx\next]\else + \ifx\next\rbrack\else + \ifx\next\}\else + \ifx\next\rbrace\else + \ifx\next\rangle\else + \ifx\next\rceil\else + \ifx\next\rfloor\else + \ifx\next\rgroup\else + \ifx\next\rmoustache\else + \ifx\next\right\else + \ifx\next\bigr\else + \ifx\next\biggr\else + \ifx\next\Bigr\else %3 + \ifx\next\Biggr\else\global\rightdelim@false + \fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi} +\def\extra@{% + \global\extra@false\rightdelim@\ifrightdelim@\global\extra@true %1 + \else\ifx\next$\global\extra@true %2 + \else\xdef\meaning@{\meaning\next..........}% %3 + \expandafter\macro@\meaning@\macro@\ifmacro@ %4 + \expandafter\DOTS@\meaning@\DOTS@ + \ifDOTS@ + \ifnum\DOTSCASE@=\tw@\global\extra@true %5 + \fi\fi\fi\fi\fi} +\newif\ifbold@ +\def\dotso@{\relaxnext@ + \ifbold@ + \let\next\delayed@ + \DNii@{\extra@\plainldots@\ifextra@\,\fi}% + \else + \DNii@{\DN@{\extra@\plainldots@\ifextra@\,\fi}\FN@\next@}% + \fi + \nextii@} +\def\extrap@#1{% + \ifx\next,\DN@{#1\,}\else + \ifx\next;\DN@{#1\,}\else + \ifx\next.\DN@{#1\,}\else\extra@ + \ifextra@\DN@{#1\,}\else + \let\next@#1\fi\fi\fi\fi\next@} +\def\ldots{\DN@{\extrap@\plainldots@}% + \FN@\next@} +\def\cdots{\DN@{\extrap@\plaincdots@}% + \FN@\next@} +\let\dotso\ldots +\let\dotsb\cdots +\let\dotsm\dotsb +\def\dotsc{\relaxnext@ + \DN@{\ifx\next;\plainldots@\,\else + \ifx\next.\plainldots@\,\else\extra@\plainldots@ + \ifextra@\,\fi\fi\fi}% + \FN@\next@} +\def\cdot{\mathchar"2201 } +\def\longrightarrow{\DOTSB\relbar\joinrel\rightarrow} +\def\Longrightarrow{\DOTSB\Relbar\joinrel\Rightarrow} +\def\longleftarrow{\DOTSB\leftarrow\joinrel\relbar} +\def\Longleftarrow{\DOTSB\Leftarrow\joinrel\Relbar} +\def\longleftrightarrow{\DOTSB\leftarrow\joinrel\rightarrow} +\def\Longleftrightarrow{\DOTSB\Leftarrow\joinrel\Rightarrow} +\def\mapsto{\DOTSB\mapstochar\rightarrow} +\def\longmapsto{\DOTSB\mapstochar\longrightarrow} +\def\hookrightarrow{\DOTSB\lhook\joinrel\rightarrow} +\def\hookleftarrow{\DOTSB\leftarrow\joinrel\rhook} +\def\doteq{\DOTSB\buildrel\textstyle.\over=} +\def\iff{\DOTSB\;\Longleftrightarrow\;} +\message{special superscripts,} +\def\dddot#1{{\mathop{#1}\limits^{\vbox to-1.4\ex@{\kern-\tw@\ex@ + \hbox{\rm...}\vss}}}} +\def\ddddot#1{{\mathop{#1}\limits^{\vbox to-1.4\ex@{\kern-\tw@\ex@ + \hbox{\rm....}\vss}}}} +\def\sphat{^{\mathchoice{}{}% + {\,\,\botsmash{\hbox{\lower4\ex@\hbox{$\m@th\widehat{\null}$}}}}% + {\,\botsmash{\hbox{\lower3\ex@\hbox{$\m@th\hat{\null}$}}}}}} +\def\spcheck{^\vee} +\def\sptilde{^\sim} +\def\spacute{^{\!\botsmash{\hbox{\lower\@ne ex\hbox{\'{}}}}}} +\def\spgrave{^{\mathchoice{}{}{}{\!}% + \botsmash{\hbox{\lower\@ne ex\hbox{\`{}}}}}} +\def\spdot{^{\hbox{\raise\ex@\hbox{\rm.}}}} +\def\spddot{^{\hbox{\raise\ex@\hbox{\rm..}}}} +\def\spdddot{^{\hbox{\raise\ex@\hbox{\rm...}}}} +\def\spddddot{^{\hbox{\raise\ex@\hbox{\rm....}}}} +\def\spbreve{^{\!\botsmash{\hbox{\lower4\ex@\hbox{\u{}}}}}} +\def\spbar{^-} +\def\spvec{^\rightarrow} +\message{\string\text,} +\def\textonlyfont@#1#2{\def#1{\RIfM@ + \Err@{Use \string#1\space only in text}\else#2\fi}} +\textonlyfont@\rm\tenrm +\textonlyfont@\it\tenit +\textonlyfont@\sl\tensl +\textonlyfont@\bf\tenbf +\def\oldnos#1{\RIfM@{\mathcode`\,="013B \fam\@ne#1}\else + \leavevmode\hbox{$\m@th\mathcode`\,="013B \fam\@ne#1$}\fi} +\def\text{\RIfM@\expandafter\text@\else\expandafter\text@@\fi} +\def\text@@#1{\leavevmode\hbox{#1}} +\def\mathhexbox@#1#2#3{\text{$\m@th\mathchar"#1#2#3$}} +\def\dag{{\mathhexbox@279}} +\def\ddag{{\mathhexbox@27A}} +\def\S{{\mathhexbox@278}} +\def\P{{\mathhexbox@27B}} +\newif\iffirstchoice@ +\firstchoice@true +\def\text@#1{\mathchoice + {\hbox{\everymath{\displaystyle}\def\textfonti{\the\textfont\@ne}% + \def\textfontii{\the\textfont\tw@}\textdef@@ T#1}} + {\hbox{\firstchoice@false + \everymath{\textstyle}\def\textfonti{\the\textfont\@ne}% + \def\textfontii{\the\textfont\tw@}\textdef@@ T#1}} + {\hbox{\firstchoice@false + \everymath{\scriptstyle}\def\textfonti{\the\scriptfont\@ne}% + \def\textfontii{\the\scriptfont\tw@}\textdef@@ S\rm#1}} + {\hbox{\firstchoice@false + \everymath{\scriptscriptstyle}\def\textfonti + {\the\scriptscriptfont\@ne}% + \def\textfontii{\the\scriptscriptfont\tw@}\textdef@@ s\rm#1}}} +\def\textdef@@#1{\textdef@#1\rm\textdef@#1\bf\textdef@#1\sl\textdef@#1\it} +\def\rmfam{0} +\def\textdef@#1#2{% + \DN@{\csname\expandafter\eat@\string#2fam\endcsname}% + \if S#1\edef#2{\the\scriptfont\next@\relax}% + \else\if s#1\edef#2{\the\scriptscriptfont\next@\relax}% + \else\edef#2{\the\textfont\next@\relax}\fi\fi} +\scriptfont\itfam\tenit \scriptscriptfont\itfam\tenit +\scriptfont\slfam\tensl \scriptscriptfont\slfam\tensl +\newif\iftopfolded@ +\newif\ifbotfolded@ +\def\topfoldedtext{\topfolded@true\botfolded@false\foldedtext@} +\def\botfoldedtext{\botfolded@true\topfolded@false\foldedtext@} +\def\foldedtext{\topfolded@false\botfolded@false\foldedtext@} +\Invalid@\foldedwidth +\def\foldedtext@{\relaxnext@ + \DN@{\ifx\next\foldedwidth\let\next@\nextii@\else + \DN@{\nextii@\foldedwidth{.3\hsize}}\fi\next@}% + \DNii@\foldedwidth##1##2{\setbox\z@\vbox + {\normalbaselines\hsize##1\relax + \tolerance1600 \noindent\ignorespaces##2}\ifbotfolded@\boxz@\else + \iftopfolded@\vtop{\unvbox\z@}\else\vcenter{\boxz@}\fi\fi}% + \FN@\next@} +\message{math font commands,} +\def\bold{\RIfM@\expandafter\bold@\else + \expandafter\nonmatherr@\expandafter\bold\fi} +\def\bold@#1{{\bold@@{#1}}} +\def\bold@@#1{\fam\bffam\relax#1} +\def\slanted{\RIfM@\expandafter\slanted@\else + \expandafter\nonmatherr@\expandafter\slanted\fi} +\def\slanted@#1{{\slanted@@{#1}}} +\def\slanted@@#1{\fam\slfam\relax#1} +\def\roman{\RIfM@\expandafter\roman@\else + \expandafter\nonmatherr@\expandafter\roman\fi} +\def\roman@#1{{\roman@@{#1}}} +\def\roman@@#1{\fam\rmfam\relax#1} +\def\italic{\RIfM@\expandafter\italic@\else + \expandafter\nonmatherr@\expandafter\italic\fi} +\def\italic@#1{{\italic@@{#1}}} +\def\italic@@#1{\fam\itfam\relax#1} +\def\Cal{\RIfM@\expandafter\Cal@\else + \expandafter\nonmatherr@\expandafter\Cal\fi} +\def\Cal@#1{{\Cal@@{#1}}} +\def\Cal@@#1{\noaccents@\fam\tw@#1} +\mathchardef\Gamma="0000 +\mathchardef\Delta="0001 +\mathchardef\Theta="0002 +\mathchardef\Lambda="0003 +\mathchardef\Xi="0004 +\mathchardef\Pi="0005 +\mathchardef\Sigma="0006 +\mathchardef\Upsilon="0007 +\mathchardef\Phi="0008 +\mathchardef\Psi="0009 +\mathchardef\Omega="000A +\mathchardef\varGamma="0100 +\mathchardef\varDelta="0101 +\mathchardef\varTheta="0102 +\mathchardef\varLambda="0103 +\mathchardef\varXi="0104 +\mathchardef\varPi="0105 +\mathchardef\varSigma="0106 +\mathchardef\varUpsilon="0107 +\mathchardef\varPhi="0108 +\mathchardef\varPsi="0109 +\mathchardef\varOmega="010A +\let\alloc@@\alloc@ +\def\hexnumber@#1{\ifcase#1 0\or 1\or 2\or 3\or 4\or 5\or 6\or 7\or 8\or + 9\or A\or B\or C\or D\or E\or F\fi} +\def\loadmsam{% + \font@\tenmsa=msam10 + \font@\sevenmsa=msam7 + \font@\fivemsa=msam5 + \alloc@@8\fam\chardef\sixt@@n\msafam + \textfont\msafam=\tenmsa + \scriptfont\msafam=\sevenmsa + \scriptscriptfont\msafam=\fivemsa + \edef\next{\hexnumber@\msafam}% + \mathchardef\dabar@"0\next39 + \edef\dashrightarrow{\mathrel{\dabar@\dabar@\mathchar"0\next4B}}% + \edef\dashleftarrow{\mathrel{\mathchar"0\next4C\dabar@\dabar@}}% + \let\dasharrow\dashrightarrow + \edef\ulcorner{\delimiter"4\next70\next70 }% + \edef\urcorner{\delimiter"5\next71\next71 }% + \edef\llcorner{\delimiter"4\next78\next78 }% + \edef\lrcorner{\delimiter"5\next79\next79 }% + \edef\yen{{\noexpand\mathhexbox@\next55}}% + \edef\checkmark{{\noexpand\mathhexbox@\next58}}% + \edef\circledR{{\noexpand\mathhexbox@\next72}}% + \edef\maltese{{\noexpand\mathhexbox@\next7A}}% + \global\let\loadmsam\empty}% +\def\loadmsbm{% + \font@\tenmsb=msbm10 \font@\sevenmsb=msbm7 \font@\fivemsb=msbm5 + \alloc@@8\fam\chardef\sixt@@n\msbfam + \textfont\msbfam=\tenmsb + \scriptfont\msbfam=\sevenmsb \scriptscriptfont\msbfam=\fivemsb + \global\let\loadmsbm\empty + } +\def\widehat#1{\ifx\undefined\msbfam \DN@{362}% + \else \setboxz@h{$\m@th#1$}% + \edef\next@{\ifdim\wdz@>\tw@ em% + \hexnumber@\msbfam 5B% + \else 362\fi}\fi + \mathaccent"0\next@{#1}} +\def\widetilde#1{\ifx\undefined\msbfam \DN@{365}% + \else \setboxz@h{$\m@th#1$}% + \edef\next@{\ifdim\wdz@>\tw@ em% + \hexnumber@\msbfam 5D% + \else 365\fi}\fi + \mathaccent"0\next@{#1}} +\message{\string\newsymbol,} +\def\newsymbol#1#2#3#4#5{\define#1{}% + \count@#2\relax \advance\count@\m@ne % to push case 0 to the \else clause + \ifcase\count@ + \ifx\undefined\msafam\loadmsam\fi \let\next@\msafam + \or \ifx\undefined\msbfam\loadmsbm\fi \let\next@\msbfam + \else \Err@{\Invalid@@\string\newsymbol}\let\next@\tw@\fi + \mathchardef#1="#3\hexnumber@\next@#4#5\space} +\def\UseAMSsymbols{\loadmsam\loadmsbm \input amssym.tex } +\def\Bbb{\RIfM@\expandafter\Bbb@\else + \expandafter\nonmatherr@\expandafter\Bbb\fi} +\def\Bbb@#1{{\Bbb@@{#1}}} +\def\Bbb@@#1{\noaccents@\fam\msbfam\relax#1} +\message{bold Greek and bold symbols,} +\def\loadbold{% + \font@\tencmmib=cmmib10 \font@\sevencmmib=cmmib7 \font@\fivecmmib=cmmib5 + \skewchar\tencmmib'177 \skewchar\sevencmmib'177 \skewchar\fivecmmib'177 + \alloc@@8\fam\chardef\sixt@@n\cmmibfam + \textfont\cmmibfam\tencmmib + \scriptfont\cmmibfam\sevencmmib \scriptscriptfont\cmmibfam\fivecmmib + \font@\tencmbsy=cmbsy10 \font@\sevencmbsy=cmbsy7 \font@\fivecmbsy=cmbsy5 + \skewchar\tencmbsy'60 \skewchar\sevencmbsy'60 \skewchar\fivecmbsy'60 + \alloc@@8\fam\chardef\sixt@@n\cmbsyfam + \textfont\cmbsyfam\tencmbsy + \scriptfont\cmbsyfam\sevencmbsy \scriptscriptfont\cmbsyfam\fivecmbsy + \let\loadbold\empty +} +\def\boldnotloaded#1{\Err@{\ifcase#1\or First\else Second\fi + bold symbol font not loaded}} +\def\mathchari@#1#2#3{\ifx\undefined\cmmibfam + \boldnotloaded@\@ne + \else\mathchar"#1\hexnumber@\cmmibfam#2#3\space \fi} +\def\mathcharii@#1#2#3{\ifx\undefined\cmbsyfam + \boldnotloaded\tw@ + \else \mathchar"#1\hexnumber@\cmbsyfam#2#3\space\fi} +\edef\bffam@{\hexnumber@\bffam} +\def\boldkey#1{\ifcat\noexpand#1A% + \ifx\undefined\cmmibfam \boldnotloaded\@ne + \else {\fam\cmmibfam#1}\fi + \else + \ifx#1!\mathchar"5\bffam@21 \else + \ifx#1(\mathchar"4\bffam@28 \else\ifx#1)\mathchar"5\bffam@29 \else + \ifx#1+\mathchar"2\bffam@2B \else\ifx#1:\mathchar"3\bffam@3A \else + \ifx#1;\mathchar"6\bffam@3B \else\ifx#1=\mathchar"3\bffam@3D \else + \ifx#1?\mathchar"5\bffam@3F \else\ifx#1[\mathchar"4\bffam@5B \else + \ifx#1]\mathchar"5\bffam@5D \else + \ifx#1,\mathchari@63B \else + \ifx#1-\mathcharii@200 \else + \ifx#1.\mathchari@03A \else + \ifx#1/\mathchari@03D \else + \ifx#1<\mathchari@33C \else + \ifx#1>\mathchari@33E \else + \ifx#1*\mathcharii@203 \else + \ifx#1|\mathcharii@06A \else + \ifx#10\bold0\else\ifx#11\bold1\else\ifx#12\bold2\else\ifx#13\bold3\else + \ifx#14\bold4\else\ifx#15\bold5\else\ifx#16\bold6\else\ifx#17\bold7\else + \ifx#18\bold8\else\ifx#19\bold9\else + \Err@{\string\boldkey\space can't be used with #1}% + \fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi + \fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi} +\def\boldsymbol#1{% + \DN@{\Err@{You can't use \string\boldsymbol\space with \string#1}#1}% + \ifcat\noexpand#1A% + \let\next@\relax + \ifx\undefined\cmmibfam \boldnotloaded\@ne + \else {\fam\cmmibfam#1}\fi + \else + \xdef\meaning@{\meaning#1.........}% + \expandafter\math@\meaning@\math@ + \ifmath@ + \expandafter\mathch@\meaning@\mathch@ + \ifmathch@ + \expandafter\boldsymbol@@\meaning@\boldsymbol@@ + \fi + \else + \expandafter\macro@\meaning@\macro@ + \expandafter\delim@\meaning@\delim@ + \ifdelim@ + \expandafter\delim@@\meaning@\delim@@ + \else + \boldsymbol@{#1}% + \fi + \fi + \fi + \next@} +\def\mathhexboxii@#1#2{\ifx\undefined\cmbsyfam + \boldnotloaded\tw@ + \else \mathhexbox@{\hexnumber@\cmbsyfam}{#1}{#2}\fi} +\def\boldsymbol@#1{\let\next@\relax\let\next#1% + \ifx\next\cdot\mathcharii@201 \else + \ifx\next\prime{{\null\mathcharii@030 \null}}\else + \ifx\next\lbrack\mathchar"4\bffam@5B \else + \ifx\next\rbrack\mathchar"5\bffam@5D \else + \ifx\next\{\mathcharii@466 \else + \ifx\next\lbrace\mathcharii@466 \else + \ifx\next\}\mathcharii@567 \else + \ifx\next\rbrace\mathcharii@567 \else + \ifx\next\surd{{\mathcharii@170}}\else + \ifx\next\S{{\mathhexboxii@78}}\else + \ifx\next\P{{\mathhexboxii@7B}}\else + \ifx\next\dag{{\mathhexboxii@79}}\else + \ifx\next\ddag{{\mathhexboxii@7A}}\else + \DN@{\Err@{You can't use \string\boldsymbol\space with \string#1}#1}% + \fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi} +\def\boldsymbol@@#1.#2\boldsymbol@@{\classnum@#1 \count@@@\classnum@ %1 + \divide\classnum@4096 \count@\classnum@ %2 + \multiply\count@4096 \advance\count@@@-\count@ \count@@\count@@@ %3 + \divide\count@@@\@cclvi \count@\count@@ %4 + \multiply\count@@@\@cclvi \advance\count@@-\count@@@ %5 + \divide\count@@@\@cclvi %6 + \multiply\classnum@4096 \advance\classnum@\count@@ %7 + \ifnum\count@@@=\z@ %8 + \count@"\bffam@ \multiply\count@\@cclvi + \advance\classnum@\count@ + \DN@{\mathchar\number\classnum@}% + \else + \ifnum\count@@@=\@ne %9 + \ifx\undefined\cmmibfam \DN@{\boldnotloaded\@ne}% + \else \count@\cmmibfam \multiply\count@\@cclvi + \advance\classnum@\count@ + \DN@{\mathchar\number\classnum@}\fi + \else + \ifnum\count@@@=\tw@ %10 + \ifx\undefined\cmbsyfam + \DN@{\boldnotloaded\tw@}% + \else + \count@\cmbsyfam \multiply\count@\@cclvi + \advance\classnum@\count@ + \DN@{\mathchar\number\classnum@}% + \fi + \fi + \fi +\fi} +\newif\ifdelim@ +\newcount\delimcount@ +{\uccode`6=`\\ \uccode`7=`d \uccode`8=`e \uccode`9=`l + \uppercase{\gdef\delim@#1#2#3#4#5\delim@ + {\delim@false\ifx 6#1\ifx 7#2\ifx 8#3\ifx 9#4\delim@true + \xdef\meaning@{#5}\fi\fi\fi\fi}}} +\def\delim@@#1"#2#3#4#5#6\delim@@{\if#32% +\let\next@\relax + \ifx\undefined\cmbsyfam \boldnotloaded\@ne + \else \mathcharii@#2#4#5\space \fi\fi} +\def\vert{\delimiter"026A30C } +\def\Vert{\delimiter"026B30D } +\let\|\Vert +\def\backslash{\delimiter"026E30F } +\def\boldkeydots@#1{\bold@true\let\next=#1\let\delayed@=#1\mdots@@ + \boldkey#1\bold@false} % = required! +\def\boldsymboldots@#1{\bold@true\let\next#1\let\delayed@#1\mdots@@ + \boldsymbol#1\bold@false} +\message{Euler fonts,} +\def\loadeufm{\loadmathfont{eufm}} +\def\loadeufb{\loadmathfont{eufb}} +\def\loadeusm{\loadmathfont{eusm}} +\def\loadeusb{\loadmathfont{eusb}} +\def\loadeurm{\loadmathfont{eurm}} +\def\loadeurb{\loadmathfont{eurb}} +\def\frak{\mathfont@\frak} +\def\frakfam{\eufmfam} +\let\goth\frak +\def\loadmathfont#1{% + \expandafter\font@\csname ten#1\endcsname=#110 + \expandafter\font@\csname seven#1\endcsname=#17 + \expandafter\font@\csname five#1\endcsname=#15 + \edef\next{\noexpand\alloc@@8\fam\chardef\sixt@@n + \expandafter\noexpand\csname#1fam\endcsname}% + \next + \textfont\csname#1fam\endcsname \csname ten#1\endcsname + \scriptfont\csname#1fam\endcsname \csname seven#1\endcsname + \scriptscriptfont\csname#1fam\endcsname \csname five#1\endcsname + \expandafter\def\csname #1\expandafter\endcsname\expandafter{% + \expandafter\mathfont@\csname#1\endcsname}% + \expandafter\gdef\csname load#1\endcsname{}% +} +\def\mathfont@#1{\RIfM@\expandafter\mathfont@@\expandafter#1\else + \expandafter\nonmatherr@\expandafter#1\fi} +\def\mathfont@@#1#2{{\mathfont@@@#1{#2}}} +\def\mathfont@@@#1#2{\noaccents@ + \fam\csname\expandafter\eat@\string#1fam\endcsname + \relax#2} +\message{math accents,} +\def\accentclass@{7} +\def\noaccents@{\def\accentclass@{0}} +\def\makeacc@#1#2{\def#1{\mathaccent"\accentclass@#2 }} +\makeacc@\hat{05E} +\makeacc@\check{014} +\makeacc@\tilde{07E} +\makeacc@\acute{013} +\makeacc@\grave{012} +\makeacc@\dot{05F} +\makeacc@\ddot{07F} +\makeacc@\breve{015} +\makeacc@\bar{016} +\def\vec{\mathaccent"017E } +\newcount\skewcharcount@ +\newcount\familycount@ +\def\theskewchar@{\familycount@\@ne + \global\skewcharcount@\the\skewchar\textfont\@ne %1 + \ifnum\fam>\m@ne\ifnum\fam<16 + \global\familycount@\the\fam\relax + \global\skewcharcount@\the\skewchar\textfont\the\fam\relax\fi\fi %2 + \ifnum\skewcharcount@>\m@ne + \ifnum\skewcharcount@<128 + \multiply\familycount@256 + \global\advance\skewcharcount@\familycount@ + \global\advance\skewcharcount@28672 + \mathchar\skewcharcount@\else + \global\skewcharcount@\m@ne\fi\else + \global\skewcharcount@\m@ne\fi} %3 +\newcount\pointcount@ +\def\getpoints@#1.#2\getpoints@{\pointcount@#1 } +\newdimen\accentdimen@ +\newcount\accentmu@ +\def\dimentomu@{\multiply\accentdimen@ 100 + \expandafter\getpoints@\the\accentdimen@\getpoints@ + \multiply\pointcount@18 + \divide\pointcount@\@m + \global\accentmu@\pointcount@} +\def\Makeacc@#1#2{\def#1{\RIfM@\DN@{\mathaccent@ + {"\accentclass@#2 }}\else\DN@{\nonmatherr@{#1}}\fi\next@}} +\def\unbracefonts@{\let\Cal@\Cal@@\let\roman@\roman@@\let\bold@\bold@@ + \let\slanted@\slanted@@} +\def\mathaccent@#1#2{\ifnum\fam=\m@ne\xdef\thefam@{1}\else + \xdef\thefam@{\the\fam}\fi %1 + \accentdimen@\z@ %2 + \setboxz@h{\unbracefonts@$\m@th\fam\thefam@\relax#2$}% %3 + \ifdim\accentdimen@=\z@\DN@{\mathaccent#1{#2}}% %4 + \setbox@ne\hbox{\unbracefonts@$\m@th\fam\thefam@\relax#2\theskewchar@$}% %5a + \setbox\tw@\hbox{$\m@th\ifnum\skewcharcount@=\m@ne\else + \mathchar\skewcharcount@\fi$}% %5b + \global\accentdimen@\wd@ne\global\advance\accentdimen@-\wdz@ + \global\advance\accentdimen@-\wd\tw@ %5c + \global\multiply\accentdimen@\tw@ + \dimentomu@\global\advance\accentmu@\@ne %5d + \else\DN@{{\mathaccent#1{#2\mkern\accentmu@ mu}% + \mkern-\accentmu@ mu}{}}\fi %6 + \next@}\Makeacc@\Hat{05E} +\Makeacc@\Check{014} +\Makeacc@\Tilde{07E} +\Makeacc@\Acute{013} +\Makeacc@\Grave{012} +\Makeacc@\Dot{05F} +\Makeacc@\Ddot{07F} +\Makeacc@\Breve{015} +\Makeacc@\Bar{016} +\def\Vec{\RIfM@\DN@{\mathaccent@{"017E }}\else + \DN@{\nonmatherr@\Vec}\fi\next@} +\def\accentedsymbol#1#2{\csname newbox\expandafter\endcsname + \csname\expandafter\eat@\string#1@box\endcsname + \expandafter\setbox\csname\expandafter\eat@ + \string#1@box\endcsname\hbox{$\m@th#2$}\define + #1{\copy\csname\expandafter\eat@\string#1@box\endcsname{}}} +\message{roots,} +\def\sqrt#1{\radical"270370 {#1}} +\let\underline@\underline +\let\overline@\overline +\def\underline#1{\underline@{#1}} +\def\overline#1{\overline@{#1}} +\Invalid@\leftroot +\Invalid@\uproot +\newcount\uproot@ +\newcount\leftroot@ +\def\root{\relaxnext@ + \DN@{\ifx\next\uproot\let\next@\nextii@\else + \ifx\next\leftroot\let\next@\nextiii@\else + \let\next@\plainroot@\fi\fi\next@}% + \DNii@\uproot##1{\uproot@##1\relax\FN@\nextiv@}% + \def\nextiv@{\ifx\next\space@\DN@. {\FN@\nextv@}\else + \DN@.{\FN@\nextv@}\fi\next@.}% + \def\nextv@{\ifx\next\leftroot\let\next@\nextvi@\else + \let\next@\plainroot@\fi\next@}% + \def\nextvi@\leftroot##1{\leftroot@##1\relax\plainroot@}% + \def\nextiii@\leftroot##1{\leftroot@##1\relax\FN@\nextvii@}% + \def\nextvii@{\ifx\next\space@ + \DN@. {\FN@\nextviii@}\else + \DN@.{\FN@\nextviii@}\fi\next@.}% + \def\nextviii@{\ifx\next\uproot\let\next@\nextix@\else + \let\next@\plainroot@\fi\next@}% + \def\nextix@\uproot##1{\uproot@##1\relax\plainroot@}% + \bgroup\uproot@\z@\leftroot@\z@\FN@\next@} +\def\plainroot@#1\of#2{\setbox\rootbox\hbox{$\m@th\scriptscriptstyle{#1}$}% + \mathchoice{\r@@t\displaystyle{#2}}{\r@@t\textstyle{#2}} + {\r@@t\scriptstyle{#2}}{\r@@t\scriptscriptstyle{#2}}\egroup} +\def\r@@t#1#2{\setboxz@h{$\m@th#1\sqrt{#2}$}% + \dimen@\ht\z@\advance\dimen@-\dp\z@ + \setbox@ne\hbox{$\m@th#1\mskip\uproot@ mu$}\advance\dimen@ 1.667\wd@ne + \mkern-\leftroot@ mu\mkern5mu\raise.6\dimen@\copy\rootbox + \mkern-10mu\mkern\leftroot@ mu\boxz@} +\def\boxed#1{\setboxz@h{$\m@th\displaystyle{#1}$}\dimen@.4\ex@ + \advance\dimen@3\ex@\advance\dimen@\dp\z@ + \hbox{\lower\dimen@\hbox{% + \vbox{\hrule height.4\ex@ + \hbox{\vrule width.4\ex@\hskip3\ex@\vbox{\vskip3\ex@\boxz@\vskip3\ex@}% + \hskip3\ex@\vrule width.4\ex@}\hrule height.4\ex@}% + }}} +\message{commutative diagrams,} +\let\ampersand@\relax +\newdimen\minaw@ +\minaw@11.11128\ex@ +\newdimen\minCDaw@ +\minCDaw@2.5pc +\def\minCDarrowwidth#1{\RIfMIfI@\onlydmatherr@\minCDarrowwidth + \else\minCDaw@#1\relax\fi\else\onlydmatherr@\minCDarrowwidth\fi} +\newif\ifCD@ +\def\CD{\bgroup\vspace@\relax\iffalse{\fi\let\ampersand@&\iffalse}\fi + \CD@true\vcenter\bgroup\Let@\tabskip\z@skip\baselineskip20\ex@ + \lineskip3\ex@\lineskiplimit3\ex@\halign\bgroup + &\hfill$\m@th##$\hfill\crcr} +\def\endCD{\crcr\egroup\egroup\egroup} +\newdimen\bigaw@ +\atdef@>#1>#2>{\ampersand@ %1 + \setboxz@h{$\m@th\ssize\;{#1}\;\;$}% %2 + \setbox@ne\hbox{$\m@th\ssize\;{#2}\;\;$}% %3 + \setbox\tw@\hbox{$\m@th#2$}% %4 + \ifCD@\global\bigaw@\minCDaw@\else\global\bigaw@\minaw@\fi %5 + \ifdim\wdz@>\bigaw@\global\bigaw@\wdz@\fi + \ifdim\wd@ne>\bigaw@\global\bigaw@\wd@ne\fi %6 + \ifCD@\enskip\fi %7 + \ifdim\wd\tw@>\z@ + \mathrel{\mathop{\hbox to\bigaw@{\rightarrowfill@\displaystyle}}% + \limits^{#1}_{#2}}% %8 + \else\mathrel{\mathop{\hbox to\bigaw@{\rightarrowfill@\displaystyle}}% + \limits^{#1}}\fi %9 + \ifCD@\enskip\fi %10 + \ampersand@} %11 +\atdef@<#1<#2<{\ampersand@\setboxz@h{$\m@th\ssize\;\;{#1}\;$}% + \setbox@ne\hbox{$\m@th\ssize\;\;{#2}\;$}\setbox\tw@\hbox{$\m@th#2$}% + \ifCD@\global\bigaw@\minCDaw@\else\global\bigaw@\minaw@\fi + \ifdim\wdz@>\bigaw@\global\bigaw@\wdz@\fi + \ifdim\wd@ne>\bigaw@\global\bigaw@\wd@ne\fi + \ifCD@\enskip\fi + \ifdim\wd\tw@>\z@ + \mathrel{\mathop{\hbox to\bigaw@{\leftarrowfill@\displaystyle}}% + \limits^{#1}_{#2}}\else + \mathrel{\mathop{\hbox to\bigaw@{\leftarrowfill@\displaystyle}}% + \limits^{#1}}\fi + \ifCD@\enskip\fi\ampersand@} +\begingroup + \catcode`\~=\active \lccode`\~=`\@ + \lowercase{% + \global\atdef@)#1)#2){~>#1>#2>} + \global\atdef@(#1(#2({~<#1<#2<}} +\endgroup +\atdef@ A#1A#2A{\llap{$\m@th\vcenter{\hbox + {$\ssize#1$}}$}\Big\uparrow\rlap{$\m@th\vcenter{\hbox{$\ssize#2$}}$}&&} +\atdef@ V#1V#2V{\llap{$\m@th\vcenter{\hbox + {$\ssize#1$}}$}\Big\downarrow\rlap{$\m@th\vcenter{\hbox{$\ssize#2$}}$}&&} +\atdef@={&\enskip\mathrel + {\vbox{\hrule width\minCDaw@\vskip3\ex@\hrule width + \minCDaw@}}\enskip&} +\atdef@|{\Big\Vert&&} +\atdef@\vert{\Big\Vert&&} +\def\pretend#1\haswidth#2{\setboxz@h{$\m@th\scriptstyle{#2}$}\hbox + to\wdz@{\hfill$\m@th\scriptstyle{#1}$\hfill}} +\message{poor man's bold,} +\def\pmb{\RIfM@\expandafter\mathpalette\expandafter\pmb@\else + \expandafter\pmb@@\fi} +\def\pmb@@#1{\leavevmode\setboxz@h{#1}% + \dimen@-\wdz@ + \kern-.5\ex@\copy\z@ + \kern\dimen@\kern.25\ex@\raise.4\ex@\copy\z@ + \kern\dimen@\kern.25\ex@\box\z@ +} +\def\binrel@@#1{\ifdim\wd2<\z@\mathbin{#1}\else\ifdim\wd\tw@>\z@ + \mathrel{#1}\else{#1}\fi\fi} +\newdimen\pmbraise@ +% Note: because of the use of \mathpalette, if \pmb@ is +% applied to a single math italic character (or a single +% character from some other slanted math font), the italic +% correction will be added. This will cause subscripts +% to fall too far away from the character in some +% cases, e.g., $\pmb{T}_1$ or $\pmb{\Cal T}_1$. +\def\pmb@#1#2{\setbox\thr@@\hbox{$\m@th#1{#2}$}% + \setbox4\hbox{$\m@th#1\mkern.5mu$}\pmbraise@\wd4\relax + \binrel@{#2}% + \dimen@-\wd\thr@@ + \binrel@@{% + \mkern-.8mu\copy\thr@@ + \kern\dimen@\mkern.4mu\raise\pmbraise@\copy\thr@@ + \kern\dimen@\mkern.4mu\box\thr@@ +}} +\def\documentstyle#1{\W@{}\input #1.sty\relax} +\message{syntax check,} +\font\dummyft@=dummy +\fontdimen1 \dummyft@=\z@ +\fontdimen2 \dummyft@=\z@ +\fontdimen3 \dummyft@=\z@ +\fontdimen4 \dummyft@=\z@ +\fontdimen5 \dummyft@=\z@ +\fontdimen6 \dummyft@=\z@ +\fontdimen7 \dummyft@=\z@ +\fontdimen8 \dummyft@=\z@ +\fontdimen9 \dummyft@=\z@ +\fontdimen10 \dummyft@=\z@ +\fontdimen11 \dummyft@=\z@ +\fontdimen12 \dummyft@=\z@ +\fontdimen13 \dummyft@=\z@ +\fontdimen14 \dummyft@=\z@ +\fontdimen15 \dummyft@=\z@ +\fontdimen16 \dummyft@=\z@ +\fontdimen17 \dummyft@=\z@ +\fontdimen18 \dummyft@=\z@ +\fontdimen19 \dummyft@=\z@ +\fontdimen20 \dummyft@=\z@ +\fontdimen21 \dummyft@=\z@ +\fontdimen22 \dummyft@=\z@ +\def\fontlist@{\\{\tenrm}\\{\sevenrm}\\{\fiverm}\\{\teni}\\{\seveni}% + \\{\fivei}\\{\tensy}\\{\sevensy}\\{\fivesy}\\{\tenex}\\{\tenbf}\\{\sevenbf}% + \\{\fivebf}\\{\tensl}\\{\tenit}} +\def\font@#1=#2 {\rightappend@#1\to\fontlist@\font#1=#2 } +\def\dodummy@{{\def\\##1{\global\let##1\dummyft@}\fontlist@}} +\def\nopages@{\output{\setbox\z@\box\@cclv \deadcycles\z@}% + \alloc@5\toks\toksdef\@cclvi\output} +\let\galleys\nopages@ +\newif\ifsyntax@ +\newcount\countxviii@ +\def\syntax{\syntax@true\dodummy@\countxviii@\count18 + \loop\ifnum\countxviii@>\m@ne\textfont\countxviii@=\dummyft@ + \scriptfont\countxviii@=\dummyft@\scriptscriptfont\countxviii@=\dummyft@ + \advance\countxviii@\m@ne\repeat %1 + \dummyft@\tracinglostchars\z@\nopages@\frenchspacing\hbadness\@M} +\def\first@#1#2\end{#1} +\def\printoptions{\W@{Do you want S(yntax check), + G(alleys) or P(ages)?}% + \message{Type S, G or P, followed by : }% + \begingroup % to localize the following change to \endlinechar: + \endlinechar\m@ne % to prevent a space or \par in \ans@ from ^^M + \read\m@ne to\ans@ +% Define \ans@ to uppercase itself, and default to P if the user +% just pressed . + \edef\ans@{\uppercase{\def\noexpand\ans@{% + \expandafter\first@\ans@ P\end}}}% +% Cast the new definition of \ans@ outside the group + \expandafter\endgroup\ans@ + \if\ans@ P% fine, no action needs to be taken + \else \if\ans@ S\syntax + \else \if\ans@ G\galleys + \else\message{? Unknown option: \ans@; using the `pages' option.}% + \fi\fi\fi} +\def\alloc@#1#2#3#4#5{\global\advance\count1#1by\@ne + \ch@ck#1#4#2\allocationnumber=\count1#1 + \global#3#5=\allocationnumber + \ifalloc@\wlog{\string#5=\string#2\the\allocationnumber}\fi} +\def\document{\def\alloclist@{}\def\fontlist@{}} +\let\enddocument\bye +\let\plainproclaim\proclaim +\let\plainfootnote\footnote +\let\proclaim\undefined +\let\footnote\undefined +\let\=\undefined +\let\>\undefined +\let\cal\undefined +\let\mit\undefined +\let\oldstyle\undefined +\catcode`\@=\active +\message{... finished} +\endinput diff --git a/Master/texmf-dist/tex/amstex/config/amstex.ini b/Master/texmf-dist/tex/amstex/config/amstex.ini new file mode 100644 index 00000000000..2edb02a8876 --- /dev/null +++ b/Master/texmf-dist/tex/amstex/config/amstex.ini @@ -0,0 +1,47 @@ +%%% ==================================================================== +%%% @TeX-file{ +%%% filename = "amstex.ini", +%%% version = "2.2", +%%% date = "2001/08/07", +%%% time = "13:12:52 EDT", +%%% checksum = "14899 47 261 2105", +%%% filetype = "AMS-TeX", +%%% author = "American Mathematical Society", +%%% 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.", +%%% 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 for use in constructing an AMS-TeX +%%% format file. Removing the double percent at the +%%% beginning of the next-to-last line will cause the +%%% AMSPPT documentstyle to be included in the format +%%% file.", +%%% 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 plain +\input amstex +%% Uncomment this line to include the AMSPPT preprint style in the +%% format file: +%%\documentstyle{amsppt} +\dump diff --git a/Master/texmf-dist/tex/amstex/siam/amsamp.tex b/Master/texmf-dist/tex/amstex/siam/amsamp.tex new file mode 100644 index 00000000000..44048937dd7 --- /dev/null +++ b/Master/texmf-dist/tex/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 + diff --git a/Master/texmf-dist/tex/amstex/siam/amstexsi.sty b/Master/texmf-dist/tex/amstex/siam/amstexsi.sty new file mode 100644 index 00000000000..4ba461dc9dc --- /dev/null +++ b/Master/texmf-dist/tex/amstex/siam/amstexsi.sty @@ -0,0 +1,634 @@ +%% This is amstexsiam.sty, the AmS-TeX SIAM style file. This file +%% should be accompanied by the sample paper, siamsamp.tex, and the +%% documentation file, siamdoc.tex. +%% +%% This is version 2.1 of November 1995. +%% +%% Authors: +%% +%% Prof. Bradley Lucier +%% Department of Mathematics +%% 1395 Mathematical Sciences Building +%% Purdue University +%% West Lafayette, IN 47907-1395 +%% lucier@math.purdue.edu +%% +%% Prof. Douglas N. Arnold +%% Department of Mathematics +%% Penn State University +%% University Park, PA 16802 +%% dna@math.psu.edu +%% +%% Copyright 1988, 1990, 1993, 1995 by Bradley Lucier. All rights reserved. +%% You have permission to copy this file, to use it as input to other TeX +%% files, and to modify it as necessary to allow it to run at your site. +%% In the interest of maintaining a consistent revision history, if you +%% make changes, additions, or deletions to this file, you must indicate +%% how the changes affected the original file, so that the original file +%% can be reconstructed if necessary. +%% +%% This is an official SIAM style file for AmSTeX, version 2.1. It +%% requires amsppt.sty, version 2.1a. Later versions are probably +%% acceptable. This style file has been used to produce papers for +%% SIAM journals that have been totally acceptable to SIAM production +%% editors. +%% +%% This style file is unsupported. To report bugs, suggest changes, +%% or make other comments, contact the first named author. +%% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% RCS information: $Revision: 1.12 $, $Date: 95/11/20 13:11:59 $. +\def\filename{amstexsiam.sty} +\def\fileversion{2.1} +\def\filedate{November 1995} +\message{version \fileversion\space(\filedate):} +\def\styname{AMSTEXSIAM}\def\styversion{2.1} +% +% We save the catcode of @ before we call amsppt.sty, since amsppt.sty +% redefines \filename. +% +\expandafter\xdef\csname\filename\endcsname{% + \catcode`\noexpand\@=\the\catcode`\@ + \expandafter\gdef\csname\filename\endcsname{% + \fileversion\space(\filedate)}} +% +\input amsppt.sty +% +\catcode`\@=11 +% +% Change the crucial dimensions. We use 20pt instead of 2 em for +% the \parindent, because at one point we want to set it to the same thing +% in \eightpoint, and 2 em in \eightrm is smaller than 2 em in \tenrm. +% I removed every instance of em in this style file---it was used in the +% setting of item numbers in rosters, and in the indentation of references. +% I substituted 10 pts for it. +% +\def\pagewidth#1{\hsize#1\captionwidth@\hsize} +\pagewidth{31 pc} \hcorrection{0.6666666 in} +\pageheight{49.5 pc} \vcorrection{0.3333333 in} +\topskip 12pt +\parindent 20pt +\parskip 0 pt +% +% change the space above and below displayed equations to 6 + 3 pts. +% SIAM style is 6 pts. I also added a call to \rm to override the +% call to \eightrm in \eightpoint in case anyone ever wants to redefine the +% text fonts for \eightpt +\addto\tenpoint{\abovedisplayskip 6\p@ plus 3\p@ + \belowdisplayskip\abovedisplayskip + \abovedisplayshortskip 0 \p@ plus 3\p@ + \belowdisplayshortskip\belowdisplayskip} +\addto\eightpoint{\abovedisplayskip 6\p@ plus 3\p@ + \belowdisplayskip\abovedisplayskip + \abovedisplayshortskip 0 \p@ plus 3\p@ + \belowdisplayshortskip\belowdisplayskip\rm} +% +% various amsppt macros are not to be used in the amstexsiam style file +% +\def\taboo@#1{\def#1{% + \errmessage{Do not use \string#1 in the amstexsiam style; see the instructions.}}} +\taboo@\thanks\taboo@\endthanks % use the title footnote. +\taboo@\preaffil\taboo@\affil\taboo@\endaffil % use the author footnotes +\taboo@\address\taboo@\endaddress % use the author footnotes +\taboo@\predate\taboo@\date\taboo@\enddate % use the title footnote. +\taboo@\email\taboo@\endemail % use the author footnotes +% +% Changes to the topmatter. (Differences refer to amsppt.sty, version 2.1a) +% +% We don't increase the line spacing in the title, we don't uppercase, +% we record the depth of the last line for use in \endtopmatter. +% +\newdimen\titledepth@ +\def\title#1\endtitle{\global\setbox\titlebox@ + \vtop{\bgroup\tenpoint\bf\raggedcenter@ + #1\endgraf\global\titledepth@\prevdepth\egroup}\relaxnext@} +% +% \author uses small caps, otherwise is like title. +% +\newdimen\authordepth@ +\def\author#1\endauthor{\global\setbox\authorbox@ + \vtop{\bgroup\eightpoint\smc\raggedcenter@ + #1\endgraf\global\authordepth@\prevdepth\egroup}\relaxnext@} +% +% Abstract: don't change the left and right skips, do indent, +% don't put the thing in displayed math, change the +% font from small cap to bold for "Abstract". Remember the depth of +% the last line in abstract for \endtopmatter. +% +\newdimen\abstractdepth@ +\def\abstract{\let\savedef@\abstract + \def\abstract{\let\abstract\savedef@ + \setbox\abstractbox@\vtop\bgroup + \def\envir@end{\endabstract} + \def\usualspace{\enspace}\eightpoint\indent + \frills@{{\bf Abstract.\enspace}}}% + \nofrillscheck\abstract} +\def\endabstract{\endgraf\global\abstractdepth@\prevdepth\unskip\egroup} +% +% Add keywords and subject classifications just like the abstract. +% +\def\prekeywords{} +\newbox\keywordsbox@ +\newdimen\keywordsdepth@ +\def\keywords{\let\savedef@\keywords + \def\keywords{\let\keywords\savedef@ + \setbox\keywordsbox@\vtop\bgroup + \def\envir@end{\endkeywords} + \def\usualspace{\enspace}\eightpoint\indent + \frills@{{\bf Key words.\enspace}}}% + \nofrillscheck\keywords} +\def\endkeywords{\endgraf\global\keywordsdepth@\prevdepth\unskip\egroup} +\def\presubjclass{} +\newbox\subjclassbox@ +\newdimen\subjclassdepth@ +\def\subjclass{\let\savedef@\subjclass + \def\subjclass{\let\subjclass\savedef@ + \setbox\subjclassbox@\vtop\bgroup + \def\envir@end{\endsubjclass} + \def\usualspace{\enspace}\eightpoint\indent + \frills@{{\bf AMS subject classifications.\enspace}}}% + \nofrillscheck\subjclass} +\def\endsubjclass{\endgraf\global\subjclassdepth@\prevdepth\unskip\egroup} +% +% Amazingly enough, we get the spacing perfectly correct; however, if +% any one part of the topmatter should need to cross a page boundary, +% then we are in trouble, since we leave each part of the topmatter in a +% \vbox, and things will have to be set by hand. (amsppt.sty has the same +% problem if the abstract should cross a page boundary.) +% After adding each part of the topmatter +% we change \prevdepth to reflect the depth of the last line of each part. +% +\outer\def\endtopmatter{\add@missing\endabstract + \add@missing\endkeywords\add@missing\endsubjclass + \pretitle + \begingroup % to localize variant topskip + \topskip 3pc\advance\topskip by -\ht\titlebox@ + \null\unvbox\titlebox@ + \prevdepth\titledepth@ + \endgroup + \preauthor + \ifvoid\authorbox@\else + \baselineskip 18 pt\advance\baselineskip by -\ht\authorbox@ + \null\unvbox\authorbox@\prevdepth\authordepth@\fi + \preabstract + \ifvoid\abstractbox@\else + \baselineskip 24 pt\advance\baselineskip by -\ht\abstractbox@ + \null\unvbox\abstractbox@\prevdepth\abstractdepth@\fi + \prekeywords + \ifvoid\keywordsbox@\else + \baselineskip 20 pt\advance\baselineskip by -\ht\keywordsbox@ + \null\unvbox\keywordsbox@\prevdepth\keywordsdepth@\fi + \presubjclass + \ifvoid\subjclassbox@\else + \baselineskip 20 pt\advance\baselineskip by -\ht\subjclassbox@ + \null\unvbox\subjclassbox@\prevdepth\subjclassdepth@\fi + \ifvoid\tocbox@\else\vskip1.5pcplus.5pc\unvbox\tocbox@\fi + \prepaper + \vskip 8 pt % The first line of the paper body will be set with 12 pt + % baselines, so this extra 8 points will make it 20 pts total. + \tenpoint\relax +} +% +% Simplify it, since we don't add a lot of things at the end of the +% document like amsppt does. +% +\outer\def\enddocument{\par% \par will do a runaway check for \endref + \add@missing\endRefs + \add@missing\endroster \add@missing\endproclaim + \add@missing\enddefinition + \add@missing\enddemo \add@missing\endremark \add@missing\endexample + \vfill\supereject\end} +% +% We add a thin space between the footnotemark and the footnotetext. +% +% We also undo \raggedcenter@ inside the foonote. +% +\def\undoraggedcenter@{\leftskip\z@\rightskip\z@\parfillskip0ptplus1fil% + \parindent20pt\spaceskip0\p@\xspaceskip0\p@\pretolerance100% + \tolerance200\exhyphenpenalty50\hyphenpenalty50} +\def\makefootnote@#1#2{\insert\footins + {\interlinepenalty\interfootnotelinepenalty +\eightpoint\undoraggedcenter@\splittopskip\ht\strutbox\splitmaxdepth\dp\strutbox + \floatingpenalty\@MM\leavevmode{#1}\,\footstrut + \ignorespaces#2\unskip\lower\dp\strutbox + \vbox to\dp\strutbox{}}} +% +% The skip before a heading is 6 pts, no stretchiness +% +\subheadskip 6 pt +% +% +% the amsppt monograph style has the same indentation rules as the SIAM +% style. +% +\let\varindent@\indent +% +% Proclaims use small caps. +% +\def\proclaimheadfont@{\smc} +% +% Now we have to change a lot of things because Spivak put \medskipamounts +% before and after proclaims, etc. Perhaps he should have defined and used +% \varskipamount@ like varindent@ and then we would have had to change only +% one line. (Hint, hint!) To keep things simple, I just changed the +% \medskipamounts to 0pt in the following, even though it doesn't make +% total sense to do so. +% +% Next line needed since it was previously defined outer. +% +\let\proclaim\relax +\outer\def\proclaim{% + \let\savedef@\proclaim \let\proclaim\relax + \add@missing\endroster \add@missing\enddefinition + \add@missing\endproclaim \envir@stack\endproclaim + \def\proclaim##1{\restoredef@\proclaim + \penaltyandskip@{-100}{0pt}\varindent@ + \def\usualspace{{\proclaimheadfont@\enspace}}\proclaimheadfont@ + \ignorespaces##1\unskip\frills@{.\enspace}% + \it\ignorespaces}% + \nofrillscheck\proclaim} +\def\endproclaim{\revert@envir\endproclaim \par\rm + \penaltyandskip@{55}{0pt}} +\def\remark{\let\savedef@\remark \let\remark\relax + \add@missing\endroster \add@missing\endproclaim + \envir@stack\endremark + \def\remark##1{\restoredef@\remark + \penaltyandskip@\z@{0pt} + {\def\usualspace{{\remarkheadfont@\enspace}}% + \varindent@\remarkheadfont@\ignorespaces##1\unskip + \frills@{.\enspace}}\rm + \ignorespaces}\nofrillscheck\remark} +\def\definition{\let\savedef@\definition \let\definition\relax + \add@missing\endproclaim \add@missing\endroster + \add@missing\enddefinition \envir@stack\enddefinition + \def\definition##1{\restoredef@\definition + \penaltyandskip@{-100}{0pt} + {\def\usualspace{{\proclaimheadfont@\enspace}}% + \varindent@\proclaimheadfont@\ignorespaces##1\unskip + \frills@{.\proclaimheadfont@\enspace}}% + \rm \ignorespaces}% + \nofrillscheck\definition} +\def\enddefinition{\revert@envir\enddefinition\par} +\def\enddemo{\par\revert@envir\enddemo \endremark} +% +% Examples are set the same as remarks in the SIAM style. +% +\def\example{\DN@{\ifx\next\nofrills + \DN@####1####2{\remark####1{####2}\envir@stack\endexample + \ignorespaces}% + \else + \DN@####1{\remark{####1}\envir@stack\endexample\ignorespaces}% + \fi + \next@}% +\FN@\next@} +\def\endexample{\par\revert@envir\endexample \endremark} +% +% We will add a \case ... \endcase macro +% +\def\case{\DN@{\ifx\next\nofrills + \DN@####1####2{\remark####1{####2}\envir@stack\endcase + \ignorespaces}% + \else + \DN@####1{\remark{####1}\envir@stack\endcase\ignorespaces}% + \fi + \next@}% +\FN@\next@} +\def\endcase{\par\revert@envir\endcase \endremark} +% +% Remarks, proofs, etc. have the first word in italic. +% +\def\remarkheadfont@{\it} +% +% Redefine \qed +% +\def\qed{\ifhmode\unskip\nobreak\fi\ifmmode\ifinner\else\hskip5\p@\fi\fi + \hbox{\hskip25\p@ minus 10 \p@\hbox{\vrule width .6\p@\vbox{\hrule width 4\p@ + height .6\p@\vskip 6.2\p@\hrule width 4\p@ height .6\p@}\unskip\vrule + width .6\p@}\hskip\p@}} +% +% We should deal somewhat with table and figure legends. Unfortunately, +% they differ in several key respects from the amsppt style. Tables have +% "Table 1" in small caps centered on first line of caption, table +% description centered in italics on following lines. Legend has "Fig. 1." +% in smc followed by description in italic. +% +\def\topcaption#1#2\endcaption{% + \eightpoint{\dimen@\hsize \advance\dimen@-\captionwidth@ + \it\raggedcenter@ \advance\leftskip.5\dimen@ \rightskip\leftskip + {\captionfont@#1}% + \if\notempty{#2}\\\ignorespaces#2\fi + \endgraf}\nobreak\smallskip} +\def\botcaption#1#2\endcaption{% + \nobreak\medskip + \eightpoint\setboxz@h{\captionfont@#1\if\notempty{#2}.\enspace\it#2\fi}% + {\dimen@\hsize \advance\dimen@-\captionwidth@ + \leftskip.5\dimen@ \rightskip\leftskip + \noindent \ifdim\wdz@<\captionwidth@ + \hfil{\captionfont@#1}\if\notempty{#2}.\enspace\it#2\fi\hfil + \else + \par{\captionfont@#1}% + \if\notempty{#2}.\enspace\it#2\fi\endgraf\fi}} +\def\@ins{\par\begingroup\def\vspace##1{\vskip##1\relax}% + \def\captionwidth##1{\captionwidth@##1\relax}% + \setbox\z@\vbox\bgroup} % start a \vbox +% +% We remove the smallskip before rosters and change them to not use hang +% indents. +% +\rosteritemwd20pt +\newdimen\rosteritemindent@ +\rosteritemindent@-20pt +\def\roster{% + \envir@stack\endroster + \global\advance\rosteritemindent@ by 20 pt + \edef\leftskip@{\leftskip\the\leftskip}% + \relaxnext@ + \rostercount@\z@ + \def\item{\FN@\rosteritem@}% + \DN@{\ifx\next\runinitem\let\next@\nextii@\else + \let\next@\nextiii@\fi\next@}% + \DNii@\runinitem% + {\unskip% + \DN@{\ifx\next[\let\next@\nextii@\else + \ifx\next"\let\next@\nextiii@\else\let\next@\nextiv@\fi\fi\next@}% + \DNii@[####1]{\rostercount@####1\relax + \enspace\therosteritem{\number\rostercount@}~\ignorespaces}% + \def\nextiii@"####1"{\enspace{\rm####1}~\ignorespaces}% + \def\nextiv@{\enspace\therosteritem1\rostercount@\@ne~}% + \par@\firstitem@false% + \FN@\next@}% + \def\nextiii@{\par\par@ + \penalty\@m + \firstitem@true} + \FN@\next@} +\def\rosteritem@{\iffirstitem@\firstitem@false + \else\par\vskip-\parskip\fi + \leftskip\rosteritemindent@\noindent + \DNii@[##1]{\rostercount@##1\relax\itembox@}% + \def\nextiii@"##1"{\def\therosteritem@{\rm##1}\itembox@}% + \def\nextiv@{\advance\rostercount@\@ne\itembox@}% + \def\therosteritem@{\therosteritem{\number\rostercount@}}% + \ifx\next[\let\next@\nextii@\else\ifx\next"\let\next@\nextiii@\else + \let\next@\nextiv@\fi\fi\next@} +% +% We change itembox to do what it should +% +\def\itembox@{\hskip\parindent\hbox to \rosteritemwd{\hss\kern\z@\therosteritem@\enspace}\ignorespaces} +% +% We change the default roster indent to 20 pt (from 16), and remove the +% "\global\rosteritemwd16pt" from \endroster. This allows us to use +% nested rosters in an easy way. +% +\def\endroster{\relaxnext@\revert@envir\endroster\par + \global\advance\rosteritemindent@ by -20 pt + \leftskip@\penalty-50 + \DN@{\ifx\next\Runinitem\let\next@\relax\else\nextRunin@false + \let\item\plainitem@\ifx\next\par\DN@\par{\everypar + \expandafter{\the\everypartoks@}}\else\DN@{\noindent\everypar + \expandafter{\the\everypartoks@}}\fi\fi\next@}\FN@\next@} +% +% References: +% +% We change the word "REFERENCES" to 8 pt roman, and add 28 pt skip +% and a \goodbreak above "REFERENCES" and 8 pt skip and \nobreak below. +% +\let\Refs\relax +\outer\def\Refs{\add@missing\endroster \add@missing\endproclaim + \let\savedef@\Refs \let\Refs\relax % because of \outer-ness + \def\Refs##1{\restoredef@\Refs + \goodbreak\vskip 28 pt + \hbox to\hsize{\hfil\refsfont@\rm + \ignorespaces##1\unskip\hfil}\nobreak + \vskip 8pt + \begingroup\def\envir@end{\endRefs}\refsfont@\sfcode`\.\@m + }% + \nofrillscheck{\csname Refs\expandafter\endcsname + \frills@{{REFERENCES}}}} +% +% Author names are in small caps. +% +\def\by{\makerefbox\by\bybox@\smc} +% +% When we redefine \by, we have to re`let' \manyby. +% +\let\manyby\by +% +% Removed the \thinspace between the rule and the comma, raised +% it by a point, and made it .2 pts thick. +% +\def\bysame{\by\hbox to 30pt{\leaders\hrule height 1.2pt depth -1pt\hfill}} +% +% \ed and \eds are kind of funny; the \edbox@ is used as the \bybox@ +% if there is no \bybox@; the instructions will have to say to use +% \ed or \eds after \by in each reference. +% +\def\ed{\makerefbox\ed\edbox@{\ifvoid\bybox@\smc\fi}} +\def\eds{\gdef\edtext{eds.}\makerefbox\eds\edbox@{\ifvoid\bybox@\smc\fi}} +% +% Paper names are in italics. +% +\def\paper{\makerefbox\paper\paperbox@\it} +% +% The volume number is always roman in the SIAM style. +% +\def\vol{\makerefbox\vol\volbox@\empty} +% +% The SIAM style does not use "no." before the issue, or v. before +% the volume, even in a book. +% +\def\defaultreftexts{\gdef\edtext{ed.}\gdef\pagestext{pp.}} +% +% second and following lines in references are indented 20 pt more than first. +% +\def\ref{\par + \begingroup \def\envir@end{\endref}% + \advance\refindentwd 20 pt\noindent\hangindent\refindentwd + \advance\refindentwd-20 pt + \def\par{\add@missing\endref}% + \global\let\nofrills@list\empty + \refbreaks + \procpaper@false \book@false + \def\curbox{\z@}\setbox\z@\vbox\bgroup +} +% +% We change the reference styles for keys and numbers to be the same; +% the number contained in square brackets followed by an enspace. +% +\def\refstyle#1{\uppercase{% + \if#1A\relax \def\keyformat##1{\hfil[##1]\enspace}% + \else\if#1B\relax + \def\keyformat##1{\aftergroup\kern + \aftergroup-\aftergroup\refindentwd}% + \refindentwd\parindent + \else\if#1C\relax + \def\keyformat##1{\hfil[##1]\enspace}% + \fi\fi\fi}% end of \uppercase +} +% +% Here I am at a loss. The early, inscrutable part of endref@ is, of +% course, from amsppt 2.1a, so see amsppt.doc for the documentation. +% The latter part (Case 1: etc.), just tries to put things into +% their correct place with their correct spacing and surrounding punctuation +% and words (ed., etc.). The changes from amsppt to siam are too numerous to +% list; again, compare this code to amsppt.doc +% +\def\endref@{% + \keyhook@ + \def\nofrillscheck##1{% + \def\do####1{\ifx##1####1\let\frills@\eat@\fi}% + \let\frills@\identity@ \nofrills@list}% + \ifvoid\bybox@ + \ifvoid\edbox@ + \else\setbox\bybox@\hbox{\unhbox\edbox@\breakcheck + \nofrillscheck\edbox@\frills@{\smc, \edtext}\refbreak@}\fi + \fi + \ifvoid\keybox@\else\hbox to\refindentwd{% + \keyformat{\unhbox\keybox@}}\fi + \commaunbox@\morerefbox@ + \ppunbox@\empty\empty\bybox@\empty + \ifbook@ % Case 1: \book etc. + \commaunbox@\bookbox@ + \commaunbox@\procinfobox@ + \commaunbox@\bookinfobox@ + \ppunbox@\empty\space\volbox@\empty + \ppunbox@,\space\edbox@{, \edtext}% + \commaunbox@\publbox@ \commaunbox@\publaddrbox@ + \commaunbox@\yrbox@ + \else + \commaunbox@\paperbox@ \commaunbox@\paperinfobox@ + \ifprocpaper@ % Case 2: \paper ... \inbook + \ppunbox@,{ in }\bookbox@\empty + \commaunbox@\procinfobox@ + \commaunbox@\bookinfobox@ + \ppunbox@\empty\space\volbox@\empty + \ppunbox@,\space\edbox@{, \edtext}% + \commaunbox@\publbox@ \commaunbox@\publaddrbox@ + \commaunbox@\yrbox@ + \else % Case 3: \paper ... \jour + \commaunbox@\jourbox@ + \commaunbox@\volbox@ + \commaunbox@\issuebox@ + \ppunbox@\empty{ (}\yrbox@)% + \commaunbox@\publbox@ \commaunbox@\publaddrbox@ + \fi + \fi + \ppunbox@,{ \pagestext~}\pagesbox@\empty + \commaunbox@\finalinfobox@ + \commaunbox@\miscnotebox@ + \finalpunct\ppunbox@\empty{ (}\langbox@)% + \defaultreftexts +} +% +% \iffirstpage@ is defined in amsppt; we make sure it is true. +% +\firstpage@true +% +% We want to avoid people setting papers with the SIAM slug by default. +% We introduce a new macro \accepted that will set a flag to do this. +% +\newif\ifaccepted@ +\def\firstpageno#1{\gdef\firstpageno@{#1}} +\def\lastpageno#1{\gdef\lastpageno@{#1}} +\def\journalname#1{\gdef\journalname@{#1}} +\def\issuevolume#1{\gdef\issuevolume@{#1}} +\def\issuenumber#1{\gdef\issuenumber@{#1}} +\def\issuemonth#1{\gdef\issuemonth@{#1}} +\def\placenumber#1{\gdef\placenumber@{#1}} +\def\issueyear#1{\gdef\issueyear@{#1}} +\def\shorttitle#1{\gdef\shorttitle@{\lowercase{#1}}} +\def\shortauthor#1{\gdef\shortauthor@{\lowercase{#1}}} +\def\accepted{\accepted@true +\journalname{XXXXXXXXXXXXXXXXXX}% +\firstpageno{1}% +\lastpageno{XX}% +\issuevolume{0}% +\issuenumber{0}% +\issuemonth{XXXXXXX}% +\placenumber{000}% +\issueyear{19XX}% +} +\shortauthor{} +\shorttitle{} +\accepted@false +\output={\output@} +% +% The new output@, taken almost verbatim from amstexsiam, version 1.*; +% I changed \oddhead and \evenhead to \shorttitle and \shortauthor---users +% shouldn't really have to check whether the title is on odd or even pages. +% +\def\output@{% +\iffirstpage@\global\firstpage@false\shipout + \vbox{\ifaccepted@\global\pageno=\firstpageno@\vbox to 2 pc + {\baselineskip=8pt\vss + \hbox to \hsize{\sixrm\journalname@\hfill{\textfont\tw@\sixsy + \copyright}\ \issueyear@\ Society for Industrial and Applied Mathematics} + \hbox to \hsize{\sixrm Vol.~\issuevolume@, No.~\issuenumber@, + pp.~\firstpageno@--\lastpageno@, \issuemonth@\ \issueyear@\hfill + \placenumber@}\vskip-\prevdepth\vskip 8 pt}\else\vbox + {\vrule height 2 pc width 0 pt}\fi\nointerlineskip + \vbox to\vsize + {\boxmaxdepth=\maxdepth \pagecontents}\nointerlineskip\vbox to 16 pt{\vss + \hbox to \hsize{\eightpoint\hfill\number\pageno\hfill}}}% + \else + \shipout\vbox{\vbox to 2 pc{\baselineskip=12pt + \vss\ifodd\pageno + \hbox to \hsize{\tenpoint\relaxnext@\phantom{\number\pageno}\hfil + {\smc\frenchspacing{\shorttitle@}}\hfil\number\pageno} + \else + \hbox to \hsize{\tenpoint\number\pageno\hfil{\smc\frenchspacing{\shortauthor@}}\hfil\relaxnext@ + \phantom{\number\pageno}}\fi\vskip-\prevdepth\vskip 12 pt}\nointerlineskip% + \vbox to\vsize + {\boxmaxdepth=\maxdepth \pagecontents}}% changed to resemble TeXBook, p255 PCD + \fi + \global\advance\pageno\@ne + \ifnum\outputpenalty>-\@MM\else\dosupereject\fi} +\def\SIMAF{\journalname{{\sixrm SIAM J. M{\fiverm ATH.} F{\fiverm OOL.}}}}% for sample paper +\def\SIAP{\journalname{{\sixrm SIAM J. A{\fiverm PPL.} M{\fiverm ATH.}}}} +\def\SICOMP{\journalname{{\sixrm SIAM J. C{\fiverm OMPUT.}}}} +\def\SICON{\journalname{{\sixrm SIAM J. C{\fiverm ONTROL} {\fiverm AND} O{\fiverm PTIMIZATION}}}} +\def\SIDMA{\journalname{{\sixrm SIAM J. D{\fiverm ISC.} M{\fiverm ATH.}}}} +\def\SIMA{\journalname{{\sixrm SIAM J. M{\fiverm ATH.} A{\fiverm NAL.}}}} +\def\SIMAX{\journalname{{\sixrm SIAM J. M{\fiverm ATRIX} A{\fiverm NAL.} A{\fiverm PPL.}}}} +\def\SINUM{\journalname{{\sixrm SIAM J. N{\fiverm UMER.} A{\fiverm NAL.}}}} +\def\SIOPT{\journalname{{\sixrm SIAM J. O{\fiverm PTIMIZATION}}}} +\def\SISC{\journalname{{\sixrm SIAM J. S{\fiverm CI.} C{\fiverm OMPUT.}}}} +\def\SIREV{\journalname{{\sixrm SIAM R{\fiverm EVIEW}}}} +%\def\TVP{\journalname{{Theory of Probability and its Applications}}} +% but the slug is so different for this journal that I won't include it. +% +% From amstexsiam version 1.* +% +\def\footnoterule{\hrule width 36 pt height .2 pt\vskip 2.8\p@} +\skip\footins=12 pt plus 18 pt minus 6 pt +% +% We use \key in references by default, with a two digit key width. +% +\refstyle{A} +\widestnumber\key{00} +% +% Centered tags on splits seems to be the default. +% +\CenteredTagsOnSplits +% +% The multlinegap@ is 0pt for the SIAM style. +% +\multlinegap@0pt +% +% Every paper will have at least one bold footnotemark (in the title), +% so we load bold. +\loadbold +% +% Start in 10 pt text. +% +\tenpoint +% +% Reset the catcode of @ and reset amstexsiam.sty to be the version number. +% +\csname amstexsiam.sty\endcsname +% +% Make sure that we endinput here so following lines are not interpreted +% by TeX +% +\endinput +%% +%% End of file `amstexsiam.sty' diff --git a/Master/texmf-dist/tex/amstex/siam/siamdoc.tex b/Master/texmf-dist/tex/amstex/siam/siamdoc.tex new file mode 100644 index 00000000000..1d96c542f77 --- /dev/null +++ b/Master/texmf-dist/tex/amstex/siam/siamdoc.tex @@ -0,0 +1,238 @@ +%% This is siamdoc.tex, the documentation file for the AmSTeX SIAM +%% style file. This file should be accompanied by the style file +%% itself, amstexsiam.sty, and the sample paper, siamsample.tex. +%% +%% This is version 2.1 of March 1995. +%% +%% Authors: +%% +%% Prof. Bradley Lucier +%% Department of Mathematics +%% 1395 Mathematical Sciences Building +%% Purdue University +%% West Lafayette, IN 47907-1395 +%% lucier@math.purdue.edu +%% +%% Prof. Douglas N. Arnold +%% Department of Mathematics +%% Penn State University +%% University Park, PA 16802 +%% dna@math.psu.edu +%% +%% This file should be typeset with Plain TeX, not AmS-TeX or LaTeX. +%% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% RCS information: $Revision: 1.5 $ $Date: 95/03/03 13:00:26 $ +\catcode`\@=11 +\ifx\amstexloaded@\undefined\relax\else +\W@{^^JTypeset this file with plain TeX, not AmSTeX.^^J}\end\fi +\catcode`\@=\active +\magnification=\magstephalf +\tolerance=1000 +\def\beginverbatim{\par\begingroup\setupverbatim\doverbatim} +{\catcode`\|=0 \catcode`\\=12 % | is temporary escape character + |obeylines|gdef|doverbatim^^M#1\endverbatim{#1|endgroup}} +\def\setupverbatim{\tentt \obeylines \uncatcodespecials \obeyspaces} +{\obeyspaces\global\let =\ } % let active space = control space +\def\uncatcodespecials{\def\do##1{\catcode`##1=12}\dospecials} +{\catcode`\^^M=13 \gdef\gobblecr{\ifnextchar +{\gobble}{\ignorespaces}}} +{\catcode`\ =\active\gdef\vobeyspaces{\catcode`\ \active \let \xobeysp}} + \def\xobeysp{\leavevmode{} } +\begingroup \catcode `|=0 \catcode `[= 1 +\catcode`]=2 \catcode `\{=12 \catcode `\}=12 +\catcode`\\=12 |gdef|@xverbatim#1\end{verbatim}[#1|end[verbatim]] +|gdef|@sxverbatim#1\end{verbatim*}[#1|end[verbatim*]] +|endgroup +\def\makeother#1{\catcode`#112\relax} +\def\v{\begingroup \tt \uncatcodespecials +\averb} +\def\sverb#1{\def\tempa ##1#1{##1\endgroup}\tempa} +\def\averb{\obeyspaces \frenchspacing \sverb} +\font\textfontii = cmsy10 +\font\eightpt = cmr8 +\def\heading#1{\medskip\noindent{\bf #1.\ }} +\def\AmSTeX{{\textfontii A}\kern-.1667em\lower.5ex\hbox + {\textfontii M}\kern-.125em{\textfontii S}-\TeX} +\def\qed{\ifhmode\unskip\nobreak\fi\ifmmode\ifinner\else\hskip5 pt \fi\fi + \hbox{\hskip25 pt \hbox{\vrule width .2 pt \vbox{\hrule width 4 pt + height .2 pt \vskip 6.2 pt \hrule width 4 pt height .2 pt }\unskip\vrule + width .2 pt }\hskip 0pt }} +\centerline{\bf USING THE \AmSTeX\ SIAM STYLE FILE} +\medskip +{\eightpt\centerline{BRADLEY J. LUCIER and DOUGLAS N. ARNOLD}} +\bigskip +The \AmSTeX\ SIAM style file, amstexsiam.sty, is intended to help +authors to produce a paper that is typographically acceptable for +publication in a SIAM journal. Beginning with version 2, +amstexsiam.sty inputs amsppt.sty and then makes modifications as +necessary. Version 2 of amstexsiam.sty works with version 2.1 of +\AmSTeX\ and version 2.1a of amsppt.sty, and should work with latter +versions. This brief guide assumes familiarity with \AmSTeX\ and +amsppt, as documented in {\it The Joy of \TeX\ } by Michael Spivak. + +Most of the points introduced below are illustrated in the nonsense +paper {\it A sample paper, with a rather long title, to illustrate the +\AmSTeX\ SIAM style}. + +\heading{Publication information} When the paper has been accepted, +10 lines similar to these should be place immediately +after the \v"documentsyle" line: +\medskip +\beginverbatim +\accepted\SINUM +\firstpageno{10} +\lastpageno{12} +\issuevolume{1} +\issuenumber{2} +\issuemonth{February} +\placenumber{002} +\issueyear{1988} +\shortauthor{Bradley J. Lucier and Douglas N. Arnold} +\shorttitle{A Sample Paper} +\endverbatim +\medskip\noindent +The \v"\accepted" macro should be followed by a control sequence taken +from the following table indicating the specific journal. +\medskip +\settabs\+\indent&Acronym\indent&Title&\cr +\+& \v"\SINUM"&SIAM Journal on Numerical Analysis&\cr +\+& \v"\SIREV"&SIAM Review&\cr +\+& \v"\SIMA"&SIAM Journal on Mathematical Analysis&\cr +\+& \v"\SIMAX"&SIAM Journal on Matrix Analysis and Applications&\cr +\+& \v"\SICOMP"&SIAM Journal on Computing&\cr +\+& \v"\SISC"&SIAM Journal on Scientific Computing&\cr +\+& \v"\SIOPT"&SIAM Journal on Optimization&\cr +\+& \v"\SIAP"&SIAM Journal on Applied Mathematics&\cr +\+& \v"\SICON"&SIAM Journal on Control and Optimization&\cr +\+& \v"\SIDMA"&SIAM Journal on Discrete Mathematics&\cr +\medskip\noindent +The next lines give information for the publication data printed at the +top of the first page of the paper and for the running heads. This +information consists of the first page number of the article, the last +page number of the article, the journal name, the issue volume, the +issue number, the month of appearance, the year of appearance, the +place of the paper in the issue, the head for even pages (the +author(s)'s name(s) shortened if necessary to fit on the headline), and +the head for odd pages (the title shortened if necessary). If the +\v"\accepted" macro is not present, the publication information will be +ignored except for \v"\shortauthor" and \v"\shorttitle", which may be +used for page headers. + +\heading{Top matter} The {\it only}\/ constructions allowed between +\v"\topmatter" and \v"\endtopmatter" are, in order, \v"\title" $\dots$ \v"\endtitle", +\v"\author" $\dots$ \v"\endauthor", \v"\abstract" $\dots$ \v"\endabstract", +\v"\keywords" $\dots$ \v"\endkeywords", and +\v"\subjclass" $\dots$ \v"\endsubjclass". (For special situations, +\v"\pretitle", \v"\preauthor", \v"\preabstract", \v"\prekeywords", +\v"\presubjclass", and \v"\prepaper" can also be defined; see {\it The +Joy of \TeX\/}). + +\heading{Title} Use \v"\title" and \v"\endtitle". Type the title in +all caps. The title may have a footnote (at final publication time +there will be a footnote indicating when the paper was received). The +footnote mark should be a bold asterisk obtained with +\v"\footnote[\boldkey*]{Text of footnote.}". All math should be typed using +\v"\boldkey" and \v"\boldsymbol" to get bold italic Roman and Greek letters +and symbols; see {\it The Joy of \TeX\/}. + +\heading{Author} Use \v"\author" and \v"\endauthor". Type the author's +name in all caps. For multiple authors include the word ``and'' in +lowercase before the name of the last author. For three or more +authors follow each author's names except the last with a comma. Give +the affiliation of each author in a footnote attached to the author's +name (before the following comma, if any). (Do {\it not} use the +\v"\affil" or \v"\address" macros.) Statements acknowledging support +should be contained in the same footnote. The order of footnote +symbols in these footnotes is dagger (\dag\thinspace =\thinspace +\v"\dag"), double-dagger (\ddag\thinspace =\thinspace \v"\ddag"), +section-marker (\S\thinspace = \thinspace\v"\S"), paragraph-marker +(\P\thinspace = \thinspace\v"\P"). + +\heading{Abstract} Use \v"\abstract" and \v"\endabstract". + +\heading{Keywords} Use \v"\keywords" and \v"\endkeywords". Keywords are separated with commas but not followed by any punctuation. + +\heading{Subject classifications} Use \v"\subjclass" and +\v"\endsubjclass". Subject classifications are separated with commas +but not followed by any punctuation. + +\heading{Footnotes} Use \v"\footnote". Except for the topmatter, discussed +above, use numbered footnotes. + +\heading{Headings} Use \v"\subheading" without ending punctuation. The +argument usually begins with the section number followed by a period +and then the section name with only the first word capitalized. Very +long papers could use \v"\heading" and \v"\subheading". If +\v"\heading" is used, start heading name with a section mark +(\S\thinspace =\thinspace\v"\S") and the section number followed by a +period and the section title with the first letter of each major word +capitalized. All math should be typed using +\v"\boldkey" and \v"\boldsymbol" to get bold italic Roman and Greek letters +and symbols; see {\it The Joy of \TeX\/}. + + +\heading{Equation numbers} Use \v"\tag". + +\heading{Proclamations} Use \v"\proclaim" $\dots$ \v"\endproclaim" +for theorems, lemmas, corollaries, claims, propositions, etc. Use +\v"\demo" $\dots$ \v"\enddemo" for proofs, \v"\remark" $\dots$ \v"\endremark" +for remarks, +\v"\definition" $\dots$ \v"\enddefinition" for definitions, +\v"\example" $\dots$ \v"\endexample" for examples, and \v"\case" $\dots$ \v"\endcase" +for cases. In each construction the +opening control sequence (\v"\proclaim", \v"\demo", $\dots$ ) takes +a single argument with no closing punctuation as in \v"\proclaim{Theorem 2.3}" +or \v"\demo{Proof}". If remarks, examples, or cases are to be numbered, +you must explicitly change to roman type for the number: +\v"\remark{Remark \rom{3}}". + +\heading{Punctuation} All vertical punctuation symbols, i.e.,~), (, :, ;, +?, !, ], and [, and numbers are to be set on roman type, even if in italic +text (e.g.,~in proclaims or in the headings of demos, remarks, etc.). One +can do this with, for example, the \v"\rom" macro, as \v"{\it Assume that +\rom{(1.1)} holds.}" or \v"{\it Fermat's Last Theorem is true \rom(this is new\rom).}", which yield {\it Assume that +{\rm (1.1)} holds.} and {\it Fermat's Last Theorem is true {\rm(}this is new\/{\rm)}.} + +\heading{End-of-proof mark}The symbol signalling the end of a proof +is an open box, shown at the end of this paragraph. It is obtained +with \v"\qed". Appropriate white space will be supplied +automatically.\qed + +\heading{Lists and sublists} Use \v"\roster" $\dots$ \v"\endroster". +Rosters use default labels of the form (1), (2), etc. Subrosters are +permitted. Each subroster {\it must}\/ be enclosed in a separate pair +of braces. + +\heading{References} Enclose the reference section with \v"\Refs" +$\dots$ \v"\endRefs". References are set just as described in {\it The +Joy of \TeX.} Authors' names must be entered as first and possibly +middle initial, each followed by a period and a space, followed by the +last name. Only the first letter of the last name is capitalized. +Use \v"\by" before either \v"\ed" or \v"\eds". + +\heading{Figures and tables} There is only rudimentary support for +figures and tables in the style file. Use +\v"\topinsert" $\dots$ \v"\endinsert" or +\v"\midinsert" $\dots$ \v"\endinsert" to surround a figure, including the +caption at the end as, for example, \v"\botcaption{Fig.~1} This is a +figure caption.\endcaption". Use \v"\topinsert" $\dots$ \v"\endinsert" +or \v"\midinsert" $\dots$ \v"\endinsert"to surround the table, including +the caption at the start as, for example, \v"\topcaption{Table 1}This +line describes the table\endcaption". +Place rules above and below column headings and at the +end of the table using \v"\hbox to \hsize{\hrulefill}". + +\heading{Table of contents} No special macros are provided to set +a table of contents. You can try the macros described in {\it The Joy of +\TeX\/}. Otherwise, follow these +guidelines. Switch to eight point type (\v"\eightpoint"). +Center the word ``CONTENTS'' in caps. Capitalize only the first word +of entries. Runover lines align with the start of entries. +Place the section number flush left with one em to section title, +spaced dots from end of entry to page number, and two ems between the +dots and page number. Leave 18--20 points of vertical space, baseline +to baseline, to the text above and below. + +\bye + -- cgit v1.2.3