home *** CD-ROM | disk | FTP | other *** search
/ Geek Gadgets 1 / ADE-1.bin / ade-dist / unixtex-6.1b-bin0.lha / lib / texmf / tex / ams / amsppt.sty next >
Encoding:
Text File  |  1996-10-12  |  42.6 KB  |  1,129 lines

  1. %% This is file `amsppt.sty' generated from `amsppt.doc'
  2. %% on 11-DEC-1992 by the docstrip.ams utility (1.2).
  3. %%
  4. %% @texfile{
  5. %%     filename="amsppt.sty",
  6. \def\filename{amsppt.sty}
  7. %%     version="2.1c",
  8. \def\fileversion{2.1c}
  9. %%     date="11-Dec-1992",
  10. \def\filedate{11-Dec-1992}
  11. %%     filetype="AMS-TeX: documentstyle",
  12. %%     copyright="Copyright (C) American Mathematical Society,
  13. %%            all rights reserved.  Copying of this file is
  14. %%            authorized only if either:
  15. %%            (1) you make absolutely no changes to your copy
  16. %%                including name; OR
  17. %%            (2) if you do make changes, you first rename it to some
  18. %%                other name.",
  19. %%     author="American Mathematical Society",
  20. %%     address="American Mathematical Society,
  21. %%            Technical Support Department,
  22. %%            P. O. Box 6248,
  23. %%            Providence, RI 02940,
  24. %%            USA",
  25. %%     telephone="401-455-4080 or (in the USA) 800-321-4AMS",
  26. %%     email="Internet: Tech-Support@Math.AMS.org",
  27. %%     codetable="ISO/ASCII",
  28. %%     checksum = "64090 1128 2121 43610",
  29. %%     keywords="amstex, ams-tex, tex",
  30. %%     abstract="This file is a documentstyle for use with
  31. %%       AMS-TeX 2.1. It exists in two forms: amsppt.doc, which
  32. %%       is the full form containing all technical documentation,
  33. %%       and amsppt.sty, which is identical except that all lines
  34. %%       beginning with a single percent sign are removed, to
  35. %%       make the file more rapid-loading when processed by
  36. %%       TeX."
  37. %%     }
  38. \expandafter\ifx\csname amsppt.sty\endcsname\endinput
  39.   \expandafter\def\csname amsppt.sty\endcsname{2.1 (1-JUL-1991)}\fi
  40. \xdef\fileversiontest{\fileversion\space(\filedate)}
  41. \expandafter\ifx\csname\filename\endcsname\fileversiontest
  42.   \message{[already loaded]}\endinput\fi
  43. \expandafter\ifx\csname\filename\endcsname\relax % file not yet loaded
  44.   \else\errmessage{Discrepancy in `\filename' file versions:
  45.      version \csname\filename\endcsname\space already loaded, trying
  46.      now to load version \fileversiontest}\fi
  47. \expandafter\xdef\csname\filename\endcsname{%
  48.   \catcode`\noexpand\@=\the\catcode`\@
  49.   \expandafter\gdef\csname\filename\endcsname{%
  50.      \fileversion\space(\filedate)}}
  51. \catcode`\@=11
  52. \message{version \fileversion\space(\filedate):}
  53. \expandafter\ifx\csname styname\endcsname\relax
  54.   \def\styname{AMSPPT}\def\styversion{2.1a}
  55. \fi
  56. \message{Loading utility definitions,}
  57. \def\identity@#1{#1}
  58. \def\nofrills@@#1{%
  59.  \DN@{#1}%
  60.  \ifx\next\nofrills \let\frills@\eat@
  61.    \expandafter\expandafter\expandafter\next@\expandafter\eat@
  62.   \else \let\frills@\identity@\expandafter\next@\fi}
  63. \def\nofrillscheck#1{\def\nofrills@{\nofrills@@{#1}}%
  64.   \futurelet\next\nofrills@}
  65. \Invalid@\usualspace
  66. \def\addto#1#2{\csname \expandafter\eat@\string#1@\endcsname
  67.   \expandafter{\the\csname \expandafter\eat@\string#1@\endcsname#2}}
  68. \newdimen\bigsize@
  69. \def\big@#1#2{{\hbox{$\left#2\vcenter to#1\bigsize@{}%
  70.   \right.\nulldelimiterspace\z@\m@th$}}}
  71. \def\big{\big@\@ne}
  72. \def\Big{\big@{1.5}}
  73. \def\bigg{\big@\tw@}
  74. \def\Bigg{\big@{2.5}}
  75. \def\raggedcenter@{\leftskip\z@ plus.4\hsize \rightskip\leftskip
  76.  \parfillskip\z@ \parindent\z@ \spaceskip.3333em \xspaceskip.5em
  77.  \pretolerance9999\tolerance9999 \exhyphenpenalty\@M
  78.  \hyphenpenalty\@M \let\\\linebreak}
  79. \def\uppercasetext@#1{%
  80.    {\spaceskip1.3\fontdimen2\the\font plus1.3\fontdimen3\the\font
  81.     \def\ss{SS}\let\i=I\let\j=J\let\ae\AE\let\oe\OE
  82.     \let\o\O\let\aa\AA\let\l\L
  83.     \skipmath@#1$\skipmath@$}}
  84. \def\skipmath@#1$#2${\uppercase{#1}%
  85.   \ifx\skipmath@#2\else$#2$\expandafter\skipmath@\fi}
  86. \def\add@missing#1{\expandafter\ifx\envir@end#1%
  87.   \Err@{You seem to have a missing or misspelled
  88.   \expandafter\string\envir@end ...}%
  89.   \envir@end
  90. \fi}
  91. \newtoks\revert@
  92. \def\envir@stack#1{\toks@\expandafter{\envir@end}%
  93.   \edef\next@{\def\noexpand\envir@end{\the\toks@}%
  94.     \revert@{\the\revert@}}%
  95.   \revert@\expandafter{\next@}%
  96.   \def\envir@end{#1}}
  97. \begingroup
  98. \catcode`\ =11
  99. \gdef\revert@envir#1{\expandafter\ifx\envir@end#1%
  100. \the\revert@%
  101. \else\ifx\envir@end\enddocument \Err@{Extra \string#1}%
  102. \else\expandafter\add@missing\envir@end\revert@envir#1%
  103. \fi\fi}
  104. \xdef\enddocument {\string\enddocument}%
  105. \global\let\envir@end\enddocument %%%%%% don't remove the final space!
  106. \endgroup\relax
  107. \def\first@#1#2\end{#1}
  108. \def\true@{TT}
  109. \def\false@{TF}
  110. \def\empty@{}
  111. \begingroup  \catcode`\-=3
  112. \long\gdef\notempty#1{%
  113.   \expandafter\ifx\first@#1-\end-\empty@ \false@\else \true@\fi}
  114. \endgroup
  115. \message{more fonts,}
  116. %%\def\PSAMSFonts{TT}%  Blue Sky PS AMS fonts: True
  117. \def\PSAMSFonts{TF}% Blue Sky PS AMS fonts: False
  118. \font@\tensmc=cmcsc10 \relax
  119. \if\PSAMSFonts
  120.   \font@\sevenex=cmex10 at 7pt
  121. \else
  122.   \font@\sevenex=cmex7 \relax
  123. \fi
  124. \font@\sevenit=cmti7 \relax
  125. \font@\eightrm=cmr8 \relax % preloaded in plain.tex
  126. \font@\sixrm=cmr6 \relax % preloaded in plain.tex
  127. \font@\eighti=cmmi8 \relax     \skewchar\eighti='177 % preloaded
  128. \font@\sixi=cmmi6 \relax       \skewchar\sixi='177   % preloaded
  129. \font@\eightsy=cmsy8 \relax    \skewchar\eightsy='60 % preloaded
  130. \font@\sixsy=cmsy6 \relax      \skewchar\sixsy='60   % preloaded
  131. \if\PSAMSFonts
  132.   \font@\eightex=cmex10 at 8pt
  133. \else
  134.   \font@\eightex=cmex8 \relax
  135. \fi
  136. \font@\eightbf=cmbx8 \relax % preloaded in plain.tex
  137. \font@\sixbf=cmbx6 \relax   % preloaded in plain.tex
  138. \font@\eightit=cmti8 \relax % preloaded in plain.tex
  139. \font@\eightsl=cmsl8 \relax % preloaded in plain.tex
  140. \if\PSAMSFonts
  141.   \font@\eightsmc=cmcsc10 at 8pt
  142. \else
  143.   \font@\eightsmc=cmcsc8 \relax
  144. \fi
  145. \font@\eighttt=cmtt8 \relax % preloaded in plain.tex
  146. %% Nine-point fonts are not needed but are included here, commented
  147. %% out, to make it easier for a user to add them if they are needed.
  148. %%\font@\ninerm=cmr9 \relax
  149. %%\font@\ninei=cmmi9 \relax   \skewchar\ninei='177
  150. %%\font@\ninesy=cmsy9 \relax  \skewchar\ninesy='60
  151. %%\if\PSAMSFONTS
  152. %%  \font@\nineex=cmex10 at9pt % non-AMSfonts substitute
  153. %%\else
  154. %%  \font@\nineex=cmex9 \relax
  155. %%\fi
  156. %%\font@\ninebf=cmbx9 \relax
  157. %%\font@\nineit=cmti9 \relax
  158. %%\font@\ninesl=cmsl9 \relax
  159. %%\font@\ninesmc=cmcsc9 \relax
  160. %%
  161. %%\font@\ninemsa=msam9 \relax
  162. %%\font@\ninemsb=msbm9 \relax
  163. %%\font@\nineeufm=eufm9 \relax
  164. %%     To use amsppt.sty without AMSFonts, comment out the following
  165. %%     two lines (and refer to the lines above that begin with double
  166. %%     percent signs); to load extra math symbols only on demand (with
  167. %%     \newsymbol) comment out the second line.
  168. \loadeufm \loadmsam \loadmsbm
  169. \message{symbol names}\UseAMSsymbols\message{,}
  170. \newtoks\tenpoint@
  171. \def\tenpoint{\normalbaselineskip12\p@
  172.  \abovedisplayskip12\p@ plus3\p@ minus9\p@
  173.  \belowdisplayskip\abovedisplayskip
  174.  \abovedisplayshortskip\z@ plus3\p@
  175.  \belowdisplayshortskip7\p@ plus3\p@ minus4\p@
  176.  \textonlyfont@\rm\tenrm \textonlyfont@\it\tenit
  177.  \textonlyfont@\sl\tensl \textonlyfont@\bf\tenbf
  178.  \textonlyfont@\smc\tensmc \textonlyfont@\tt\tentt
  179.  \ifsyntax@ \def\big##1{{\hbox{$\left##1\right.$}}}%
  180.   \let\Big\big \let\bigg\big \let\Bigg\big
  181.  \else
  182.    \textfont\z@\tenrm  \scriptfont\z@\sevenrm
  183.        \scriptscriptfont\z@\fiverm
  184.    \textfont\@ne\teni  \scriptfont\@ne\seveni
  185.        \scriptscriptfont\@ne\fivei
  186.    \textfont\tw@\tensy \scriptfont\tw@\sevensy
  187.        \scriptscriptfont\tw@\fivesy
  188.    \textfont\thr@@\tenex \scriptfont\thr@@\sevenex
  189.         \scriptscriptfont\thr@@\sevenex
  190.    \textfont\itfam\tenit \scriptfont\itfam\sevenit
  191.         \scriptscriptfont\itfam\sevenit
  192.    \textfont\bffam\tenbf \scriptfont\bffam\sevenbf
  193.         \scriptscriptfont\bffam\fivebf
  194.    \setbox\strutbox\hbox{\vrule height8.5\p@ depth3.5\p@ width\z@}%
  195.    \setbox\strutbox@\hbox{\lower.5\normallineskiplimit\vbox{%
  196.         \kern-\normallineskiplimit\copy\strutbox}}%
  197.    \setbox\z@\vbox{\hbox{$($}\kern\z@}\bigsize@1.2\ht\z@
  198.   \fi
  199.   \normalbaselines\rm\dotsspace@1.5mu\ex@.2326ex\jot3\ex@
  200.   \the\tenpoint@}
  201. \newtoks\eightpoint@
  202. \def\eightpoint{\normalbaselineskip10\p@
  203.  \abovedisplayskip10\p@ plus2.4\p@ minus7.2\p@
  204.  \belowdisplayskip\abovedisplayskip
  205.  \abovedisplayshortskip\z@ plus2.4\p@
  206.  \belowdisplayshortskip5.6\p@ plus2.4\p@ minus3.2\p@
  207.  \textonlyfont@\rm\eightrm \textonlyfont@\it\eightit
  208.  \textonlyfont@\sl\eightsl \textonlyfont@\bf\eightbf
  209.  \textonlyfont@\smc\eightsmc \textonlyfont@\tt\eighttt
  210.  \ifsyntax@\def\big##1{{\hbox{$\left##1\right.$}}}%
  211.   \let\Big\big \let\bigg\big \let\Bigg\big
  212.  \else
  213.   \textfont\z@\eightrm \scriptfont\z@\sixrm
  214.        \scriptscriptfont\z@\fiverm
  215.   \textfont\@ne\eighti \scriptfont\@ne\sixi
  216.        \scriptscriptfont\@ne\fivei
  217.   \textfont\tw@\eightsy \scriptfont\tw@\sixsy
  218.        \scriptscriptfont\tw@\fivesy
  219.   \textfont\thr@@\eightex \scriptfont\thr@@\sevenex
  220.    \scriptscriptfont\thr@@\sevenex
  221.   \textfont\itfam\eightit \scriptfont\itfam\sevenit
  222.    \scriptscriptfont\itfam\sevenit
  223.   \textfont\bffam\eightbf \scriptfont\bffam\sixbf
  224.    \scriptscriptfont\bffam\fivebf
  225.  \setbox\strutbox\hbox{\vrule height7\p@ depth3\p@ width\z@}%
  226.  \setbox\strutbox@\hbox{\raise.5\normallineskiplimit\vbox{%
  227.    \kern-\normallineskiplimit\copy\strutbox}}%
  228.  \setbox\z@\vbox{\hbox{$($}\kern\z@}\bigsize@1.2\ht\z@
  229.  \fi
  230.  \normalbaselines\eightrm\dotsspace@1.5mu\ex@.2326ex\jot3\ex@
  231.  \the\eightpoint@}
  232. \def\linespacing#1{%
  233.   \addto\tenpoint{\normalbaselineskip=#1\normalbaselineskip
  234.     \normalbaselines
  235.     \setbox\strutbox=\hbox{\vrule height.7\normalbaselineskip
  236.       depth.3\normalbaselineskip}%
  237.     \setbox\strutbox@\hbox{\raise.5\normallineskiplimit
  238.       \vbox{\kern-\normallineskiplimit\copy\strutbox}}%
  239.   }%
  240.   \addto\eightpoint{\normalbaselineskip=#1\normalbaselineskip
  241.     \normalbaselines
  242.     \setbox\strutbox=\hbox{\vrule height.7\normalbaselineskip
  243.       depth.3\normalbaselineskip}%
  244.     \setbox\strutbox@\hbox{\raise.5\normallineskiplimit
  245.       \vbox{\kern-\normallineskiplimit\copy\strutbox}}%
  246.   }%
  247. }
  248. \if\PSAMSFonts
  249.   \def\extrafont@#1#2#3{%
  250.     \font#1=#2%
  251.       \ifnum#3=9 10 at9pt%
  252.       \else\ifnum#3=8 10 at8pt%
  253.       \else\ifnum#3=6 7 at6pt%
  254.               \else #3\fi\fi\fi\relax}
  255. \else
  256.   \def\extrafont@#1#2#3{\font#1=#2#3\relax}
  257. \fi
  258. \def\loadextrasizes@#1#2#3#4#5#6#7{%
  259.  \ifx\undefined#1%
  260.  \else \extrafont@{#4}{#2}{8}\extrafont@{#6}{#2}{6}%
  261.    \ifsyntax@
  262.    \else
  263.      \addto\tenpoint{\textfont#1#3\scriptfont#1#5%
  264.        \scriptscriptfont#1#7}%
  265.     \addto\eightpoint{\textfont#1#4\scriptfont#1#6%
  266.        \scriptscriptfont#1#7}%
  267.    \fi
  268.  \fi
  269. }
  270. \def\loadextrafonts@{%
  271.   \loadextrasizes@\msafam{msam}%
  272.     \tenmsa\eightmsa\sevenmsa\sixmsa\fivemsa
  273.   \loadextrasizes@\msbfam{msbm}%
  274.     \tenmsb\eightmsb\sevenmsb\sixmsb\fivemsb
  275.   \loadextrasizes@\eufmfam{eufm}%
  276.     \teneufm\eighteufm\seveneufm\sixeufm\fiveeufm
  277.   \loadextrasizes@\eufbfam{eufb}%
  278.     \teneufb\eighteufb\seveneufb\sixeufb\fiveeufb
  279.   \loadextrasizes@\eusmfam{eusm}%
  280.     \teneusm\eighteusm\seveneusm\sixeusm\fiveeusm
  281.   \loadextrasizes@\eusbfam{eusb}%
  282.     \teneusb\eighteusb\seveneusb\sixeusb\fiveeusb
  283.   \loadextrasizes@\eurmfam{eurm}%
  284.     \teneurm\eighteurm\seveneurm\sixeurm\fiveeurm
  285.   \loadextrasizes@\eurbfam{eurb}%
  286.     \teneurb\eighteurb\seveneurb\sixeurb\fiveeurb
  287.   \loadextrasizes@\cmmibfam{cmmib}%
  288.     \tencmmib\eightcmmib\sevencmmib\sixcmmib\fivecmmib
  289.   \loadextrasizes@\cmbsyfam{cmbsy}%
  290.     \tencmbsy\eightcmbsy\sevencmbsy\sixcmbsy\fivecmbsy
  291.   \let\loadextrafonts@\empty@
  292. }
  293. \message{page dimension settings,}
  294. \parindent1pc
  295. \newdimen\normalparindent \normalparindent\parindent
  296. \normallineskiplimit\p@
  297. \newdimen\indenti \indenti=2pc
  298. \def\pageheight#1{\vsize#1\relax}
  299. \def\pagewidth#1{\hsize#1%
  300.    \captionwidth@\hsize \advance\captionwidth@-2\indenti}
  301. \pagewidth{30pc} \pageheight{47pc}
  302. \let\magnification=\mag
  303. \message{top matter,}
  304. \def\topmatter{\loadextrafonts@ \let\topmatter\relax}
  305. \def\chapterno@{\uppercase\expandafter{\romannumeral\chaptercount@}}
  306. \newcount\chaptercount@
  307. \def\chapter{\let\savedef@\chapter
  308.   \def\chapter##1{\let\chapter\savedef@
  309.   \leavevmode\hskip-\leftskip
  310.    \rlap{\vbox to\z@{\vss\centerline{\eightpoint
  311.    \frills@{CHAPTER\space\afterassignment\chapterno@
  312.        \global\chaptercount@=}%
  313.    ##1\unskip}\baselineskip2pc\null}}\hskip\leftskip}%
  314.  \nofrillscheck\chapter}
  315. \newbox\titlebox@
  316. \def\title{\let\savedef@\title
  317.  \def\title##1\endtitle{\let\title\savedef@
  318.    \global\setbox\titlebox@\vtop{\tenpoint\bf
  319.    \raggedcenter@
  320.    \baselineskip1.3\baselineskip
  321.    \frills@\uppercasetext@{##1}\endgraf}%
  322.  \ifmonograph@ \edef\next{\the\leftheadtoks}%
  323.     \ifx\next\empty@
  324.     \leftheadtext{##1}\fi
  325.  \fi
  326.  \edef\next{\the\rightheadtoks}\ifx\next\empty@ \rightheadtext{##1}\fi
  327.  }%
  328.  \nofrillscheck\title}
  329. \newbox\authorbox@
  330. \def\author#1\endauthor{\global\setbox\authorbox@
  331.  \vbox{\tenpoint\smc\raggedcenter@
  332.  #1\endgraf}\relaxnext@ \edef\next{\the\leftheadtoks}%
  333.  \ifx\next\empty@\leftheadtext{#1}\fi}
  334. \newbox\affilbox@
  335. \def\affil#1\endaffil{\global\setbox\affilbox@
  336.  \vbox{\tenpoint\raggedcenter@#1\endgraf}}
  337. \newcount\addresscount@
  338. \addresscount@\z@
  339. \def\address#1\endaddress{\global\advance\addresscount@\@ne
  340.   \expandafter\gdef\csname address\number\addresscount@\endcsname
  341.   {\nobreak\vskip12\p@ minus6\p@\indent\eightpoint\smc#1\par}}
  342. \def\curraddr{\let\savedef@\curraddr
  343.   \def\curraddr##1\endcurraddr{\let\curraddr\savedef@
  344.   \toks@\expandafter\expandafter\expandafter{%
  345.        \csname address\number\addresscount@\endcsname}%
  346.   \toks@@{##1}%
  347.   \expandafter\xdef\csname address\number\addresscount@\endcsname
  348.   {\the\toks@\endgraf\noexpand\nobreak
  349.     \indent{\noexpand\rm
  350.     \frills@{{\noexpand\it Current address\noexpand\/}:\space}%
  351.     \def\noexpand\usualspace{\space}\the\toks@@\unskip}}}%
  352.   \nofrillscheck\curraddr}
  353. \def\email{\let\savedef@\email
  354.   \def\email##1\endemail{\let\email\savedef@
  355.   \toks@{\def\usualspace{{\it\enspace}}\endgraf\indent\eightpoint}%
  356.   \toks@@{##1\par}%
  357.   \expandafter\xdef\csname email\number\addresscount@\endcsname
  358.   {\the\toks@\frills@{{\noexpand\it E-mail address\noexpand\/}:%
  359.      \noexpand\enspace}\the\toks@@}}%
  360.   \nofrillscheck\email}
  361. \def\thedate@{}
  362. \def\date#1\enddate{\gdef\thedate@{\tenpoint#1\unskip}}
  363. \def\thethanks@{}
  364. \def\thanks#1\endthanks{%
  365.   \ifx\thethanks@\empty@ \gdef\thethanks@{\eightpoint#1}%
  366.   \else
  367.     \expandafter\gdef\expandafter\thethanks@\expandafter{%
  368.      \thethanks@\endgraf#1}%
  369.   \fi}
  370. \def\thekeywords@{}
  371. \def\keywords{\let\savedef@\keywords
  372.   \def\keywords##1\endkeywords{\let\keywords\savedef@
  373.   \toks@{\def\usualspace{{\it\enspace}}\eightpoint}%
  374.   \toks@@{##1\unskip.}%
  375.   \edef\thekeywords@{\the\toks@\frills@{{\noexpand\it
  376.     Key words and phrases.\noexpand\enspace}}\the\toks@@}}%
  377.  \nofrillscheck\keywords}
  378. \def\thesubjclass@{}
  379. \def\subjclass{\let\savedef@\subjclass
  380.  \def\subjclass##1\endsubjclass{\let\subjclass\savedef@
  381.    \toks@{\def\usualspace{{\rm\enspace}}\eightpoint}%
  382.    \toks@@{##1\unskip.}%
  383.    \edef\thesubjclass@{\the\toks@
  384.      \frills@{{\noexpand\rm1991 {\noexpand\it Mathematics Subject
  385.        Classification}.\noexpand\enspace}}%
  386.      \the\toks@@}}%
  387.   \nofrillscheck\subjclass}
  388. \newbox\abstractbox@
  389. \def\abstract{\let\savedef@\abstract
  390.  \def\abstract{\let\abstract\savedef@
  391.   \setbox\abstractbox@\vbox\bgroup\noindent$$\vbox\bgroup
  392.   \def\envir@end{\endabstract}\advance\hsize-2\indenti
  393.   \def\usualspace{\enspace}\eightpoint \noindent
  394.   \frills@{{\smc Abstract.\enspace}}}%
  395.  \nofrillscheck\abstract}
  396. \def\endabstract{\par\unskip\egroup$$\egroup}
  397. \def\widestnumber{\begingroup \let\head\relax\let\subhead\relax
  398.   \let\subsubhead\relax \expandafter\endgroup\setwidest@}
  399. \def\setwidest@#1#2{%
  400.    \ifx#1\head\setbox\tocheadbox@\hbox{#2.\enspace}%
  401.    \else\ifx#1\subhead\setbox\tocsubheadbox@\hbox{#2.\enspace}%
  402.    \else\ifx#1\subsubhead\setbox\tocsubheadbox@\hbox{#2.\enspace}%
  403.    \else\ifx#1\key\refstyle A%
  404.        \setboxz@h{\refsfont@\keyformat{#2}}%
  405.        \refindentwd\wd\z@
  406.    \else\ifx#1\no\refstyle C%
  407.        \setboxz@h{\refsfont@\keyformat{#2}}%
  408.        \refindentwd\wd\z@
  409.    \else\ifx#1\page\setbox\z@\hbox{\quad\bf#2}%
  410.        \pagenumwd\wd\z@
  411.    \else\ifx#1\item
  412.        \setboxz@h{(#2)}\rosteritemwd\wdz@
  413.    \else\message{\string\widestnumber\space not defined for this
  414.       option (\string#1)}%
  415. \fi\fi\fi\fi\fi\fi\fi}
  416. \newif\ifmonograph@
  417. \def\Monograph{\monograph@true \let\headmark\rightheadtext
  418.   \let\varindent@\indent \def\headfont@{\bf}\def\proclaimheadfont@{\smc}%
  419.   \def\remarkheadfont@{\smc}}
  420. \let\varindent@\noindent
  421. \newbox\tocheadbox@    \newbox\tocsubheadbox@
  422. \newbox\tocbox@
  423. \newdimen\pagenumwd
  424. \def\toc{\toc@{Contents}}
  425. \def\newtocdefs{%
  426.    \def \title##1\endtitle
  427.        {\penaltyandskip@\z@\smallskipamount
  428.         \hangindent\wd\tocheadbox@\noindent{\bf##1}}%
  429.    \def \chapter##1{%
  430.         Chapter \uppercase\expandafter{%
  431.               \romannumeral##1.\unskip}\enspace}%
  432.    \def \specialhead##1\endspecialhead
  433.        {\par\hangindent\wd\tocheadbox@ \noindent##1\par}%
  434.    \def \head##1 ##2\endhead
  435.        {\par\hangindent\wd\tocheadbox@ \noindent
  436.         \if\notempty{##1}\hbox to\wd\tocheadbox@{\hfil##1\enspace}\fi
  437.         ##2\par}%
  438.    \def \subhead##1 ##2\endsubhead
  439.        {\par\vskip-\parskip {\normalbaselines
  440.         \advance\leftskip\wd\tocheadbox@
  441.         \hangindent\wd\tocsubheadbox@ \noindent
  442.         \if\notempty{##1}%
  443.               \hbox to\wd\tocsubheadbox@{##1\unskip\hfil}\fi
  444.          ##2\par}}%
  445.    \def \subsubhead##1 ##2\endsubsubhead
  446.        {\par\vskip-\parskip {\normalbaselines
  447.         \advance\leftskip\wd\tocheadbox@
  448.         \hangindent\wd\tocsubheadbox@ \noindent
  449.         \if\notempty{##1}%
  450.               \hbox to\wd\tocsubheadbox@{##1\unskip\hfil}\fi
  451.         ##2\par}}}
  452. \def\toc@#1{\relaxnext@
  453.  \DN@{\ifx\next\nofrills\DN@\nofrills{\nextii@}%
  454.       \else\DN@{\nextii@{{#1}}}\fi
  455.       \next@}%
  456.  \DNii@##1{%
  457. \ifmonograph@\bgroup\else\setbox\tocbox@\vbox\bgroup
  458.    \centerline{\headfont@\ignorespaces##1\unskip}\nobreak
  459.    \vskip\belowheadskip \fi
  460.    \def\page####1%
  461.        {\unskip\penalty\z@\null\hfil
  462.         \rlap{\hbox to\pagenumwd{\quad\hfil####1}}%
  463.               \hfilneg\penalty\@M}%
  464.    \setbox\tocheadbox@\hbox{0.\enspace}%
  465.    \setbox\tocsubheadbox@\hbox{0.0.\enspace}%
  466.    \leftskip\indenti \rightskip\leftskip
  467.    \setboxz@h{\bf\quad000}\pagenumwd\wd\z@
  468.    \advance\rightskip\pagenumwd
  469.    \newtocdefs
  470.  }%
  471.  \FN@\next@}
  472. \def\endtoc{\par\egroup}
  473. \let\pretitle\relax
  474. \let\preauthor\relax
  475. \let\preaffil\relax
  476. \let\predate\relax
  477. \let\preabstract\relax
  478. \let\prepaper\relax
  479. \def\dedicatory #1\enddedicatory{\def\preabstract{{\medskip
  480.   \eightpoint\it \raggedcenter@#1\endgraf}}}
  481. \def\thetranslator@{}
  482. \def\translator{%
  483.   \let\savedef@\translator
  484.   \def\translator##1\endtranslator{\let\translator\savedef@
  485.     \edef\thetranslator@{\noexpand\nobreak\noexpand\medskip
  486.       \noexpand\line{\noexpand\eightpoint\hfil
  487.       \frills@{Translated by \uppercase}{##1}\qquad\qquad}%
  488.        \noexpand\nobreak}}%
  489.   \nofrillscheck\translator}
  490. \outer\def\endtopmatter{\add@missing\endabstract
  491.  \edef\next{\the\leftheadtoks}\ifx\next\empty@
  492.   \expandafter\leftheadtext\expandafter{\the\rightheadtoks}\fi
  493.  \ifmonograph@\else
  494.    \ifx\thesubjclass@\empty@\else \makefootnote@{}{\thesubjclass@}\fi
  495.    \ifx\thekeywords@\empty@\else \makefootnote@{}{\thekeywords@}\fi
  496.    \ifx\thethanks@\empty@\else \makefootnote@{}{\thethanks@}\fi
  497.  \fi
  498.   \pretitle
  499.   \begingroup % to localize variant topskip
  500.   \ifmonograph@ \topskip7pc \else \topskip4pc \fi
  501.   \box\titlebox@
  502.   \endgroup
  503.   \preauthor
  504.   \ifvoid\authorbox@\else \vskip2.5pcplus1pc\unvbox\authorbox@\fi
  505.   \preaffil
  506.   \ifvoid\affilbox@\else \vskip1pcplus.5pc\unvbox\affilbox@\fi
  507.   \predate
  508.   \ifx\thedate@\empty@\else
  509.        \vskip1pcplus.5pc\line{\hfil\thedate@\hfil}\fi
  510.   \preabstract
  511.   \ifvoid\abstractbox@\else
  512.        \vskip1.5pcplus.5pc\unvbox\abstractbox@ \fi
  513.   \ifvoid\tocbox@\else\vskip1.5pcplus.5pc\unvbox\tocbox@\fi
  514.   \prepaper
  515.   \vskip2pcplus1pc\relax
  516. }
  517. \def\document{%
  518.   \loadextrafonts@
  519.   \let\fontlist@\relax\let\alloclist@\relax
  520.   \tenpoint}
  521. \message{section heads,}
  522. \newskip\aboveheadskip       \aboveheadskip\bigskipamount
  523. \newdimen\belowheadskip      \belowheadskip6\p@
  524. \def\headfont@{\smc}
  525. \def\penaltyandskip@#1#2{\par\skip@#2\relax
  526.   \ifdim\lastskip<\skip@\relax\removelastskip
  527.       \ifnum#1=\z@\else\penalty@#1\relax\fi\vskip\skip@
  528.   \else\ifnum#1=\z@\else\penalty@#1\relax\fi\fi}
  529. \def\nobreak{\penalty\@M
  530.   \ifvmode\gdef\penalty@{\global\let\penalty@\penalty\count@@@}%
  531.   \everypar{\global\let\penalty@\penalty\everypar{}}\fi}
  532. \let\penalty@\penalty
  533. \def\heading#1\endheading{\head#1\endhead}
  534. \def\subheading{\DN@{\ifx\next\nofrills
  535.     \expandafter\subheading@
  536.   \else \expandafter\subheading@\expandafter\empty@
  537.   \fi}%
  538.   \FN@\next@
  539. }
  540. \def\subheading@#1#2{\subhead#1#2\endsubhead}
  541. \def\specialheadfont@{\bf}
  542. \outer\def\specialhead{%
  543.   \add@missing\endroster \add@missing\enddefinition
  544.   \add@missing\enddemo \add@missing\endexample
  545.   \add@missing\endproclaim
  546.   \penaltyandskip@{-200}\aboveheadskip
  547.   \begingroup\interlinepenalty\@M\rightskip\z@ plus\hsize
  548.   \let\\\linebreak
  549.   \specialheadfont@\noindent}
  550. \def\endspecialhead{\par\endgroup\nobreak\vskip\belowheadskip}
  551. \outer\def\head#1\endhead{%
  552.   \add@missing\endroster \add@missing\enddefinition
  553.   \add@missing\enddemo \add@missing\endexample
  554.   \add@missing\endproclaim
  555.   \penaltyandskip@{-200}\aboveheadskip
  556.   {\headfont@\raggedcenter@\interlinepenalty\@M
  557.   #1\endgraf}\headmark{#1}%
  558.   \nobreak
  559.   \vskip\belowheadskip}
  560. \let\headmark\eat@
  561. \def\restoredef@#1{\relax\let#1\savedef@\let\savedef@\relax}
  562. \newskip\subheadskip       \subheadskip\medskipamount
  563. \def\subheadfont@{\bf}
  564. \outer\def\subhead{%
  565.   \add@missing\endroster \add@missing\enddefinition
  566.   \add@missing\enddemo \add@missing\endexample
  567.   \add@missing\endproclaim
  568.   \let\savedef@\subhead \let\subhead\relax
  569.   \def\subhead##1\endsubhead{\restoredef@\subhead
  570.     \penaltyandskip@{-100}\subheadskip
  571.     \varindent@{\def\usualspace{{\subheadfont@\enspace}}%
  572.     \subheadfont@\ignorespaces##1\unskip\frills@{.\enspace}}%
  573.     \ignorespaces}%
  574.   \nofrillscheck\subhead}
  575. \newskip\subsubheadskip       \subsubheadskip\medskipamount
  576. \def\subsubheadfont@{\it}
  577. \outer\def\subsubhead{%
  578.   \add@missing\endroster \add@missing\enddefinition
  579.   \add@missing\enddemo
  580.   \add@missing\endexample \add@missing\endproclaim
  581.   \let\savedef@\subsubhead \let\subsubhead\relax
  582.   \def\subsubhead##1\endsubsubhead{\restoredef@\subsubhead
  583.     \penaltyandskip@{-50}\subsubheadskip
  584.       {\def\usualspace{\/{\it\enspace}}%
  585.     \subsubheadfont@##1\unskip\frills@{.\enspace}}}%
  586.   \nofrillscheck\subsubhead}
  587. \message{theorems/proofs/definitions/remarks,}
  588. \def\proclaimheadfont@{\bf}
  589. \def\proclaimfont{\it}
  590. \outer\def\proclaim{%
  591.   \let\savedef@\proclaim \let\proclaim\relax
  592.   \add@missing\endroster \add@missing\enddefinition
  593.   \add@missing\endproclaim \envir@stack\endproclaim
  594.  \def\proclaim##1{\restoredef@\proclaim
  595.    \penaltyandskip@{-100}\medskipamount\varindent@
  596.    \def\usualspace{{\proclaimheadfont@\enspace}}\proclaimheadfont@
  597.    \ignorespaces##1\unskip\frills@{.\enspace}%
  598.   \proclaimfont\ignorespaces}%
  599.  \nofrillscheck\proclaim}
  600. \def\endproclaim{\revert@envir\endproclaim \par\rm
  601.   \penaltyandskip@{55}\medskipamount}
  602. \def\remarkheadfont@{\it}
  603. \def\remark{\let\savedef@\remark \let\remark\relax
  604.   \add@missing\endroster \add@missing\endproclaim
  605.   \envir@stack\endremark
  606.   \def\remark##1{\restoredef@\remark
  607.     \penaltyandskip@\z@\medskipamount
  608.   {\def\usualspace{{\remarkheadfont@\enspace}}%
  609.   \varindent@\remarkheadfont@\ignorespaces##1\unskip%
  610.   \frills@{.\enspace}}\rm
  611.   \ignorespaces}\nofrillscheck\remark}
  612. \def\endremark{\par\revert@envir\endremark}
  613. \ifx\undefined\square
  614.   \def\square{\vrule width.6em height.5em depth.1em\relax}\fi
  615. \def\qed{\ifhmode\unskip\nobreak\fi\quad
  616.   \ifmmode\square\else$\m@th\square$\fi}
  617. \def\demo{\DN@{\ifx\next\nofrills
  618.     \DN@####1####2{\remark####1{####2}\envir@stack\enddemo
  619.       \ignorespaces}%
  620.   \else
  621.     \DN@####1{\remark{####1}\envir@stack\enddemo\ignorespaces}%
  622.   \fi
  623.   \next@}%
  624. \FN@\next@}
  625.  
  626. \def\enddemo{\par\revert@envir\enddemo \endremark\medskip}
  627. \def\definition{\let\savedef@\definition \let\definition\relax
  628.   \add@missing\endproclaim \add@missing\endroster
  629.   \add@missing\enddefinition \envir@stack\enddefinition
  630.    \def\definition##1{\restoredef@\definition
  631.      \penaltyandskip@{-100}\medskipamount
  632.         {\def\usualspace{{\proclaimheadfont@\enspace}}%
  633.         \varindent@\proclaimheadfont@\ignorespaces##1\unskip
  634.         \frills@{.\proclaimheadfont@\enspace}}%
  635.         \rm \ignorespaces}%
  636.   \nofrillscheck\definition}
  637. \def\enddefinition{\revert@envir\enddefinition
  638.   \par\medskip}
  639. \def\example{\DN@{\ifx\next\nofrills
  640.     \DN@####1####2{\definition####1{####2}\envir@stack\endexample
  641.       \ignorespaces}%
  642.   \else
  643.     \DN@####1{\definition{####1}\envir@stack\endexample\ignorespaces}%
  644.   \fi
  645.   \next@}%
  646. \FN@\next@}
  647. \def\endexample{\revert@envir\endexample \enddefinition }
  648. \message{rosters,}
  649. \newdimen\rosteritemwd
  650. \rosteritemwd16pt % approximately the width of (iii) in 10 point text
  651. \newcount\rostercount@
  652. \newif\iffirstitem@
  653. \let\plainitem@\item
  654. \newtoks\everypartoks@
  655. \def\par@{\everypartoks@\expandafter{\the\everypar}\everypar{}}
  656. \def\leftskip@{}
  657. \def\roster{%
  658.   \envir@stack\endroster
  659.  \edef\leftskip@{\leftskip\the\leftskip}%
  660.  \relaxnext@
  661.  \rostercount@\z@% Initialize \rostercount@ to 0.
  662.  \def\item{\FN@\rosteritem@}%      \item, now redefined, has
  663.  \DN@{\ifx\next\runinitem\let\next@\nextii@\else
  664.   \let\next@\nextiii@\fi\next@}%
  665.  \DNii@\runinitem% If \runinitem occurs, \nextii@ must kill it off.
  666.   {\unskip% This unskips any space before the original \roster.
  667.    \DN@{\ifx\next[\let\next@\nextii@\else
  668.     \ifx\next"\let\next@\nextiii@\else\let\next@\nextiv@\fi\fi\next@}%
  669.    \DNii@[####1]{\rostercount@####1\relax
  670.     \enspace\therosteritem{\number\rostercount@}~\ignorespaces}%
  671.    \def\nextiii@"####1"{\enspace{\rm####1}~\ignorespaces}%
  672.    \def\nextiv@{\enspace\therosteritem1\rostercount@\@ne~}%
  673.    \par@\firstitem@false% Before doing any of this we still change
  674.    \FN@\next@}%      End of definition of \nextii@\runinitem.
  675.  \def\nextiii@{\par\par@% End the present paragraph, change \everypar
  676.   \penalty\@m\smallskip\vskip-\parskip
  677.   \firstitem@true}
  678.  \FN@\next@}
  679. \def\rosteritem@{\iffirstitem@\firstitem@false
  680.   \else\par\vskip-\parskip\fi
  681.  \leftskip\rosteritemwd \advance\leftskip\normalparindent
  682.  \advance\leftskip.5em \noindent
  683.  \DNii@[##1]{\rostercount@##1\relax\itembox@}%
  684.  \def\nextiii@"##1"{\def\therosteritem@{\rm##1}\itembox@}%
  685.  \def\nextiv@{\advance\rostercount@\@ne\itembox@}%
  686.  \def\therosteritem@{\therosteritem{\number\rostercount@}}%
  687.  \ifx\next[\let\next@\nextii@\else\ifx\next"\let\next@\nextiii@\else
  688.   \let\next@\nextiv@\fi\fi\next@}
  689. \def\itembox@{\llap{\hbox to\rosteritemwd{\hss
  690.   \kern\z@ % kern to thwart \unskip in \rom
  691.   \therosteritem@}\enspace}\ignorespaces}
  692. \def\therosteritem#1{\rom{(\ignorespaces#1\unskip)}}
  693. \newif\ifnextRunin@
  694. \def\endroster{\relaxnext@
  695.  \revert@envir\endroster % restore \envir@end
  696.  \par\leftskip@% End the paragraph, and restore the \leftskip.
  697.  \global\rosteritemwd16\p@ % restore default value
  698.  \penalty-50 \vskip-\parskip\smallskip% Add a good break and
  699.  \DN@{\ifx\next\Runinitem\let\next@\relax
  700.   \else\nextRunin@false\let\item\plainitem@% Otherwise, set
  701.    \ifx\next\par% moreover, if \endroster is followed by \par,
  702.     \DN@\par{\everypar\expandafter{\the\everypartoks@}}%
  703.    \else% but if the \endroster isn't followed by a new paragraph,
  704.     \DN@{\noindent\everypar\expandafter{\the\everypartoks@}}%
  705.   \fi\fi\next@}%
  706.  \FN@\next@}
  707. \newcount\rosterhangafter@
  708. \def\Runinitem#1\roster\runinitem{\relaxnext@
  709.   \envir@stack\endroster
  710.  \rostercount@\z@
  711.  \def\item{\FN@\rosteritem@}%
  712.  \def\runinitem@{#1}%
  713.  \DN@{\ifx\next[\let\next\nextii@\else\ifx\next"\let\next\nextiii@
  714.   \else\let\next\nextiv@\fi\fi\next}%
  715.  \DNii@[##1]{\rostercount@##1\relax
  716.   \def\item@{\therosteritem{\number\rostercount@}}\nextv@}%
  717.  \def\nextiii@"##1"{\def\item@{{\rm##1}}\nextv@}%
  718.  \def\nextiv@{\advance\rostercount@\@ne
  719.   \def\item@{\therosteritem{\number\rostercount@}}\nextv@}%
  720.  \def\nextv@{\setbox\z@\vbox
  721.   {\ifnextRunin@\noindent\fi
  722.   \runinitem@\unskip\enspace\item@~\par
  723.   \global\rosterhangafter@\prevgraf}%
  724.   \firstitem@false% Set \firstitem@false for future \item's.
  725.   \ifnextRunin@\else\par\fi
  726.   \hangafter\rosterhangafter@\hangindent3\normalparindent
  727.   \ifnextRunin@\noindent\fi
  728.   \runinitem@\unskip\enspace%  Put in all the stored stuff
  729.   \item@~\ifnextRunin@\else\par@\fi% and the \item@, and
  730.   \nextRunin@true\ignorespaces}%% Here's where we set \nextRunin@true.
  731.  \FN@\next@}
  732. \message{footnotes,}
  733. \def\footmarkform@#1{$\m@th^{#1}$}
  734. \let\thefootnotemark\footmarkform@
  735. \def\makefootnote@#1#2{\insert\footins
  736.  {\interlinepenalty\interfootnotelinepenalty
  737.  \eightpoint\splittopskip\ht\strutbox\splitmaxdepth\dp\strutbox
  738.  \floatingpenalty\@MM\leftskip\z@skip\rightskip\z@skip
  739.  \spaceskip\z@skip\xspaceskip\z@skip
  740.  \leavevmode{#1}\footstrut\ignorespaces#2\unskip\lower\dp\strutbox
  741.  \vbox to\dp\strutbox{}}}
  742. \newcount\footmarkcount@
  743. \footmarkcount@\z@
  744. \def\footnotemark{\let\@sf\empty@\relaxnext@
  745.  \ifhmode\edef\@sf{\spacefactor\the\spacefactor}\/\fi
  746.  \DN@{\ifx[\next\let\next@\nextii@\else
  747.   \ifx"\next\let\next@\nextiii@\else
  748.   \let\next@\nextiv@\fi\fi\next@}%
  749.  \DNii@[##1]{\footmarkform@{##1}\@sf}%
  750.  \def\nextiii@"##1"{{##1}\@sf}%
  751.  \def\nextiv@{\iffirstchoice@\global\advance\footmarkcount@\@ne\fi
  752.   \footmarkform@{\number\footmarkcount@}\@sf}%
  753.  \FN@\next@}
  754. \def\footnotetext{\relaxnext@
  755.  \DN@{\ifx[\next\let\next@\nextii@\else
  756.   \ifx"\next\let\next@\nextiii@\else
  757.   \let\next@\nextiv@\fi\fi\next@}%
  758.  \DNii@[##1]##2{\makefootnote@{\footmarkform@{##1}}{##2}}%
  759.  \def\nextiii@"##1"##2{\makefootnote@{##1}{##2}}%
  760.  \def\nextiv@##1{\makefootnote@{\footmarkform@%
  761.   {\number\footmarkcount@}}{##1}}%
  762.  \FN@\next@}
  763. \def\footnote{\let\@sf\empty@\relaxnext@
  764.  \ifhmode\edef\@sf{\spacefactor\the\spacefactor}\/\fi
  765.  \DN@{\ifx[\next\let\next@\nextii@\else
  766.   \ifx"\next\let\next@\nextiii@\else
  767.   \let\next@\nextiv@\fi\fi\next@}%
  768.  \DNii@[##1]##2{\footnotemark[##1]\footnotetext[##1]{##2}}%
  769.  \def\nextiii@"##1"##2{\footnotemark"##1"\footnotetext"##1"{##2}}%
  770.  \def\nextiv@##1{\footnotemark\footnotetext{##1}}%
  771.  \FN@\next@}
  772. \def\adjustfootnotemark#1{\advance\footmarkcount@#1\relax}
  773. \def\footnoterule{\kern-3\p@
  774.   \hrule width5pc\kern 2.6\p@}%      the \hrule is .4pt high
  775. \message{figures and captions,}
  776. \def\captionfont@{\smc}
  777. \def\topcaption#1#2\endcaption{%
  778.   {\dimen@\hsize \advance\dimen@-\captionwidth@
  779.    \rm\raggedcenter@ \advance\leftskip.5\dimen@ \rightskip\leftskip
  780.   {\captionfont@#1}%
  781.   \if\notempty{#2}.\enspace\ignorespaces#2\fi
  782.   \endgraf}\nobreak\bigskip}
  783. \def\botcaption#1#2\endcaption{%
  784.   \nobreak\bigskip
  785.   \setboxz@h{\captionfont@#1\if\notempty{#2}.\enspace\rm#2\fi}%
  786.   {\dimen@\hsize \advance\dimen@-\captionwidth@
  787.    \leftskip.5\dimen@ \rightskip\leftskip
  788.    \noindent \ifdim\wdz@>\captionwidth@
  789.    \else\hfil\fi
  790.   {\captionfont@#1}%
  791.   \if\notempty{#2}.\enspace\rm#2\fi\endgraf}}
  792. \def\@ins{\par\begingroup\def\vspace##1{\vskip##1\relax}%
  793.   \def\captionwidth##1{\captionwidth@##1\relax}%
  794.   \setbox\z@\vbox\bgroup} % start a \vbox
  795. \message{miscellaneous,}
  796. \def\block{\RIfMIfI@\nondmatherr@\block\fi
  797.        \else\ifvmode\noindent$$\predisplaysize\hsize
  798.          \else$$\fi
  799.   \def\endblock{\par\egroup$$}\fi
  800.   \vbox\bgroup\advance\hsize-2\indenti\noindent}
  801. \def\endblock{\par\egroup}
  802. \def\cite#1{\rom{[{\citefont@\m@th#1}]}}
  803. \def\citefont@{\rm}
  804. \def\rom#1{\leavevmode
  805.   \edef\prevskip@{\ifdim\lastskip=\z@ \else\hskip\the\lastskip\relax\fi}%
  806.   \unskip
  807.   \edef\prevpenalty@{\ifnum\lastpenalty=\z@ \else
  808.     \penalty\the\lastpenalty\relax\fi}%
  809.   \unpenalty \/\prevpenalty@ \prevskip@ {\rm #1}}
  810. \message{references,}
  811. \def\refsfont@{\eightpoint}
  812. \newdimen\refindentwd
  813. \setboxz@h{\refsfont@ 00.\enspace}
  814. \refindentwd\wdz@
  815. \outer\def\Refs{\add@missing\endroster \add@missing\endproclaim
  816.  \let\savedef@\Refs \let\Refs\relax % because of \outer-ness
  817.  \def\Refs##1{\restoredef@\Refs
  818.    \if\notempty{##1}\penaltyandskip@{-200}\aboveheadskip
  819.      \begingroup \raggedcenter@\headfont@
  820.        \ignorespaces##1\endgraf\endgroup
  821.      \penaltyandskip@\@M\belowheadskip
  822.    \fi
  823.    \begingroup\def\envir@end{\endRefs}\refsfont@\sfcode`\.\@m
  824.    }%
  825.  \nofrillscheck{\csname Refs\expandafter\endcsname
  826.   \frills@{{References}}}}
  827. \def\endRefs{\par % This will check for a missing \endref, also
  828.   \endgroup}
  829. \newif\ifbook@ \newif\ifprocpaper@
  830. \def\nofrills{%
  831.   \expandafter\ifx\envir@end\endref
  832.     \let\do\relax
  833.     \xdef\nofrills@list{\nofrills@list\do\curbox}%
  834.   \else\errmessage{\Invalid@@ \string\nofrills}%
  835.   \fi}%
  836. \def\defaultreftexts{\gdef\edtext{ed.}\gdef\pagestext{pp.}%
  837.   \gdef\voltext{vol.}\gdef\issuetext{no.}}
  838. \defaultreftexts
  839. \def\ref{\par
  840.   \begingroup \def\envir@end{\endref}%
  841.   \noindent\hangindent\refindentwd
  842.   \def\par{\add@missing\endref}%
  843.   \global\let\nofrills@list\empty@
  844.   \refbreaks
  845.   \procpaper@false \book@false \moreref@false
  846.   \def\curbox{\z@}\setbox\z@\vbox\bgroup
  847. }
  848. \let\keyhook@\empty@
  849. \def\endref{%
  850.   \setbox\tw@\box\thr@@
  851.   \makerefbox?\thr@@{\endgraf\egroup}%
  852.   \endref@
  853.   \endgraf
  854.   \endgroup
  855.   \keyhook@
  856.   \global\let\keyhook@\empty@ % \global to conserve save stack
  857. }
  858. \def\key{\gdef\key{\makerefbox\key\keybox@\empty@}\key} \newbox\keybox@
  859. \def\no{\gdef\no{\makerefbox\no\keybox@\empty@}%
  860.   \gdef\keyhook@{\refstyle C}\no}
  861. \def\by{\makerefbox\by\bybox@\empty@} \newbox\bybox@
  862. \let\manyby\by % for backward compatibility
  863. \def\bysame{\by\hbox to3em{\hrulefill}\thinspace\kern\z@}
  864. \def\paper{\makerefbox\paper\paperbox@\it} \newbox\paperbox@
  865. \def\paperinfo{\makerefbox\paperinfo\paperinfobox@\empty@}%
  866.   \newbox\paperinfobox@
  867. \def\jour{\makerefbox\jour\jourbox@
  868.   {\aftergroup\book@false \aftergroup\procpaper@false}} \newbox\jourbox@
  869. \def\issue{\makerefbox\issue\issuebox@\empty@} \newbox\issuebox@
  870. \def\yr{\makerefbox\yr\yrbox@\empty@} \newbox\yrbox@
  871. \def\pages{\makerefbox\pages\pagesbox@\empty@} \newbox\pagesbox@
  872. \def\page{\gdef\pagestext{p.}\makerefbox\page\pagesbox@\empty@}
  873. \def\ed{\makerefbox\ed\edbox@\empty@} \newbox\edbox@
  874. \def\eds{\gdef\edtext{eds.}\makerefbox\eds\edbox@\empty@}
  875. \def\book{\makerefbox\book\bookbox@
  876.   {\it\aftergroup\book@true \aftergroup\procpaper@false}}
  877.   \newbox\bookbox@
  878. \def\bookinfo{\makerefbox\bookinfo\bookinfobox@\empty@}%
  879.   \newbox\bookinfobox@
  880. \def\publ{\makerefbox\publ\publbox@\empty@} \newbox\publbox@
  881. \def\publaddr{\makerefbox\publaddr\publaddrbox@\empty@}%
  882.   \newbox\publaddrbox@
  883. \def\inbook{\makerefbox\inbook\bookbox@
  884.   {\aftergroup\procpaper@true \aftergroup\book@false}}
  885. \def\procinfo{\makerefbox\procinfo\procinfobox@\empty@}%
  886.   \newbox\procinfobox@
  887. \def\finalinfo{\makerefbox\finalinfo\finalinfobox@\empty@}%
  888.   \newbox\finalinfobox@
  889. \def\miscnote{\makerefbox\miscnote\miscnotebox@\empty@}%
  890.   \newbox\miscnotebox@
  891. \def\toappear{\miscnote to appear}
  892. \def\lang{\makerefbox\lang\langbox@\empty@} \newbox\langbox@
  893. \newbox\morerefbox@
  894. \def\vol{\makerefbox\vol\volbox@{\ifbook@ \else
  895.   \ifprocpaper@\else\bf\fi\fi}}
  896. \newbox\volbox@
  897. \newbox\holdoverbox
  898. \def\makerefbox#1#2#3{\endgraf
  899.   \setbox\z@\lastbox
  900.   \global\setbox\@ne\hbox{\unhbox\holdoverbox
  901.     \ifvoid\z@\else\unhbox\z@\unskip\unskip\unpenalty\fi}%
  902.   \egroup
  903.   \setbox\curbox\box\ifdim\wd\@ne>\z@ \@ne \else\voidb@x\fi
  904.   \ifvoid#2\else\Err@{Redundant \string#1; duplicate use, or
  905.      mutually exclusive information already given}\fi
  906.   \def\curbox{#2}\setbox\curbox\vbox\bgroup \hsize\maxdimen \noindent
  907.   #3}
  908. \def\refbreaks{%
  909.   \def\refconcat##1{\setbox\z@\lastbox \setbox\holdoverbox\hbox{%
  910.        \unhbox\holdoverbox \unhbox\z@\unskip\unskip\unpenalty##1}}%
  911.   \def\holdover##1{%
  912.     \RIfM@
  913.       \penalty-\@M\null
  914.       \hfil$\clubpenalty\z@\widowpenalty\z@\interlinepenalty\z@
  915.       \offinterlineskip\endgraf
  916.       \setbox\z@\lastbox\unskip \unpenalty
  917.       \refconcat{##1}%
  918.       \noindent
  919.       $\hfil\penalty-\@M
  920.     \else
  921.       \endgraf\refconcat{##1}\noindent
  922.     \fi}%
  923.   \def\break{\holdover{\penalty-\@M}}%
  924.   \let\vadjust@\vadjust
  925.   \def\vadjust##1{\holdover{\vadjust@{##1}}}%
  926.   \def\newpage{\vadjust{\vfill\break}}%
  927. }
  928. \def\refstyle#1{\uppercase{%
  929.   \if#1A\relax \def\keyformat##1{[##1]\enspace\hfil}%
  930.   \else\if#1B\relax
  931.     \def\keyformat##1{\aftergroup\kern
  932.               \aftergroup-\aftergroup\refindentwd}%
  933.     \refindentwd\parindent
  934.  \else\if#1C\relax
  935.    \def\keyformat##1{\hfil##1.\enspace}%
  936.  \fi\fi\fi}% end of \uppercase
  937. }
  938. \refstyle{A}
  939. \def\finalpunct{\ifnum\lastkern=\m@ne\unkern\else.\fi
  940.        \refquotes@\refbreak@}%
  941. \def\continuepunct#1#2#3#4{}%
  942. \def\endref@{%
  943.   \keyhook@
  944.   \def\nofrillscheck##1{%
  945.     \def\do####1{\ifx##1####1\let\frills@\eat@\fi}%
  946.     \let\frills@\identity@ \nofrills@list}%
  947.   \ifvoid\bybox@
  948.     \ifvoid\edbox@
  949.     \else\setbox\bybox@\hbox{\unhbox\edbox@\breakcheck
  950.       \nofrillscheck\edbox@\frills@{\space(\edtext)}\refbreak@}\fi
  951.   \fi
  952.   \ifvoid\keybox@\else\hbox to\refindentwd{%
  953.        \keyformat{\unhbox\keybox@}}\fi
  954.   \ifmoreref@
  955.     \commaunbox@\morerefbox@
  956.   \else
  957.     \kern-\tw@ sp\kern\m@ne sp
  958.   \fi
  959.   \ppunbox@\empty@\empty@\bybox@\empty@
  960.   \ifbook@ % Case 1: \book etc.
  961.     \commaunbox@\bookbox@ \commaunbox@\bookinfobox@
  962.     \ppunbox@\empty@{ (}\procinfobox@)%
  963.     \ppunbox@,{ vol.~}\volbox@\empty@
  964.     \ppunbox@\empty@{ (}\edbox@{, \edtext)}%
  965.     \commaunbox@\publbox@ \commaunbox@\publaddrbox@
  966.     \commaunbox@\yrbox@
  967.     \ppunbox@,{ \pagestext~}\pagesbox@\empty@
  968.   \else
  969.     \commaunbox@\paperbox@ \commaunbox@\paperinfobox@
  970.     \ifprocpaper@ % Case 2: \paper ... \inbook
  971.       \commaunbox@\bookbox@
  972.       \ppunbox@\empty@{ (}\procinfobox@)%
  973.       \ppunbox@\empty@{ (}\edbox@{, \edtext)}%
  974.       \commaunbox@\bookinfobox@
  975.       \ppunbox@,{ \voltext~}\volbox@\empty@
  976.       \commaunbox@\publbox@ \commaunbox@\publaddrbox@
  977.       \commaunbox@\yrbox@
  978.       \ppunbox@,{ \pagestext~}\pagesbox@\empty@
  979.     \else % Case 3: \paper ... \jour
  980.       \commaunbox@\jourbox@
  981.       \ppunbox@\empty@{ }\volbox@\empty@
  982.       \ppunbox@\empty@{ (}\yrbox@)%
  983.       \ppunbox@,{ \issuetext~}\issuebox@\empty@
  984.       \commaunbox@\publbox@ \commaunbox@\publaddrbox@
  985.       \commaunbox@\pagesbox@
  986.     \fi
  987.   \fi
  988.   \commaunbox@\finalinfobox@
  989.   \ppunbox@\empty@{ (}\miscnotebox@)%
  990.   \finalpunct\ppunbox@\empty@{ (}\langbox@)%
  991.   \defaultreftexts
  992. }
  993. \def\punct@#1{#1}
  994. \def\ppunbox@#1#2#3#4{\ifvoid#3\else
  995.   \let\prespace@\relax
  996.   \ifnum\lastkern=\m@ne \unkern\let\punct@\eat@
  997.     \ifnum\lastkern=-\tw@ \unkern\let\prespace@\ignorespaces \fi
  998.   \fi
  999.   \nofrillscheck#3%
  1000.   \punct@{#1}\refquotes@\refbreak@
  1001.   \let\punct@\identity@
  1002.   \prespace@
  1003.   \frills@{#2\eat@}\space
  1004.   \unhbox#3\breakcheck
  1005.   \frills@{#4\eat@}{\kern\m@ne sp}\fi}
  1006. \def\commaunbox@#1{\ppunbox@,\space{#1}\empty@}
  1007. \def\breakcheck{\edef\refbreak@{\ifnum\lastpenalty=\z@\else
  1008.   \penalty\the\lastpenalty\relax\fi}\unpenalty}
  1009. \def\endquotes{\def\refquotes@{''\let\refquotes@\empty@}}
  1010. \let\refquotes@\empty@
  1011. \let\refbreak@\empty@
  1012. \newif\ifmoreref@
  1013. \def\moreref{%
  1014.   \setbox\tw@\box\thr@@
  1015.   \makerefbox?\thr@@{\endgraf\egroup}%
  1016.   \let\savedef@\finalpunct  \let\finalpunct\empty@
  1017.   \endref@
  1018.   \def\punct@##1##2{##2;}%
  1019.   \global\let\nofrills@list\empty@ % global, to conserve save stack
  1020.   \let\finalpunct\savedef@
  1021.   \moreref@true
  1022.   \def\curbox{\morerefbox@}%
  1023.   \setbox\morerefbox@\vbox\bgroup \hsize\maxdimen \noindent
  1024. }
  1025. \def\transl{\moreref}
  1026. \message{end of document,}
  1027. \outer\def\enddocument{\par% \par will do a runaway check for \endref
  1028.   \add@missing\endRefs
  1029.   \add@missing\endroster \add@missing\endproclaim
  1030.   \add@missing\enddefinition
  1031.   \add@missing\enddemo \add@missing\endremark \add@missing\endexample
  1032.  \ifmonograph@ % do nothing
  1033.  \else
  1034.  \nobreak
  1035.  \thetranslator@
  1036.  \count@\z@ \loop\ifnum\count@<\addresscount@\advance\count@\@ne
  1037.  \csname address\number\count@\endcsname
  1038.  \csname email\number\count@\endcsname
  1039.  \repeat
  1040. \fi
  1041.  \vfill\supereject\end}
  1042. \message{output routine,}
  1043. \def\folio{{\foliofont@\ifnum\pageno<\z@ \romannumeral-\pageno
  1044.  \else\number\pageno \fi}}
  1045. \def\foliofont@{\eightrm}
  1046. \def\headlinefont@{\eightpoint}
  1047. \def\leftheadline{\rlap{\folio}\hfill \iftrue\topmark\fi \hfill}
  1048. \def\rightheadline{\hfill \expandafter\iffalse\botmark\fi
  1049.   \hfill \llap{\folio}}
  1050. \newtoks\leftheadtoks
  1051. \newtoks\rightheadtoks
  1052. \def\leftheadtext{\let\savedef@\leftheadtext
  1053.   \def\leftheadtext##1{\let\leftheadtext\savedef@
  1054.     \leftheadtoks\expandafter{\frills@\uppercasetext@{##1}}%
  1055.     \mark{\the\leftheadtoks\noexpand\else\the\rightheadtoks}
  1056.     \ifsyntax@\setboxz@h{\def\\{\unskip\space\ignorespaces}%
  1057.         \headlinefont@##1}\fi}%
  1058.   \nofrillscheck\leftheadtext}
  1059. \def\rightheadtext{\let\savedef@\rightheadtext
  1060.   \def\rightheadtext##1{\let\rightheadtext\savedef@
  1061.     \rightheadtoks\expandafter{\frills@\uppercasetext@{##1}}%
  1062.     \mark{\the\leftheadtoks\noexpand\else\the\rightheadtoks}%
  1063.     \ifsyntax@\setboxz@h{\def\\{\unskip\space\ignorespaces}%
  1064.         \headlinefont@##1}\fi}%
  1065.   \nofrillscheck\rightheadtext}
  1066. \headline={\def\\{\unskip\space\ignorespaces}\headlinefont@
  1067.   \def\chapter{%
  1068.     \def\chapter##1{%
  1069.       \frills@{\afterassignment\chapterno@ \chaptercount@=}##1.\space}%
  1070.     \nofrillscheck\chapter}%
  1071.   \ifodd\pageno \rightheadline \else \leftheadline\fi}
  1072. \def\NoRunningHeads{\global\runheads@false\global\let\headmark\eat@}
  1073. \def\NoPageNumbers{\gdef\folio{}}
  1074. \def\logo@{\baselineskip2pc \hbox to\hsize{\hfil\eightpoint Typeset by
  1075.  \AmSTeX}}
  1076. \def\nologo{\def\logo@{}}
  1077. \newif\iffirstpage@     \firstpage@true
  1078. \newif\ifrunheads@      \runheads@true
  1079. \output={\output@}
  1080. \def\output@{\shipout\vbox{%
  1081.  \iffirstpage@ \global\firstpage@false
  1082.   \pagebody \logo@ \makefootline%
  1083.  \else \ifrunheads@ \makeheadline \pagebody
  1084.        \else \pagebody \makefootline \fi
  1085.  \fi}%
  1086.  \advancepageno \ifnum\outputpenalty>-\@MM\else\dosupereject\fi}
  1087. \message{hyphenation exceptions (U.S. English)}
  1088. \hyphenation{acad-e-my acad-e-mies af-ter-thought anom-aly anom-alies
  1089. an-ti-deriv-a-tive an-tin-o-my an-tin-o-mies apoth-e-o-ses
  1090. apoth-e-o-sis ap-pen-dix ar-che-typ-al as-sign-a-ble as-sist-ant-ship
  1091. as-ymp-tot-ic asyn-chro-nous at-trib-uted at-trib-ut-able bank-rupt
  1092. bank-rupt-cy bi-dif-fer-en-tial blue-print busier busiest
  1093. cat-a-stroph-ic cat-a-stroph-i-cally con-gress cross-hatched data-base
  1094. de-fin-i-tive de-riv-a-tive dis-trib-ute dri-ver dri-vers eco-nom-ics
  1095. econ-o-mist elit-ist equi-vari-ant ex-quis-ite ex-tra-or-di-nary
  1096. flow-chart for-mi-da-ble forth-right friv-o-lous ge-o-des-ic
  1097. ge-o-det-ic geo-met-ric griev-ance griev-ous griev-ous-ly
  1098. hexa-dec-i-mal ho-lo-no-my ho-mo-thetic ideals idio-syn-crasy
  1099. in-fin-ite-ly in-fin-i-tes-i-mal ir-rev-o-ca-ble key-stroke
  1100. lam-en-ta-ble light-weight mal-a-prop-ism man-u-script mar-gin-al
  1101. meta-bol-ic me-tab-o-lism meta-lan-guage me-trop-o-lis
  1102. met-ro-pol-i-tan mi-nut-est mol-e-cule mono-chrome mono-pole
  1103. mo-nop-oly mono-spline mo-not-o-nous mul-ti-fac-eted mul-ti-plic-able
  1104. non-euclid-ean non-iso-mor-phic non-smooth par-a-digm par-a-bol-ic
  1105. pa-rab-o-loid pa-ram-e-trize para-mount pen-ta-gon phe-nom-e-non
  1106. post-script pre-am-ble pro-ce-dur-al pro-hib-i-tive pro-hib-i-tive-ly
  1107. pseu-do-dif-fer-en-tial pseu-do-fi-nite pseu-do-nym qua-drat-ic
  1108. quad-ra-ture qua-si-smooth qua-si-sta-tion-ary qua-si-tri-an-gu-lar
  1109. quin-tes-sence quin-tes-sen-tial re-arrange-ment rec-tan-gle
  1110. ret-ri-bu-tion retro-fit retro-fit-ted right-eous right-eous-ness
  1111. ro-bot ro-bot-ics sched-ul-ing se-mes-ter semi-def-i-nite
  1112. semi-ho-mo-thet-ic set-up se-vere-ly side-step sov-er-eign spe-cious
  1113. spher-oid spher-oid-al star-tling star-tling-ly sta-tis-tics
  1114. sto-chas-tic straight-est strange-ness strat-a-gem strong-hold
  1115. sum-ma-ble symp-to-matic syn-chro-nous topo-graph-i-cal tra-vers-a-ble
  1116. tra-ver-sal tra-ver-sals treach-ery turn-around un-at-tached
  1117. un-err-ing-ly white-space wide-spread wing-spread wretch-ed
  1118. wretch-ed-ly Brown-ian Eng-lish Euler-ian Feb-ru-ary Gauss-ian
  1119. Grothen-dieck Hamil-ton-ian Her-mit-ian Jan-u-ary Japan-ese Kor-te-weg
  1120. Le-gendre Lip-schitz Lip-schitz-ian Mar-kov-ian Noe-ther-ian
  1121. No-vem-ber Rie-mann-ian Schwarz-schild Sep-tem-ber}
  1122. %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
  1123. \tenpoint
  1124. \W@{}
  1125. \csname amsppt.sty\endcsname
  1126. \endinput
  1127. %%
  1128. %% End of file `amsppt.sty'.
  1129.