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 (.txt) next >
LaTeX Document  |  1996-10-12  |  44KB  |  1,099 lines

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