% \def\filename{aspmproc.dtx}
% \def\fileversion{0.8}
% \def\filedate{95/10/5}
% \def\docdate{95/10/5}
% \CheckSum{1063}
% \MakeShortVerb\|
% \title{A \latex/ package for\\
% Advanced Studies in Pure Mathematics\thanks{This file has version
% \fileversion\ last revised \filedate}}
% \author{Akihiro Munemasa\\
% Graduate School of Mathematics\\
% Kyushu University\\
% Fukuoka, 812-81, Japan\\
% \texttt{email: munemasa@math.kyushu-u.ac.jp}}
% \date{Version \fileversion, \docdate}
% \newcommand{\AmSLaTeX}{{\the\textfont2 A\kern-.1667em%
% \lower.5ex\hbox{M}\kern-.125emS}-\LaTeX}
% \makeatletter
% \chardef\bslchar=`\\
% \newcommand{\addbslash}{\expandafter\@addbslash\string}
% \def\@addbslash#1{\bslchar\@nobslash#1}
% \newcommand{\nobslash}{\expandafter\@nobslash\string}
% \def\@nobslash#1{\ifnum`#1=\bslchar\else#1\fi}
% \newcommand{\autoindex}{\index}
% \newcommand{\ntt}{\normalfont\ttfamily}
% \def\@boxorbreak{\leavevmode
%   \ifmmode\hbox\else\ifdim\lastskip=\z@\penalty9999 \fi\fi}
% \DeclareRobustCommand{\cs}[1]{\@boxorbreak{\ntt\addbslash#1\@empty
%   \autoindex{\nobslash#1@\string\cs{\string#1\@empty}}}}
% \DeclareRobustCommand{\cn}[1]{\@boxorbreak{\ntt\addbslash#1\@empty
%   \autoindex{\nobslash#1@\string\cn{\string#1\@empty}}}}
% \DeclareRobustCommand{\cls}[1]{{\ntt#1}
%   \autoindex{#1@\string\cls{#1} class}}
% \DeclareRobustCommand{\pkg}[1]{{\ntt#1}
%   \autoindex{#1@\string\pkg{#1} package}}
% \DeclareRobustCommand{\opt}[1]{{\ntt#1}
%   \autoindex{#1@\string\opt{#1} option}}
% \DeclareRobustCommand{\env}[1]{{\ntt#1}
%   \autoindex{#1@\string\env{#1} environment}}
% \DeclareRobustCommand{\fn}[1]{{\ntt#1}
%    \autoindex{#1@\string\fn{#1}}}
% \DeclareRobustCommand{\bst}[1]{{\ntt#1}\autoindex{#1@{\string\ntt{}#1
%   bibliography style}}}
% \makeatother
% \def\AmS{{\protect\usefont{OMS}{cmsy}{m}{n}%
%   A\kern-.1667em\lower.5ex\hbox{M}\kern-.125emS}}
% \def\latex/{{\protect\LaTeX}}
% \def\amslatex/{{\protect\AmS-\protect\LaTeX}}
% \def\tex/{{\protect\TeX}}
% \def\amstex/{{\protect\AmS-\protect\TeX}}
% \def\bibtex/{{Bib\protect\TeX}}
% \def\makeindx/{MakeIndex}
% \begin{document}
% \maketitle
%
%
% \section{Introduction}
% The volumes of Advanced Studies in Pure Mathematics series have been
% typeset by \amstex/ using \fn{aspm.sty} written by Chiaki Tsukamoto
% \cite{ASPM}. As \latex/ has become increasingly popular and its mathematical
% typesetting capability is enhanced by \amslatex/ \cite{ALG}, it is natural
% for the contributors of papers to expect their papers in \latex/ format
% to be accepted. The package  \fn{aspmproc.sty} is designed to produce the
% same (although currently, not exactly the same) DVI output from a \latex/
% source file without taking trouble of converting it to \amstex/. This
% eliminates the work required by the editor
% to convert \latex/ source files to \amstex/ source files. If the authors
% follow the instructions for preparing papers \cite{INS},
% then the editor's work will simply be to add a few lines of code
% in the preamble. Also, this package eliminates the need of documentation
% for authors; the authors should consult with \cite{INS} (also \cite{ALG},
% if he or she is not familiar with \amslatex/). This is an
% improvement over the use of \fn{aspm.sty}, as the documentation of
% \fn{aspm.sty} is available only in Japanese.
% I do not believe that there is
% necessity to distribute the package \fn{aspmproc.sty} to authors. Instead,
% authors are instructed to use the documentclass file \fn{amsproc.cls}
% included in the \amslatex/ distribution. Only after an article is
% accepted for publication, the editor can make necessary changes described
% in the next section in order to use the package \fn{aspmproc.sty}.
%
% \section{Editor's Guide}
% As \amslatex/ version~1.2 requires \LaTeXe, you must install \LaTeXe\
% first if you have not done so yet. Consult the manuals \cite{LM,GMS} if
% you have not used \LaTeXe. \amslatex/ version~1.2 can be found in any
% CTAN site.
%
% First, the editor should modify the series logo defined in the package
% file \fn{aspmproc.sty}. The volume number, year, and the volume title must
% be specified in each volume separately. Explicit line breaks may be
% inserted if the volume title is too long to fit in a line.
%
% Assuming that the authors follow \cite{INS}, the editor should make the
% following changes to the file.
% \begin{itemize}
% \item Make sure the first line is
%
% \noindent|\documentclass{amsproc}|
%
% and insert the following in the second line.
%
% \noindent|\usepackage{aspmproc}|
%
% \item
% It is also the editor's responsibility to add the dates when the paper was
% received (and revised, if applicable).
% This can be accomplished by adding the following,
%
% \noindent|\rcvdate{|\emph{date}|}|
%
% \noindent|\rvsdate{|\emph{date}|}|
%
% where \emph{date} is an actual date such as ``January 1, 1995''. Note
% that ``Received'', ``Revised'' will be added automatically by |\rcvdate|,
% |\rvsdate|, respectively. The terminating punctuations will also be added.
%
% \item
% The bibliography style adopted in \fn{aspm.sty} is to typeset the volume
% number of a journal in boldface, for example, |\texbf{5}|.
% All other bibliographic data is typeset in roman.
%
% \item
% After typesetting all articles, the editor can determine page numbers for
% the entire volume. The editor then adds
%
% \noindent|\setcounter{firstpage}{|\emph{f}|}|
%
% \noindent|\setcounter{lastpage}{|\emph{t}|}|
%
% in the preamble of each article, where \emph{f} and \emph{t} are the page
% numbers on which the article is set to begin, end, respectively.
% \end{itemize}
%
% This completes the editing work required by the editor. However, the
% editor is warned that he or she should be alert to user defined macros which
% replace the standard style provided by \fn{amsproc.cls}. Here is an excerpt
% from  \cite{INS}:
% \begin{quote}
% When defining new control sequences, always use |\newcommand|; this
% will let you know if the name you have chosen has already been used. Do
% not redefine any \latex/ or \amslatex/ command, as this could cause
% problems in AMS production. New definitions may be used to provide
% shorthand forms for text or mathematical expressions that are used
% frequently. Use commands and environments provided by the AMS
% documentclasses whenever applicable---for example, you should use the
% AMS |proof| environment for proofs rather than define your own
% alternative.
% \end{quote}
% Similar rule applies to theorem-like environments and section headings.
%
% \section{The Documentation Driver}
% This will generate the documentation root file \fn{guide.drv} and
% \fn{fulldoc.drv}.
% Running \latex/ on \fn{guide.drv} will produce this documentation up to
% section~3.  Hopefully this short form of the documentation is
% sufficient for most editors. An editor
% who is also a \TeX hacker may want to print
% the full documentation. The full documentation
% contains all code of the file \fn{aspmproc.sty} together with a lot of
% comments, and is obtained by running \latex/ on \fn{fulldoc.drv}.
% You can see which of the commands provided by \amslatex/ are
% overwritten. I will appreciate if you could help me improve this package
% by sending bug reports and suggestions.
%    \begin{macrocode}
%<*guide|fulldoc>
\documentclass{article}
\usepackage{doc}
%<+guide> \OnlyDescription
%<+fulldoc> \addtolength{\textwidth}{6pt}
\DocInput{aspmproc.dtx}
\end{document}
%</guide|fulldoc>
%    \end{macrocode}
%
% \StopEventually{
% \begin{thebibliography}{[ASPM]}
% \bibitem[INS]{INS} \textit{Instructions for Preparation of Papers and
% Monographs: \amslatex/},
% Amer. Math. Soc., Providence, RI, 1995.
% \bibitem[ALG]{ALG} \textit{\amslatex/ version~1.2 user's guide},
% Amer. Math. Soc., Providence, RI, 1994.
% \bibitem[ASPM]{ASPM} Chiaki Tsukamoto, \texttt{aspm.sty}, 1989. (updated
% by H. Naito)
% \bibitem[GMS]{GMS} Michel Goossens, Frank Mittelbach, and Alexander
% Samarin, \textit{The \latex/ companion}, Addison-Wesley Co., Reading,
% MA, 1994.
% \bibitem[LM]{LM} Leslie Lamport, \textit{\LaTeX: A document preparation
% system}, 2nd revised ed., Addison-Wesley, Reading, MA, 1994.
% \end{thebibliography}
% }
%
% \section{The code}
% In this section all codes in the file \fn{aspmproc.sty} are described.
% The file \fn{aspmproc.sty} begins with the following.
%    \begin{macrocode}
%<*style>
\NeedsTeXFormat{LaTeX2e}
\ProvidesPackage{aspmproc}
%    \end{macrocode}
% \subsection{Print position}
% \TeX\ parameter |\hoffset| and |\voffset| can be changed to adjust
% the position so that the text appears in the center of the paper.
% These parameters are also present in \fn{aspm.sty} \cite{ASPM}. It is
% designed that the same setting of these values produces the same
% DVI file as in \fn{aspm.sty}.
%    \begin{macrocode}
\hoffset=60pt
\voffset=60pt
%    \end{macrocode}
% \subsection{Series logo}
% On the first page of each article is the series logo, which consists of
% the series name, volume number, year in the first line, volume title in
% the next line (and continued onto the third line and so on,
% if it is too long to fit
% in a single line), and the page numbers of the beginning page and the
% ending page of the article. Since the number of lines taken by the
% volume title may
% vary, a trick is necessary to keep a constant vertical space between
% the logo and the title.
% As in \fn{aspm.sty}, the title is pushed downward as the the depth of the
% series logo gets larger.
% First, save the logo in a box and calculate its depth.
%    \begin{macrocode}
\newsavebox{\aspmlogo}
\newlength{\logodepth}
%    \end{macrocode}
% The logo contains the first page number and the last page number of the
% article. They will be manually set by the editor in the source file.
% Declare these counter.
%    \begin{macrocode}
\newcounter{firstpage}
\newcounter{lastpage}
%    \end{macrocode}
% The evaluation of the logo is delayed until |\begin{document}|, by that
% time the counters |firstpage| and |lastpage| are read from the source
% file. Thus, it is important to set these counter in the preamble.
% The modification of |\baselinestretch| is necessary to simulate the
% vertical spacing produced by |\sstrut| in \fn{aspm.sty}.\footnote{There
% may be a better and exact way to do this.} The series logo is typeset
% in 9pt roman.
%    \begin{macrocode}
\AtBeginDocument{
\sbox{\aspmlogo}{\parbox[t]{\textwidth}{%
\renewcommand{\baselinestretch}{1.05}
\small
Advanced Studies in Pure Mathematics ??, 200?\\
Lie Groups, Geometric Structures and Differential Equations\\
pp.~\thefirstpage--\thelastpage}}%
\settodepth{\logodepth}{\usebox{\aspmlogo}}
}
\def\serieslogo@{\usebox{\aspmlogo}}
%    \end{macrocode}
% After all pages of an article is typeset, the following code checks
% whether the value of the counter |lastpage| is the same as the actual
% value of the counter |page| at the last page of the article, and if
% not, a warning message is printed.
%    \begin{macrocode}
\AtEndDocument{%
\ifnum\thelastpage=\thepage\else
\typeout{Please check the counter lastpage
(lastpage was \thelastpage)}
\fi}
%    \end{macrocode}
% \subsection{Dimensions}
% I observed that the base line of the first line of the series logo in
% \fn{aspm.sty} is set to appear 1 inch below the paper edge, when
|\voffset|
% is set to 0. In order to simulate this, I need to set\footnote{There
% may be a better and exact way to do this.}
%    \begin{macrocode}
\setlength{\topmargin}{-7pt}
%    \end{macrocode}
% Set the side margins to be 0pt.
%    \begin{macrocode}
\setlength{\evensidemargin}{0pt}
\setlength{\oddsidemargin}{0pt}
%    \end{macrocode}
% Set |\headheight| to be 7pt. The original value 5pt set in
\fn{amsproc.cls}
% will be overwritten.\footnote{I am not sure this is right;
% this prevents overful when the header is typeset in 9pt,
% as opposed to  8pt in \fn{amsproc.cls}.}
%    \begin{macrocode}
\setlength{\headheight}{7pt}
\setlength{\headsep}{16pt}
%    \end{macrocode}
% The following dimensions are inherited from \fn{aspm.sty}. They are
% originally |\vsize|, |\hsize|, respectively
%    \begin{macrocode}
\setlength{\textheight}{504pt}
\setlength{\textwidth}{312pt}
%    \end{macrocode}
% Also inherited from \fn{aspm.sty} is |\parindent|.
%    \begin{macrocode}
\setlength{\parindent}{18pt}
%    \end{macrocode}
% Preserve the original values of the three skips as different names.
% They will be used in some places later.
%    \begin{macrocode}
\newskip\smallskipamountaspm
\smallskipamountaspm4\p@ plus1\p@ minus1\p@
\newskip\medskipamountaspm
\medskipamountaspm8\p@ plus2\p@ minus2\p@
\newskip\bigskipamountaspm
\bigskipamountaspm16\p@ plus4\p@ minus4\p@
%    \end{macrocode}
% For example, |\footins| is set to |\bigskipamountaspm| as in aspm.sty
%    \begin{macrocode}
\skip\footins\bigskipamountaspm
%    \end{macrocode}
% Above and below display skips are set to the values defined as in
% \fn{plain.tex}, as done in \fn{aspm.sty}.
%    \begin{macrocode}
\def\@adjustvertspacing{%
\bigskipamount.7\baselineskip plus.7\baselineskip
\medskipamount\bigskipamount \divide\medskipamount\tw@
\smallskipamount\medskipamount \divide\smallskipamount\tw@
\jot\baselineskip \divide\jot 4 \relax
\abovedisplayskip 9\p@ plus3\p@ minus3\p@
\belowdisplayskip\abovedisplayskip
\abovedisplayshortskip \z@ plus3\p@
\belowdisplayshortskip 6\p@ plus3\p@ minus3\p@
}
%    \end{macrocode}
% \subsection{Page styles}
% Headers are typeset in 9pt roman. Thus, in the definition of
% |\ps@headings| in \fn{amsproc.cls}, |\scriptsize| is changed to |\small|.
% To activate the new definition, invoke |\pagestyle{headings}|.
%    \begin{macrocode}
\def\ps@headings{\ps@empty
\def\@evenhead{\normalfont\small
\rlap{\thepage}\hfil \leftmark{}{}\hfil}%
\def\@oddhead{\normalfont\small \hfil
\rightmark{}{}\hfil \llap{\thepage}}%
\let\@mkboth\markboth
}
\pagestyle{headings}
%    \end{macrocode}
% In \fn{amsproc.cls}, the first page contains its page number in the
% footer. Redefine |\ps@firstpage| by commenting it out, so that no page
% number appears. Note that the
% page number of the first page appears in the series logo, so there is no
% need to put the page number in the footer.
%    \begin{macrocode}
\def\ps@firstpage{\ps@plain
\def\@oddfoot{%\normalfont\scriptsize \hfil\thepage\hfil
\global\topskip\normaltopskip}%
\let\@evenfoot\@oddfoot
\def\@oddhead{\serieslogo@\hss}%
\let\@evenhead\@oddhead}
%    \end{macrocode}
% \subsection{Address}
% The address of an author should appear at the very end of an article, and
% it is the case for \fn{amsproc.cls}. However, a few changes are necessary in
% order to conform with \fn{aspm.sty}. First, line breaks are marked by |\\|
% in \fn{aspm.sty}.
% So the original feature of \fn{amsproc.cls} of converting |\\| to ``,''
% must be disabled. Second, the address is typeset in 9pt italic without
% indentation. Third, a |\bigskip| is added before setting the address.
%    \begin{macrocode}
\def\@setaddresses{\par
\nobreak \begingroup
\footnotesize
\def\author##1{\nobreak\addvspace\bigskipamount}%
%  \def\\{\unskip, \ignorespaces}%
\interlinepenalty\@M
\def\address##1##2{\begingroup
%    \par\addvspace\bigskipamount\indent
\par\addvspace\bigskipamountaspm\noindent
\@ifnotempty{##1}{(\ignorespaces##1\unskip) }%
%    {\scshape\ignorespaces##2}\par\endgroup}%
{\itshape\small\ignorespaces##2}\par\endgroup}%
\def\curraddr##1##2{\begingroup
\@ifnotempty{##2}{\nobreak\indent{\itshape Current address}%
\@ifnotempty{##1}{, \ignorespaces##1\unskip}\/:\space
##2\par\endgroup}}%
\def\email##1##2{\begingroup
\@ifnotempty{##2}{\nobreak\indent{\itshape E-mail address}%
\@ifnotempty{##1}{, \ignorespaces##1\unskip}\/:\space
\ttfamily##2\par\endgroup}}%
\addresses
\endgroup
}
%    \end{macrocode}
% \subsection{Dates}
% The ordinary |\date| command should not be used. Instead, use |\rcvdate|
% and |\rvsdate| to specify the received date and the revised date,
% respectively. Actual date will be preceded by ``Received'' or
% ``Revised'', and followed by a period.
%    \begin{macrocode}
\def\rcvdate#1{\def\@rcvdate{#1}}
\let\@rcvdate\@empty
\def\rvsdate#1{\def\@rvsdate{#1}}
\let\@rvsdate\@empty
\def\@setrcvdate{\upshape\rcvdatename\ \@rcvdate\@addpunct.}
\def\@setrvsdate{\upshape\rvsdatename\ \@rvsdate\@addpunct.}
\newcommand{\rcvdatename}{Received}
\newcommand{\rvsdatename}{Revised}
%    \end{macrocode}
% \subsection{Title, author and other first page specifications}
% First, increase |\baselineskip| in title by 1pt to make it 15pt
% as specified in \fn{aspm.sty}.
%    \begin{macrocode}
\renewcommand{\title}[2][]{\gdef\shorttitle{#1}\gdef\@title{%
\addtolength{\baselineskip}{1pt}
#2}}
\edef\title{\@nx\@dblarg
\@xp\@nx\csname\string\title\endcsname}
%    \end{macrocode}
% A subtitle may be included in \fn{aspm.sty}, so define |\subtitle|.
%    \begin{macrocode}
\def\subtitle#1{\def\@subtitle{#1}}
\let\@subtitle=\@empty
%    \end{macrocode}
% Now redefine |\maketitle|. First, comment out |\@setcopyright|. Note
% that in \fn{amsproc.cls}, |\shorttitle| and |\shortauthors| are converted
to
% all upper case and put into headers. This is not so in \fn{aspm.sty}.
Also,
% |\shorttitle| is typeset in italic.
%    \begin{macrocode}
\def\maketitle{\par
\@topnum\z@
%  \@setcopyright
%  \uppercasenonmath\shorttitle
\ifx\@empty\shortauthors \let\shortauthors\shorttitle
%  \else \andify\shortauthors \uppercasenonmath\shortauthors \fi
\else \andify\shortauthors  \fi
\begingroup
\@maketitle
%  \toks@\@xp{\shortauthors}\@temptokena\@xp{\shorttitle}%
\toks@\@xp{\shortauthors}\@temptokena\@xp{{\itshape\shorttitle}}%
\edef\@tempa{\@nx\markboth{\the\toks@}{\the\@temptokena}}\@tempa
\endgroup
\thispagestyle{firstpage}% this sets first page specifications
%    \end{macrocode}
% Continuing the definition of |\maketitle|, a few more changes are in
% order. First, set the first page number to be the value of the counter
% |firstpage| specified in the source file. Then include |\subtitle|,
% |\rcvdate|, and |\rvsdate|, but ignore |\keywords| and |\subjclass|.
%    \begin{macrocode}
\setcounter{page}{\thefirstpage}
\c@footnote\z@
\def\do##1{\let##1\relax}%
\do\maketitle \do\@maketitle \do\title \do\@xtitle \do\@title
% put \subtitle
\do\subtitle \do\@subtitle
\do\author \do\@xauthor \do\address \do\@xaddress
\do\email \do\@xemail \do\curraddr \do\@xcurraddr
\do\dedicatory \do\@dedicatory \do\thanks \do\thankses
% put \rcvdate and \rvsdate in footnote
\do\rcvdate \do\@rcvdate
\do\rvsdate \do\@rvsdate
%  \do\keywords \do\@keywords \do\subjclass \do\@subjclass
}% end of \maketitle
%    \end{macrocode}
% \par Now redefine |\@maketitle|.
%    \begin{macrocode}
\def\@maketitle{%
\normalfont\normalsize
\let\@makefnmark\relax  \let\@thefnmark\relax
%  \ifx\@empty\@subjclass\else \@footnotetext{\@setsubjclass}\fi
%  \ifx\@empty\@keywords\else \@footnotetext{\@setkeywords}\fi
\ifx\@empty\@rcvdate\else \@footnotetext{\@setrcvdate}\fi
\ifx\@empty\@rvsdate\else \@footnotetext{\@setrvsdate}\fi
\ifx\@empty\thankses\else \@footnotetext{%
\def\par{\let\par\@par}\@setthanks}\fi
\@mkboth{\@nx\shortauthors}{\@nx\shorttitle}%
%    \end{macrocode}
% The distance between the bottom of
% the series logo and the top of the first line of |\title| is set to
% 36pt plus 4pt minus 2pt in \fn{aspm.sty}.
% So the |\topskip| should be set to this amount
% plus |\logodepth| plus the height of the first line of |\title|, minus
% |\headsep|.\footnote{I don't really understand the usage of relax
% and global, appearing originally in \fn{amsproc.cls}.}
%    \begin{macrocode}
\global\topskip36pt plus 4pt minus 2pt\relax
\global\advance\topskip\logodepth
\global\advance\topskip by -\headsep
\normalfont\Large
\newlength{\tmpex}
\settoheight{\tmpex}{X}
\global\advance\topskip\tmpex
\@settitle
% put \subtitle if any in 10pt bold
\ifx\@empty\@subtitle
\else
%    \end{macrocode}
% I don't know if this is the right way, but I have to decrease the
% vertical space between title and subtitle to conform
% with \fn{aspm.sty}.
%    \begin{macrocode}
%    \baselineskip26\p@
\vtop{\centering{\normalsize\bfseries\@subtitle\@@par}%
\global\dimen@i\prevdepth}\prevdepth\dimen@i
\fi
% end addition of \subtitle
\ifx\@empty\authors \else \@setauthors \fi
\ifx\@empty\@dedicatory
\else
%    \end{macrocode}
% I don't know if this is the right way, but I have to decrease the
% vertical space between title or subtitle and dedicatory to conform
% with \fn{aspm.sty}. Dedicatory is typeset in 10pt bold italic.
%    \begin{macrocode}
%    \baselineskip26\p@
%    \vtop{\centering{\footnotesize\itshape\@dedicatory\@@par}%
\vtop{\centering{\normalsize\itshape\bfseries\@dedicatory\@@par}%
\global\dimen@i\prevdepth}\prevdepth\dimen@i
\fi
\@setabstract
\normalsize
\if@titlepage
\newpage
\else
\dimen@34\p@ \advance\dimen@-\baselineskip
\vskip\dimen@\relax
\fi
} % end \@maketitle
%    \end{macrocode}
% \par Finally I add the modification of the style of |\author|. First
% increase the vertical space between title and author. Then change the
% font; |\author| is typeset in 10pt bold.
%    \begin{macrocode}
\def\@setauthors{%
\begingroup
\trivlist
%  \centering \fontsize{11}{13\p@}\selectfont\@topsep13\p@\relax
%  \vskip12\p@
\vskip14\p@
\centering
\normalsize
\bfseries
\item\relax
\andify\authors
\authors
\endtrivlist
\endgroup
} % end \@setauthors
%    \end{macrocode}
% \subsection{Abstract}
% Abstract is typeset in 9pt in \fn{aspm.sty}, with both left and right
% margins increased by |\parindent|. Also, the word ``Abstract'', which
% is typeset in bold without indentation, precedes the text.
%    \begin{macrocode}
\renewenvironment{abstract}{%
\ifx\maketitle\relax
\ClassWarning{\@classname}{Abstract should precede
\protect\maketitle\space in AMS documentclasses; reported}%
\fi
\global\setbox\abstractbox=\vtop \bgroup
%  \normalfont\footnotesize
\normalfont\small
%  \advance \hsize -6pc
\advance \hsize -\parindent
\advance \hsize -\parindent
%  \trivlist \labelsep.5em\item[\hskip\labelsep
%    {\scshape\abstractname}.]\ignorespaces
\noindent{\bfseries\abstractname.}
\vspace{\smallskipamountaspm}\par
}{%
%  \endtrivlist
\egroup
\ifx\@setabstract\relax \@setabstracta \fi
}
%    \end{macrocode}
% Also increase the vertical space before abstract, but decrease the
% vertical space after. The whole text is moved rightward by |\parindent|.
%    \begin{macrocode}
\def\@setabstracta{%
\ifvoid\abstractbox
\else
%    \skip@20\p@ \advance\skip@-\lastskip
\skip@24\p@ \advance\skip@-\lastskip
\advance\skip@-\baselineskip \vskip\skip@
%  \moveright 3.5pc
\moveright \parindent
\box\abstractbox
\vspace{-9pt}
\fi
}
%    \end{macrocode}
% \subsection{Section headings}
% In \fn{amsproc.cls}, a subsection heading is a run-in heading with an
added
% punctuation, which is not the case in \fn{aspm.sty}.
% Also, the horizontal space between the section
% number and the section title must be increased to conform with
% \fn{aspm.sty}.
%    \begin{macrocode}
\def\@sect#1#2#3#4#5#6[#7]#8{%
\edef\@toclevel{\ifnum#2=\@m 0\else\number#2\fi}%
\ifnum #2>\c@secnumdepth \let\@secnumber\@empty
\else \@xp\let\@xp\@secnumber\csname the#1\endcsname\fi
\ifnum #2>\c@secnumdepth
\let\@svsec\@empty
\else
\refstepcounter{#1}%
\edef\@svsec{\ifnum#2<\@m
\@ifundefined{#1name}{}{%
\ignorespaces\csname #1name\endcsname\space}\fi
\@nx\textup{%
\csname the#1\endcsname.}\enspace
}%
\fi
\@tempskipa #5\relax
\ifdim \@tempskipa>\z@ % then this is not a run-in section heading
\begingroup #6\relax
%    \@hangfrom{\hskip #3\relax\@svsec}{\interlinepenalty\@M #8\par}%
\@hangfrom{\hskip #3\relax\@svsec}{\interlinepenalty\@M
\hspace{.1em} #8\par}%
\endgroup
\ifnum#2>\@m \else \@tocwrite{#1}{#8}\fi
\else
\def\@svsechd{#6\hskip #3\@svsec
%    \@ifnotempty{#8}{\ignorespaces#8\unskip
%       \@addpunct.}%
\@ifnotempty{#8}{\ignorespaces#8}%
\ifnum#2>\@m \else \@tocwrite{#1}{#8}\fi
}%
\fi
\global\@nobreaktrue
\@xsect{#5}}
% end \sect@
%    \end{macrocode}
% As for |\section|, the vertical spaces before and after a section
% heading are increased. Section headings are typeset flushleft
% without indentation, with the symbol \S\ preceding each of them.
%    \begin{macrocode}
\def\section{\@startsection{section}{1}%
%  \z@{.7\linespacing\@plus\linespacing}{.5\linespacing}%
\z@{\bigskipamountaspm}{.7\linespacing}%
%  {\normalfont\bfseries\centering}}
{\noindent\S\normalfont\bfseries}}
%    \end{macrocode}
% Subsection headings are not run-in headings. Vertical spacing before
% and after a subsection heading are adjusted.
%    \begin{macrocode}
\def\subsection{\@startsection{subsection}{2}%
%  \normalparindent{.5\linespacing\@plus.7\linespacing}{-.5em}%
\normalparindent{\medskipamountaspm}{\smallskipamount}%
{\normalfont\bfseries}}
%    \end{macrocode}
% \subsection{Bibliography}
% The bibliography begins with the heading ``References'' which is
% typeset in bold and
% centered. The preceding vertical space is increased.\footnote{I am not
% sure the amount 27pt is correct. It was determined visually.} Also the
% following vertical space is also increased by 4pt. The bibliography is
% typeset in 9pt. The width of the brackets for numeric labels are
% made wider to conform with \fn{aspm.sty}, even if there are at most nine
% bibliography items. The dimension |\leftmargin|, which controls the
% indentation of the second line and on, of each |\bibitem|, is increased
% by 1em. The dimension |\itemindent|, which controls the
% indentation of the first line of each |\bibitem|, is decreased
% by 1em.
%    \begin{macrocode}
\renewenvironment{thebibliography}[1]{%
%  \@xp\section\@xp*\@xp{\refname}%
\addvspace{27pt}
\begin{center}\bfseries\refname\end{center}
\vspace{4pt}
%  \normalfont\footnotesize\labelsep .5em\relax
\normalfont\small\labelsep .5em\relax
\renewcommand\theenumiv{\arabic{enumiv}}\let\p@enumiv\@empty
%  \list{\@biblabel{\theenumiv}}{\settowidth\labelwidth{\@biblabel{#1}}%
\newdimen\truelabelwidth
\settowidth\truelabelwidth{#1}
\list{[\makebox[\truelabelwidth]{\theenumiv}]}{
\settowidth\labelwidth{\@biblabel{#1}}%
\leftmargin\labelwidth \advance\leftmargin\labelsep
\addtolength{\leftmargin}{1em}
\addtolength{\itemindent}{-1em}
\usecounter{enumiv}}%
\sloppy \clubpenalty\@M \widowpenalty\clubpenalty
\sfcode`\.=\@m
}{%
\def\@noitemerr{\@latex@warning{Empty `thebibliography' environment}}%
\endlist
}
%    \end{macrocode}
% \subsection{Footnotes}
% We adopt the definition of |\footnoterule| in \fn{aspm.sty}.
%    \begin{macrocode}
\def\footnoterule{\vskip-3.4\p@\hrule width 96\p@ \vskip 3\p@}
%    \end{macrocode}
% Footnotes are typeset in 9pt.
%    \begin{macrocode}
\long\def\@footnotetext#1{\insert\footins{%
%  \normalfont\footnotesize
\normalfont\small
\interlinepenalty\interfootnotelinepenalty
\splittopskip\footnotesep \splitmaxdepth \dp\strutbox
\floatingpenalty\@MM \hsize\columnwidth
\@parboxrestore \parindent\normalparindent \sloppy
\edef\@currentlabel{\p@footnote\@thefnmark}%
\@makefntext{\rule\z@\footnotesep\ignorespaces#1\unskip\strut\par}}}
%    \end{macrocode}
% \subsection{Figures}
% Figure captions are typeset in 9pt roman.
%    \begin{macrocode}
\def\captionheadfont@{\upshape}
\def\captionfont@{\small}
%    \end{macrocode}
% The figure heading is ``Fig'' instead of ``Figure''.
%    \begin{macrocode}
\def\figurename{Fig}
%    \end{macrocode}
% \subsection{Theorems}
% The horizontal space between the theorem heading and the theorem body is
% set to be 1em (equivalently, a \cs{quad}) for |\bfseries|, as in
% \fn{aspm.sty}.
%    \begin{macrocode}
\def\@thm#1#2#3{\normalfont
\trivlist
\normalfont\bfseries
\labelsep1em\relax
\normalfont
\let\thmheadnl\relax
\let\theoremindent\noindent % no indent
\let\thm@swap\@gobble
\theoremheadfont{\bfseries}% heading font bold
\theoremheadpunct{.}% add period after heading
\theorempreskipamount\topsep
\theorempostskipamount\theorempreskipamount
#1% style overrides
\@topsep \theorempreskipamount               % used by first \item
\@topsepadd \theorempostskipamount           % used by \@endparenv
\def\@tempa{#2}\ifx\@empty\@tempa
\def\@tempa{\@oparg{\@begintheorem{#3}{}}[]}%
\else
\refstepcounter{#2}%
\def\@tempa{\@oparg{\@begintheorem{#3}{\csname the#2\endcsname}}[]}%
\fi
\@tempa
}
%    \end{macrocode}
% The end of a proof is marked by Q.E.D., not by a square.
%    \begin{macrocode}
\renewcommand{\qedsymbol}{\hbox{Q.E.D.}}
%    \end{macrocode}
% Now redefine predefined theorem styles. In |plain| and |definition|
% styles, the headings are typeset in bold with vertical spacing increased.
%    \begin{macrocode}
\def\th@plain{%
\let\theoremindent\indent
%  \theoremheadfont{\scshape}% heading font small caps
\theoremheadfont{\bfseries}% heading font bold face
\theoremnotefont{\mdseries\upshape}%
\theorempreskipamount.5\baselineskip\@plus.2\baselineskip
\@minus.2\baselineskip
\advance\theorempreskipamount\smallskipamount
\theorempostskipamount\theorempreskipamount
\itshape
}
%
\def\th@definition{%
\let\theoremindent\indent
%  \theoremheadfont{\scshape}% heading font small caps
\theoremheadfont{\bfseries}% heading font bold face
\theoremnotefont{\mdseries\upshape}%
\theorempreskipamount.5\baselineskip\@plus.2\baselineskip
\@minus.2\baselineskip
\advance\theorempreskipamount\smallskipamount
\theorempostskipamount\theorempreskipamount
\upshape
}
%    \end{macrocode}
% In |remark| style, the headings are typeset in italic.
%    \begin{macrocode}
\def\th@remark{%
\let\theoremindent\indent
%  \theoremheadfont{\scshape}% heading font small caps
\theoremheadfont{\itshape}% heading font italic
\theoremnotefont{\mdseries\upshape}%
\theorempreskipamount.5\baselineskip\@plus.2\baselineskip
\@minus.2\baselineskip
\theorempostskipamount\theorempreskipamount
\upshape
}
%    \end{macrocode}
% The heading ``Proof'' of the environment |proof| is typeset in italic,
% followed by 5pt horizontal space.\footnote{In \fn{aspm.sty}, a \cs{quad} of
% space is
% used, but I was unable to achieve a similar result using \cs{quad}.}
%    \begin{macrocode}
\renewenvironment{proof}[1][\proofname]{\par \normalfont
\topsep6\p@\@plus6\p@ \trivlist \itemindent\normalparindent
%  \item[\hskip\labelsep\scshape
\item[\hskip\labelsep\itshape
%    #1\@addpunct{.}]\ignorespaces
#1\@addpunct{.}\hspace{5pt}]\ignorespaces
}{%
\qed\endtrivlist
}
%    \end{macrocode}
% \subsection{Citation}
% Citations are surrounded by square brackets, with labels typeset in
% roman.
%    \begin{macrocode}
\def\@cite#1#2{{%
% \m@th\upshape\mdseries[{\bfseries #1}{\if@tempswa, #2\fi}]}}
\m@th\upshape\mdseries[{#1\if@tempswa, #2\fi}]}}
\@ifundefined{cite }{%
\expandafter\let\csname cite \endcsname\cite
\edef\cite{\@nx\protect\@xp\@nx\csname cite \endcsname}%
}{}
%</style>
%    \end{macrocode}
% This concludes the description of code in \fn{aspmproc.sty}.
% \Finale
\endinput





