home *** CD-ROM | disk | FTP | other *** search
/ Atari FTP / ATARI_FTP_0693.zip / ATARI_FTP_0693 / Tex / Tex31 / inputs.lzh / amsppt.sty < prev    next >
Text File  |  1990-07-01  |  35KB  |  848 lines

  1. % AMSPPT.STY                            February 1990
  2. %
  3. % This is the AMS pre-print style file for use with AMS-TeX 2.0.
  4. % American Mathematical Society, Technical Support Group, P. O. Box 6248,
  5. %        Providence, RI 02940
  6. % 800-321-4AMS or 401-455-4080;  Internet: Tech-Support@Math.AMS.com
  7. %
  8. % Copyright (C) 1990, American Mathematical Society.
  9. % All rights reserved.  Copying of this file is authorized only if either:
  10. %    (1) you make absolutely no changes to your copy including name; OR
  11. %    (2) if you do make changes, you first rename it to some other name.
  12. % For technical documentation refer to the file AMSPPT.DOC, which is
  13. % distributed along with AMSPPT.STY.
  14. \def\next{AMSPPT}\ifx\styname\next \endinput\fi
  15. \catcode`\@=11
  16. \def\styname{AMSPPT}
  17. \def\styversion{2.0}
  18. {\W@{\styname.STY - Version \styversion}\W@{}}
  19. \hyphenation{acad-e-my acad-e-mies af-ter-thought anom-aly anom-alies
  20. an-ti-deriv-a-tive an-tin-o-my an-tin-o-mies apoth-e-o-ses apoth-e-o-sis
  21. ap-pen-dix ar-che-typ-al as-sign-a-ble as-sist-ant-ship as-ymp-tot-ic
  22. asyn-chro-nous at-trib-uted at-trib-ut-able bank-rupt bank-rupt-cy
  23. bi-dif-fer-en-tial blue-print busier busiest cat-a-stroph-ic
  24. cat-a-stroph-i-cally con-gress cross-hatched data-base de-fin-i-tive
  25. de-riv-a-tive dis-trib-ute dri-ver dri-vers eco-nom-ics econ-o-mist
  26. elit-ist equi-vari-ant ex-quis-ite ex-tra-or-di-nary flow-chart
  27. for-mi-da-ble forth-right friv-o-lous ge-o-des-ic ge-o-det-ic geo-met-ric
  28. griev-ance griev-ous griev-ous-ly hexa-dec-i-mal ho-lo-no-my ho-mo-thetic
  29. ideals idio-syn-crasy in-fin-ite-ly in-fin-i-tes-i-mal ir-rev-o-ca-ble
  30. key-stroke lam-en-ta-ble light-weight mal-a-prop-ism man-u-script
  31. mar-gin-al meta-bol-ic me-tab-o-lism meta-lan-guage me-trop-o-lis
  32. met-ro-pol-i-tan mi-nut-est mol-e-cule mono-chrome mono-pole mo-nop-oly
  33. mono-spline mo-not-o-nous mul-ti-fac-eted mul-ti-plic-able non-euclid-ean
  34. non-iso-mor-phic non-smooth par-a-digm par-a-bol-ic pa-rab-o-loid
  35. pa-ram-e-trize para-mount pen-ta-gon phe-nom-e-non post-script pre-am-ble
  36. pro-ce-dur-al pro-hib-i-tive pro-hib-i-tive-ly pseu-do-dif-fer-en-tial
  37. pseu-do-fi-nite pseu-do-nym qua-drat-ics quad-ra-ture qua-si-smooth
  38. qua-si-sta-tion-ary qua-si-tri-an-gu-lar quin-tes-sence quin-tes-sen-tial
  39. re-arrange-ment rec-tan-gle ret-ri-bu-tion retro-fit retro-fit-ted
  40. right-eous right-eous-ness ro-bot ro-bot-ics sched-ul-ing se-mes-ter
  41. semi-def-i-nite semi-ho-mo-thet-ic set-up se-vere-ly side-step sov-er-eign
  42. spe-cious spher-oid spher-oid-al star-tling star-tling-ly
  43. sta-tis-tics sto-chas-tic straight-est strange-ness strat-a-gem strong-hold
  44. sum-ma-ble symp-to-matic syn-chro-nous topo-graph-i-cal tra-vers-a-ble
  45. tra-ver-sal tra-ver-sals treach-ery turn-around un-at-tached un-err-ing-ly
  46. white-space wide-spread wing-spread wretch-ed wretch-ed-ly Brown-ian
  47. Eng-lish Euler-ian Feb-ru-ary Gauss-ian Grothen-dieck Hamil-ton-ian
  48. Her-mit-ian Jan-u-ary Japan-ese Kor-te-weg Le-gendre Lip-schitz
  49. Lip-schitz-ian Mar-kov-ian Noe-ther-ian No-vem-ber Rie-mann-ian
  50. Schwarz-schild Sep-tem-ber}
  51. \Invalid@\nofrills
  52. \Invalid@\usualspace
  53. \newif\ifnofrills@
  54. \def\nofrills@#1#2{\relaxnext@
  55.   \DN@{\ifx\next\nofrills
  56.     \nofrills@true\let#2\relax\DN@\nofrills{\nextii@}%
  57.   \else
  58.     \nofrills@false\def#2{#1}\let\next@\nextii@\fi
  59. \next@}}
  60. \def\usualspace@#1{\ifnofrills@\def\usualspace{#1}\fi}
  61. \def\addto#1#2{\csname \expandafter\eat@\string#1@\endcsname
  62.   \expandafter{\the\csname \expandafter\eat@\string#1@\endcsname#2}}
  63. \newdimen\bigsize@
  64. \def\big@#1#2{{\hbox{$\left#2\vcenter to#1\bigsize@{}%
  65.   \right.\nulldelimiterspace\z@\m@th$}}}
  66. \def\big{\big@\@ne}
  67. \def\Big{\big@{1.5}}
  68. \def\bigg{\big@\tw@}
  69. \def\Bigg{\big@{2.5}}
  70. \def\raggedcenter@{\leftskip\z@ plus.4\hsize \rightskip\leftskip
  71.  \parfillskip\z@ \parindent\z@ \spaceskip.3333em \xspaceskip.5em
  72.  \pretolerance9999\tolerance9999 \exhyphenpenalty\@M
  73.  \hyphenpenalty\@M \let\\\linebreak}
  74. \def\upperspecialchars{\def\ss{SS}\let\i=I\let\j=J\let\ae\AE\let\oe\OE
  75.   \let\o\O\let\aa\AA\let\l\L}
  76. \def\uppercasetext@#1{%
  77.   {\spaceskip1.2\fontdimen2\the\font plus1.2\fontdimen3\the\font
  78.    \upperspecialchars\uctext@#1$\m@th\aftergroup\eat@$}}
  79. \def\uctext@#1$#2${\endash@#1-\endash@$#2$\uctext@}
  80. \def\endash@#1-#2\endash@{\uppercase{#1}\if\notempty{#2}--\endash@#2\endash@\fi}
  81. \def\runaway@#1{\DN@{#1}\ifx\envir@\next@
  82.   \Err@{You seem to have a missing or misspelled \string\end#1 ...}%
  83.   \let\envir@\empty\fi}
  84. \newif\iftemp@
  85. \def\notempty#1{TT\fi\def\test@{#1}\ifx\test@\empty\temp@false
  86.   \else\temp@true\fi \iftemp@}
  87. \font@\tensmc=cmcsc10
  88. \font@\sevenex=cmex7
  89. \font@\sevenit=cmti7
  90. \font@\eightrm=cmr8 % preloaded in plain.tex
  91. \font@\sixrm=cmr6 % preloaded in plain.tex
  92. \font@\eighti=cmmi8     \skewchar\eighti='177 % preloaded
  93. \font@\sixi=cmmi6       \skewchar\sixi='177   % preloaded
  94. \font@\eightsy=cmsy8    \skewchar\eightsy='60 % preloaded
  95. \font@\sixsy=cmsy6      \skewchar\sixsy='60   % preloaded
  96. \font@\eightex=cmex8
  97. \font@\eightbf=cmbx8 % preloaded in plain.tex
  98. \font@\sixbf=cmbx6   % preloaded in plain.tex
  99. \font@\eightit=cmti8 % preloaded in plain.tex
  100. \font@\eightsl=cmsl8 % preloaded in plain.tex
  101. \font@\eightsmc=cmcsc8
  102. \font@\eighttt=cmtt8 % preloaded in plain.tex
  103. %\font@\ninerm=cmr9
  104. %\font@\ninei=cmmi9    \skewchar\ninei='177
  105. %\font@\ninesy=cmsy9   \skewchar\ninesy='60
  106. %\font@\nineex=cmex9
  107. %\font@\ninebf=cmbx9
  108. %\font@\nineit=cmti9
  109. %\font@\ninesl=cmsl9
  110. %\font@\ninesmc=cmcsc9
  111. %\font@\ninemsa=msam9
  112. %\font@\ninemsb=msbm9
  113. %\font@\nineeufm=eufm9
  114. \loadmsam
  115. \loadmsbm
  116. \loadeufm
  117. \UseAMSsymbols
  118. \newtoks\tenpoint@
  119. \def\tenpoint{\normalbaselineskip12\p@
  120.  \abovedisplayskip12\p@ plus3\p@ minus9\p@
  121.  \belowdisplayskip\abovedisplayskip
  122.  \abovedisplayshortskip\z@ plus3\p@
  123.  \belowdisplayshortskip7\p@ plus3\p@ minus4\p@
  124.  \textonlyfont@\rm\tenrm \textonlyfont@\it\tenit
  125.  \textonlyfont@\sl\tensl \textonlyfont@\bf\tenbf
  126.  \textonlyfont@\smc\tensmc \textonlyfont@\tt\tentt
  127.  \ifsyntax@ \def\big##1{{\hbox{$\left##1\right.$}}}%
  128.   \let\Big\big \let\bigg\big \let\Bigg\big
  129.  \else
  130.   \textfont\z@=\tenrm  \scriptfont\z@=\sevenrm  \scriptscriptfont\z@=\fiverm
  131.   \textfont\@ne=\teni  \scriptfont\@ne=\seveni  \scriptscriptfont\@ne=\fivei
  132.   \textfont\tw@=\tensy \scriptfont\tw@=\sevensy \scriptscriptfont\tw@=\fivesy
  133.   \textfont\thr@@=\tenex \scriptfont\thr@@=\sevenex
  134.         \scriptscriptfont\thr@@=\sevenex
  135.   \textfont\itfam=\tenit \scriptfont\itfam=\sevenit
  136.         \scriptscriptfont\itfam=\sevenit
  137.   \textfont\bffam=\tenbf \scriptfont\bffam=\sevenbf
  138.         \scriptscriptfont\bffam=\fivebf
  139.   \setbox\strutbox\hbox{\vrule height8.5\p@ depth3.5\p@ width\z@}%
  140.   \setbox\strutbox@\hbox{\lower.5\normallineskiplimit\vbox{%
  141.         \kern-\normallineskiplimit\copy\strutbox}}%
  142.  \setbox\z@\vbox{\hbox{$($}\kern\z@}\bigsize@=1.2\ht\z@
  143.  \fi
  144.  \normalbaselines\rm\ex@.2326ex\jot3\ex@\the\tenpoint@}
  145. \newtoks\eightpoint@
  146. \def\eightpoint{\normalbaselineskip10\p@
  147.  \abovedisplayskip10\p@ plus2.4\p@ minus7.2\p@
  148.  \belowdisplayskip\abovedisplayskip
  149.  \abovedisplayshortskip\z@ plus2.4\p@
  150.  \belowdisplayshortskip5.6\p@ plus2.4\p@ minus3.2\p@
  151.  \textonlyfont@\rm\eightrm \textonlyfont@\it\eightit
  152.  \textonlyfont@\sl\eightsl \textonlyfont@\bf\eightbf
  153.  \textonlyfont@\smc\eightsmc \textonlyfont@\tt\eighttt
  154.  \ifsyntax@\def\big##1{{\hbox{$\left##1\right.$}}}%
  155.   \let\Big\big \let\bigg\big \let\Bigg\big
  156.  \else
  157.   \textfont\z@=\eightrm \scriptfont\z@=\sixrm \scriptscriptfont\z@=\fiverm
  158.   \textfont\@ne=\eighti \scriptfont\@ne=\sixi \scriptscriptfont\@ne=\fivei
  159.   \textfont\tw@=\eightsy \scriptfont\tw@=\sixsy \scriptscriptfont\tw@=\fivesy
  160.   \textfont\thr@@=\eightex \scriptfont\thr@@=\sevenex
  161.    \scriptscriptfont\thr@@=\sevenex
  162.   \textfont\itfam=\eightit \scriptfont\itfam=\sevenit
  163.    \scriptscriptfont\itfam=\sevenit
  164.   \textfont\bffam=\eightbf \scriptfont\bffam=\sixbf
  165.    \scriptscriptfont\bffam=\fivebf
  166.  \setbox\strutbox\hbox{\vrule height7\p@ depth3\p@ width\z@}%
  167.  \setbox\strutbox@\hbox{\raise.5\normallineskiplimit\vbox{%
  168.    \kern-\normallineskiplimit\copy\strutbox}}%
  169.  \setbox\z@\vbox{\hbox{$($}\kern\z@}\bigsize@=1.2\ht\z@
  170.  \fi
  171.  \normalbaselines\eightrm\ex@.2326ex\jot3\ex@\the\eightpoint@}
  172. \parindent1pc
  173. \normallineskiplimit\p@
  174. \newdimen\indenti \indenti=2pc
  175. \def\pageheight#1{\vsize#1}
  176. \def\pagewidth#1{\hsize#1%
  177.    \captionwidth@\hsize \advance\captionwidth@-2\indenti}
  178. \pagewidth{30pc} \pageheight{47pc}
  179. \def\topmatter{%
  180.  \ifx\undefined\msafam
  181.  \else\font@\eightmsa=msam8 \font@\sixmsa=msam6
  182.    \ifsyntax@\else \addto\tenpoint{\textfont\msafam=\tenmsa
  183.               \scriptfont\msafam=\sevenmsa \scriptscriptfont\msafam=\fivemsa}%
  184.      \addto\eightpoint{\textfont\msafam=\eightmsa \scriptfont\msafam=\sixmsa
  185.               \scriptscriptfont\msafam=\fivemsa}%
  186.    \fi
  187.  \fi
  188.  \ifx\undefined\msbfam
  189.  \else\font@\eightmsb=msbm8 \font@\sixmsb=msbm6
  190.    \ifsyntax@\else \addto\tenpoint{\textfont\msbfam=\tenmsb
  191.          \scriptfont\msbfam=\sevenmsb \scriptscriptfont\msbfam=\fivemsb}%
  192.      \addto\eightpoint{\textfont\msbfam=\eightmsb \scriptfont\msbfam=\sixmsb
  193.          \scriptscriptfont\msbfam=\fivemsb}%
  194.    \fi
  195.  \fi
  196.  \ifx\undefined\eufmfam
  197.  \else \font@\eighteufm=eufm8 \font@\sixeufm=eufm6
  198.    \ifsyntax@\else \addto\tenpoint{\textfont\eufmfam=\teneufm
  199.        \scriptfont\eufmfam=\seveneufm \scriptscriptfont\eufmfam=\fiveeufm}%
  200.      \addto\eightpoint{\textfont\eufmfam=\eighteufm
  201.        \scriptfont\eufmfam=\sixeufm \scriptscriptfont\eufmfam=\fiveeufm}%
  202.    \fi
  203.  \fi
  204.  \ifx\undefined\eufbfam
  205.  \else \font@\eighteufb=eufb8 \font@\sixeufb=eufb6
  206.    \ifsyntax@\else \addto\tenpoint{\textfont\eufbfam=\teneufb
  207.       \scriptfont\eufbfam=\seveneufb \scriptscriptfont\eufbfam=\fiveeufb}%
  208.     \addto\eightpoint{\textfont\eufbfam=\eighteufb
  209.       \scriptfont\eufbfam=\sixeufb \scriptscriptfont\eufbfam=\fiveeufb}%
  210.    \fi
  211.  \fi
  212.  \ifx\undefined\eusmfam
  213.  \else \font@\eighteusm=eusm8 \font@\sixeusm=eusm6
  214.    \ifsyntax@\else \addto\tenpoint{\textfont\eusmfam=\teneusm
  215.        \scriptfont\eusmfam=\seveneusm \scriptscriptfont\eusmfam=\fiveeusm}%
  216.      \addto\eightpoint{\textfont\eusmfam=\eighteusm
  217.        \scriptfont\eusmfam=\sixeusm \scriptscriptfont\eusmfam=\fiveeusm}%
  218.    \fi
  219.  \fi
  220.  \ifx\undefined\eusbfam
  221.  \else \font@\eighteusb=eusb8 \font@\sixeusb=eusb6
  222.    \ifsyntax@\else \addto\tenpoint{\textfont\eusbfam=\teneusb
  223.        \scriptfont\eusbfam=\seveneusb \scriptscriptfont\eusbfam=\fiveeusb}%
  224.      \addto\eightpoint{\textfont\eusbfam=\eighteusb
  225.        \scriptfont\eusbfam=\sixeusb \scriptscriptfont\eusbfam=\fiveeusb}%
  226.    \fi
  227.  \fi
  228.  \ifx\undefined\eurmfam
  229.  \else \font@\eighteurm=eurm8 \font@\sixeurm=eurm6
  230.    \ifsyntax@\else \addto\tenpoint{\textfont\eurmfam=\teneurm
  231.        \scriptfont\eurmfam=\seveneurm \scriptscriptfont\eurmfam=\fiveeurm}%
  232.      \addto\eightpoint{\textfont\eurmfam=\eighteurm
  233.        \scriptfont\eurmfam=\sixeurm \scriptscriptfont\eurmfam=\fiveeurm}%
  234.    \fi
  235.  \fi
  236.  \ifx\undefined\eurbfam
  237.  \else \font@\eighteurb=eurb8 \font@\sixeurb=eurb6
  238.    \ifsyntax@\else \addto\tenpoint{\textfont\eurbfam=\teneurb
  239.        \scriptfont\eurbfam=\seveneurb \scriptscriptfont\eurbfam=\fiveeurb}%
  240.     \addto\eightpoint{\textfont\eurbfam=\eighteurb
  241.        \scriptfont\eurbfam=\sixeurb \scriptscriptfont\eurbfam=\fiveeurb}%
  242.    \fi
  243.  \fi
  244.  \ifx\undefined\cmmibfam
  245.  \else \font@\eightcmmib=cmmib8 \font@\sixcmmib=cmmib6
  246.    \ifsyntax@\else \addto\tenpoint{\textfont\cmmibfam=\tencmmib
  247.        \scriptfont\cmmibfam=\sevencmmib \scriptscriptfont\cmmibfam=\fivecmmib}%
  248.     \addto\eightpoint{\textfont\cmmibfam=\eightcmmib
  249.        \scriptfont\cmmibfam=\sixcmmib \scriptscriptfont\cmmibfam=\fivecmmib}%
  250.    \fi
  251.  \fi
  252.  \ifx\undefined\cmbsyfam
  253.  \else \font@\eightcmbsy=cmbsy8 \font@\sixcmbsy=cmbsy6
  254.    \ifsyntax@\else \addto\tenpoint{\textfont\cmbsyfam=\tencmbsy
  255.       \scriptfont\cmbsyfam=\sevencmbsy \scriptscriptfont\cmbsyfam=\fivecmbsy}%
  256.     \addto\eightpoint{\textfont\cmbsyfam=\eightcmbsy
  257.       \scriptfont\cmbsyfam=\sixcmbsy \scriptscriptfont\cmbsyfam=\fivecmbsy}%
  258.    \fi
  259.  \fi
  260.  \let\topmatter\relax}
  261. \def\chapterno@{\uppercase\expandafter{\romannumeral\chaptercount@}}
  262. \newcount\chaptercount@
  263. \def\chapter{\nofrills@{\afterassignment\chapterno@
  264.                         CHAPTER \global\chaptercount@=}\chapter@
  265.  \DNii@##1{\leavevmode\hskip-\leftskip
  266.    \rlap{\vbox to\z@{\vss\centerline{\eightpoint
  267.    \chapter@##1\unskip}\baselineskip2pc\null}}\hskip\leftskip
  268.    \nofrills@false}%
  269.  \FN@\next@}
  270. \newbox\titlebox@
  271. \def\title{\nofrills@{\uppercasetext@}\title@%
  272.  \DNii@##1\endtitle{\global\setbox\titlebox@\vtop{\tenpoint\bf
  273.  \raggedcenter@\ignorespaces
  274.  \baselineskip1.3\baselineskip\title@{##1}\endgraf}%
  275.  \ifmonograph@ \edef\next{\the\leftheadtoks}\ifx\next\empty
  276.     \leftheadtext{##1}\fi
  277.  \fi
  278.  \edef\next{\the\rightheadtoks}\ifx\next\empty \rightheadtext{##1}\fi
  279.  }\FN@\next@}
  280. \newbox\authorbox@
  281. \def\author#1\endauthor{\global\setbox\authorbox@
  282.  \vbox{\tenpoint\smc\raggedcenter@\ignorespaces
  283.  #1\endgraf}\relaxnext@ \edef\next{\the\leftheadtoks}%
  284.  \ifx\next\empty\leftheadtext{#1}\fi}
  285. \newbox\affilbox@
  286. \def\affil#1\endaffil{\global\setbox\affilbox@
  287.  \vbox{\tenpoint\raggedcenter@\ignorespaces#1\endgraf}}
  288. \newcount\addresscount@
  289. \addresscount@\z@
  290. \def\address#1\endaddress{\global\advance\addresscount@\@ne
  291.   \expandafter\gdef\csname address\number\addresscount@\endcsname
  292.   {\vskip12\p@ minus6\p@\noindent\eightpoint\smc\ignorespaces#1\par}}
  293. \def\email{\nofrills@{\eightpoint{\it E-mail\/}:\enspace}\email@
  294.   \DNii@##1\endemail{%
  295.   \expandafter\gdef\csname email\number\addresscount@\endcsname
  296.   {\def\usualspace{{\it\enspace}}\smallskip\noindent\eightpoint\email@
  297.   \ignorespaces##1\par}}%
  298.  \FN@\next@}
  299. \def\thedate@{}
  300. \def\date#1\enddate{\gdef\thedate@{\tenpoint\ignorespaces#1\unskip}}
  301. \def\thethanks@{}
  302. \def\thanks#1\endthanks{\gdef\thethanks@{\eightpoint\ignorespaces#1.\unskip}}
  303. \def\thekeywords@{}
  304. \def\keywords{\nofrills@{{\it Key words and phrases.\enspace}}\keywords@
  305.  \DNii@##1\endkeywords{\def\thekeywords@{\def\usualspace{{\it\enspace}}%
  306.  \eightpoint\keywords@\ignorespaces##1\unskip.}}%
  307.  \FN@\next@}
  308. \def\thesubjclass@{}
  309. \def\subjclass{\nofrills@{{\rm1980 {\it Mathematics Subject
  310.    Classification\/} (1985 {\it Revision\/}).\enspace}}\subjclass@
  311.  \DNii@##1\endsubjclass{\def\thesubjclass@{\def\usualspace
  312.   {{\rm\enspace}}\eightpoint\subjclass@\ignorespaces##1\unskip.}}%
  313.  \FN@\next@}
  314. \newbox\abstractbox@
  315. \def\abstract{\nofrills@{{\smc Abstract.\enspace}}\abstract@
  316.  \DNii@{\setbox\abstractbox@\vbox\bgroup\noindent$$\vbox\bgroup
  317.   \def\envir@{abstract}\advance\hsize-2\indenti
  318.   \usualspace@{{\enspace}}\eightpoint \noindent\abstract@\ignorespaces}%
  319.  \FN@\next@}
  320. \def\endabstract{\par\unskip\egroup$$\egroup}
  321. \def\widestnumber#1#2{\begingroup\let\head\null\let\subhead\empty
  322.    \let\subsubhead\subhead
  323.    \ifx#1\head\global\setbox\tocheadbox@\hbox{#2.\enspace}%
  324.    \else\ifx#1\subhead\global\setbox\tocsubheadbox@\hbox{#2.\enspace}%
  325.    \else\ifx#1\key\bgroup\let\endrefitem@\egroup
  326.         \key#2\endrefitem@\global\refindentwd\wd\keybox@
  327.    \else\ifx#1\no\bgroup\let\endrefitem@\egroup
  328.         \no#2\endrefitem@\global\refindentwd\wd\nobox@
  329.    \else\ifx#1\page\global\setbox\pagesbox@\hbox{\quad\bf#2}%
  330.    \else\ifx#1\item\setboxz@h{#2}\global\rosteritemwd\wdz@
  331.         \global\advance\rosteritemwd by.5\parindent
  332.    \else\message{\string\widestnumber is not defined for this option
  333.    (\string#1)}%
  334. \fi\fi\fi\fi\fi\fi\endgroup}
  335. \newif\ifmonograph@
  336. \def\Monograph{\monograph@true \let\headmark\rightheadtext
  337.   \let\varindent@\indent \def\headfont@{\bf}\def\proclaimfont@{\smc}%
  338.   \def\demofont@{\smc}}
  339. \let\varindent@\noindent
  340. \newbox\tocheadbox@    \newbox\tocsubheadbox@
  341. \newbox\tocbox@
  342. \def\toc{\toc@{Contents}}
  343. \def\newtocdefs{%
  344.    \def \title##1\endtitle
  345.        {\penaltyandskip@\z@\smallskipamount
  346.         \hangindent\wd\tocheadbox@\noindent{\bf##1}}%
  347.    \def \chapter##1{%
  348.         Chapter \uppercase\expandafter{\romannumeral##1.\unskip}\enspace}%
  349.    \def \specialhead##1\endspecialhead
  350.        {\par\hangindent\wd\tocheadbox@ \noindent##1\par}%
  351.    \def \head##1 ##2\endhead
  352.        {\par\hangindent\wd\tocheadbox@ \noindent
  353.         \if\notempty{##1}\hbox to\wd\tocheadbox@{\hfil##1\enspace}\fi
  354.         ##2\par}%
  355.    \def \subhead##1 ##2\endsubhead
  356.        {\par\vskip-\parskip {\normalbaselines
  357.         \advance\leftskip\wd\tocheadbox@
  358.         \hangindent\wd\tocsubheadbox@ \noindent
  359.         \if\notempty{##1}\hbox to\wd\tocsubheadbox@{##1\unskip\hfil}\fi
  360.          ##2\par}}%
  361.    \def \subsubhead##1 ##2\endsubsubhead
  362.        {\par\vskip-\parskip {\normalbaselines
  363.         \advance\leftskip\wd\tocheadbox@
  364.         \hangindent\wd\tocsubheadbox@ \noindent
  365.         \if\notempty{##1}\hbox to\wd\tocsubheadbox@{##1\unskip\hfil}\fi
  366.         ##2\par}}}
  367. \def\toc@#1{\relaxnext@
  368.    \def\page##1%
  369.        {\unskip\penalty0\null\hfil
  370.         \rlap{\hbox to\wd\pagesbox@{\quad\hfil##1}}\hfilneg\penalty\@M}%
  371.  \DN@{\ifx\next\nofrills\DN@\nofrills{\nextii@}%
  372.       \else\DN@{\nextii@{{#1}}}\fi
  373.       \next@}%
  374.  \DNii@##1{%
  375. \ifmonograph@\bgroup\else\setbox\tocbox@\vbox\bgroup
  376.    \centerline{\headfont@\ignorespaces##1\unskip}\nobreak
  377.    \vskip\belowheadskip \fi
  378.    \setbox\tocheadbox@\hbox{0.\enspace}%
  379.    \setbox\tocsubheadbox@\hbox{0.0.\enspace}%
  380.    \leftskip\indenti \rightskip\leftskip
  381.    \setbox\pagesbox@\hbox{\bf\quad000}\advance\rightskip\wd\pagesbox@
  382.    \newtocdefs
  383.  }%
  384.  \FN@\next@}
  385. \def\endtoc{\par\egroup}
  386. \let\pretitle\relax
  387. \let\preauthor\relax
  388. \let\preaffil\relax
  389. \let\predate\relax
  390. \let\preabstract\relax
  391. \let\prepaper\relax
  392. \def\dedicatory #1\enddedicatory{\def\preabstract{{\medskip
  393.   \eightpoint\it \raggedcenter@#1\endgraf}}}
  394. \def\thetranslator@{}
  395. \def\translator#1\endtranslator{\def\thetranslator@{\nobreak\medskip
  396.  \line{\eightpoint\hfil Translated by \uppercase{#1}\qquad\qquad}\nobreak}}
  397. \outer\def\endtopmatter{\runaway@{abstract}%
  398.  \edef\next{\the\leftheadtoks}\ifx\next\empty
  399.   \expandafter\leftheadtext\expandafter{\the\rightheadtoks}\fi
  400.  \ifmonograph@\else
  401.    \ifx\thesubjclass@\empty\else \makefootnote@{}{\thesubjclass@}\fi
  402.    \ifx\thekeywords@\empty\else \makefootnote@{}{\thekeywords@}\fi
  403.    \ifx\thethanks@\empty\else \makefootnote@{}{\thethanks@}\fi
  404.  \fi
  405.   \pretitle
  406.   \ifmonograph@ \topskip7pc \else \topskip4pc \fi
  407.   \box\titlebox@
  408.   \topskip10pt% reset to normal value
  409.   \preauthor
  410.   \ifvoid\authorbox@\else \vskip2.5pc plus1pc \unvbox\authorbox@\fi
  411.   \preaffil
  412.   \ifvoid\affilbox@\else \vskip1pc plus.5pc \unvbox\affilbox@\fi
  413.   \predate
  414.   \ifx\thedate@\empty\else \vskip1pc plus.5pc \line{\hfil\thedate@\hfil}\fi
  415.   \preabstract
  416.   \ifvoid\abstractbox@\else \vskip1.5pc plus.5pc \unvbox\abstractbox@ \fi
  417.   \ifvoid\tocbox@\else\vskip1.5pc plus.5pc \unvbox\tocbox@\fi
  418.   \prepaper
  419.   \vskip2pc plus1pc
  420. }
  421. \def\document{\let\fontlist@\relax\let\alloclist@\relax
  422.   \tenpoint}
  423. \newskip\aboveheadskip       \aboveheadskip\bigskipamount
  424. \newdimen\belowheadskip      \belowheadskip6\p@
  425. \def\headfont@{\smc}
  426. \def\penaltyandskip@#1#2{\relax\ifdim\lastskip<#2\relax\removelastskip
  427.       \ifnum#1=\z@\else\penalty@#1\relax\fi\vskip#2%
  428.   \else\ifnum#1=\z@\else\penalty@#1\relax\fi\fi}
  429. \def\nobreak{\penalty\@M
  430.   \ifvmode\def\penalty@{\let\penalty@\penalty\count@@@}%
  431.   \everypar{\let\penalty@\penalty\everypar{}}\fi}
  432. \let\penalty@\penalty
  433. \def\heading#1\endheading{\head#1\endhead}
  434. \def\subheading#1{\subhead#1\endsubhead}
  435. \def\specialheadfont@{\bf}
  436. \outer\def\specialhead{\par\penaltyandskip@{-200}\aboveheadskip
  437.   \begingroup\interlinepenalty\@M\rightskip\z@ plus\hsize \let\\\linebreak
  438.   \specialheadfont@\noindent\ignorespaces}
  439. \def\endspecialhead{\par\endgroup\nobreak\vskip\belowheadskip}
  440. \outer\def\head#1\endhead{\par\penaltyandskip@{-200}\aboveheadskip
  441.  {\headfont@\raggedcenter@\interlinepenalty\@M
  442.  \ignorespaces#1\endgraf}\nobreak
  443.  \vskip\belowheadskip
  444.  \headmark{#1}}
  445. \let\headmark\eat@
  446. \newskip\subheadskip       \subheadskip\medskipamount
  447. \def\subheadfont@{\bf}
  448. \outer\def\subhead{\nofrills@{.\enspace}\subhead@
  449.  \DNii@##1\endsubhead{\par\penaltyandskip@{-100}\subheadskip
  450.   \varindent@{\usualspace@{{\subheadfont@\enspace}}%
  451.  \subheadfont@\ignorespaces##1\unskip\subhead@}\ignorespaces}%
  452.  \FN@\next@}
  453. \outer\def\subsubhead{\nofrills@{.\enspace}\subsubhead@
  454.  \DNii@##1\endsubsubhead{\par\penaltyandskip@{-50}\medskipamount
  455.       {\usualspace@{{\it\enspace}}%
  456.   \it\ignorespaces##1\unskip\subsubhead@}\ignorespaces}%
  457.  \FN@\next@}
  458. \def\proclaimheadfont@{\bf}
  459. \outer\def\proclaim{\runaway@{proclaim}\def\envir@{proclaim}%
  460.   \nofrills@{.\enspace}\proclaim@
  461.  \DNii@##1{\penaltyandskip@{-100}\medskipamount\varindent@
  462.    \usualspace@{{\proclaimheadfont@\enspace}}\proclaimheadfont@
  463.    \ignorespaces##1\unskip\proclaim@
  464.   \sl\ignorespaces}% 
  465.  \FN@\next@}
  466. \outer\def\endproclaim{\let\envir@\relax\par\rm
  467.   \penaltyandskip@{55}\medskipamount}
  468. \def\demoheadfont@{\it}
  469. \def\demo{\runaway@{proclaim}\nofrills@{.\enspace}\demo@
  470.      \DNii@##1{\par\penaltyandskip@\z@\medskipamount
  471.   {\usualspace@{{\demoheadfont@\enspace}}%
  472.   \varindent@\demoheadfont@\ignorespaces##1\unskip\demo@}\rm
  473.   \ignorespaces}\FN@\next@}
  474. \def\enddemo{\par\medskip}
  475. \def\qed{\ifhmode\unskip\nobreak\fi\quad\ifmmode\square\else$\m@th\square$\fi}
  476. \let\remark\demo
  477. \def\endremark{}
  478. \def\definition{\runaway@{proclaim}%
  479.   \nofrills@{.\proclaimheadfont@\enspace}\definition@
  480.         \DNii@##1{\penaltyandskip@{-100}\medskipamount
  481.         {\usualspace@{{\proclaimheadfont@\enspace}}%
  482.         \varindent@\proclaimheadfont@\ignorespaces##1\unskip\definition@}%
  483.         \rm \ignorespaces}\FN@\next@}
  484. \def\enddefinition{\par\medskip}
  485. \let\example\definition
  486. \let\endexample\enddefinition
  487. \newdimen\rosteritemwd
  488. \newcount\rostercount@
  489. \newif\iffirstitem@
  490. \let\plainitem@\item
  491. \newtoks\everypartoks@
  492. \def\par@{\everypartoks@\expandafter{\the\everypar}\everypar{}}
  493. \def\roster{\edef\leftskip@{\leftskip\the\leftskip}%
  494.  \relaxnext@
  495.  \rostercount@\z@  
  496.  \def\item{\FN@\rosteritem@}% 
  497.  \DN@{\ifx\next\runinitem\let\next@\nextii@\else
  498.   \let\next@\nextiii@\fi\next@}%
  499.  \DNii@\runinitem  
  500.   {\unskip  
  501.    \DN@{\ifx\next[\let\next@\nextii@\else
  502.     \ifx\next"\let\next@\nextiii@\else\let\next@\nextiv@\fi\fi\next@}%
  503.    \DNii@[####1]{\rostercount@####1\relax
  504.     \enspace{\rm(\number\rostercount@)}~\ignorespaces}%
  505.    \def\nextiii@"####1"{\enspace{\rm####1}~\ignorespaces}%
  506.    \def\nextiv@{\enspace{\rm(1)}\rostercount@\@ne~}%
  507.    \par@\firstitem@false  
  508.    \FN@\next@}% 
  509.  \def\nextiii@{\par\par@  
  510.   \penalty\@m\smallskip\vskip-\parskip
  511.   \firstitem@true}%  
  512.  \FN@\next@}
  513. \def\rosteritem@{\iffirstitem@\firstitem@false\else\par\vskip-\parskip\fi
  514.  \leftskip3\parindent\noindent  
  515.  \DNii@[##1]{\rostercount@##1\relax
  516.   \llap{\hbox to2.5\parindent{\hss\rm(\number\rostercount@)}%
  517.    \hskip.5\parindent}\ignorespaces}%
  518.  \def\nextiii@"##1"{%
  519.   \llap{\hbox to2.5\parindent{\hss\rm##1}\hskip.5\parindent}\ignorespaces}%
  520.  \def\nextiv@{\advance\rostercount@\@ne
  521.   \llap{\hbox to2.5\parindent{\hss\rm(\number\rostercount@)}%
  522.    \hskip.5\parindent}}%
  523.  \ifx\next[\let\next@\nextii@\else\ifx\next"\let\next@\nextiii@\else
  524.   \let\next@\nextiv@\fi\fi\next@}
  525. \def\therosteritem#1{{\rm(\ignorespaces#1\unskip)}}
  526. \newif\ifnextRunin@
  527. \def\endroster{\relaxnext@
  528.  \par\leftskip@  
  529.  \penalty-50 \vskip-\parskip\smallskip  
  530.  \DN@{\ifx\next\Runinitem\let\next@\relax
  531.   \else\nextRunin@false\let\item\plainitem@  
  532.    \ifx\next\par 
  533.     \DN@\par{\everypar\expandafter{\the\everypartoks@}}%
  534.    \else  
  535.     \DN@{\noindent\everypar\expandafter{\the\everypartoks@}}%
  536.   \fi\fi\next@}%
  537.  \FN@\next@}
  538. \newcount\rosterhangafter@
  539. \def\Runinitem#1\roster\runinitem{\relaxnext@
  540.  \rostercount@\z@ 
  541.  \def\item{\FN@\rosteritem@}%  
  542.  \def\runinitem@{#1}%  
  543.  \DN@{\ifx\next[\let\next\nextii@\else\ifx\next"\let\next\nextiii@
  544.   \else\let\next\nextiv@\fi\fi\next}%
  545.  \DNii@[##1]{\rostercount@##1\relax
  546.   \def\item@{{\rm(\number\rostercount@)}}\nextv@}%
  547.  \def\nextiii@"##1"{\def\item@{{\rm##1}}\nextv@}%
  548.  \def\nextiv@{\advance\rostercount@\@ne
  549.   \def\item@{{\rm(\number\rostercount@)}}\nextv@}%
  550.  \def\nextv@{\setbox\z@\vbox  
  551.   {\ifnextRunin@\noindent\fi  
  552.   \runinitem@\unskip\enspace\item@~\par  
  553.   \global\rosterhangafter@\prevgraf}% 
  554.   \firstitem@false  
  555.   \ifnextRunin@\else\par\fi  
  556.   \hangafter\rosterhangafter@\hangindent3\parindent
  557.   \ifnextRunin@\noindent\fi  
  558.   \runinitem@\unskip\enspace 
  559.   \item@~\ifnextRunin@\else\par@\fi  
  560.   \nextRunin@true\ignorespaces}%  
  561.  \FN@\next@}
  562. \def\footmarkform@#1{$\m@th^{#1}$}
  563. \let\thefootnotemark\footmarkform@
  564. \def\makefootnote@#1#2{\insert\footins
  565.  {\interlinepenalty\interfootnotelinepenalty
  566.  \eightpoint\splittopskip\ht\strutbox\splitmaxdepth\dp\strutbox
  567.  \floatingpenalty\@MM\leftskip\z@\rightskip\z@\spaceskip\z@\xspaceskip\z@
  568.  \leavevmode{#1}\footstrut\ignorespaces#2\unskip\lower\dp\strutbox
  569.  \vbox to\dp\strutbox{}}}
  570. \newcount\footmarkcount@
  571. \footmarkcount@\z@
  572. \def\footnotemark{\let\@sf\empty\relaxnext@
  573.  \ifhmode\edef\@sf{\spacefactor\the\spacefactor}\/\fi
  574.  \DN@{\ifx[\next\let\next@\nextii@\else
  575.   \ifx"\next\let\next@\nextiii@\else
  576.   \let\next@\nextiv@\fi\fi\next@}%
  577.  \DNii@[##1]{\footmarkform@{##1}\@sf}%
  578.  \def\nextiii@"##1"{{##1}\@sf}%
  579.  \def\nextiv@{\iffirstchoice@\global\advance\footmarkcount@\@ne\fi
  580.   \footmarkform@{\number\footmarkcount@}\@sf}%
  581.  \FN@\next@}
  582. \def\footnotetext{\relaxnext@
  583.  \DN@{\ifx[\next\let\next@\nextii@\else
  584.   \ifx"\next\let\next@\nextiii@\else
  585.   \let\next@\nextiv@\fi\fi\next@}%
  586.  \DNii@[##1]##2{\makefootnote@{\footmarkform@{##1}}{##2}}%
  587.  \def\nextiii@"##1"##2{\makefootnote@{##1}{##2}}%
  588.  \def\nextiv@##1{\makefootnote@{\footmarkform@{\number\footmarkcount@}}{##1}}%
  589.  \FN@\next@}
  590. \def\footnote{\let\@sf\empty\relaxnext@
  591.  \ifhmode\edef\@sf{\spacefactor\the\spacefactor}\/\fi
  592.  \DN@{\ifx[\next\let\next@\nextii@\else
  593.   \ifx"\next\let\next@\nextiii@\else
  594.   \let\next@\nextiv@\fi\fi\next@}%
  595.  \DNii@[##1]##2{\footnotemark[##1]\footnotetext[##1]{##2}}%
  596.  \def\nextiii@"##1"##2{\footnotemark"##1"\footnotetext"##1"{##2}}%
  597.  \def\nextiv@##1{\footnotemark\footnotetext{##1}}%
  598.  \FN@\next@}
  599. \def\adjustfootnotemark#1{\advance\footmarkcount@#1\relax}
  600. \def\footnoterule{\kern-3\p@
  601.   \hrule width 5pc\kern 2.6\p@} 
  602. \def\captionfont@{\smc}
  603. \def\topcaption#1#2\endcaption{%
  604.   {\dimen@\hsize \advance\dimen@-\captionwidth@
  605.    \rm\raggedcenter@ \advance\leftskip.5\dimen@ \rightskip\leftskip
  606.   {\captionfont@#1}%
  607.   \if\notempty{#2}.\enspace\ignorespaces#2\fi
  608.   \endgraf}\nobreak\bigskip}
  609. \def\botcaption#1#2\endcaption{%
  610.   \nobreak\bigskip
  611.   \setboxz@h{\captionfont@#1\if\notempty{#2}.\enspace\rm#2\fi}%
  612.   {\dimen@\hsize \advance\dimen@-\captionwidth@
  613.    \leftskip.5\dimen@ \rightskip\leftskip
  614.    \noindent \ifdim\wdz@>\captionwidth@ 
  615.    \else\hfil\fi 
  616.   {\captionfont@#1}\if\notempty{#2}.\enspace\rm#2\fi\endgraf}}
  617. \def\@ins{\par\begingroup\def\vspace##1{\vskip##1\relax}%
  618.   \def\captionwidth##1{\captionwidth@##1\relax}%
  619.   \setbox\z@\vbox\bgroup} % start a \vbox
  620. \def\block{\RIfMIfI@\nondmatherr@\block\fi
  621.        \else\ifvmode\vskip\abovedisplayskip\noindent\fi
  622.         $$\def\endblock{\par\egroup$$}\fi
  623.   \vbox\bgroup\advance\hsize-2\indenti\noindent}
  624. \def\endblock{\par\egroup}
  625. \def\cite#1{{\rm[{\citefont@\m@th#1}]}}
  626. \def\citefont@{\rm}
  627. \def\refsfont@{\eightpoint}
  628. \outer\def\Refs{\runaway@{proclaim}%
  629.  \relaxnext@ \DN@{\ifx\next\nofrills\DN@\nofrills{\nextii@}\else
  630.   \DN@{\nextii@{References}}\fi\next@}%
  631.  \DNii@##1{\penaltyandskip@{-200}\aboveheadskip
  632.   \line{\hfil\headfont@\ignorespaces##1\unskip\hfil}\nobreak
  633.   \vskip\belowheadskip
  634.   \begingroup\refsfont@\sfcode`.=\@m}%
  635.  \FN@\next@}
  636. \def\endRefs{\par\endgroup}
  637. \newbox\nobox@            \newbox\keybox@           \newbox\bybox@
  638. \newbox\paperbox@         \newbox\paperinfobox@     \newbox\jourbox@
  639. \newbox\volbox@           \newbox\issuebox@         \newbox\yrbox@
  640. \newbox\pagesbox@         \newbox\bookbox@          \newbox\bookinfobox@
  641. \newbox\publbox@          \newbox\publaddrbox@      \newbox\finalinfobox@
  642. \newbox\edsbox@           \newbox\langbox@
  643. \newif\iffirstref@        \newif\iflastref@
  644. \newif\ifprevjour@        \newif\ifbook@            \newif\ifprevinbook@
  645. \newif\ifquotes@          \newif\ifbookquotes@      \newif\ifpaperquotes@
  646. \newdimen\bysamerulewd@
  647. \setboxz@h{\refsfont@\kern3em}
  648. \bysamerulewd@\wdz@
  649. \newdimen\refindentwd
  650. \setboxz@h{\refsfont@ 00. }
  651. \refindentwd\wdz@
  652. \outer\def\ref{\begingroup \noindent\hangindent\refindentwd
  653.  \firstref@true \def\nofrills{\def\refkern@{\kern3sp}}%
  654.  \ref@}
  655. \def\ref@{\book@false \bgroup\let\endrefitem@\egroup \ignorespaces}
  656. \def\moreref{\endrefitem@\endref@\firstref@false\ref@}%
  657. \def\transl{\endrefitem@\endref@\firstref@false
  658.   \book@false
  659.   \prepunct@
  660.   \setboxz@h\bgroup \aftergroup\unhbox\aftergroup\z@
  661.     \def\endrefitem@{\unskip\refkern@\egroup}\ignorespaces}%
  662. \def\emptyifempty@{\dimen@\wd\currbox@
  663.   \advance\dimen@-\wd\z@ \advance\dimen@-.1\p@
  664.   \ifdim\dimen@<\z@ \setbox\currbox@\copy\voidb@x \fi}
  665. \let\refkern@\relax
  666. \def\endrefitem@{\unskip\refkern@\egroup
  667.   \setboxz@h{\refkern@}\emptyifempty@}\ignorespaces
  668. \def\refdef@#1#2#3{\edef\next@{\noexpand\endrefitem@
  669.   \let\noexpand\currbox@\csname\expandafter\eat@\string#1box@\endcsname
  670.     \noexpand\setbox\noexpand\currbox@\hbox\bgroup}%
  671.   \toks@\expandafter{\next@}%
  672.   \if\notempty{#2#3}\toks@\expandafter{\the\toks@
  673.   \def\endrefitem@{\unskip#3\refkern@\egroup
  674.   \setboxz@h{#2#3\refkern@}\emptyifempty@}#2}\fi
  675.   \toks@\expandafter{\the\toks@\ignorespaces}%
  676.   \edef#1{\the\toks@}}
  677. \refdef@\no{}{. }
  678. \refdef@\key{[\m@th}{] }
  679. \refdef@\by{}{}
  680. \def\bysame{\by\hbox to\bysamerulewd@{\hrulefill}\thinspace
  681.    \kern0sp}
  682. \def\manyby{\message{\string\manyby is no longer necessary; \string\by
  683.   can be used instead, starting with version 2.0 of \styname.STY}\by}
  684. \refdef@\paper{\ifpaperquotes@``\fi\it}{}
  685. \refdef@\paperinfo{}{}
  686. \def\jour{\endrefitem@\let\currbox@\jourbox@
  687.   \setbox\currbox@\hbox\bgroup
  688.   \def\endrefitem@{\unskip\refkern@\egroup
  689.     \setboxz@h{\refkern@}\emptyifempty@
  690.     \ifvoid\jourbox@\else\prevjour@true\fi}%
  691. \ignorespaces}
  692. \refdef@\vol{\ifbook@\else\bf\fi}{}
  693. \refdef@\issue{no. }{}
  694. \refdef@\yr{}{}
  695. \refdef@\pages{}{}
  696. \def\page{\endrefitem@\def\pp@{\def\pp@{pp.~}p.~}\let\currbox@\pagesbox@
  697.   \setbox\currbox@\hbox\bgroup\ignorespaces}
  698. \def\pp@{pp.~}
  699. \def\book{\endrefitem@ \let\currbox@\bookbox@
  700.  \setbox\currbox@\hbox\bgroup\def\endrefitem@{\unskip\refkern@\egroup
  701.   \setboxz@h{\ifbookquotes@``\fi}\emptyifempty@
  702.   \ifvoid\bookbox@\else\book@true\fi}%
  703.   \ifbookquotes@``\fi\it\ignorespaces}
  704. \def\inbook{\endrefitem@
  705.   \let\currbox@\bookbox@\setbox\currbox@\hbox\bgroup
  706.   \def\endrefitem@{\unskip\refkern@\egroup
  707.   \setboxz@h{\ifbookquotes@``\fi}\emptyifempty@
  708.   \ifvoid\bookbox@\else\book@true\previnbook@true\fi}%
  709.   \ifbookquotes@``\fi\ignorespaces}
  710. \refdef@\eds{(}{, eds.)}
  711. \def\ed{\endrefitem@\let\currbox@\edsbox@
  712.  \setbox\currbox@\hbox\bgroup
  713.  \def\endrefitem@{\unskip, ed.)\refkern@\egroup
  714.   \setboxz@h{(, ed.)}\emptyifempty@}(\ignorespaces}
  715. \refdef@\bookinfo{}{}
  716. \refdef@\publ{}{}
  717. \refdef@\publaddr{}{}
  718. \refdef@\finalinfo{}{}
  719. \refdef@\lang{(}{)}
  720. \def\toappear{\nofrills\finalinfo(to appear)}
  721. \let\refdef@\relax 
  722. \def\ppunbox@#1{\ifvoid#1\else\prepunct@\unhbox#1\fi}
  723. \def\nocomma@#1{\ifvoid#1\else\changepunct@3\prepunct@\unhbox#1\fi}
  724. \def\changepunct@#1{\ifnum\lastkern<3 \unkern\kern#1sp\fi}
  725. \def\prepunct@{\count@\lastkern\unkern
  726.   \ifnum\lastpenalty=0
  727.     \let\penalty@\relax
  728.   \else
  729.     \edef\penalty@{\penalty\the\lastpenalty\relax}%
  730.   \fi
  731.   \unpenalty
  732.   \let\refspace@\ \ifcase\count@,% usual case, do a comma
  733. \or;\or.\or % do nothing; this case is from nofrills.
  734.   \or\let\refspace@\relax
  735.   \else,\fi
  736.   \ifquotes@''\quotes@false\fi \penalty@ \refspace@
  737. }
  738. \def\transferpenalty@#1{\dimen@\lastkern\unkern
  739.   \ifnum\lastpenalty=0\unpenalty\let\penalty@\relax
  740.   \else\edef\penalty@{\penalty\the\lastpenalty\relax}\unpenalty\fi
  741.   #1\penalty@\kern\dimen@}
  742. \def\endref{\endrefitem@\lastref@true\endref@
  743.   \par\endgroup \prevjour@false \previnbook@false }
  744. \def\endref@{%
  745. \iffirstref@
  746.   \ifvoid\nobox@\ifvoid\keybox@\indent\fi
  747.   \else\hbox to\refindentwd{\hss\unhbox\nobox@}\fi
  748.   \ifvoid\keybox@
  749.   \else\ifdim\wd\keybox@>\refindentwd
  750.          \box\keybox@
  751.        \else\hbox to\refindentwd{\unhbox\keybox@\hfil}\fi\fi
  752.   \kern4sp\ppunbox@\bybox@
  753. \fi 
  754.   \ifvoid\paperbox@
  755.   \else\prepunct@\unhbox\paperbox@
  756.     \ifpaperquotes@\quotes@true\fi\fi
  757.   \ppunbox@\paperinfobox@
  758.   \ifvoid\jourbox@
  759.     \ifprevjour@ \nocomma@\volbox@
  760.       \nocomma@\issuebox@
  761.       \ifvoid\yrbox@\else\changepunct@3\prepunct@(\unhbox\yrbox@
  762.         \transferpenalty@)\fi
  763.       \ppunbox@\pagesbox@
  764.     \fi 
  765.   \else \prepunct@\unhbox\jourbox@
  766.     \nocomma@\volbox@
  767.     \nocomma@\issuebox@
  768.     \ifvoid\yrbox@\else\changepunct@3\prepunct@(\unhbox\yrbox@
  769.       \transferpenalty@)\fi
  770.     \ppunbox@\pagesbox@
  771.   \fi 
  772.   \ifbook@\prepunct@\unhbox\bookbox@ \ifbookquotes@\quotes@true\fi \fi
  773.   \nocomma@\edsbox@
  774.   \ppunbox@\bookinfobox@
  775.   \ifbook@\ifvoid\volbox@\else\prepunct@ vol.~\unhbox\volbox@
  776.   \fi\fi
  777.   \ppunbox@\publbox@ \ppunbox@\publaddrbox@
  778.   \ifbook@ \ppunbox@\yrbox@
  779.     \ifvoid\pagesbox@
  780.     \else\prepunct@\pp@\unhbox\pagesbox@\fi
  781.   \else
  782.     \ifprevinbook@ \ppunbox@\yrbox@
  783.       \ifvoid\pagesbox@\else\prepunct@\pp@\unhbox\pagesbox@\fi
  784.     \fi \fi
  785.   \ppunbox@\finalinfobox@
  786.   \iflastref@
  787.     \ifvoid\langbox@.\ifquotes@''\fi
  788.     \else\changepunct@2\prepunct@\unhbox\langbox@\fi
  789.   \else
  790.     \ifvoid\langbox@\changepunct@1%
  791.     \else\changepunct@3\prepunct@\unhbox\langbox@
  792.       \changepunct@1\fi
  793.   \fi
  794. }
  795. \outer\def\enddocument{%
  796.  \runaway@{proclaim}%
  797. \ifmonograph@ % do nothing
  798. \else
  799.  \nobreak
  800.  \thetranslator@
  801.  \count@\z@ \loop\ifnum\count@<\addresscount@\advance\count@\@ne
  802.  \csname address\number\count@\endcsname
  803.  \csname email\number\count@\endcsname
  804.  \repeat
  805. \fi
  806.  \vfill\supereject\end}
  807. \def\folio{{\foliofont@\ifnum\pageno<\z@ \romannumeral-\pageno
  808.  \else\number\pageno \fi}}
  809. \def\foliofont@{\eightrm}
  810. \def\headlinefont@{\eightpoint}
  811. \def\leftheadline{\rlap{\folio}\hfill \iftrue\topmark\fi \hfill}
  812. \def\rightheadline{\hfill \expandafter\iffalse\botmark\fi
  813.   \hfill \llap{\folio}}
  814. \newtoks\leftheadtoks
  815. \newtoks\rightheadtoks
  816. \def\leftheadtext{\nofrills@{\uppercasetext@}\lht@
  817.   \DNii@##1{\leftheadtoks\expandafter{\lht@{##1}}%
  818.     \mark{\the\leftheadtoks\noexpand\else\the\rightheadtoks}
  819.     \ifsyntax@\setboxz@h{\def\\{\unskip\space\ignorespaces}%
  820.         \headlinefont@##1}\fi}%
  821.   \FN@\next@}
  822. \def\rightheadtext{\nofrills@{\uppercasetext@}\rht@
  823.   \DNii@##1{\rightheadtoks\expandafter{\rht@{##1}}%
  824.     \mark{\the\leftheadtoks\noexpand\else\the\rightheadtoks}%
  825.     \ifsyntax@\setboxz@h{\def\\{\unskip\space\ignorespaces}%
  826.         \headlinefont@##1}\fi}%
  827.   \FN@\next@}
  828. \headline={\def\chapter#1{\chapterno@. }%
  829.   \def\\{\unskip\space\ignorespaces}\headlinefont@
  830.   \ifodd\pageno \rightheadline \else \leftheadline\fi}
  831. \def\NoRunningHeads{\global\runheads@false\global\let\headmark\eat@}
  832. \def\NoPageNumbers{\gdef\folio{}}
  833. \def\logo@{\baselineskip2pc \hbox to\hsize{\hfil\eightpoint Typeset by
  834.  \AmSTeX}}
  835. \newif\iffirstpage@     \firstpage@true
  836. \newif\ifrunheads@      \runheads@true
  837. \output={\output@}
  838. \def\output@{\shipout\vbox{%
  839.  \iffirstpage@ \global\firstpage@false
  840.   \pagebody \logo@ \makefootline%
  841.  \else \ifrunheads@ \makeheadline \pagebody
  842.        \else \pagebody \makefootline \fi
  843.  \fi}%
  844.  \advancepageno \ifnum\outputpenalty>-\@MM\else\dosupereject\fi}
  845. \tenpoint
  846. \catcode`\@=\active
  847. \endinput
  848.