% PAPER.ST  VERSION 2.0
% COPYRIGHT (C) 1989, 1990, 1991 BY THE TEXPLORATORS CORPORATION
% ALL RIGHTS RESERVED

% IF THIS FILE IS MODIFIED IN ANY WAY, IT SHOULD BE GIVEN A DIFFERENT NAME !

\catcode`\@=11
\ifx\paperst@\relax\catcode`\@=\active\endinput\else\let\paperst@\relax\fi
\let\alloc@=\alloc@@

\hsize=30pc
\vsize=42pc
\parindent=1em
\normallineskiplimit=1pt
\advance\hoffset 48pt
\advance\voffset 78pt

\font@\ninerm=cmr9
\font@\eightrm=cmr8
\font@\sixrm=cmr6
\font@\eighti=cmmi8   \skewchar\eighti='177
\font@\sixi=cmmi6     \skewchar\sixi='177
\font@\ninesy=cmsy9   \skewchar\ninesy='60
\font@\eightsy=cmsy8  \skewchar\eightsy='60
\font@\sixsy=cmsy6    \skewchar\sixsy='60
\font@\eightbf=cmbx8
\font@\sixbf=cmbx6
\font@\eightit=cmti8
\font@\eightsl=cmsl8
\font@\eighttt=cmtt8

\ifmsamloaded@
 \font@\eightmsa=msam8
 \font@\sixmsa=msam6
\fi

\ifmsbmloaded@
 \font@\eightmsb=msbm8
 \font@\sixmsb=msbm6
\fi

\ifeufmloaded@
 \font@\eighteufm=eufm8
 \font@\sixeufm=eufm6
\fi

\ifcmmibloaded@
 \font@\eightcmmib=cmmib8 \skewchar\eightcmmib='177
 \font@\sixcmmib=cmmib6 \skewchar\sixcmmib='177
\fi

\ifcmbsyloaded@
 \font@\eightcmbsy=cmbsy8 \skewchar\eightcmbsy='60
 \font@\sixcmbsy=cmbsy6 \skewchar\sixcmbsy='60
\fi

\newskip\ttglue@

\def\tenpoint{\def\pointsize@{10}%
 \normalbaselineskip12\p@
 \abovedisplayskip12\p@ plus3\p@ minus9\p@
 \belowdisplayskip12\p@ plus3\p@ minus9\p@
 \abovedisplayshortskip\z@ plus3\p@
 \belowdisplayshortskip7\p@ plus3\p@ minus4\p@
 \textonlyfont@\rm\tenrm
 \textonlyfont@\it\tenit
 \textonlyfont@\sl\tensl
 \textonlyfont@\bf\tenbf
 \ifsyntax@\def\big##1{{\hbox{$\left##1\right.$}}}\else
  \let\big\tenbig@
  \textfont\z@\tenrm  \scriptfont\z@\sevenrm  \scriptscriptfont\z@\fiverm
  \textfont\@ne\teni  \scriptfont\@ne\seveni  \scriptscriptfont\@ne\fivei
  \textfont\tw@\tensy \scriptfont\tw@\sevensy \scriptscriptfont\tw@\fivesy
  \textfont\thr@@\tenex \scriptfont\thr@@\tenex \scriptscriptfont\thr@@\tenex
  \textfont\itfam\tenit
  \textfont\slfam\tensl
  \textfont\bffam\tenbf \scriptfont\bffam\sevenbf
   \scriptscriptfont\bffam\fivebf
  \ifmsamloaded@
   \textfont\msafam\tenmsa \scriptfont\msafam\sevenmsa
    \scriptscriptfont\msafam\fivemsa
  \fi
  \ifmsbmloaded@
   \textfont\msbfam\tenmsb \scriptfont\msbfam\sevenmsb
    \scriptscriptfont\msbfam\fivemsb
  \fi
  \ifeufmloaded@
   \textfont\eufmfam\teneufm \scriptfont\eufmfam\seveneufm
    \scriptscriptfont\eufmfam\fiveeufm
  \fi
  \ifcmmibloaded@
   \textfont\cmmibfam\tencmmib \scriptfont\cmmibfam\sevencmmib
    \scriptscriptfont\cmmibfam\fivecmmib
  \fi
  \ifcmbsyloaded@
   \textfont\cmbsyfam\tencmbsy \scriptfont\cmbsyfam\sevencmbsy
    \scriptscriptfont\cmbsyfam\fivecmbsy
  \fi
 \fi
 \let\tt\tentt
 \tt\ttglue@.5emminus.15em
 \setbox\strutbox\hbox{\vrule\height8.5\p@\depth3.5\p@\width\z@}%
 \setbox\strutbox@\hbox{\vrule\height8\p@\depth3\p@\width\z@}%
 \ex@.2326ex\normalbaselines\ifmmode\else\rm\fi}

\def\tenbig@#1{{\hbox{$\left#1\vbox to8.5\p@{}\right.\n@space$}}}

\tenpoint

\def\eightpoint{\def\pointsize@{8}%
 \normalbaselineskip10\p@
 \abovedisplayskip10\p@ plus2.4\p@ minus7.2\p@
 \belowdisplayskip10\p@ plus2.4\p@ minus7.2\p@
 \abovedisplayshortskip\z@ plus2.4\p@
 \belowdisplayshortskip5.6\p@ plus2.4\p@ minus3.2\p@
 \textonlyfont@\rm\eightrm
 \textonlyfont@\it\eightit
 \textonlyfont@\sl\eightsl
 \textonlyfont@\bf\eightbf
 \ifsyntax@\def\big##1{{\hbox{$\left##1\right.$}}}\else
  \let\big\eightbig@
  \textfont\z@\eightrm \scriptfont\z@\sixrm  \scriptscriptfont\z@\fiverm
  \textfont\@ne\eighti \scriptfont\@ne\sixi  \scriptscriptfont\@ne\fivei
  \textfont\tw@\eightsy \scriptfont\tw@\sixsy \scriptscriptfont\tw@\fivesy
  \textfont\thr@@\tenex \scriptfont\thr@@\tenex \scriptscriptfont\thr@@\tenex
  \textfont\itfam\eightit
  \textfont\slfam\eightsl
  \textfont\bffam\eightbf \scriptfont\bffam\sixbf
   \scriptscriptfont\bffam\fivebf
  \ifmsamloaded@
   \textfont\msafam\eightmsa \scriptfont\msafam\sixmsa
    \scriptscriptfont\msafam\fivemsa
  \fi
  \ifmsbmloaded@
   \textfont\msbfam\eightmsb \scriptfont\msbfam\sixmsb
    \scriptscriptfont\msbfam\fivemsb
  \fi
  \ifeufmloaded@
   \textfont\eufmfam\eighteufm \scriptfont\eufmfam\sixeufm
    \scriptscriptfont\eufmfam\fiveeufm
  \fi
  \ifcmmibloaded@
   \textfont\cmmibfam\eightcmmib \scriptfont\cmmibfam\sixcmmib
    \scriptscriptfont\cmmibfam\fivecmmib
  \fi
  \ifcmbsyloaded@
   \textfont\cmbsyfam\eightcmbsy \scriptfont\cmbsyfam\sixcmbsy
    \scriptscriptfont\cmbsyfam\fivecmbsy
  \fi
 \fi
 \let\tt\eighttt
 \tt\ttglue@.4emminus.12em
 \setbox\strutbox\hbox{\vrule\height7\p@\depth3\p@\width\z@}%
 \setbox\strutbox@\hbox{\vrule\height6.5\p@\depth2.5\p@\width\z@}%
 \ex@.2326ex\normalbaselines\ifmmode\else\rm\fi}

\def\eightbig@#1{{\hbox{$\textfont\z@\ninerm\textfont\tw@\ninesy
 \left#1\vbox to6.5\p@{}\right.\n@space$}}}

{\catcode` =\active
\gdef\litcodes@@{\def {\allowbreak\hskip\ttglue@}}}

\footline={\hss\tenpoint\folio\hss}

\def\LamSTeX{L\kern-.4em\raise.3ex\hbox{$\ssize\Cal A$}%
 \DN@{10}\ifx\next@\pointsize@\kern-.25em\else\kern-.3em\fi
 \lower.4ex\hbox{\DN@{10}\ifx\next@\pointsize@\eightsy\else\sixsy\fi M}%
 \kern-.1em{$\Cal S$}-\TeX}

\def\claimformat@#1#2#3{\medbreak\noindent@@
 \DN@{8}\ifx\pointsize@\next@
  \rm\uppercase{#1 {\claim@@@F#2} #3}\punct@{\null.}\addspace@\enspace\else
  \smc#1 {\claim@@@F#2} #3\punct@{\null.}\addspace@\enspace\fi
 \sl}

\def\windex@{\ifindexing@
 \expandafter\unmacro@\meaning\stari@\unmacro@
 \edef\macdef@{\string"\macdef@\string"}%
 \edef\next@{\write\ndx@{\macdef@}}\next@
 \write\ndx@{{\number\pageno}{\page@N}{\page@P}{\page@Q}}%
 \fi
 \ifindexproofing@
  \ifx\stariii@\empty\else
   \expandafter\unmacro@\meaning\stariii@\unmacro@\fi
  \insert\margin@{\hbox{\eightpoint
  \vrule\height7\p@\depth3\p@\width\z@\starii@
  \ifx\stariii@\empty\else\tt\macdef@\fi}}\fi}

\newcount\toclevel@
\toclevel@=3
\def\toclevel#1{\toclevel@#1\relax}

\def\HLtoc@{%
 \iftoc@
  \ifnum\toclevel@<\@ne \else
   {\noexpands@\let\style\relax
   \edef\next@{\write\toc@{%
   \noexpand\noexpand\expandafter\noexpand\HLname@
   {\expandafter\noexpand\csname HL@W\HLlevel@\endcsname}{\QorThelabel@@@@}}}%
   \next@}%
   \expandafter\unmacro@\meaning\entry@\unmacro@
   \Sixtoc@
   \write\toc@{\noexpand\Page{\number\pageno}{\page@N}%
    {\page@P}{\page@Q}^^J}%
  \fi
 \fi}

\def\hltoc@{%
 \iftoc@ 
  \ifnum\hllevel@<\toclevel@
   {\noexpands@\let\style\relax
   \edef\next@{\write\toc@{%
    \ifnopunct@\noexpand\noexpand\noexpand\nopunct\fi
    \ifnospace@\noexpand\noexpand\noexpand\nospace\fi
    \noexpand\noexpand\expandafter\noexpand\hlname@
   {\expandafter\noexpand\csname hl@W\hllevel@\endcsname}{\QorThelabel@@@@}}}%
   \next@}%
   \expandafter\unmacro@\meaning\entry@\unmacro@
   \Sixtoc@
   \write\toc@{\noexpand\Page{\number\pageno}{\page@N}%
   {\page@P}{\page@Q}^^J}%
  \fi
 \fi}

\def\notocwrite@#1#2#3{\iftoc@\test@true\else\test@false\fi
 \toc@false#1{#2}#3\iftest@\toc@true\fi}

\notocwrite@\NameHL1\heading
\newfontstyle\heading{\smc}
\newif\ifinsection@

\expandafter\def\csname HL@1\endcsname#1\endHL{\global\insection@false
 \bigbreak\medskip
 {\locallabel@
  \global\setbox\@ne\vbox{\Let@\tabskip\hss@
  \halign to\hsize{\smc\hfil\ignorespaces##\unskip\hfil\cr
   \expandafter\ifx\csname HL@W1\endcsname\empty\else
   \csname HL@W1\endcsname\space\fi
   {\HL@@F\ifx\thelabel@@\empty\else\thelabel@@\space\fi}%
   \ignorespaces#1\crcr}}}\unvbox\@ne\nobreak\medskip}

\def\appendices{%
 \NameHL1\appendix
 \Reset\appendix\@ne
 \newnumstyle\appendix\Alph
 \newword\appendix{Appendix}% 
}

\notocwrite@\Namehl1\section
\newstyle\section#1{#1\null.}

\newif\ifcontinuesection@
\def\keepsection{\global\continuesection@true}

\expandafter\def\csname hl@1\endcsname#1{\global\insection@true
 \global\continuesection@false
 \medbreak\noindent@@
 {\locallabel@
  \bf{\hl@@F\ifx\thelabel@@\empty\else\thelabel@@\space\fi}%
  \ignorespaces#1\unskip\punct@{\null.}}%
 \par\nobreak\smallskip}

\expandafter\newcount\csname hl@C2\endcsname
\csname hl@C2\endcsname\z@
\expandafter\def\csname hl@S2\endcsname#1{#1\null.}
\expandafter\let\csname hl@N2\endcsname\arabic
\expandafter\let\csname hl@P2\endcsname\empty
\expandafter\let\csname hl@Q2\endcsname\empty
\expandafter\def\csname hl@F2\endcsname{\bf}
\expandafter\let\csname hl@W2\endcsname\empty

\notocwrite@\Namehl2\subsection

\expandafter\def\csname hl@2\endcsname#1{%
 \ifinsection@
  \smallbreak
  \noindent@@
  {\locallabel@
   {\hl@@F\ifx\thelabel@@\empty\else\thelabel@@\space\fi}\bf
   \ignorespaces#1\unskip\punct@{\null.}\addspace@\enspace}%
 \else
  \Err@{\noexpand\subsection not in a \string\section}%
 \fi}

\expandafter\newcount\csname hl@C3\endcsname
\csname hl@C3\endcsname\z@
\expandafter\def\csname hl@S3\endcsname#1{#1}
\expandafter\let\csname hl@N3\endcsname\arabic
\expandafter\let\csname hl@P3\endcsname\empty
\expandafter\let\csname hl@Q3\endcsname\empty
\expandafter\let\csname hl@F3\endcsname\empty
\expandafter\let\csname hl@W3\endcsname\empty

\notocwrite@\Namehl3\topic

\expandafter\def\csname hl@3\endcsname#1{%
 \smallbreak
 \noindent@@
 {\locallabel@
  \bf\ignorespaces#1\unskip\punct@{\null.}\addspace@\enspace}}

\expandafter\newcount\csname hl@C4\endcsname
\csname hl@C4\endcsname\z@
\expandafter\def\csname hl@S4\endcsname#1{#1}
\expandafter\let\csname hl@N4\endcsname\arabic
\expandafter\let\csname hl@P4\endcsname\empty
\expandafter\let\csname hl@Q4\endcsname\empty
\expandafter\let\csname hl@F4\endcsname\empty
\expandafter\let\csname hl@W4\endcsname\empty

\notocwrite@\Namehl4\subtopic

\expandafter\def\csname hl@4\endcsname#1{%
 \smallbreak
 {\locallabel@\bf\ignorespaces#1\unskip
 \punct@{\null.}\addspace@\enspace}}

\expandafter\def\csname HL@I1\endcsname{\ifcontinuesection@
 \else\Reset\hl11\fi}
\expandafter\def\csname hl@I1\endcsname{\Reset\hl21%
 \newpre\hl2{\ifx\pref\empty\else\pref.\fi}}
\expandafter\def\csname hl@I2\endcsname{\Reset\hl31}
\expandafter\def\csname hl@I3\endcsname{\Reset\hl41}

\def\vfootnote@#1{\insert\footins
 \bgroup
 \floatingpenalty\@MM\interlinepenalty\interfootnotelinepenalty
 \leftskip\z@\rightskip\z@\spaceskip\z@\xspaceskip\z@
 \eightpoint
 \splittopskip\ht\strutbox\splitmaxdepth\dp\strutbox
 \locallabel@\noindent@@{\foottext@F#1}\modifyfootnote@
 \footstrut\FN@\fo@t}

\newbox\abstractbox@
\rightadd@\abstract\to\nofrillslist@
\def\abstract@W{Abstract}

\def\abstract{\begingroup
 \global\setbox\abstractbox@\vbox\bgroup
  \eightpoint\leftskip24\p@ \rightskip\leftskip
  \everydisplay{\advance\displaywidth-48\p@\displayindent24\p@
   \csname displaymath \endcsname}%
 \tolerance800
 \noindent@@
 \ifx\abstract@W\empty\else
  \abstract@W\punct@{\null.}\addspace@\enspace\fi}

\def\endabstract{\egroup\endgroup}

\let\thanks@\relax
\long\def\thanks#1{\gdef\thanks@{\ignorespaces#1\unskip}}

\let\keywords@\relax
\def\keywords#1{\gdef\keywords@{{\ignorespaces#1}}}

\let\subjclass@\relax
\def\subjclass#1{\gdef\subjclass@{{\ignorespaces#1}}}

\newcount\addresscount@
\addresscount@\z@
\long\def\address#1{\global\advance\addresscount@\@ne
 \expandafter\gdef\csname address\number\addresscount@\endcsname
 {{\ignorespaces#1}}}

\def\bye{\par\nobreak\vskip12\p@ minus6\p@
 \eightpoint
 \ifx\keywords@\relax\else
 \noindent@@{\it Keywords.\enspace}\keywords@\par\fi
 \ifx\subjclass@\relax\else
 \noindent@@ 1980 {\it Mathematics subject classifications\/}\colon@\space
  \subjclass@\par\fi
 \ifnum\addresscount@>\z@
 \nobreak\vskip12\p@ minus6\p@
 \loop\ifnum\addresscount@>\z@
 \csname address\number\addresscount@\endcsname\endgraf
 \global\advance\addresscount@\m@ne
 \repeat
 \fi
 \vfill\supereject
 \end}

\let\enddocument\bye

\let\pretitle\empty
\let\preauthor\empty
\let\preaffil\empty
\let\predate\empty
\let\preabstract\empty
\let\prepaper\empty

\def\maketitle{\hrule\height\z@\vskip-\topskip
 \pretitle
 \vskip24\p@ plus12\p@ minus12\p@
 \unvbox\titlebox@
 \preauthor
 \ifvoid\authorbox@\else\vskip12\p@ plus6\p@ minus3\p@\unvbox\authorbox@\fi
 \preaffil
 \ifvoid\affilbox@\else\vskip10\p@ plus5\p@ minus2\p@\unvbox\affilbox@\fi
 \predate
 \ifx\date@\relax\else\vskip6\p@ plus2\p@ minus\p@\centerline{\rm\date@}%
  \let\date@\relax\fi
 \preabstract
 \ifx\thanks@\relax\else\vfootnote@{}\thanks@\let\thanks@\relax\fi
 \ifvoid\abstractbox@\else\vskip15\p@ plus12\p@ minus12\p@
  \unvbox\abstractbox@\fi
 \prepaper
 \vskip18\p@ plus12\p@ minus6\p@}

\def\makebib{\begingroup\eightpoint
 \bigbreak\centerline{\smc\makebib@W}%
 \nobreak\medskip
 \sfcode`\.=\@m\everypar{}\parindent\z@
 \def\nopunct{\nopunct@true}\def\nospace{\nospace@true}%
 \nopunct@false\nospace@false
 \def\lkerns@{\null\kern\m@ne sp\kern\@ne sp}%
 \def\nkerns@{\null\kern-\tw@ sp\kern\tw@ sp}%
}

\def\beginthebibliography@#1{\eightpoint
 \setboxz@h{#1\ }\bibindent@\wdz@
 \bigbreak\centerline{\smc\bibliography@W}\nobreak\medskip
 \sfcode`\.=\@m\everypar{}\parindent\z@}

\def\dotleaders{\leaders\hbox to10pt{\rm\hfil.\hfil}\hfil}%
\def\Page@#1#2#3#4{\kern10pt\hbox{\rm#3#2{#1}#4}}%
\long\def\widerthanhsize@#1#2#3#4{\test@true
 \setbox\z@\vbox{\hsize\maxdimen
  \rm\noindent@#1#2#3#4\par\setboxzl@}%
 \ifdim\wdz@=\z@\setboxz@h{\kern24\p@\rm#1#2#3#4}\ifdim\wdz@>\hsize\else
 \test@false\fi\fi}%
\long\def\setentry@#1#2#3#4{%
 \widerthanhsize@{#1}{#2}{#3}{#4}%
 \iftest@
  \longentry@{#1}{#2}{#3}{#4}%  
 \else
  \hbox to\hsize{\kern24\p@\rm\strut#1#2#3#4\strut}%
 \fi}%
\def\endstrut@{\lower\dp\strutbox\vbox to\dp\strutbox{}}%
\newdimen\thehang@
\long\def\longentry@#1#2#3#4{\setboxz@h{#1}%
 \thehang@\wdz@\advance\thehang@10\p@
 \setboxz@h{#4}%
 \setbox\z@\vbox{\advance\hsize-\wdz@\advance\hsize-20\p@
  \normalbaselines
  \hangafter\@ne\hangindent\thehang@\leftskip24\p@
  \vskip-\parskip
  \noindent@\rm\strut\hbox{#1}#2\vphantom{#3#4}\strut}%
 \setbox\z@\vbox{\unvbox\z@
  \setboxzl@ 
  \hbox to\hsize{\kern\thehang@\unhbox\z@\unskip\unskip#3#4\strut}%  
  }%
 \unvbox\z@}%
\newif\ifemptynumber@
\def\Style@{\emptynumber@false\FN@\Style@@}%
\def\Style@@{\ifx\next"\expandafter\Style@@@\else\expandafter\Style@@@@\fi}%
\def\Style@@@@#1\Style@{\style{#1}}%
\def\Style@@@"#1"\Style@{\DN@{#1}\ifx\next@\emtpy\emptynumber@true
 \else\emptynumber@false#1\fi}%
\newdimen\digits

\def\maketoc@W{Contents}

\def\maketoc{\par
 \begingroup
 \eightpoint\tolerance800
 \unlabel@\noset@\let\nopunct\relax\let\nospace\relax\let\overlong\relax
 \everypar{}\parindent\z@
 \lineskiplimit\z@
 \def\HL##1##2##3##4\Page##5##6##7##8{\def\HLlevel@{##1}%
  \ifnum\HLlevel@=\@ne
   \begingroup
   \def\\{\unskip\space\ignorespaces}%
   \setentry@{\bf\def\next@{##2}\ifx\next@\empty\else##2 \fi
    \let\style\HL@@S\Style@##3\Style@
    \ifemptynumber@\else\space\fi}%
    {\bf\ignorespaces##4\unskip}\dotleaders{\Page@{##5}{##6}{##7}{##8}}%
   \endgroup
  \else
   \Err@{\string\HL##1 not defined in this style}%
  \fi}%
 \setbox0\hbox{0.00}%
 \digits\wd\z@
 \def\hl##1##2##3##4\Page##5##6##7##8{\def\hllevel@{##1}%
  \ifnum\hllevel@<\thr@@
   \begingroup
   \setentry@{\rm\kern\hllevel@ em\quad\let\style\hl@@S
    \Style@##3\Style@\ifemptynumber@\else\space\fi}%
    {\rm\ignorespaces##4\unskip}\dotleaders{\Page@{##5}{##6}{##7}{##8}}%
   \endgroup
  \else
  \ifnum\hllevel@<5
   \setentry@{}{\rm\kern\hllevel@ em\quad\ignorespaces##4\unskip}%
    \dotleaders{\Page@{##5}{##6}{##7}{##8}}%
  \else
   \Err@{\string\hl##1 not defined in this style}%
  \fi\fi}%
 \def\NameHL##1##2{\def##2####1####2####3\Page{%
  \HL{##1}{####1}{####2}####3\Page}}%
 \def\Namehl##1##2{\def##2####1####2####3\Page{%
  \hl{##1}{####1}{####2}####3\Page}}%
 \NameHL1\heading \Namehl1\section \Namehl2\subsection \Namehl3\topic
 \Namehl4\subtopic
 \centerline{\smc\maketoc@W}%
 \nobreak
 \vskip18\p@ plus12\p@ minus6\p@
 \advance\hsize-24\p@
 \input\jobname.toc
 \endgroup
 \vskip12\p@ plus8\p@ minus4\p@
}

\def\alloc@#1#2#3#4#5{\global\advance\count1#1by\@ne
 \ch@ck#1#4#2\allocationnumber=\count1#1
 \global#3#5=\allocationnumber
 \wlog{\string#5=\string#2\the\allocationnumber}}
\catcode`\@=\active
