From 1ede6fca8198bebb44106abace1cde6e5aa8e57f Mon Sep 17 00:00:00 2001
From: ottjk <joshott16@gmail.com>
Date: Sun, 7 Jan 2024 14:16:36 -0500
Subject: removed unused latex stuff

---
 texmf/source/latex/revtex/ltxfront.dtx | 3763 --------------------------------
 1 file changed, 3763 deletions(-)
 delete mode 100644 texmf/source/latex/revtex/ltxfront.dtx

(limited to 'texmf/source/latex/revtex/ltxfront.dtx')

diff --git a/texmf/source/latex/revtex/ltxfront.dtx b/texmf/source/latex/revtex/ltxfront.dtx
deleted file mode 100644
index 86dc0f3..0000000
--- a/texmf/source/latex/revtex/ltxfront.dtx
+++ /dev/null
@@ -1,3763 +0,0 @@
-% \iffalse meta-comment balanced on line 108
-% ltxfront.dtx: package to change page grid, MVL.
-% Copyright (c) 2009 Arthur Ogawa
-%
-% Disclaimer
-%   This file is distributed WITHOUT ANY WARRANTY;
-%   without even the implied warranty of
-%   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-% License
-%   You may distribute this file under the conditions of the 
-%   LaTeX Project Public License 1.3c or later 
-%   (http://www.latex-project.org/lppl.txt).
-% ReadMe
-%   For the documentation and more detailed instructions for
-%   installation, typeset this document with \LaTeX.
-% Maintenance Status
-%   This work has the LPPL maintenance status "maintained";
-%   Current Maintainer of this work is Arthur Ogawa.
-%
-% This work consists of the main source file ltxfront.dtx
-% and the derived files
-%    ltxfront.sty, ltxfront.pdf
-% Distribution:
-%    CTAN:macros/latex/contrib/revtex/
-%
-% Unpacking:
-%    tex ltxfront.dtx
-%
-% Documentation:
-%    latex ltxfront.dtx; ...
-%
-%    Programm calls to get the documentation (example):
-%       pdflatex ltxfront.dtx
-%       makeindex -s gind.ist ltxfront.idx
-%       makeindex -s gglo.ist -o ltxfront.gls ltxfront.glo
-%       pdflatex ltxfront.dtx
-%       makeindex -s gind.ist ltxfront.idx
-%       pdflatex ltxfront.dtx
-%
-% Installation:
-%    TDS:doc/latex/revtex/
-%    TDS:source/latex/revtex/
-%    TDS:tex/latex/revtex/
-%
-% Thanks, Heiko!
-%    This method of letting a single .dtx file serve as both
-%    documentation (via latex) and installer (via tex) follows
-%    the example of Heiko Oberdiek. Thanks!
-%<*ignore>
-\begingroup
-  \def\x{LaTeX2e}%
-\expandafter\endgroup
-\ifcase
- 0\expandafter\ifx\csname processbatchFile\endcsname\relax\else1\fi\ifx\fmtname\x\else 1\fi
- \relax
-\else
- \csname fi\endcsname
-%</ignore>
-%<*install>
-%% This file will generate documentation and runtime files
-%% from ltxfront.dtx when run through LaTeX or TeX.
-\input docstrip
-\preamble
-
-This is a generated file;
-altering it directly is inadvisable;
-instead, modify the original source file.
-See the URL in the file README-LTXFRONT.tex.
-
-License
-   You may distribute this file under the conditions of the 
-   LaTeX Project Public License 1.3c or later 
-   (http://www.latex-project.org/lppl.txt).
-   
-   This file is distributed WITHOUT ANY WARRANTY; 
-   without even the implied warranty of MERCHANTABILITY 
-   or FITNESS FOR A PARTICULAR PURPOSE.
-
-\endpreamble
-\askforoverwritefalse
-\keepsilent
- \generate{%
-  %{ignore}
-% \usedir{tex/latex/revtex}%
-  \file{ltxfront.sty}{%
-   \from{ltxfront.dtx}{package,options,kernel}%
-  }%
- }%
-\ifToplevel{
-\Msg{***********************************************************}
-\Msg{*}
-\Msg{* To finish the installation, please move}
-\Msg{*    ltxfront.sty}
-\Msg{* into a directory searched by TeX;}
-\Msg{* in a TDS-compliant installation:}
-\Msg{* texmf/tex/macros/latex/revtex/.}
-\Msg{*}
-\Msg{* To produce the documentation,
-       run ltxfront.dtx through LaTeX.}
-\Msg{*}
-\Msg{* Happy TeXing}
-\Msg{***********************************************************}
-}
-\endbatchfile
-%</install>
-%<*ignore>
-\fi
-%</ignore>
-% \fi
-%
-% \GetFileInfo{ltxfront.dtx}
-%
-% \iffalse ltxdoc klootch
-%<*package>
-%%%  @LaTeX-file{
-%%%     filename        = "ltxfront.dtx",
-%%%     version         = "4.2e",
-%%%     date            = "2020/10/03",
-%%%     author          = "Arthur Ogawa (mailto:arthur_ogawa at sbcglobal.net),
-%%%                        commissioned by the American Physical Society.
-%%%                        ",
-%%%     copyright       = "Copyright (C) 1999, 2009 Arthur Ogawa,
-%%%                        distributed under the terms of the 
-%%%                        LaTeX Project Public License 1.3c, see
-%%%                        ftp://ctan.tug.org/macros/latex/base/lppl.txt
-%%%                        ",
-%%%     address         = "Arthur Ogawa,
-%%%                        USA",
-%%%     telephone       = "",
-%%%     FAX             = "",
-%%%     email           = "mailto colon arthur_ogawa at sbcglobal.net",
-%%%     codetable       = "ISO/ASCII",
-%%%     keywords        = "latex, page grid, main vertical list",
-%%%     supported       = "yes",
-%%%     abstract        = "package to change page grid, MVL",
-%%%  }
-%</package>
-% \fi
-%
-% \iffalse ltxdoc klootch
-% The following references the \file{README-LTXFRONT} file,
-% which contains basic information about this package.
-% The contents of this file are generated when
-% you typeset the programmer's documentation.
-% Search on "{filecontents*}{README-LTXFRONT.tex}" to locate it.
-% \fi\input{README-LTXFRONT}%
-%
-% \subsection{Bill of Materials}
-%
-% Following is a list of the files in this distribution arranged
-% according to provenance.
-%
-% \subsubsection{Primary Source}%
-% One single file generates all.
-%\begin{verbatim}ltxfront.dtx\end{verbatim}
-%
-% \subsubsection{Generated by \texttt{latex ltxfront.dtx}}%
-% Typesetting the source file under \LaTeX\
-% generates the readme and the documentation.
-%\begin{verbatim}README-LTXFRONT\end{verbatim}
-%
-% \subsubsection{Generated by \texttt{tex ltxfront.dtx}}%
-% Typesetting the installer generates
-% the package files.
-%\begin{verbatim}ltxfront.sty\end{verbatim}
-%
-% \subsubsection{Documentation}%
-% The following are the online documentation:
-% \begin{verbatim}ltxfront.pdf\end{verbatim}
-%
-% \subsubsection{Auxiliary}%
-% The following are auxiliary files generated
-% in the course of running \LaTeX:
-% \begin{verbatim}ltxfront.aux ltxfront.idx ltxfront.ind ltxfront.log ltxfront.toc\end{verbatim}
-%
-% \section{Code common to all modules}%
-%
-% We want to require only one place in this file
-% where the version number is stated,
-% and we also want to ensure that the version
-% number is embedded into every generated file.
-%
-% Now we declare that
-% these files can only be used with \LaTeXe.
-% An appropriate message is displayed if
-% a different \TeX{} format is used.
-%    \begin{macrocode}
-%<*doc|package>
-\NeedsTeXFormat{LaTeX2e}[1995/12/01]%
-%</doc|package>
-%    \end{macrocode}
-% As desired, the following modules all
-% take common version information:
-%    \begin{macrocode}
-%<kernel&!package&!doc>\typeout{%
-%<*package|doc>
-\ProvidesFile{%
-%</package|doc>
-%<*kernel|package|doc>
-ltxfront%
-%</kernel|package|doc>
-%<*doc>
-.dtx%
-%</doc>
-%<package>.sty%
-%<*package|doc>
-}%
-%</package|doc>
-%    \end{macrocode}
-%
-% The following line contains, for once and for all,
-% the version and date information.
-% By various means, this information is reproduced
-% consistently in all generated files and in the
-% typeset documentation.
-%    \begin{macrocode}
-%<*doc|package|kernel>
-%<version>
- [2020/10/03 4.2e frontmatter package (AO,DPC,MD)]% \fileversion
-%</doc|package|kernel>
-%<kernel&!package&!doc>}%
-%    \end{macrocode}
-%
-%
-% \section{The doc module \texttt{doc}}
-%
-% This module, consisting of the present section,
-% typesets the programmer's documentation,
-% generating the \file{README-LTXFRONT} and sample document as needed.
-%
-% Because the only uncommented-out lines of code at the beginning of
-% this file constitute the \file{doc} module itself,
-% we can simply typeset the \file{.dtx} file directly,
-% and there is thus rarely any need to
-% generate the ``doc'' {\sc docstrip} module.
-% Module delimiters are nonetheless required so that
-% this code does not find its way into the other modules.
-%
-% The \enve{document} command concludes the typesetting run.
-%
-%    \begin{macrocode}
-%<*doc>
-%    \end{macrocode}
-%
-% \subsection{The Preamble}
-% The programmers documentation is formatted
-% with the \classname{ltxdoc} class with local customizations,
-% and with the usual code line indexing.
-%    \begin{macrocode}
-\documentclass{ltxdoc}
-\RequirePackage{ltxdocext}%
-\let\url\undefined
-\RequirePackage[colorlinks=true,linkcolor=blue]{hyperref}%
-%\expandafter\ifx\csname package@font\endcsname\@undefined\else
-% \expandafter\RequirePackage\expandafter{\csname package@font\endcsname}%
-%\fi
-\CodelineIndex\EnableCrossrefs % makeindex -s gind.ist ltxfront
-\RecordChanges % makeindex -s gglo.ist -o ltxfront.gls ltxfront.glo
-%    \end{macrocode}
-%
-% \subsubsection{Docstrip and info directives}
-%    We use so many {\sc docstrip} modules that we set the
-%    \texttt{StandardModuleDepth} counter to 1.
-%    \begin{macrocode}
-\setcounter{StandardModuleDepth}{1}
-%    \end{macrocode}
-%    The following command retrieves the date and version information
-%    from this file.
-%    \begin{macrocode}
-\expandafter\GetFileInfo\expandafter{\jobname.dtx}%
-%    \end{macrocode}
-%
-% \subsection{The ``Read Me'' File}
-% As promised above, here is the contents of the
-% ``Read Me'' file. That file serves a double purpose,
-% since it also constitutes the beginining of the
-% programmer's documentation. What better thing, after
-% all, to have appear at the beginning of the
-% typeset documentation?
-%
-% A good discussion of how to write a ReadMe file can be found in
-% Engst, Tonya, ``Writing a ReadMe File? Read This''
-% \emph{MacTech} October 1998, p. 58.
-%
-% Note the appearance of the
-% \cmd\StopEventually\ command, which marks the
-% dividing line between the user documentation
-% and the programmer documentation.
-%
-% The usual user will not be asked to
-% do a full build, not to speak
-% of the bootstrap.
-% Instructions for carrying these processes
-% begin the programmer's manual.
-%
-%    \begin{macrocode}
-\begin{filecontents*}{README-LTXFRONT.tex}
-\title{%
- A \LaTeX\ Package for\\the frontmatter and title page%
- \thanks{%
-  This file has version number \fileversion,
-  last revised \filedate.%
- }%
- \thanks{%
-  Version \fileversion\ \copyright\ 2019 American Physical Society
- }%
-}%
-
-\author{%
- Arthur Ogawa%
- \thanks{\texttt{mailto:arthur\_ogawa at sbcglobal.net}}%
-}%
-%\iffalse
-% For version number and date, 
-% search on "\fileversion" in the .dtx file,
-% or see the end of the README-LTXFRONT file.
-%\fi
-\maketitle
-
-This file embodies the \classname{ltxfront} package,
-the implementation and its user documentation.
-
-The distribution point for this work is
-\url{https://journals.aps.org/revtex},
-which contains fully unpacked, prebuilt runtime files and documentation.
-
-The \classname{ltxfront} package was commissioned by the American Physical Society
-and is distributed under the terms of the \LaTeX\ Project Public License 1.3c,
-the same license under which all the portions of \LaTeX\ itself is distributed.
-Please see \url{http://ctan.tug.org/macros/latex/base/lppl.txt} for details.
-
-To use this document class, you must have a working
-\TeX\ installation equipped with \LaTeXe\ 
-and possibly pdftex and Adobe Acrobat Reader or equivalent.
-
-To install, retrieve the distribution,
-unpack it into a directory on the target computer,
-and move the file \file{ltxfront.sty}
-into a location in your filesystem where it will be found by \LaTeX.
-
-To use, read the user documentation \file{ltxfront.pdf}.
-
-\tableofcontents
-
-\section{Processing Instructions}
-
-The package file \file{ltxfront.sty}
-is generated from this file, \file{ltxfront.dtx},
-using the {\sc docstrip} facility of \LaTeX
-via |tex ltxfront.dtx|.
-The typeset documentation that you are now reading is generated from
-the same file by typesetting it with \LaTeX\ or pdftex
-via |latex ltxfront.dtx| or |pdflatex ltxfront.dtx|.
-
-\subsection{Build Instructions}
-
-You may bootstrap this suite of files solely from \file{ltxfront.dtx}.
-Prepare by installing \LaTeXe\ (and either tex or pdftex) on your computer,
-then carry out the following steps:
-\begin{enumerate}
-
-\item
-Within an otherwise empty directory,
-typeset \file{ltxfront.dtx} with \TeX\ or pdftex,
-thereby generating the package file \file{ltxfront.sty}.
-
-\item
-Next typeset \file{ltxfront.dtx} with \LaTeX\ or pdflatex;
-you will obtain the typeset documentation you are now reading,
-along with
-the sample document \file{ltxfront-test.tex}
-and the file \file{README-LTXFRONT}.
-
-Note: you will have to run \LaTeX, then 
-\file{makeindex} \texttt{-s gind.ist ltxfront.idx}, then
-\file{makeindex} \texttt{-s gglo.ist -o ltxfront.gls ltxfront.glo}, then
-\LaTeX\ again in order to obtain a valid index and table of contents.
-\item
-Now typeset \file{ltxfront.dtx} with \TeX (not \LaTeX),
-thereby generating the package file \file{ltxfront.sty}.
-\item
-Install the following files into indicated locations within your 
-TDS-compliant \texttt{texmf} tree (you may need root access):
-\begin{itemize}
-\item
-\file{$TEXMF/}\file{tex/}\file{latex/}\file{revtex/}\classname{ltxfront.sty}
-\item
-\file{$TEXMF/}\file{source/}\file{latex/}\file{revtex/}\classname{ltxfront.dtx}
-\item
-\file{$TEXMF/}\file{doc/}\file{latex/}\file{revtex/}\classname{ltxfront.pdf}
-\end{itemize}
-where \file{$TEXMF/} stands for \file{texmf-local/}, or some other \texttt{texmf} tree
-in your installation.
-\item
-Run \texttt{mktexlsr} on \file{$TEXMF/} (you may need root access).
-\item
-Build and installation are now complete; 
-now put a \cmd\usepackage\texttt{\{ltxfront\}} in your document preamble!
-\end{enumerate}
-
-\subsection{Change Log}
-\changes{4.0b}{1999/06/20}{Change handling of \cs{@author} to prevent parsing problems. (Helps in error recovery when syntax errors exist)}
-\changes{4.0b}{1999/06/20}{Gathered all code for the abstract environment together and abstracted out the formatting details for journals to override.}
-\changes{4.0b}{1999/06/20}{Separate option now controls production}
-\changes{4.0b}{1999/06/20}{Set \cs{footnote} to \LaTeX\ standard version for this scope.}
-\changes{4.0c}{1999/11/13}{grid changes with ltxgrid}
-\changes{4.0d}{1998/01/31}{\cs{comma@space}}
-\changes{4.0d}{1998/01/31}{change name from \cs{tempaffiliation}}
-\changes{4.0d}{1998/01/31}{hookify}
-\changes{4.0d}{1998/01/31}{If empty \cs{abstractname} omit spacing}
-\changes{4.0d}{1998/01/31}{PACS boxed to width of abstract}
-\changes{4.0e}{2000/09/20}{Keywords on same footing as PACS}
-\changes{4.0e}{2000/09/20}{Warn if no production}
-\changes{4.0f}{2001/02/13}{Actually append \cs{AU@grp} to \cs{@AAClist}.}
-\changes{4.0g}{1998/06/10}{multiple preprint commands}
-\changes{4.0h}{1998/06/25}{Changes to support groups of affiliations}
-\changes{4.0h}{1998/06/25}{new hook}
-\changes{4.0l}{1998/09/01}{add optional argument handling back}
-\changes{4.0l}{1998/09/01}{Changes to add collaboration processing, which now means doing comma/and processing on each sublist}
-\changes{4.0l}{1998/09/01}{macro added}
-\changes{4.1a}{2008-06-30}{(AO, 443) create an entry in the PDF bookmarks for the abstract via the toc}
-\changes{4.1a}{2008-07-01}{(AO, 496) remove default prependation to \cs{email}.}
-\changes{4.1a}{2008-07-01}{(AO, 496) remove default prependation to \cs{homepage}.}
-\changes{4.1a}{2008/06/16}{removed code that had been commented out}
-\changes{4.1b}{2008/06/29}{(AO, 455) provide a \texttt{description} environment for the abstract}
-\changes{4.1b}{2008/08/02}{(AO, 486) \cs{collaboration} to work with \texttt{groupedaddress}}
-\changes{4.1b}{2008/08/02}{Change csname \cs{AFS@opr} to \cs{AFG@opr}}
-\changes{4.1b}{2008/08/02}{Make the syntax of this package switch optional}%
-\changes{4.1b}{2008/08/02}{Provide for diagnostics via \cs{frontmatterverbose@sw}}
-\changes{4.1b}{2008/08/02}{Use \cs{@affil@def} for all access to \cs{@affil}}
-\changes{4.1b}{2008/08/02}{Use \cs{frontmatter@init} as the vehicle for all initialization}
-\changes{4.1b}{2008/08/04}{(AO, 443) PDF Bookmark for title page}%
-\changes{4.1b}{2008/08/04}{Provide facility \cs{affil@cutoff}: if there is only one affiliation on the title page, no superscript}%
-\changes{4.1c}{2008/08/04}{Hyperref compatibility: take \cs{maketitle} back.}
-\changes{4.1c}{2008/08/04}{Parametrize the production after the address}%
-\changes{4.1c}{2008/08/04}{Produce PACS, keywords only if specified}%
-\changes{4.1d}{2008/10/17}{(AO, 410) compare \cs{@tempa} to \cs{blankaffiliation}.}%
-\changes{4.1f}{2009/07/07}{(AO, 515) Use \cs{set@footnotefont}, which is defined in ltxutil}
-\changes{4.1g}{2009/10/05}{(AO, 535) Robustify \cs{footnote} while \cs{class@warn} is expanding its argument}
-\changes{4.1g}{2009/10/05}{(AO, 539) Robustify \cs{class@warn} against TOC processing}%
-\changes{4.1i}{2009/10/18}{(AO, 540) More runtime diagnostics via \cs{frontmatterverbose@sw}}
-\changes{4.1i}{2009/10/23}{(AO, 540) Rationalize code that appends to \cs{AF@grp}}
-\changes{4.1i}{2009/10/23}{(AO, 540) Optimize boolean logic }
-\changes{4.1i}{2009/10/23}{(AO, 544) Class options runinaddress and unsortedaddress stopped working}
-\changes{4.1m}{2009/11/20}{(AO, 563) \cs{collaboration} to work with both \texttt{groupedaddress} and \texttt{superscriptaddress}}
-\changes{4.1m}{2009/11/20}{(AO, 563) More complete runtime diagnostics via \cs{frontmatterverbose@sw}}
-\changes{4.1m}{2009/11/20}{(AO, 563) Let \cs{@collaboration@gobble} parse all three arguments of \cs{CO@opr}}
-\changes{4.1n}{2009/11/30}{(AO, 567) Handle \cs{noaffiliation} case}
-\changes{4.1n}{2009/11/30}{(AO, 567) Handle punctuation for \classoption{superscriptaddress} style authors' extra information, such as \cs{email}}
-\changes{4.1n}{2009/12/03}{(AO) remove http:// from \cs{href} call}
-\changes{4.1n}{2010/01/02}{(AO, 571) Interface \cs{set@footnotewidth} for determining the set width of footnotes}%
-\changes{4.1n}{2010/01/02}{(AO, 571) allow split after last line of footnote}%
-\changes{4.1n}{2010/01/02}{(AO, 572) Independent footnote counter for title block. Abstract footnote counter shared with body.}%
-\changes{4.2a}{2018/12/12}{(MD) Updated name of README file and use standard fonts when typesetting}%
-
-\end{filecontents*}
-%    \end{macrocode}
-%
-% \subsection{A Gnuly Created Sample Document}
-%
-%    \begin{macrocode}
-\begin{filecontents*}{ltxfront-test.tex}
-\documentclass{article}% use any combination of titlepage, twocolumn
-\usepackage[]{ltxfront}% use inactive to turn off features
-\begin{document}
-
-\title{Gnu Veldt Cuisine}
-
-\author{G. Picking}
-\thanks{Supported by a grant from the GSF.}
-\affiliation{Acme Kitchen Products}
-
-\author{R. Dillo}
-\thanks{On leave during 1985.}
-\affiliation{Cordon Puce School}
-
-\date{24 July 1984}%
-\revised{5 January 1985}%
-
-\maketitle
-
-\section{Introduction}%
-We reproduce most features of \LaTeX\ manual, Figure C.4, p. 183.
-\end{document}
-\end{filecontents*}
-%    \end{macrocode}
-%
-% \subsection{The Document Body}
-%
-% Here is the document body, containing only a
-% \cmd\DocInput\ directive---referring to this very file.
-% This very cute self-reference is a common \classname{ltxdoc} idiom.
-%    \begin{macrocode}
-\begin{document}%
-\expandafter\DocInput\expandafter{\jobname.dtx}%
-% ^^A\PrintChanges
-\end{document}
-%    \end{macrocode}
-%
-%    \begin{macrocode}
-%</doc>
-%    \end{macrocode}
-%
-% \section{Using this package}
-% Once this package is installed on your filesystem, you can employ it in
-% adding functionality to \LaTeX\ by invoking it in your document or document class.
-%
-% \subsection{Invoking the package}
-% In your document, you can simply call it up in your preamble:
-% \begin{verbatim}
-%\documentclass{book}%
-%\usepackage{ltxfront}%
-%\begin{document}
-%<your document here>
-%\end{document}\end{verbatim}
-% However, the preferred way is to invoke this package from within your
-% customized document class:
-% \begin{verbatim}
-%\NeedsTeXFormat{LaTeX2e}[1995/12/01]%
-%\ProvidesClass{myclass}%
-%\RequirePackage{ltxfront}%
-%\LoadClass{book}%
-%<class customization commands>
-%\endinput\end{verbatim}
-%
-% Once loaded, the package gives you acccess to certain procedures,
-% usually to be invoked by a \LaTeX\ command or environment. 
-%
-% \section{Frontmatter commands}
-%
-% A document using this package will use commands like \cmd\title, \cmd\author, \cmd\thanks, 
-% the \texttt{abstract} environment
-% and \cmd\maketitle. 
-% These are part of \LaTeX's standard document classes. 
-% But this package supplements \LaTeX\ syntax with additional commands, such as
-% \cmd\affiliation, \cmd\collaboration, \cmd\email, \cmd\homepage, and others.
-%
-% Furthermore, you can have multiple \cmd\author, \cmd\affiliation, and \cmd\collaboration\ commands,
-% each with their own set of \cmd\email, \cmd\homepage, etc. commands.
-% 
-% \section{The Front Matter}\label{sec:front}
-% 
-% This section describes the macros
-% this package provides for formatting the front matter of an
-% article. The behavior and usage of these macros can be quite
-% different from those provided in \LaTeXe. 
-% 
-% \subsection{Setting the title}
-% 
-% The title of the manuscript is simply specified by using the
-% \cmd\title\arg{title} macro. A \verb+\\+ may be used to put a line
-% break in a long title. 
-% The \cmd\title\ commnd takes an optional argument, which you will use to
-% give an abbreviated title for use in the running header.
-% 
-% \subsection{Specifying a date}%
-% 
-% The \cmd\date\marg{date} command outputs the date on the manuscript.  
-% Using \cmd\today\ will cause \LaTeX{} to insert the
-% current date whenever the file is run:
-% \begin{verbatim}\date{\today}\end{verbatim}
-% 
-% \subsection{Specifying authors and affiliations}
-% 
-% Commands specifying author and affilliation have been improved to save
-% labor for authors and in production. Authors and affiliations are
-% arranged into groupings called, appropriately enough, \emph{author
-% groups}. Each author group is a set of authors who share the same set
-% of affiliations. Author names are specified with the \cmd\author\
-% macro while affiliations (or addresses) are specified with the
-% \cmd\affiliation\ macro. Author groups are specified by sequences of
-% \cmd\author\ macros followed by \cmd\affiliation\ macros. An
-% \cmd\affiliation\ macro applies to all previously specified
-% \cmd\author\ macros which don't already have an affiliation supplied.
-% 
-% For example, if Bugs Bunny and Roger Rabbit are both at Looney Tune
-% Studios, while Mickey Mouse is at Disney World, the markup would be:
-% \begin{verbatim}
-% \author{Bugs Bunny}
-% \author{Roger Rabbit}
-% \affiliation{Looney Tune Studios}
-% \author{Mickey Mouse}
-% \affiliation{Disney World}\end{verbatim}
-% The default is to display this as 
-% \begin{center}
-% Bugs Bunny and Roger Rabbit\\
-% \emph{Looney Tune Studios}\\
-% Mickey Mouse\\
-% \emph{Disney World}\\
-% \end{center}
-% This layout style for displaying authors and their affiliations is
-% chosen by selecting the class option
-% \classoption{groupedaddress}. This option is the default for all APS
-% journal styles, so it does not need to be specified explicitly.
-% The other major way of displaying this
-% information is to use superscripts on the authors and
-% affiliations. This can be accomplished by selecting the class option
-% \classoption{superscriptaddress}. To achieve the display
-% \begin{center}
-% Bugs Bunny,$^{1}$ Roger Rabbit,$^{1,2}$ and Mickey Mouse$^{2}$\\
-% \emph{$^{1}$Looney Tune Studios}\\
-% \emph{$^{2}$Disney World}\\
-% \end{center}
-% one would use the markup
-% \begin{verbatim}
-% \author{Bugs Bunny}
-% \affiliation{Looney Tune Studios}
-% \author{Roger Rabbit}
-% \affiliation{Looney Tune Studios}
-% \affiliation{Disney World}
-% \author{Mickey Mouse}
-% \affiliation{Disney World}\end{verbatim}
-% 
-% Note that this package takes care of any commas and \emph{and}'s that join
-% the author names together and font selection, as well as any
-% superscript numbering. Only the author names and affiliations should
-% be given within their respective macros.
-% 
-% There is a third class option, \classoption{unsortedaddress}, for
-% controlling author/affiliation display. The default
-% \classoption{groupedaddress} will actually sort authors into the
-% approriate author groups if one chooses to specify an affiliation for
-% each author. The markup:
-% \begin{verbatim}
-% \author{Bugs Bunny}
-% \affiliation{Looney Tune Studios}
-% \author{Mickey Mouse}
-% \affiliation{Disney World}
-% \author{Roger Rabbit}
-% \affiliation{Looney Tune Studios}\end{verbatim}
-% will result in the same display as for the first case given
-% above even though Roger Rabbit is specified after Mickey Mouse. To
-% avoid Roger Rabbit being moved into the same author group as Bugs
-% Bunny, use the
-% \classoption{unsortedaddress} option instead. In general, it is safest
-% to list authors in the order they should appear and specify
-% affiliations for multiple authors rather than one at a time. This will
-% afford the most independence for choosing the display option. Finally,
-% it should be mentioned that the affiliations for the
-% \classoption{superscriptaddress} are presented and numbered 
-% in the order that they are encountered. This means that the order
-% will usually follow the order of the authors. An alternative ordering
-% can be forced by including a list of \cmd\affiliation\ commands before
-% the first \cmd{\author} in the desired order. Then use the exact same
-% text for each affilation when specifying them for each author.
-% 
-% If an author doesn't have an affiliation, the \cmd\noaffiliation\
-% macro may be used in the place of an \cmd\affiliation\ macro.
-% 
-% 
-% \subsubsection{Collaborations}
-% 
-% A collaboration name can be specified with the \cmd\collaboration\
-% command. This is very similar to the \cmd\author\ command. 
-% It should appear at the end of an author group. 
-% The collaboration name will appear centered in parentheses.
-% You may have multiple author groups, each with its own \cmd\collaboration.
-% Because collaborations don't normally have affiliations, one needs to follow the
-% \cmd\collaboration\ with \cmd\noaffiliation.
-% 
-% \subsubsection{Footnotes for authors, collaborations, affiliations or title}\label{sec:footau}
-% 
-% Often one wants to specify additional information associated with an
-% author, collaboration, or affiliation such an e-mail address, an
-% alternate affiliation, or some other ancillary information. 
-% This package introduces several new macros just for this purpose. They
-% are:
-% \begin{itemize}
-% \item\cmd\email\oarg{optional text}\arg{e-mail address}
-% \item\cmd\homepage\oarg{optional text}\arg{URL}
-% \item\cmd\altaffiliation\oarg{optional text}\arg{affiliation}
-% \item\cmd\thanks\arg{miscellaneous text}
-% \end{itemize}
-% In the first three, the \emph{optional text} will be prepended before the
-% actual information specified in the required argument. \cmd\email\ and
-% \cmd\homepage\ each have a default text for their optional arguments
-% (`Electronic address:' and `URL:' respectively). The \cmd\thanks\
-% macro should only be used if one of the other three do not apply. Any
-% author name can have multiple instances of these four commands. 
-% Note that unlike the
-% \cmd\affiliation\ macro, these macros only apply to the \cmd\author\
-% that directly precedes it. Any \cmd\affiliation\ \emph{must} follow
-% the other author-specific macros. A typical usage might be as follows:
-% \begin{verbatim}
-% \author{Bugs Bunny}
-% \email[E-mail me at: ]{bugs@looney.com}
-% \homepage[Visit: ]{http://looney.com/}
-% \altaffiliation[Permanent address: ]
-%                      {Warner Brothers}
-% \affiliation{Looney Tunes}\end{verbatim}
-% This would result in the footnote ``E-mail me at: \texttt{bugs@looney.com},
-% Visit: \texttt{http://looney.com/}, Permanent address: Warner
-% Brothers'' being attached to Bugs Bunny. Note that:
-% \begin{itemize}
-% \item Only an e-mail address, URL, or affiliation should go in the
-% required argument in the curly braces.
-% \item The font is automatically taken care of.
-% \item An explicit space is needed at the end of the optional text if one is
-% desired in the output.
-% \item Use the optional arguments to provide customized
-% text only if there is a good reason to.
-% \end{itemize}
-% 
-% The \cmd\collaboration\ , \cmd\affiliation, or even \cmd\title\ can
-% also have footnotes attached via these commands. If any ancillary data
-% (\cmd\thanks, \cmd\email, \cmd\homepage, or
-% \cmd\altaffiliation) are given in the wrong context (e.g., before any
-% \cmd\title, \cmd\author, \cmd\collaboration, or \cmd\affiliation\
-% command has been given), then a warning is given in the \TeX\ log, and
-% the command is ignored.
-% 
-% Duplicate sets of ancillary data are merged, giving rise to a single
-% shared footnote. However, this only applies if the ancillary data are
-% identical: even the order of the commands specifying the data must be
-% identical. Thus, for example, two authors can share a single footnote
-% indicating a group e-mail address.
-% 
-% Duplicate \cmd\affiliation\ commands may be given in the course of the
-% front matter, without the danger of producing extraneous affiliations
-% on the title page. However, ancillary data should be specified for
-% only the first instance of any particular institution's
-% \cmd\affiliation\ command; a later instance with different ancillary
-% data will result in a warning in the \TeX\ log.
-% 
-% It is preferable to arrange authors into
-% sets. Within each set all the authors share the same group of
-% affiliations. For each author, give the \cmd\author\ (and appropriate
-% ancillary data), then follow this author group with the needed group
-% of \cmd\affiliation\ commands.
-% 
-% If affiliations have been listed before the first
-% \cmd\author\ macro to ensure a particular ordering, be sure
-% that any later \cmd\affiliation\ command for the given institution is
-% an exact copy of the first, and also ensure that no ancillary data is
-% given in these later instances.
-% 
-% 
-% A journal may determine the placement of these
-% ancillary information footnotes. One journal may put all
-% such footnotes at the start of the bibliography while another
-% journal may display them on the first page, as a footnote. One can override a
-% journal style's default behavior by specifying explicitly the class
-% option
-% \classoption{bibnotes} (puts the footnotes at the start of the
-% bibliography) or \classoption{nobibnotes} (puts them on the first page).
-% 
-% \subsubsection{Specifying first names and surnames}
-% 
-% Many authors have names in which either the surname appears first
-% or in which the surname is made up of more than one name. To ensure
-% that such names are accurately captured for indexing and other
-% purposes, the \cmd\surname\ macro should be used to indicate which portion
-% of a name is the surname. Similarly, there is a \cmd\firstname\ macro
-% as well, although usage of \cmd\surname\ should be sufficient. If an
-% author's surname is a single name and written last, it is not
-% necessary to use these macros. These macros do nothing but indicate
-% how a name should be indexed. Here are some examples;
-% \begin{verbatim}
-% \author{Andrew \surname{Lloyd Weber}}
-% \author{\surname{Mao} Tse-Tung}\end{verbatim}
-% 
-% \subsection{The abstract}
-% An abstract for a paper is specified by using the \env{abstract}
-% environment:
-% \begin{verbatim}
-% \begin{abstract}
-% Text of abstract
-% \end{abstract}\end{verbatim}
-% Note that with this package, the abstract must be specified before the
-% \cmd\maketitle\ command, and there is no need to embed it in an explicit
-% minipage environment.
-% 
-% \subsection{PACS codes}
-% Some authors are asked to supply suggested PACS codes with their
-% submissions. The \cmd\pacs\ macro is provided as a way to do this:
-% \begin{verbatim}\pacs{23.23.+x, 56.65.Dy}\end{verbatim}
-% The actual display of the PACS numbers below the abstract is
-% controlled by two class options: \classoption{showpacs} and
-% \classoption{noshowpacs}. In particular, this is now independent of
-% the \classoption{preprint} option. \classoption{showpacs} must be
-% explicitly included in the class options to display the PACS codes.
-% 
-% \subsection{Keywords}
-% A \cmd\keywords\ macro may also be used to indicate keywords for the
-% article. 
-% \begin{verbatim}\keywords{nuclear form; yrast level}\end{verbatim}
-% This will be displayed below the abstract and PACS (if supplied). Like
-% PACS codes, the actual display of the the keywords is controlled by
-% two classoptions: \classoption{showkeys} and
-% \classoption{noshowkeys}. An explicit \classoption{showkeys} must be
-% included in the \cmd\documentclass\ line to display the keywords.
-% 
-% \subsection{Institutional report numbers}
-% Institutional report numbers can be specified using the \cmd\preprint\
-% macro. These will be displayed in the upper lefthand corner of the
-% first page. Multiple \cmd\preprint\ macros may be supplied (space is
-% limited though, so only three or less may actually fit). 
-% 
-% \subsection{maketitle}
-% After specifying the title, authors, affiliations, abstract, PACS
-% codes, and report numbers, the final step for formatting the front
-% matter of the manuscript is to issue the \cmd\maketitle\ command:
-% \begin{verbatim}\maketitle\end{verbatim}
-% This command must follow all of the macros listed above. 
-% The macro will format the front matter in accordance with the various
-% class options that were specified in the
-% \cmd\documentclass\ line (either implicitly through defaults or
-% explicitly).
-% 
-%
-% \section{Compatability with \LaTeX's Required Packages}
-% Certain packages, usually ones written by members of the 
-% \LaTeX\ Project itself, have been designated ``required'' and
-% are distributed as part of standard \LaTeX.
-% These packages have been placed in a priviledged position
-% vis \'a vis the \LaTeX\ kernel in that they override the definitions of certain kernel macros.
-%
-% The \classname{ltxfront} package will be incompatible with any package that
-% redefines any of the kernel macros that \classname{ltxfront} patches---if that
-% package is loaded \emph{after} \classname{ltxfront}. 
-%
-% Hereinafter follows some notes on specific \LaTeX\ packages.
-%
-%\StopEventually{}
-%
-% \section{Implementation of package}
-%
-% \subsection{Beginning of the \file{package} {\sc docstrip} module}
-%    \begin{macrocode}
-%<*package>
-\def\package@name{ltxfront}%
-\expandafter\PackageInfo\expandafter{\package@name}{%
- Title page macros for \protect\LaTeXe,
- by A. Ogawa (arthur_ogawa at sbcglobal.net)%
-}%
-%    \end{macrocode}
-%
-% \subsection{Prerequisites}%
-%
-% This package requires the use of the \classname{ltxutil} package.
-%    \begin{macrocode}
-\let\class@name\package@name
-\RequirePackage{ltxutil}%
-%</package>
-%    \end{macrocode}
-% End of the preliminary portion of the package code.
-%    \begin{macrocode}
-%    \end{macrocode}
-%
-% \subsection{Options}%
-% Package options are treated in this portion of the dtx file.
-% This portion is guarded by the \texttt{options} \classname{docstrip} code so that it can be
-% merged into a larger package gracefully.
-%    \begin{macrocode}
-%<*options>
-%    \end{macrocode}
-%
-% Package option turns on diagnostics that trace its operation.
-% \cmd\frontmatterverbose@sw\ is set false by default: we do not elect to monitor
-% the workings of these procedures.
-%    \begin{macrocode}
-\DeclareOption{frontmatterverbose}{\@booleantrue\frontmatterverbose@sw}%
-\@booleanfalse\frontmatterverbose@sw
-%    \end{macrocode}
-%
-% Package option inactivates its syntax, for testing purposes.
-%    \begin{macrocode}
-\DeclareOption{inactive}{\@booleanfalse\frontmatter@syntax@sw}%
-\@booleantrue\frontmatter@syntax@sw
-%    \end{macrocode}
-% 
-% \begin{macro}{\runinaddress@sw}
-% The flag \cmd\runinaddress@sw\ signifies that author addresses are to be set on the same
-% line with the author. 
-%
-% The \classoption{runinaddress}    option is the only one that sets \cmd\runinaddress@sw\ to true.
-% 
-% FIXME: this option pertains to cases where \cmd\groupauthors@sw\ is true, but is independant of \cmd\@affils@sw. 
-% So, it should be possible to assert both \classoption{runinaddress} and \classoption{unsortedaddress} as well as
-% each separately. 
-%    \begin{macrocode}
-\@booleanfalse\runinaddress@sw
-%    \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\@affils@sw}
-% If \cmd\@affils@sw\ is false, an address is never recognised as ``new''
-% and is therefore always entered into the affiliation list,
-% stopping groups of authors at the same address being consolidated
-% into the same list:
-% the address will be printed the same number of times it is entered.
-%
-% The \classoption{unsortedaddress} option is the only one that sets \cmd\@affils@sw\ to false.
-%    \begin{macrocode}
-\@booleantrue\@affils@sw
-%    \end{macrocode}
-% \end{macro}
-% 
-% \begin{macro}{\groupauthors@sw}
-% The flag \cmd\groupauthors@sw\ signifies that authors are to be grouped,
-% affecting the meaning of \cmd\@author@present.
-%
-% Clients will want to set \cmd\groupauthors@sw\ true if they want grouped addresses
-% or either of the following variants:
-% for unsorted addresses: set \cmd\@affils@sw\ false;
-% for run-in addresses, set \cmd\runinaddress@sw\ true.
-%    \begin{macrocode}
-\@booleanfalse\groupauthors@sw
-%    \end{macrocode}
-% \end{macro}
-% 
-% \begin{macro}{groupedaddress}
-% If we take the \classoption{groupedaddress} option as the default, then we can look upon
-% the \classoption{superscriptaddress} option as simply turning \cmd\groupauthors@sw\ to \cmd\false@sw.
-%
-% \classoption{groupedaddress}, the default in APS journals, groups authors above a common address. 
-%    \begin{macrocode}
-\DeclareOption{groupedaddress}{\clo@groupedaddress}%
-\def\clo@groupedaddress{%
- \@booleantrue\groupauthors@sw
- \@booleantrue\@affils@sw
- \@booleanfalse\runinaddress@sw
-}%
-%    \end{macrocode}
-% \end{macro}
-% 
-% \begin{macro}{unsortedaddress}
-% \classoption{unsortedaddress} is similar to \classoption{groupedaddress},
-% but turns off \cmd\@affils@sw,
-% with the result that each address that is entered will be printed.
-%    \begin{macrocode}
-\DeclareOption{unsortedaddress}{\clo@unsortedaddress}%
-\def\clo@unsortedaddress{%
- \@booleantrue\groupauthors@sw
- \@booleanfalse\@affils@sw
- \@booleanfalse\runinaddress@sw
-}%
-%    \end{macrocode}
-% \end{macro}
-% 
-% \begin{macro}{runinaddress}
-%
-% \classoption{runinaddress} is similar to \classoption{groupedaddress},
-% with the addition of the Boolean \cmd\runinaddress@sw,
-% which causes the authors associated with a particular address group
-% to be formatted in a paragraph instead of on separate lines.
-%    \begin{macrocode}
-\DeclareOption{runinaddress}{\clo@runinaddress}%
-\def\clo@runinaddress{%
- \@booleantrue\groupauthors@sw
- \@booleantrue\@affils@sw
- \@booleantrue\runinaddress@sw
-}%
-%    \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{superscriptaddress}
-% \classoption{superscriptaddress} presents author affiliations 
-% as superscripts. Authors with like affiliations share the same
-% superscript.
-%
-% FIXME: if \cmd\groupauthors@sw\ is false, would not \cmd\@affils@sw\ be a don't care?
-%    \begin{macrocode}
-\DeclareOption{superscriptaddress}{\clo@superscriptaddress}%
-\def\clo@superscriptaddress{%
- \@booleanfalse\groupauthors@sw
- \@booleantrue\@affils@sw
- \@booleanfalse\runinaddress@sw
-}%
-%    \end{macrocode}
-% \end{macro}
-% 
-%    \begin{macrocode}
-%</options>
-%    \end{macrocode}
-%
-% \subsection{Process package options}%
-%    \begin{macrocode}
-%<*package>
-\DeclareOption*{\OptionNotUsed}%
-\ProcessOptions*
-%</package>
-%    \end{macrocode}
-%
-% \section{Kernel of Front Matter}
-% Here begins  the kernel of the \classname{frontmatter} package.
-%    \begin{macrocode}
-%<*kernel>
-%    \end{macrocode}
-%
-% This package implements a new syntax for the title page of an article.
-%
-% Special acknowledgment: this package uses concepts pioneered
-% and first realized by William Baxter (mailto:web at superscript.com)
-% in his SuperScript line of commercial typesetting tools, and
-% which are used here with his permission. 
-%
-% These macros were first coded by David P. Carlisle for the American Physical 
-% society in the late 1990s as part of the development of REV\TeX4.
-% That development work was taken over by Arthur Ogawa, who is the author of
-% this package.
-%
-% \subsection{Initialization}%
-%
-% \begin{macro}{\frontmatter@init}
-% The \cmd\frontmatter@init\ procedure sets up all the registers for
-% processing the title page. 
-% At present, this is done once, at \cmd\class@documenthook\ time.
-% If multiple title pages are to be processed within a job, 
-% the initialization must be done for each.
-%    \begin{macrocode}
-\appdef\class@documenthook{\frontmatter@init}%
-\let\frontmatter@init\@empty
-%    \end{macrocode}
-% \end{macro}
-%
-% \subsection{The title command}%
-%
-% \begin{macro}{\title}
-% \begin{macro}{\do@title}
-% The author uses \cmd\title\ to specify the title. As in the AMS
-% classes, \cmd\title\ has an optional argument specifying a short form
-% for use in running heads.
-%
-% Once the \cmd\title\ is given, you can specify any combination of
-% \cmd\thanks, \cmd\email, \cmd\homepage, and \cmd\altaffiliation\ commands,
-% applying to the title of the document.
-%
-% Compatibility note: as with all of the standard \LaTeX\ commands that we override, 
-% we make here a private definition and later switch it in if so required.
-% \changes{4.1b}{2008/08/02}{Make the syntax of this package switch optional}%
-%    \begin{macrocode}
-\newcommand\frontmatter@title[2][]{%
- \def\@title{#2}%
- \def\@shorttitle{#1}%
- \let\@AF@join\@title@join
-}%
-%    \end{macrocode}
-%    \end{macro}
-%    \end{macro}
-%
-% \begin{macro}{\@title}
-% \begin{macro}{\@shorttitle}
-% The arguments to \cmd\title\ are saved in these internal
-% macros, which are set up to produce a warning if \cmd\title\ has not
-% been used before \cmd\maketitle.
-% \changes{4.1b}{2008/08/02}{Use \cs{frontmatter@init} as the vehicle for all initialization}
-%
-% Extensibility note: by using \cmd\frontmatter@init\ as the initialization procedure, 
-% we open the possibility of more than one title page per document.
-%    \begin{macrocode}
-\appdef\frontmatter@init{%
- \def\@title{\class@warn{No title}}%
- \let\@shorttitle\@empty
- \let\@title@aux\@title@aux@cleared
-}%
-%    \end{macrocode}
-%    \end{macro}
-%    \end{macro}
-%
-% \begin{macro}{\@title@join}
-% \begin{macro}{\@title@join@}
-% \begin{macro}{\@title@aux@cleared}
-% 
-%    \begin{macrocode}
-\def\@title@join{\expandafter\@title@join@\@title@aux}%
-\def\@title@join@#1#2{%
- \def\@title@aux{{\@join{\@separator}{#1}{#2}}}%
-}%
-\def\@title@aux@cleared{{}}%
-%    \end{macrocode}
-%    \end{macro}
-%    \end{macro}
-%    \end{macro}
-%
-%
-% \subsection{The author, affiliation, and related commands}%
-%
-% \begin{macro}{\c@affil}
-% \begin{macro}{\c@collab}
-% \changes{4.1b}{2008/08/02}{(AO, 486) \cs{collaboration} to work with \texttt{groupedaddress}}
-%
-% \cmd\c@affil\ stores the affiliation numbers used for the superscript marks. 
-% The \cmd\newcounter\ command defines \cmd\theaffil, which we never use: 
-% this counter is evaluated solely via \cmd\the.
-%
-% \cmd\c@collab\ stores the collaboration numbers. 
-% The \cmd\newcounter\ command defines \cmd\thecollab.
-% As with \cmd\c@affil, we never use \cmd\thecollab; only \cmd\the\ \cmd\c@collab.
-%
-% Each counter must be cleared before frontmatter can be processed.
-%    \begin{macrocode}
-\newcounter{affil}%
-\newcounter{collab}%
-\appdef\frontmatter@init{%
- \c@affil\z@
- \c@collab\z@
-}%
-%    \end{macrocode}
-% \end{macro}
-% \end{macro}
-%
-% \subsubsection{Commands for author or collaboration}%
-%
-% \begin{macro}{\author}
-% Each author is given in a \emph{separate} \cmd\author\ command.
-% This is similar to the AMS classes, but the AMS also try to support
-% the \classname{article} class's \cmd\and\ command for putting multiple
-% authors in one \cmd\author\ command.
-% This package, however, does not support the \cmd\and\ command.
-%
-% When the \cmd\author\ command is encountered, 
-% the previous author, author group, affiliation, and affiliation group are at an end.
-% This procedure moves the previous author to the author group (\cmd\move@AU),
-% moves the previous affiliation to the affiliation group (\cmd\move@AF),
-% and terminates the previous author/affiliation group (\cmd\move@AUAF) as the case may require.
-%
-% Compatibility note: as with all of the standard \LaTeX\ commands that we override, 
-% we make here a private definition and later switch it in if so required.
-% \changes{4.1b}{2008/08/02}{Make the syntax of this package switch optional}%
-%    \begin{macrocode}
-\newcommand\frontmatter@author{% implicit #1
- \@author@def{}% implicit #2
-}%
-%    \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\collaboration}
-% Specify the collaboration (given after a group of authors).
-%
-% This procedure does exactly what \cmd\author\ does, and sets
-% a flag signifying that the \cmd\collaboration\ command was given.
-% 
-% Note: earlier versions attempted to ignore the collaboration command if it was considered inappropriate.
-% We must not do this, however, because it throws the state machine out of kilter.
-% \changes{4.1b}{2008/08/02}{(AO, 486) \cs{collaboration} to work with \texttt{groupedaddress}}
-%    \begin{macrocode}
-\def\collaboration{% implicit #1
- \@author@def{\@booleantrue\collaboration@sw}% implicit #2
-}%
-\appdef\frontmatter@init{%
- \@booleanfalse\collaboration@sw
-}%
-%    \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\@author@init}
-% \begin{macro}{\@author@cleared}
-% \begin{macro}{\@authorclear@sw}
-% \begin{macro}{\@author@def}
-% \begin{macro}{\@author@join@}
-% \begin{macro}{\@author@join}
-% \changes{4.0b}{1999/06/20}{Change handling of \cs{@author} to prevent parsing problems. (Helps in error recovery when syntax errors exist)}
-% \changes{4.1b}{2008/08/02}{(AO, 486) \cs{collaboration} to work with \texttt{groupedaddress}}
-% \changes{4.1b}{2008/08/02}{Use \cs{frontmatter@init} as the vehicle for all initialization}
-%
-% Here are all the access procedures for the author data structure.
-% 
-% We define a flag value for \cmd\@author (private),
-% a procedure \cmd\@author@gobble\ to read author data without any effect,
-% a procedure for setting \cmd\@author\ to the flag value (\cmd\@author@init),
-% a Boolean to test against the flag value (\cmd\@authorclear@sw),
-% and a procedure to add new ancillary data to the author.
-%
-% Note that expanding the functionality of the \cmd\collaboration\ command entailed changing 
-% the data structures, because now all authors must remember the collaboration they belong to.
-% This change affects procedures \cmd\@author@cleared\ and \cmd\@author@gobble.
-%    \begin{macrocode}
-\def\@author@cleared{{}{}{}}%
-\def\@author@gobble#1#2#3{}%
-\def\@author@init{%
- \let\@author\@author@cleared
- \@booleanfalse\collaboration@sw
-}%
-\def\@authorclear@sw{\@ifx{\@author\@author@cleared}}%
-\appdef\frontmatter@init{%
- \@author@init
-}%
-%    \end{macrocode}
-% \changes{4.1i}{2009/10/18}{(AO, 540) More runtime diagnostics via \cs{frontmatterverbose@sw}}
-%    \begin{macrocode}
-\def\@author@def#1#2{%
- \frontmatterverbose@sw{\typeout{\string\author\space\string\collaboration}}{}%
- \move@AU\move@AF\move@AUAF
- \let\@AF@join\@author@join
- #1%
- \def\@author{{#2}{}}%
-}%
-\def\@author@join@#1#2#3{%
-  \def\@author{{#1}{\@join{\@separator}{#2}{#3}}}%
-}%
-\def\@author@join{\expandafter\@author@join@\@author}%
-%    \end{macrocode}
-%    \end{macro}
-%    \end{macro}
-%    \end{macro}
-%    \end{macro}
-%    \end{macro}
-%    \end{macro}
-%
-% \begin{macro}{\move@AU}
-% \begin{macro}{\add@AUCO@grp}
-% \changes{4.1b}{2008/08/02}{(AO, 486) \cs{collaboration} to work with \texttt{groupedaddress}}
-% The \cmd\move@AU\ procedure moves the most recent author to the current author group \cmd\AU@grp,
-% or the most recent collaboration to the collaboration group \cmd\CO@grp.
-% If we recently did a \cmd\@author@init, this is a no-op.
-%
-% To accommodate the expanded syntax of \cmd\collaboration, we add a new field to
-% those associated with an author (collaborator), namely the value of the 
-% collaboration counter.
-%    \begin{macrocode}
-\def\move@AU{%
- \@authorclear@sw{}{%
-  \collaboration@sw{%
-   \advance\c@collab\@ne
-   \@argswap{\CO@grp\CO@opr}%
-  }{%
-   \@argswap{\AU@grp\AU@opr}%
-  }%
-   {%
-    \expandafter\@argswap@val
-    \expandafter{\@author}%
-     {\expandafter\@argswap@val\expandafter{\the\c@collab}{\add@AUCO@grp}}%
-   }%
- }%
- \@author@init
-}%
-%    \end{macrocode}
-% \changes{4.1b}{2008/08/02}{Provide for diagnostics via \cs{frontmatterverbose@sw}}
-% The procedure \cmd\add@AUCO@grp\ adds to the specified group \#3 using the 
-% given intercollated operator \#4, with arguments \{\#1\} and \#2,
-% where the first argument is the collaboration number, 
-% the second is the author name, and the third the joined attributes of the author.
-% For example, \cmd\move@AU\ could finally execute:
-% \cmd\appdef\ \cmd\AU@grp\ \{\cmd\AU@opr\{1\}\{A. Author\}\{\}\}.
-%    \begin{macrocode}
-\def\add@AUCO@grp#1#2#3#4{%
- \appdef#3{#4{#1}#2}%
- \frontmatterverbose@sw{\say#3}{}%
-}%
-%    \end{macrocode}
-%    \end{macro}
-%    \end{macro}
-%
-% \begin{macro}{\@author@finish}
-% We define a procedure to terminate author/affiliation parsing just before the title block is formatted.
-% We detect the case where an author group is not followed by an affiliation group.
-% \changes{4.0f}{2001/02/13}{Actually append \cs{AU@grp} to \cs{@AAClist}.}
-% \changes{4.1b}{2008/08/02}{(AO, 486) \cs{collaboration} to work with \texttt{groupedaddress}}
-% \changes{4.1b}{2008/08/02}{Use \cs{@affil@def} for all access to \cs{@affil}}
-% \changes{4.1b}{2008/08/02}{Provide for diagnostics via \cs{frontmatterverbose@sw}}
-% \changes{4.1g}{2009/10/05}{(AO, 535) Robustify \cs{footnote} while \cs{class@warn} is expanding its argument}
-% \changes{4.1i}{2009/10/18}{(AO, 540) More runtime diagnostics via \cs{frontmatterverbose@sw}}
-% \changes{4.1m}{2009/11/20}{(AO, 563) \cs{collaboration} to work with both \texttt{groupedaddress} and \texttt{superscriptaddress}}
-% \changes{4.1n}{2009/11/30}{(AO, 567) Handle \cs{noaffiliation} case}
-%
-% We first finish off any author- or affiliation groups in progress. 
-% Next, we detect the case where there is an author group or a collaboration group in progress, but no affiliation group.
-% If so, we emit a diagnositic message and act as if a \cmd\noaffiliation\ command had been given.
-% In any case, we finish off any author/affiliation pair that may remain.
-% Formatting of the title block may now proceed.
-%    \begin{macrocode}
-\def\@author@finish{%
- \frontmatterverbose@sw{\typeout{\string\@author@finish}}{}%
- \move@AU\move@AF
- \@ifx{\AU@grp\@empty}{%
-  \@ifx{\CO@grp\@empty}%
- }{%
-  \false@sw
- }%
- {}{%
-  \@ifx{\AF@grp\@empty}{%
-   \begingroup
-    \let\href\@secondoftwo
-    \let\AU@opr\@secondofthree
-    \let\CO@opr\@secondofthree
-    \let\footnote\@gobble
-    \@ifx{\CO@grp\@empty}{%
-     \class@warn{Assuming \string\noaffiliation\space for authors}%
-     \frontmatterverbose@sw{\say\AU@grp}%
-    }{%
-     \class@warn{Assuming \string\noaffiliation\space for collaboration}%
-     \frontmatterverbose@sw{\say\CO@grp}{}%
-    }%
-   \endgroup
-   \@affil@none\move@AF
-  }{}%
- }%
- \move@AUAF
-}%
-\def\@secondofthree#1#2#3{#2}%
-%    \end{macrocode}
-%    \end{macro}
-%
-% \begin{macro}{\@join}
-% The procedure \cmd\@join\ inserts 
-% a separator between two tokens, or, if the first token is 
-% nil, elides both that token and the separator.
-%    \begin{macrocode}
-\def\@join#1#2#3{%
-  \@if@empty{#2}{#3}{#2#1#3}%
-}%
-\def\@separator{;\space}%
-%    \end{macrocode}
-%    \end{macro}
-%
-% \begin{macro}{\surname}
-% \begin{macro}{\firstname}
-% No-op to allow better post-processing of the file.
-%    \begin{macrocode}
-\let\surname\@firstofone
-\let\firstname\@firstofone
-%    \end{macrocode}
-%    \end{macro}
-%    \end{macro}
-%
-% \begin{macro}{\and}
-% The original \LaTeX\ idea of using one \cmd\author\ command to capture
-% all authors and their address just doesn't work with multiple authors
-% possibly sharing addresses, so in this class disable \cmd\and.
-%    \begin{macrocode}
-\newcommand\frontmatter@and{\class@err{\protect\and\space is not supported}}
-%    \end{macrocode}
-%    \end{macro}
-%
-%
-% \subsubsection{Commands for affiliation}%
-%
-% \begin{macro}{\affiliation}
-% \changes{4.1b}{2008/08/02}{Use \cs{@affil@def} for all access to \cs{@affil}}
-% After each group of authors with the same address,
-% give that address in \cmd\affiliation.
-% If later in the list you have an author
-% with the address of an earlier author, repeat the \cmd\affiliation\
-% command: the system will detect the equivalence and (if using the \classoption{superscriptaddress} option) 
-% only print the affiliation once, reusing the superscript marker.
-%
-% When the \cmd\affiliation\ command is encountered, the current author and author group (if any) are at an end.
-% Also, the current affiliation is at an end.
-% 
-% \changes{4.1i}{2009/10/18}{(AO, 540) More runtime diagnostics via \cs{frontmatterverbose@sw}}
-% FIXME: changes to catcode required elsewhere now?
-%    \begin{macrocode}
-\def\cat@comma@active{\catcode`\,\active}%
-{\cat@comma@active\gdef,{\active@comma}}%
-\def\active@comma{,\penalty-300\relax}%
-\newcommand\affiliation{%
- \frontmatterverbose@sw{\typeout{\string\affiliation}}{}%
- \move@AU\move@AF
- \begingroup
-  \cat@comma@active
-  \@affiliation
-}%
-\def\@affiliation#1{%
- \endgroup
- \let\@AF@join\@affil@join
- \@affil@def{#1}%
-}%
-%    \end{macrocode}
-%    \end{macro}
-%
-% \begin{macro}{\noaffiliation}
-% \changes{4.1b}{2008/08/02}{Use \cs{@affil@def} for all access to \cs{@affil}}
-% \changes{4.1i}{2009/10/18}{(AO, 540) More runtime diagnostics via \cs{frontmatterverbose@sw}}
-% \changes{4.1n}{2009/11/30}{(AO, 567) Handle \cs{noaffiliation} case}
-% User-level command \cmd\noaffiliation\ signifies that the current group of authors, or the current collaboration, has \emph{no} affiliation. 
-%
-% This is implemented by acting as if the \cmd\affiliation\ command has been given, and using a
-% flag value of \{\cmd\relax\}, which adds an element to the affiliation group of this author,
-% albeit a nil one (\cmd\AFF@opr\ \{\cmd\relax\} \{\}). 
-%
-% Note that this procedure does substantially the same as \cmd\@author@finish. (the latter, If it does not bail out altogether, differs chiefly in providing diagnostics).
-%    \begin{macrocode}
-\newcommand\frontmatter@noaffiliation{%
- \frontmatterverbose@sw{\typeout{\string\noaffiliation}}{}%
- \move@AU\move@AF
-%    \end{macrocode}
-% In \cmd\@author@finish, there is code testing if an effective
-% \cmd\noaffiliation\ should be executed now. Here, we do so in any case. 
-%    \begin{macrocode}
- \@affil@none\move@AF
- \move@AUAF
-}%
-\def\blankaffiliation{{}}%
-%    \end{macrocode}
-%    \end{macro}
-%
-% \begin{macro}{\@affil@cleared}
-% \begin{macro}{\@affil@nil}
-% \begin{macro}{\@affil@init}
-% \begin{macro}{\@affil@none}
-% \begin{macro}{\@affilclear@sw}
-% \begin{macro}{\@affil@def}
-% \begin{macro}{\@affil@join@}
-% \begin{macro}{\@affil@join}
-% \changes{4.1b}{2008/08/02}{Use \cs{@affil@def} for all access to \cs{@affil}}
-% \changes{4.1n}{2009/11/30}{(AO, 567) Handle \cs{noaffiliation} case}
-%
-% Here are all the access procedures for the affiliation data structure.
-% Note the similarity to those of the \cmd\@author\ data structure.
-% 
-% We define a flag value for \cmd\@affil\ (private),
-% a procedure for setting \cmd\@affil\ to the flag value (\cmd\@affil@init),
-% a Boolean to test against the flag value (\cmd\@affilclear@sw),
-% a procedure \cmd\@affil@def\ to load a value into the structure,
-% and a procedure to add new ancillary data to the affiliation.
-%    \begin{macrocode}
-\def\@affil@cleared{{{}}{}}%
-\def\@affil@nil{{\relax}{}}%
-\appdef\frontmatter@init{%
- \@affil@init
-}%
-\def\@affil@none{%
- \let\@affil\@affil@nil
-}%
-\def\@affil@init{%
- \let\@affil\@affil@cleared
-}%
-\def\@affilclear@sw{\@ifx{\@affil\@affil@cleared}}%
-\def\@affil@def#1{%
- \def\@affil{{#1}{}}%
-}%
-\def\@affil@join@#1#2#3{%
-  \def\@affil{{#1}{\@join{\@separator}{#2}{#3}}}%
-}%
-\def\@affil@join{\expandafter\@affil@join@\@affil}%
-%    \end{macrocode}
-%    \end{macro}
-%    \end{macro}
-%    \end{macro}
-%    \end{macro}
-%    \end{macro}
-%    \end{macro}
-%    \end{macro}
-%    \end{macro}
-%
-% \begin{macro}{\move@AF}
-% \changes{4.1b}{2008/08/02}{(AO, 486) \cs{collaboration} to work with \texttt{groupedaddress}}
-% \changes{4.1i}{2009/10/23}{(AO, 540) Rationalize code that appends to \cs{AF@grp}}
-% \changes{4.1n}{2009/11/30}{(AO, 567) Handle \cs{noaffiliation} case}
-% Move the most recent affiliation to the affiliation group.
-% If we recently did a \cmd\@affil@init, this is a no-op.
-%
-% Set the \cmd\temp@sw\ to false, then execute the affiliation list (\cmd\@AFF@list)
-% with the intercollated operator set to \cmd\@affil@match\
-% and with \cmd\@tempa\ holding the first component of \cmd\@affil, the current affiliation, which is to be matched.
-%
-% If the current affiliation has been seen before, then by side effect 
-% \cmd\temp@sw\ will be set to true,
-% \cmd\@tempc\ will be set to the matching affiliation number,
-% and \cmd\@tempd\ will be set to the affiliation's ancillary data.
-% The Boolean \cmd\@affils@sw\ being false prevents this test from ever returning a ``true'' result. 
-%
-% This procedure uses \cmd\@tempa\ and sets \cmd\@tempc, \cmd\@tempd, and \cmd\temp@sw.
-%    \begin{macrocode}
-\def\move@AF{%
- \@affilclear@sw{}{%
-  \@booleanfalse\temp@sw
-  \let\@tempd\@empty
-  \@affils@sw{%
-    \expandafter\@affil@addr@def\expandafter\@tempa\@affil
-    \def\AFF@opr{\@affil@match\@tempa}%
-    \@AFF@list
-  }{}\temp@sw
-%    \end{macrocode}
-% True clause: This affiliation has been seen before.
-% If ancillary data for the affiliation have been given, but are not identical to those seen before, give a warning.
-%    \begin{macrocode}
-  {%
-   \expandafter\@affil@aux@def\expandafter\@tempb\@affil
-   \@ifx{\@tempb\@empty}{}{%
-    \@ifx{\@tempb\@tempd}{}{%
-     \class@warn{%
-      Ancillary information for \@tempa\space must not be different!
-      Please put all of it on the first instance%
-     }%
-    }%
-   }%
-  }%
-%    \end{macrocode}
-% False clause: This affiliation is a new one:
-% increment the affiliation counter to get a unique affiliation ID
-% and append the new ID, collaboration number, address, and auxiliary information 
-% to the list \cmd\@AFF@list.
-%
-% Note that, with the expanded syntax of \cmd\collaboration, we need to label each address with 
-% its associated collaboration.
-%
-% Note also that the \cmd\noaffiliation\ case is handled by recognizing the flag value \cmd\@affil@nil.
-%    \begin{macrocode}
-  {%
-   \@ifx{\@affil\@affil@nil}{%
-    \def\@tempc{0}%
-    \@argswap@val{0}%
-   }{%
-    \advance\c@affil\@ne
-    \expandafter\def\expandafter\@tempc\expandafter{\the\c@affil}%
-    \expandafter\@argswap@val\expandafter{\the\c@affil}%
-   }%
-   {%
-    \expandafter\@argswap@val\expandafter{\the\c@collab}{%
-     \expandafter\@argswap@val\expandafter{\@affil}{%
-      \add@list@val@val@val\@AFF@list\AFF@opr
-     }%
-    }%
-   }%
-  }%
-%    \end{macrocode}
-% In either case, append this affiliation number to the \cmd\AF@grp, the affiliation group of the current author group. 
-% (It will later be considered for the \cmd\@AFG@list.)
-% Then assign the flag value to \cmd\@affil\ that signifies it has been cleared. 
-% \changes{4.1i}{2009/10/18}{(AO, 540) Rationalize code that appends to \cs{AF@grp}}
-%    \begin{macrocode}
-  \appdef@eval\AF@grp\@tempc
-  \frontmatterverbose@sw{\say\AF@grp}{}%
-  \@affil@init
- }%
-}%
-\def\@affil@addr@def#1#2#3{%
- \def#1{#2}%
-}%
-\def\@affil@aux@def#1#2#3{%
- \def#1{#3}%
-}%
-%    \end{macrocode}
-% \changes{4.1b}{2008/08/02}{Provide for diagnostics via \cs{frontmatterverbose@sw}}
-% Procedure \cmd\add@list@val@val@val\ appends to the given list \#1 using the given intercollated operator \#2,
-% with arguments \#5 (affiliation ID) and \#4 (collaboration ID) delimited by braces, and \#3 bare.
-% In the end, \cmd\move@AF\ may execute something like 
-% \cmd\appdef\ \cmd\@AFF@list\ \cmd\AFF@opr\ \{1\} \{3\} \{My Institution\} \{thanks\}.
-%    \begin{macrocode}
-\def\add@list@val@val@val#1#2#3#4#5{%
- \appdef#1{#2{#5}{#4}#3}%
- \frontmatterverbose@sw{\say#1}{}%
-}%
-%    \end{macrocode}
-%    \end{macro}
-%
-% \begin{macro}{\@affil@match}
-% \changes{4.1b}{2008/08/02}{(AO, 486) \cs{collaboration} to work with \texttt{groupedaddress}}
-% The procedure \cmd\@affil@match\ is the definition for \cmd\AFF@opr, 
-% the intercollated operator for \cmd\@AFF@list,
-% when adding a new affiliation: it seeks a match with any earlier affiliation.
-% When the affiliation list is executed, this procedure tests each entry against
-% the `new' affiliation (which has been stored in \cmd\@tempa) and its associated
-% collaboration number (in \cmd\@tempb).
-%
-% If \cmd\groupauthors@sw\ is true, then we require the collaboration ID to match,
-% otherwise there is no such requirement, 
-% as is appropriate for the \classoption{superscriptaddress} class option. 
-%
-% Uses \cmd\temp@sw, \cmd\@tempc, and \cmd\@tempd\ to communicate back:
-% if it returns \cmd\temp@sw\ true, a match was found.
-% Then 
-% \cmd\@tempc\ will be the affiliation ID of the matching entry 
-% and  \cmd\@tempd\ will be the auxiliary information of the matching entry.
-%    \begin{macrocode}
-\def\@affil@match#1#2#3#4#5{%
- \temp@sw{}{%
-  \def\@tempifx{#4}%
-  \@ifx{\@tempifx#1}{%
-   \groupauthors@sw{%
-    \@ifnum{#3=\c@collab}{%
-     \true@sw
-    }{%
-     \false@sw
-    }%
-   }{%
-    \true@sw
-   }%
-  }{%
-   \false@sw
-  }%
-  {%
-   \@booleantrue\temp@sw
-   \def\@tempc{#2}%
-   \def\@tempd{#5}%
-  }{%
-  }%
- }%
-}%
-%    \end{macrocode}
-%    \end{macro}
-%
-% \begin{macro}{\move@AUAF}
-% \changes{4.0h}{1998/06/25}{Changes to support groups of affiliations}
-% \changes{4.1b}{2008/08/02}{(AO, 486) \cs{collaboration} to work with \texttt{groupedaddress}}
-% \changes{4.1b}{2008/08/02}{Change csname \cs{AFS@opr} to \cs{AFG@opr}}
-% \changes{4.1b}{2008/08/02}{Provide for diagnostics via \cs{frontmatterverbose@sw}}
-% Append \cmd\AF@grp, \cmd\AU@grp, and \cmd\CO@grp\ to \cmd\@AAC@list,
-% append \cmd\CO@grp\ to \cmd\@AFG@list,
-% and merge any new \cmd\AF@grp\ to \cmd\@AFG@list.
-%
-% The entire procedure is predicated on something non-trivial to move.
-%
-% If both author group \cmd\AU@grp\ and affiliation group \cmd\AF@grp\ are nil, bail out.
-%
-% No, try that again:
-%
-% If we have seen any affiliations (\cmd\AF@grp\ is not nil), 
-% then it is time to move the current affiliation group and author group to \cmd\@AAC@list.
-% If not, we are picking up authors into an author group, and we should bail out. 
-%
-% To extend this scheme to the new \cmd\collaboration\ abilities, we must append an affiliation \cmd\AF@opr\ to \cmd\@AAC@list\ 
-% also in the case where there was no affiliation specified (e.g., \cmd\noaffiliation). This affiliation will be a nil affiliation:
-% \cmd\AF@opr\verb+{{0}}+.
-% 
-%FIXME: only one of \cmd\CO@grp\ or \cmd\AU@grp\ is non-empty at this point,
-% but this code does not appear to recognize this fact!
-% \changes{4.1i}{2009/10/18}{(AO, 540) More runtime diagnostics via \cs{frontmatterverbose@sw}}
-%    \begin{macrocode}
-\def\move@AUAF{%
- \frontmatterverbose@sw{\say\AU@grp\say\AF@grp\say\CO@grp}{}%
- \@ifx{\AF@grp\@empty}{%
-    \@ifx{\@empty\CO@grp}{%
-%    \end{macrocode}
-% Both \cmd\AF@grp\ and \cmd\CO@grp\ are empty: nothing to do. But what if \cmd\AU@grp\ is not empty?
-%    \begin{macrocode}
-    }{%
-%    \end{macrocode}
-% Append the nil \cmd\AF@opr\ to \cmd\@AAC@list.
-%    \begin{macrocode}
-     \appdef     \@AAC@list{\AF@opr{{0}}}%
-%    \end{macrocode}
-% Append the collaboration group to the \cmd\@AAC@list; no intercollated operator need be added, 
-% because we already have \cmd\CO@opr.
-%    \begin{macrocode}
-     \appdef@e   \@AAC@list{\CO@grp}%
-     \appdef@e   \@AFG@list{\CO@grp}%
-     \let\CO@grp\@empty
-    }%
- }{%
-%    \end{macrocode}
-% Append current affiliation group (expansion of \cmd\AF@grp)
-% to the author/affiliation list (\cmd\@AAC@list),
-% using \cmd\AF@opr\ as the intercollated operator;
-% also append the current authors (\cmd\AU@grp).
-%    \begin{macrocode}
-      \appdef     \@AAC@list{\AF@opr}%
-      \appdef@eval\@AAC@list{\AF@grp}%
-      \appdef@e   \@AAC@list{\AU@grp}%
-%    \end{macrocode}
-% Determine if either \cmd\AU@grp\ or \cmd\CO@grp\ is non-empty.
-%    \begin{macrocode}
-    \@ifx{\@empty\AU@grp}{%
-     \@ifx{\@empty\CO@grp}%
-    }{%
-     \false@sw
-    }%
-%    \end{macrocode}
-% At this point, there is a Boolean in \TeX's scanner; 
-% it will parse the following two brace-delimited sequences and select one of them. 
-%    \begin{macrocode}
-    {%
-%    \end{macrocode}
-% This branch is executed if and only if both \cmd\AU@grp\ and \cmd\CO@grp\ are empty. 
-%    \begin{macrocode}
-    }{%
-%    \end{macrocode}
-% There was either a \cmd\author\ or a \cmd\collaboration\ command.
-% Append the current affiliation group to \cmd\@AFG@list,
-% (only if it is not already there)
-% using \cmd\AFG@opr\ as the intercollated operator.
-%
-% Note that \cmd\@AFG@list\ is a list of \emph{unique} affiliation \emph{groups},
-% and building it entails an \(N^2\) computation. 
-%    \begin{macrocode}
-      \@booleanfalse\temp@sw
-      \def\AFG@opr{\x@match\AF@grp}%
-      \let\CO@opr\@author@gobble
-      \@AFG@list
-      \temp@sw{}{%
-        \appdef     \@AFG@list{\AFG@opr}%
-        \appdef@eval\@AFG@list{\AF@grp}%
-      }%
-%    \end{macrocode}
-% If the collaboration \cmd\CO@grp\ is not empty, we append it to the \cmd\@AFG@list\ and to the \cmd\@AAC@list. 
-% \changes{4.1m}{2009/11/20}{(AO, 563) \cs{collaboration} to work with both \texttt{groupedaddress} and \texttt{superscriptaddress}}
-%    \begin{macrocode}
-     \@ifx{\@empty\CO@grp}{}{%
-       \appdef@e   \@AAC@list{\CO@grp}%
-       \appdef@e   \@AFG@list{\CO@grp}%
-       \let\CO@grp\@empty
-     }%
-    }%
-%    \end{macrocode}
-% Finally, null out the macros holding the author group \cmd\AU@grp, affiliation group \cmd\AF@grp, and collaboration group \cmd\CO@grp.
-%    \begin{macrocode}
-    \let\CO@grp\@empty
-    \let\AU@grp\@empty
-    \let\AF@grp\@empty
- }%
- \frontmatterverbose@sw{\say\@AAC@list\say\@AFG@list}{}%
-}%
-%    \end{macrocode}
-%    \end{macro}
-%
-% \begin{macro}{\AU@grp}
-% \begin{macro}{\AF@grp}
-% \begin{macro}{\@AAC@list}
-% \begin{macro}{\@AFG@list}
-% \begin{macro}{\@AFF@list}
-%
-% The control sequence name \cmd\AU@grp\ accumulates
-% consecutive \cmd\author\ entries (with \cmd\AU@opr\ as the intercollated operator)
-% and \cmd\collaboration\ entries  (with \cmd\CO@opr\ as the intercollated operator).
-% Ultimately, its contents are appended to the author/affiliation list \cmd\@AAC@list\ 
-% and to the list of affiliation groups, \cmd\@AFG@list. 
-% It must be initialized to \cmd\@empty.
-%
-% Note on \cmd\AU@opr\ and \cmd\CO@opr: it is essential to treat these two operators to the greatest extent possible on an equal footing.
-% Therefore we invariably assign values to the pair of them within the same procedure.
-%
-% The macro \cmd\AF@grp\ accumulates affiliation IDs into an affiliation group.
-% It must be empty at the beginning of the frontmatter.
-% 
-% The \cmd\@AAC@list\ macro accumulates
-% authors        (using \cmd\AU@opr\ as the intercollated operator),
-% collaborations (using \cmd\CO@opr\ as the intercollated operator),
-% and 
-% affiliations   (using \cmd\AF@opr\ as the intercollated operator).
-%
-% It must be empty at the beginning of the frontmatter.
-%
-% The macro \cmd\@AFG@list\ accumulates 
-% affiliation groups, with \cmd\AFG@opr\ as the intercollated operator,
-% and collaborations, with no intercollated operator. 
-% This token list is employed when and only when \classoption{groupedaddress} is in effect.
-%
-% The macro \cmd\@AFF@list\ accumulates the list of affiliations
-% with \cmd\AFF@opr\ as the intercollated operator.
-% It must be empty at the beginning of the frontmatter.
-%
-% Each \cmd\affiliation\ command in the document contributes
-% to this list, as long as the argument of that instance of the command
-% is ``new''.
-%
-% Each entry in this list consists of the \cmd\AFF@opr\ intercollated operator
-% followed by three brace-delimited tokens, representing, in order:
-% \begin{enumerate}
-% \item
-%    the affiliation's unique ID, a number increasing monotonically for
-%    each new entry,
-% \item
-%    the optional argument of the \cmd\affiliation\ command, 
-%    the footnote to the affiliation, and
-% \item
-%    the text of the affiliation.
-% \end{enumerate}
-%
-% At various junctures in the code, the control sequence name
-% \cmd\AFF@opr\ assumes the meaning of 
-% \cmd\@affil@group, \cmd\affil@script,
-% or is defined to expand to \cmd\@affil@match\cmd\@tempa,
-% and the list \cmd\@AFF@list\ is expanded.
-%
-% For each of these lists, here is the syntax of an element and the usage of the associated operator:
-% \begin{verbatim}
-%\@AFF@list \AFF@opr{<affiliation ID>}{<collaboration ID>}{<address>}{<auxiliary info>} \frontmatter@author@produce@script \affils@present@group
-%\@AFG@list \AFG@opr{{<affiliation ID>}..{<affiliation ID>}} \frontmatter@author@produce@group
-%\@AAC@list \AF@opr{{<affiliation ID>}..{<affiliation ID>}} (\AU@opr|\CO@opr){<collaboration ID>}{<author>}{<auxilliary info>} \frontmatter@author@produce@script \frontmatter@author@produce@group \affils@present@group
-%
-%\AFF@opr \@affil@match\@tempa \@affil@script \@affil@group
-%\AFG@opr \affils@present@group \x@match\AF@grp
-%\AF@opr \@gobble \@affilID@def \@affilID@count\AF@temp\@tempcnta \@affilID@match\AF@temp 
-%\AU@opr \@secondofthree \@author@count\@tempcnta \@author@present \@author@gobble \@author@count#2 \@author@present
-%\CO@opr \@secondofthree \@collaboration@count\AU@temp\@tempcnta \@collaboration@present\AU@temp \@collaboration@present\AU@temp \@collaboration@gobble 
-%
-%\CO@opr\@author@cleared
-% \end{verbatim}
-%    \begin{macrocode}
-\appdef\frontmatter@init{%
- \let\AU@grp\@empty
- \let\CO@grp\@empty
- \let\AF@grp\@empty
- \let\@AAC@list\@empty
- \let\@AFG@list\@empty
- \let\@AFF@list\@empty
-}%
-%    \end{macrocode}
-%    \end{macro}
-%    \end{macro}
-%    \end{macro}
-%    \end{macro}
-%    \end{macro}
-%
-% \begin{macro}{\@AF@join}
-% The \cmd\csname\ \cmd\@AF@join\ is a procedure used within
-% \cmd\email, \cmd\homepage, \cmd\thanks, and \cmd\altaffiliation.
-% When such a command appears after an \cmd\author, \cmd\collaboration, or \cmd\affiliation
-% command, the \cmd\@AF@join\ procedure appends the argument given to the appropriate 
-% macro.
-% Its default is to give an error message, since these commands are legal only within
-% the particular context mentioned.
-%    \begin{macrocode}
-\appdef\frontmatter@init{%
- \let\@AF@join\@AF@join@error
-}%
-\def\@AF@join@error#1{%
- \class@warn{%
-  \string\email, \string\homepage, \string\thanks, or \string\altaffiliation\space
-  appears in wrong context. 
- }%
-}%
-%    \end{macrocode}
-%    \end{macro}
-%
-%
-% \subsubsection{Commands for auxiliary information}%
-%
-% \begin{macro}{\email}
-% Just tacks the email address on to the current author or affiliation.
-% \changes{4.1a}{2008-07-01}{(AO, 496) remove default prependation to \cs{email}.}
-%    \begin{macrocode}
-\def\sanitize@url{%
- \@makeother\%%
- \@makeother\~%
- \@makeother\_%
-}%
-\newcommand*\email[1][]{\begingroup\sanitize@url\@email{#1}}%
-\def\@email#1#2{%
- \endgroup
- \@AF@join{#1\href{mailto:#2}{#2}}%
-}%
-%    \end{macrocode}
-%    \end{macro}
-%
-% \begin{macro}{\homepage}
-% Just tacks the URL on to the current author or affiliation.
-% Note: group opened in \cmd\homepage\ is closed in \cmd\@homepage.
-% \changes{4.1a}{2008-07-01}{(AO, 496) remove default prependation to \cs{homepage}.}
-% \changes{4.1n}{2009/12/03}{(AO) remove http:// from \cs{href} call}
-%    \begin{macrocode}
-\newcommand*\homepage[1][]{\begingroup\sanitize@url\@homepage{#1}}%
-\def\@homepage#1#2{%
- \endgroup
- \@AF@join{#1\href{#2}{#2}}%
-}%
-%    \end{macrocode}
-%    \end{macro}
-%
-% \begin{macro}{\href}
-% The document may load a package that defines either of these commands;
-% if not, we give a default meaning. 
-%    \begin{macrocode}
-\appdef\class@documenthook{%
- \providecommand\href[1]{}%
-}%
-%    \end{macrocode}
-%    \end{macro}
-%
-% \begin{macro}{\thanks}
-% \changes{4.1b}{2008/08/02}{Make the syntax of this package switch optional}%
-%
-% The operative version of \cmd\thanks\ appends an item to \cmd\@author, or \cmd\@affil's auxiliary data.
-%    \begin{macrocode}
-\def\frontmatter@thanks{% implicit #1
-  \@AF@join
-}%
-%    \end{macrocode}
-%    \end{macro}
-%
-% \begin{macro}{\altaffiliation}
-% \changes{4.0d}{1998/01/31}{change name from \cs{tempaffiliation}}
-% \changes{4.0l}{1998/09/01}{add optional argument handling back}
-% Implemented more or less like \cmd\thanks\ but shares the affiliation
-% counter.
-% Optional argument may be used to give explanatory text eg
-% `currently staying at'
-% This will be placed before the address, if used in a footnote.
-%    \begin{macrocode}
-\newcommand*\altaffiliation[2][]{%
-  \@AF@join{#1#2}%
-}%
-%    \end{macrocode}
-%    \end{macro}
-%
-%
-% \subsubsection{Procedures for author, collaboration, and affiliation}%
-%
-% Macros that list off, say, authors, and which require punctuation, like ``A, B, and C'', will use 
-% \cmd\set@listcomma@list, \cmd\set@listcomma@count, \cmd\@listand, and \cmd\@listcomma.
-% These macros use the \cmd\@tempcnta\ register to keep track of how many items remain to be listed off.
-%
-% At present, \cmd\@author@present\ will decrement that counter.
-%
-% \begin{macro}{\set@listcomma@list}
-% \begin{macro}{\set@listcomma@count}
-% \changes{4.0l}{1998/09/01}{macro added}
-% Pop the author count for this collaboration.
-%
-% Note: by side effect, it assigns \cmd\@listcomma:
-% for a list of length two, suppress comma addition.
-%    \begin{macrocode}
-\def\set@listcomma@list#1{%
-  \expandafter\@reset@ac\expandafter#1#1{0}\@reset@ac{%
-   \let\@listcomma\relax
-  }{%
-   \let\@listcomma\@listcomma@comma
-  }%
-}%
-\def\set@listcomma@count#1{%
-  \@ifnum{#1=\tw@}{%
-    \let\@listcomma\relax
-  }{%
-    \let\@listcomma\@listcomma@comma
-  }%
-}%
-%    \end{macrocode}
-% Does the actual pop operation, then generates a Boolean which selects one of the two assignments for \cmd\@listcomma.
-%
-% Note: this procedure sets \cmd\@tempcnta\ to reflect the number of items to list off.
-%    \begin{macrocode}
-\def\@reset@ac#1#2#3\@reset@ac{%
-  \def#1{#3}%
-  \@tempcnta#2\relax
-  \@ifnum{#2=\tw@}%
-}%
-%    \end{macrocode}
-% \end{macro}
-% \end{macro}
-%
-% \begin{macro}{\listand}
-% Might need extending with penalties etc.
-%
-% Note: this procedure expects \cmd\@tempcnta\ to reflect the current number of items remaining to list off.
-%    \begin{macrocode}
-\def\@listand{\@ifnum{\@tempcnta=\tw@}{\andname\space}{}}%
-%    \end{macrocode}
-%    \end{macro}
-%
-% \begin{macro}{\@listcomma}
-% This definition, with \cmd\@ne\ puts a comma before and.
-%
-% David Carlisle says: In UK English (at least) would have \cmd\tw@\ here,
-% which would then implement the convention of indicating conjunction with comma or ``and'', but not both.
-%
-% Note: this procedure expects \cmd\@tempcnta\ to reflect the current number of items remaining to list off.
-%    \begin{macrocode}
-\def\@listcomma@comma{\@ifnum{\@tempcnta>\@ne}{,}{}}%
-\def\@listcomma@comma@UK{\@ifnum{\@tempcnta>\tw@}{,}{}}%
-%    \end{macrocode}
-%    \end{macro}
-%
-% \begin{macro}{\@collaboration@gobble}
-% This command will be the synonym of \cmd\CO@grp\ during the expansion of \cmd\@AAC@list, 
-% within \cmd\affils@present@group execution (in a \classoption{groupedaddress} situation). 
-% 
-% \changes{4.1m}{2009/11/20}{(AO, 563) Let \cs{@collaboration@gobble} parse all three arguments of \cs{CO@opr}}
-%    \begin{macrocode}
-\def\@collaboration@gobble#1#2#3{}%
-%    \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\doauthor}
-% \changes{4.1b}{2008/08/04}{Provide facility \cs{affil@cutoff}: if there is only one affiliation on the title page, no superscript}%
-% \changes{4.1n}{2009/11/30}{(AO, 567) Handle punctuation for \classoption{superscriptaddress} style authors' extra information, such as \cs{email}}
-% Main control over how authors are typeset.
-%
-% |#1| is loaded by \cmd\author
-%
-% |#2| is loaded by \cmd\email, \cmd\homepage, \cmd\altaffiliation, or \cmd\thanks
-%
-% |#3| is the superscript affiliation, if at all used.
-%
-% First, the author name is formatted, followed by a comma,
-% then come any marks relating to affiliation (if present),
-% then come the homepage URL and email address, if any, with
-% appropriate punctuation.
-%
-% Here, as in \cmd\@affil@script, the parameter \cmd\affil@cutoff\
-% controls whether the argument \#3 is produced as a superscript label
-% connecting this author with its affiliation. (If there is only one
-% affiliation on the title page, it makes sense to remove the superscript.) 
-% 
-% Note that argument \#3 must effectively execute either 
-% \cmd\aftergroup\cmd\true@sw\ or \cmd\aftergroup\cmd\false@sw\ (exactly once!). 
-% In the case of \classoption{superscriptaddress}, this is done when 
-% \cmd\@author@present@script\ invokes \cmd\doauthor\ with its third argument containing 
-% \cmd\@affil@present@script. 
-% Otherwise (e.g., \classoption{groupedaddress}), \cmd\doauthor\ is invoked by
-% \cmd\@author@present@group\ with its third argument containing \cmd\@affil@present@group.
-%    \begin{macrocode}
-\def\doauthor#1#2#3{%
-  \ignorespaces#1\unskip\@listcomma
-  \begingroup
-   #3%
-%    \end{macrocode}
-% At this point, we must have queued up a Boolean (either \cmd\true@sw\ or \cmd\false@sw).
-%    \begin{macrocode}
-  \@if@empty{#2}{\endgroup{}{}}{\endgroup{\comma@space}{}\frontmatter@footnote{#2}}%
-  \space \@listand 
-}%
-%    \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\x@match}
-% Procedure \cmd\x@match\ is used as an alias \cmd\AFG@opr,
-% probing the list of affiliation groups
-% and setting a Boolean if a match is found to \#1 (usually the current affiliation group).
-%
-% Procedure \cmd\y@match\ is used as an alias to \cmd\@TBN@opr,
-% probing the list of unique title block footnotes for a match to the footnote text:
-% when the first match is found it sets a Boolean,
-% defining \cmd\@tempb\ to the number of that footnote.
-%    \begin{macrocode}
-\def\x@match#1#2{%
- \temp@sw{}{%
-  \def\@tempifx{#2}%
-  \@ifx{\@tempifx#1}{%
-    \@booleantrue\temp@sw
-  }{%
-  }%
- }%
-}%
-\def\y@match#1#2#3{%
- \temp@sw{}{%
-  \def\@tempifx{#3}%
-  \@ifx{\@tempifx#1}{%
-    \@booleantrue\temp@sw
-    \def\@tempb{#2}%
-  }{%
-  }%
- }%
-}%
-%    \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\frontmatter@footnote}
-% Used when typesetting a title block footnote.
-% (Item 290: merge duplicates.)
-%
-% Maintains a list of frontmatter footnotes along with associated device.
-% Uniquifies each footnote by traversing the list and looking for a match to the footnote text.
-% If found, define \cmd\@tempb\ to the corresponding footnote device, and typeset it with \cmd\@footnotemark.
-% If never found, manually increment footnote counter, 
-% determine the corresponding footnote device, and
-% add footnote text and device to the list of frontmatter footnotes.
-%
-% The list \cmd\@FMN@list\ is processed later in the title block production.
-%
-% Note that this method of making footnotes runs afoul of \classname{hyperref}'s patches of the \LaTeX\ kernel.
-% Therefore, we avoid trouble by refraining from using \cmd\@footnotemark\ and by creating our own hypertext links.
-%    \begin{macrocode}
-\def\frontmatter@footnote#1{%
- \begingroup
-  \@booleanfalse\temp@sw
-  \def\@tempa{#1}%
-  \let\@tempb\@empty
-  \def\@TBN@opr{\y@match\@tempa}%
-  \@FMN@list
-%    \end{macrocode}
-% By side effect, \cmd\@tempb\ holds the value of the footnote counter if
-% This note has been seen before. Otherwise \cmd\temp@sw\ is false. 
-%    \begin{macrocode}
-  \temp@sw{%
-   \expandafter\frontmatter@footnotemark
-   \expandafter{\@tempb}%
-  }{%
-%    \end{macrocode}
-% Execute \cmd\frontmatter@foot@mark, feeding it the value of the current footnote counter. 
-% This call requires two levels of pre-expansion to accomplish, the first to expand \cmd\csname, the second to evaluate \cmd\the.
-%    \begin{macrocode}
-   \stepcounter\@mpfn
-   \expandafter\expandafter
-   \expandafter\frontmatter@foot@mark
-   \expandafter\expandafter
-   \expandafter{%
-   \expandafter \the\csname c@\@mpfn\endcsname
-               }{#1}%
-  }%
- \endgroup
-}%
-%    \end{macrocode}
-% Procedure \cmd\frontmatter@foot@mark\ lays down the footnote device (mark) and takes care of the footnote text.
-% The latter merely involves queueing that text (along with its associated device) into \cmd\@FMN@list. 
-%    \begin{macrocode}
-\def\frontmatter@foot@mark#1#2{%
- \frontmatter@footnotemark{#1}%
- \g@addto@macro\@FMN@list{\@TBN@opr{#1}{#2}}%
-}%
-\appdef\frontmatter@init{%
- \global\let\@FMN@list\@empty
-}%
-%    \end{macrocode}
-% \changes{4.1n}{2010/01/02}{(AO, 572) Independent footnote counter for title block. Abstract footnote counter shared with body.}%
-%    \begin{macrocode}
-\def\frontmatter@footnotemark#1{%
- \leavevmode
- \ifhmode\edef\@x@sf{\the\spacefactor}\nobreak\fi
-  \begingroup
-   \hyper@linkstart {link}{frontmatter.#1}%
-    \csname c@\@mpfn\endcsname#1\relax
-    \def\@thefnmark{\frontmatter@thefootnote}%
-    \@makefnmark
-   \hyper@linkend
-  \endgroup
- \ifhmode\spacefactor\@x@sf\fi
- \relax
-}%
-%    \end{macrocode}
-% \end{macro}
-%
-%
-%
-% \subsection{The keywords command}%
-% \begin{macro}{\keywords}
-%    \begin{macro}{\@keywords}
-% Usual game, save text in a macro for processing by \cmd\maketitle.
-%    \begin{macrocode}
-\def\keywords#1{%
-  \aftermaketitle@chk{\keywords}%
-  \gdef\@keywords{#1}%
-}%
-\appdef\frontmatter@init{%
- \let\@keywords\@empty
-}%
-%    \end{macrocode}
-%    \end{macro}
-%    \end{macro}
-%
-% \subsection{The \cs{date} command and related commands}%
-% \begin{macro}{\date}
-% \begin{macro}{\received}
-% \begin{macro}{\revised}
-% \begin{macro}{\accepted}
-% \begin{macro}{\published}
-% \begin{macro}{\@date}
-% \begin{macro}{\@received}
-% \begin{macro}{\@revised}
-% \begin{macro}{\@accepted}
-% \begin{macro}{\@published}
-% \changes{4.1b}{2008/08/02}{Make the syntax of this package switch optional}%
-% Use the \cmd\date\ command to specify the document date,
-% the \cmd\received\ command to specify the date received,
-% \cmd\revised\   for date revised,
-% \cmd\accepted\  for date accepted, and
-% \cmd\published\ for date published.
-% Normally only \cmd\date\ to be used by author, 
-% the remainder used only by editors.
-%
-% DPC: As for \cmd\keywords, but this time don't flag a warning if there is no
-% revision date specified.
-%
-% In each case the user-level command defines the value of a 
-% macro which buffers the data entered by the user.
-% For instance, \cmd\received\ causes \cmd\@received\ to
-% acquire a value.
-% The optional argument allows the user to override the 
-% text that will be typeset along with the date;
-% the default value of that text is itself 
-% a localized macro.
-%    \begin{macrocode}
-\newcommand*\frontmatter@date[2][\Dated@name]{\def\@date{#1#2}}%
-\def\@date{}%
-\newcommand*\received[2][\Received@name]{\def\@received{#1#2}}%
-\def\@received{}%
-\newcommand*\revised[2][\Revised@name]{\def\@revised{#1#2}}%
-\def\@revised{}%
-\newcommand*\accepted[2][\Accepted@name]{\def\@accepted{#1#2}}%
-\def\@accepted{}%
-\newcommand*\published[2][\Published@name]{\def\@published{#1#2}}%
-\def\@published{}%
-%    \end{macrocode}
-%
-%    \end{macro}
-%    \end{macro}
-%    \end{macro}
-%    \end{macro}
-%    \end{macro}
-%    \end{macro}
-%    \end{macro}
-%    \end{macro}
-%    \end{macro}
-%    \end{macro}
-%
-% \subsection{The pacs command}%
-% PACS, the Physics and Astronomy Classification Scheme.
-% \begin{macro}{\pacs}
-% \begin{macro}{\@pacs}
-% As for \cmd\keywords\
-%    \begin{macrocode}
-\def\pacs#1{%
-  \aftermaketitle@chk{\pacs}%
-  \gdef\@pacs{#1}%
-}%
-\appdef\frontmatter@init{%
- \let\@pacs\@empty
-}%
-%    \end{macrocode}
-%    \end{macro}
-%    \end{macro}
-%
-% \subsection{The \cs{preprint} command}
-%
-% \changes{4.0g}{1998/06/10}{multiple preprint commands}
-%    \begin{macrocode}
-\def\preprint#1{\gappdef\@preprint{\preprint{#1}}}%
-\appdef\frontmatter@init{%
- \let\@preprint\@empty
-}%
-%    \end{macrocode}
-%
-% \subsection{The \env{abstract} environment}%
-%
-% \changes{4.0b}{1999/06/20}{Gathered all code for the abstract environment together and abstracted out the formatting details for journals to override.}
-%
-% \begin{macro}{\absbox}
-%
-%    \begin{macrocode}
-\newbox\absbox
-%    \end{macrocode}
-%    \end{macro}
-%
-% \begin{environment}{abstract}
-% Abstract, as in AMS classes, must be specified \emph{before}
-% \cmd\maketitle. It just saves everything up in \cmd\absbox.
-% \changes{4.0d}{1998/01/31}{If empty \cs{abstractname} omit spacing}
-% \changes{4.0d}{1998/01/31}{hookify}
-% Note that the specifics of how the abstract is to be 
-% formatted are set by \cmd\frontmatter@abstractwidth,
-% \cmd\frontmatter@abstractheading, and \cmd\frontmatter@abstractfont.
-%
-% Here we wish to set the abstract into type but save it away in a box, much like
-% the \cmd\minipage\ command does. 
-%
-% Note that the \cmd\endabstract\ portion of the environment
-% begins with code that mostly duplicates \cmd\endminipage, but without the \cmd\@iiiparbox.
-% At the end, we simply transfer the contents of the \cmd\minipage\ 
-% into a box of our own.
-% 
-% However, we also have to end the gratuitous 
-% paragraph begun by \cmd\minipage.
-% We ensure that no trace of that paragraph is left,
-% by absorbing the \cmd\parindent\ box.
-% Doing so destroys the paragraph entirely, except
-% for the \cmd\parskip\ glue, and that morsel is pruned, because we are at the top
-% of a page.
-%
-% This mechanism is vulnerable, however, because anything placed into the horizontal list
-% after the \cmd\parindent\ box will confound it. 
-% And that is exactly what happens under Mik\TeX:
-% There seems to be an extension to the \TeX\ standard operating here which inserts a \cmd\special \ at the beginning of every paragraph.
-% (The mechnism is \emph{not} based on \cmd\everypar.)
-%
-% To accomodate this state of affairs, 
-% we have a new mechanism that offers an even more complete rewrite of \env{minipage}.
-% 
-% Note that an entry is made in the toc for the abstract; this has the side effect
-% of creating a PDF bookmark for this element if the \classname{hyperref} package is in effect. 
-% \changes{4.1a}{2008-06-30}{(AO, 443) create an entry in the PDF bookmarks for the abstract via the toc}
-%    \begin{macrocode}
-\def\toclevel@abstract{1}%
-\def\addcontents@abstract{%
- \phantomsection
- \expandafter\def\csname Parent0\endcsname{section*.2}%
- \expandafter\@argswap@val\expandafter{\abstractname}{\addcontentsline{toc}{abstract}}%
-}%
-\newenvironment{frontmatter@abstract}{%
-  \aftermaketitle@chk{\begin{abstract}}%
-  \global\setbox\absbox\vbox\bgroup
-   \color@begingroup
-   \columnwidth\textwidth
-   \hsize\columnwidth
-   \@parboxrestore
-%    \end{macrocode}
-% The following line switches footnotes to the \texttt{mpfoootnote} series.
-% This action should rather be taken by \cmd\frontmatter@abstractfont, which can be customized. 
-% There is also an interaction with \cmd\mini@note. 
-%    \begin{macrocode}
-   \def\@mpfn{mpfootnote}\def\thempfn{\thempfootnote}\c@mpfootnote\z@
-   \let\@footnotetext\frontmatter@footnotetext
-   \minipagefootnote@init
-   \let\set@listindent\set@listindent@
-   \let\@listdepth\@mplistdepth \@mplistdepth\z@
-   \let@environment{description}{frontmatter@description}%
-   \@minipagerestore
-   \@setminipage
-    \frontmatter@abstractheading
-    \frontmatter@abstractfont
-    \let\footnote\mini@note
-    \expandafter\everypar\expandafter{\the\everypar\addcontents@abstract\everypar{}}%
-}{%
-    \par
-    \unskip
-    \minipagefootnote@here
-    \@minipagefalse   %% added 24 May 89
-    \color@endgroup
-  \egroup
-}%
-%    \end{macrocode}
-%    \end{environment}
-%
-% \begin{macro}{\frontmatter@footnotetext}
-% We reimplement \cmd\@mpfootnotetext\ under a new name (so as not to be overridden by the \classname{hyperref} package) 
-% and extend it to accomodate hyperrefs.
-%
-% Note that this procedure is very like \classname{ltxutil}'s \cmd\mp@footnotetext, except that it
-% uses \cmd\frontmatter@makefntext\ instead of \cmd\@makefntext.
-%
-% \changes{4.1f}{2009/07/07}{(AO, 515) Use \cs{set@footnotefont}, which is defined in ltxutil}
-% \changes{4.1n}{2010/01/02}{(AO, 571) allow split after last line of footnote}%
-% \changes{4.1n}{2010/01/02}{(AO, 572) Independent footnote counter for title block. Abstract footnote counter shared with body.}%
-%    \begin{macrocode}
-\long\def\frontmatter@footnotetext#1{%
-  \minipagefootnote@pick
-    \set@footnotefont
-    \set@footnotewidth
-    \@parboxrestore
-    \protected@edef\@currentlabel{\csname p@\@mpfn\endcsname\@thefnmark}%
-    \color@begingroup
-      \frontmatter@makefntext{%
-        \rule\z@\footnotesep\ignorespaces#1\@finalstrut\strutbox\vadjust{\vskip\z@skip}%
-      }%
-    \color@endgroup
-  \minipagefootnote@drop
-}%
-%    \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\ltx@no@footwarn}
-%
-%    \begin{macrocode}
-\def\ltx@no@footnote{%
- \let\ltx@xfootnote\ltx@no@xfootnote\let\ltx@yfootnote\ltx@no@yfootnote
- \let\ltx@xfootmark\ltx@no@xfootmark\let\ltx@yfootmark\ltx@no@yfootmark
- \let\ltx@xfoottext\ltx@no@xfoottext\let\ltx@yfoottext\ltx@no@yfoottext
-}%
-\def\ltx@no@xfootnote[#1]#2{\ltx@no@footwarn\footnote}%
-\def\ltx@no@yfootnote#1{\ltx@no@footwarn\footnote}%
-\def\ltx@no@xfootmark[#1]{\ltx@no@footwarn\footnotemark}%
-\def\ltx@no@yfootmark{\ltx@no@footwarn\footnotemark}%
-\def\ltx@no@xfoottext[#1]#2{\ltx@no@footwarn\footnotetext}%
-\def\ltx@no@yfoottext#1{\ltx@no@footwarn\footnotetext}%
-\def\ltx@no@footwarn#1{%
- \class@warn{%
-  The \string#1\space command is not legal on the title page; 
-  using \string\thanks\space instead might suit you: consult the manual for details%
- }%
-}%
-%    \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\frontmatter@abstractheading}
-% The default abstract head; journals will override this procedure.
-%    \begin{macrocode}
-\def\frontmatter@abstractheading{%
- \begingroup
-  \centering\large
-  \abstractname
-  \par
- \endgroup
-}%
-%    \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\frontmatter@abstractfont}
-% The default type specification for the body of the abstract.
-% Journals will override this setting.
-%    \begin{macrocode}
-\def\frontmatter@abstractfont{}%
-%    \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{frontmatter@description}
-% \changes{4.1b}{2008/06/29}{(AO, 455) provide a \texttt{description} environment for the abstract}
-% Within the abstract, the description environment is defined as follows:
-%    \begin{macrocode}
-\newenvironment{frontmatter@description}{%
- \list{}{%
-  \leftmargin\z@
-  \labelwidth\z@
-%    \end{macrocode}
-%    \begin{verbatim}
-% \itemindent-\leftmargin
-%    \end{verbatim}
-%    \begin{macrocode}
-  \itemindent\z@
-  \let\makelabel\frontmatter@descriptionlabel
- }%
-}{%
- \endlist
-}%
-\def\frontmatter@descriptionlabel#1{%
- \hspace\labelsep
- \normalfont\bfseries
- #1:%
-}%
-%    \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\frontmatter@abstractwidth}
-% The default setting is the full text width;
-% journals can override this setting.
-%    \begin{macrocode}
-\def\frontmatter@abstractwidth{\textwidth}
-%    \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\frontmatter@abstract@produce}
-% This procedure determines how the abstract is incorporated
-% into the title block. We split this out in anticipation
-% of the need to lift the limitation that the abstract not break over pages.
-%
-% If we are in preprint style, we provide an easy pagebreak point immediately above the abstract.
-% This means that the abstract will either fit entirely on the same page as the title block, 
-% or it will start a page of its own (which may itself break onto a subsequent page if necessary).
-%    \begin{macrocode}
-\def\frontmatter@abstract@produce{%
-  \par
-  \preprintsty@sw{%
-   \do@output@MVL{%
-    \vskip\frontmatter@preabstractspace
-    \vskip200\p@\@plus1fil
-    \penalty-200\relax
-    \vskip-200\p@\@plus-1fil
-   }%
-  }{%
-   \addvspace{\frontmatter@preabstractspace}%
-  }%
-   \begingroup
-    \dimen@\baselineskip
-    \setbox\z@\vtop{\unvcopy\absbox}%
-    \advance\dimen@-\ht\z@\advance\dimen@-\prevdepth
-    \@ifdim{\dimen@>\z@}{\vskip\dimen@}{}%
-   \endgroup
-   \begingroup
-    \prep@absbox
-    \unvbox\absbox
-    \post@absbox
-   \endgroup
-  \@ifx{\@empty\mini@notes}{}{\mini@notes\par}%
-  \addvspace\frontmatter@postabstractspace
-}%
-\appdef\frontmatter@init{\let\mini@notes\@empty}%
-\let\prep@absbox\@empty
-\let\post@absbox\@empty
-%    \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\frontmatter@preabstractspace}
-% \begin{macro}{\frontmatter@postabstractspace}
-% Space above and space below abstract in title block
-%    \begin{macrocode}
-\def\frontmatter@preabstractspace{.5\baselineskip}
-\def\frontmatter@postabstractspace{.5\baselineskip}
-%    \end{macrocode}
-% \end{macro}
-% \end{macro}
-%
-%
-%
-% \subsection{Formatting the title block}%
-%
-% \begin{environment}{titlepage}
-% This is \LaTeXe's \classname{article} class version,
-% with modifications.
-% \changes{4.0c}{1999/11/13}{grid changes with ltxgrid}
-% \changes{4.1b}{2008/08/02}{Make the syntax of this package switch optional}%
-%    \begin{macrocode}
-\newenvironment{frontmatter@titlepage}{%
-      \twocolumn@sw{\onecolumngrid}{\newpage}%
-      \thispagestyle{titlepage}%
-      \setcounter{page}\@ne
-}{%
-     \twocolumn@sw{\twocolumngrid}{\newpage}%
-     \twoside@sw{}{%
-        \setcounter{page}\@ne
-     }%
-}%
-%    \end{macrocode}
-% \end{environment}
-%
-% \begin{macro}{\maketitle}
-% \changes{4.0d}{1998/01/31}{hookify}
-% Put it all together to format the title block.
-%
-% Gotcha!
-% If you expand \cmd\csname undefined\cmd\endcsname, you change the meaning of \cmd\undefined\ from
-% ``Undefined'' to \cmd\relax.
-% Watchout!
-%    \begin{macrocode}
-\def\frontmatter@maketitle{%
-  \@author@finish
-  \title@column\titleblock@produce
-  \suppressfloats[t]%
-%    \end{macrocode}
-% Now save some memory.
-%    \begin{macrocode}
-  \let\and\relax
-  \let\affiliation\@gobble
-  \let\author\@gobble
-  \let\@AAC@list\@empty
-  \let\@AFF@list\@empty
-  \let\@AFG@list\@empty
-  \let\@AF@join\@AF@join@error
-  \let\email\@gobble
-  \let\@address\@empty
-  \let\maketitle\relax
-  \let\thanks\@gobble
-  \let\abstract\@undefined\let\endabstract\@undefined
-  \titlepage@sw{%
-   \vfil
-   \clearpage
-  }{}%
-}%
-%    \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\maketitle@Hy}
-% \changes{4.1c}{2008/08/04}{Hyperref compatibility: take \cs{maketitle} back.}
-% We provide the means to take back the definition of \cmd\maketitle\ from \classname{hyperref}: 
-% we do not need its help in providing hypertext services in the title page.
-%    \begin{macrocode}
-\def\maketitle@Hy{%
-  \let\Hy@saved@footnotemark\@footnotemark
-  \let\Hy@saved@footnotetext\@footnotetext
-  \let\@footnotemark\H@@footnotemark
-  \let\@footnotetext\H@@footnotetext
-  \@ifnextchar[%]
-   \Hy@maketitle@optarg
-   {%
-    \HyOrg@maketitle
-    \Hy@maketitle@end
-   }%
-}%
-\appdef\class@documenthook{%
-  \@ifx{\maketitle\maketitle@Hy}{%
-   \class@info{Taking \string\maketitle\space back from hyperref}%
-   \let\maketitle\frontmatter@maketitle
-  }{%
-  }%
-}%
-%    \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\titleblock@produce}
-% This procedure produces the title block.
-%
-% It effectively executes inside a group
-% and always returns us to vertical mode.
-%
-% Note: we assume that it is OK to set the footnote counter to zero at this point.
-% Is this a safe assumption?
-%    \begin{macrocode}
-\def\titleblock@produce{%
- \begingroup
-%    \end{macrocode}
-% \changes{4.0b}{1999/06/20}{Set \cs{footnote} to \LaTeX\ standard version for this scope.}
-% First, we restore the footnote mechanism to its default state,
-% then we customize the way the footnote mark is produced and how it is formatted.
-% \changes{4.1n}{2010/01/02}{(AO, 572) Independent footnote counter for title block. Abstract footnote counter shared with body.}%
-%    \begin{macrocode}
-  \ltx@footnote@pop
-%    \end{macrocode}
-% The following three lines establish an independent footnote counter for use in the title block. 
-% \changes{4.1n}{2010/01/02}{(AO, 572) Independent footnote counter for title block. Abstract footnote counter shared with body.}%
-%    \begin{macrocode}
-  \def\@mpfn{mpfootnote}%
-  \def\thempfn{\thempfootnote}%
-  \c@mpfootnote\z@
-  \let\@makefnmark\frontmatter@makefnmark
-  \frontmatter@setup
-  \thispagestyle{titlepage}\label{FirstPage}%
-%    \end{macrocode}
-% Produce the title:
-%    \begin{macrocode}
-  \frontmatter@title@produce
-%    \end{macrocode}
-% Produce the author list:
-%    \begin{macrocode}
-  \groupauthors@sw{%
-   \frontmatter@author@produce@group
-  }{%
-   \frontmatter@author@produce@script
-  }%
-%    \end{macrocode}
-% Produce the dates:
-%    \begin{macrocode}
-  \frontmatter@RRAPformat{%
-   \expandafter\produce@RRAP\expandafter{\@date}%
-   \expandafter\produce@RRAP\expandafter{\@received}%
-   \expandafter\produce@RRAP\expandafter{\@revised}%
-   \expandafter\produce@RRAP\expandafter{\@accepted}%
-   \expandafter\produce@RRAP\expandafter{\@published}%
-  }%
-%    \end{macrocode}
-% Produce the abstract, PACS, and keywords, and end any paragraph.
-% \changes{4.1c}{2008/08/04}{Produce PACS, keywords only if specified}%
-%    \begin{macrocode}
-  \frontmatter@abstract@produce
-  \@ifx@empty\@pacs{}{%
-   \@pacs@produce\@pacs
-  }%
-  \@ifx@empty\@keywords{}{%
-   \@keywords@produce\@keywords
-  }%
-  \par
-  \frontmatter@finalspace
- \endgroup
-}%
-%    \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\frontmatter@title@produce}
-% The default formatting procedure for the article title.
-% This procedure should take care of the vertical space below the title.
-%
-% Clients may override this procedure, but it is more likely that they will
-% use the hooks \cmd\frontmatter@title@above, \cmd\frontmatter@title@format, and \cmd\frontmatter@title@below.
-% \changes{4.1b}{2008/08/04}{(AO, 443) PDF Bookmark for title page}%
-%    \begin{macrocode}
-\def\toclevel@title{0}%
-\def\frontmatter@title@produce{%
- \begingroup
-  \frontmatter@title@above
-  \frontmatter@title@format
-  \@title
-  \unskip
-  \phantomsection\expandafter\@argswap@val\expandafter{\@title}{\addcontentsline{toc}{title}}%
-  \@ifx{\@title@aux\@title@aux@cleared}{}{%
-   \expandafter\frontmatter@footnote\expandafter{\@title@aux}%
-  }%
-  \par
-  \frontmatter@title@below
- \endgroup
-}%
-\appdef\let@mark{\let\\\relax}%
-%    \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\frontmatter@title@above}
-% \begin{macro}{\frontmatter@title@format}
-% \begin{macro}{\frontmatter@title@below}
-% The default values for formatting specifications for the article title.
-%
-% The procedure \cmd\frontmatter@title@above\ should take care of the vertical space above the title;
-% \cmd\frontmatter@title@below\ below.
-% The procedure \cmd\frontmatter@title@format\ should invoke any font switches, etc.
-% that may apply to the title.
-%
-% Journals will override this procedure.
-%    \begin{macrocode}
-\def\frontmatter@title@above{}%
-\def\frontmatter@title@format{}%
-\def\frontmatter@title@below{\addvspace{\baselineskip}}%
-%    \end{macrocode}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-%
-% \subsubsection{Authors and affiliations in superscriptaddress style}
-%
-% \begin{macro}{\frontmatter@author@produce@script}
-% \changes{4.1b}{2008/08/02}{Provide for diagnostics via \cs{frontmatterverbose@sw}}
-% \cmd\frontmatter@author@produce@script\ is an alias for \cmd\frontmatter@author@produce, 
-% the procedure that formats the author/affiliation list.
-%
-% In this case, the authors affiliations are being superscripted
-% (class option \classoption{superscriptaddress}).
-%
-% This procedure must ensure that any paragraph that it starts gets ended finally.
-% \changes{4.1i}{2009/10/18}{(AO, 540) More runtime diagnostics via \cs{frontmatterverbose@sw}}
-% \changes{4.1m}{2009/11/20}{(AO, 563) More complete runtime diagnostics via \cs{frontmatterverbose@sw}}
-%    \begin{macrocode}
-\def\frontmatter@author@produce@script{%
-  \begingroup
-    \let\@author@present\@author@present@script
-    \frontmatterverbose@sw{\typeout{\string\frontmatter@author@produce@script:}\say\@AAC@list\say\@AFF@list\say\@AFG@list}{}%
-%    \end{macrocode}
-% \changes{4.0l}{1998/09/01}{Changes to add collaboration processing, which now means doing comma/and processing on each sublist}
-% When the author/affiliation list \cmd\@AAC@list\ is executed, 
-% \cmd\@tempcnt\ counts each author,
-% and
-% \cmd\@tempa\ stores a list of author indices for the current collaboration.
-% 
-% Note: this procedure uses \cmd\AU@temp\ to hold a list of author counts for each collaboration.
-% Note: also uses \cmd\@tempcnta\ to communicate between procedures.
-% This usage ot \cmd\@tempcnta\ is OK, because the expansion of \cmd\@AAC@list\ will trigger only the execution of 
-% our own procedures.
-%    \begin{macrocode}
-    \let\AU@temp\@empty
-    \@tempcnta\z@
-%    \end{macrocode}
-%
-% We wish to know how many authors are in each collaboration, for the purposes of \cmd\listcomma\ and \cmd\listand.
-%
-% Here we assign values for the intercollated operators appearing within \cmd\@AAC@list,
-% then execute that macro, registering the authors in each collaboration.
-% Afterwards, clean up by emulating an empty collaboration.
-%
-% The result, stored in \cmd\AU@temp, is a list of brace-delmited tokens, each a number
-% representing the number of authors in that collaboration.
-%    \begin{macrocode}
-    \let\AF@opr \@gobble
-    \def\AU@opr{\@author@count\@tempcnta}%
-    \def\CO@opr{\@collaboration@count\AU@temp\@tempcnta}%
-    \@AAC@list
-    \expandafter\CO@opr\@author@cleared
-%    \end{macrocode}
-% Next, present the authors and their affiliations, with the collaborations interleaved.
-%
-% We assign values for the intercollated operators appearing within \cmd\@AAC@list.
-% Next, assign \cmd\@listcomma\ based on the number of authors in the first collaboration.
-% Then expand \cmd\@AAC@list.
-%
-% Upon completion, there will be two space tokens following the last author because of \cmd\listand\ processing;
-% remove them, then end the last paragraph.
-%
-% FIXME: this juncture would be a good time to effectively eliminate 
-% the unused affiliations in \cmd\@AFF@list.
-%    \begin{macrocode}
-    \begingroup
-     \frontmatter@authorformat
-     \let\AF@opr \@affilID@def
-     \let\AU@opr \@author@present
-     \def\CO@opr{\@collaboration@present\AU@temp}%
-     \set@listcomma@list\AU@temp
-     \@AAC@list
-     \unskip\unskip
-     \par
-    \endgroup
-%    \end{macrocode}
-% We now list out the affiliations in the order they appeared.
-%    \begin{macrocode}
-    \begingroup
-     \frontmatter@above@affiliation@script
-     \let\AFF@opr \@affil@script
-     \@AFF@list
-     \frontmatter@footnote@produce
-     \par
-    \endgroup
-  \endgroup
-}%
-%    \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\@author@count}
-% This version of \cmd\AU@opr\ counts the number of authors it processes.
-%    \begin{macrocode}
-\def\@author@count#1{%
- \advance#1\@ne
- \@author@gobble
-}%
-%    \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\@collaboration@present}
-% Format a collaboration.
-% Note that we immediately end the paragraph thus begun, because we only support
-% \classoption{superscriptaddress}-style processing.
-%
-% Note also that the execution of the production procedures takes place inside of a group;
-% for reasons of protective programming.
-%
-% Bug note: originally, the number of authors in each collaboration was stored in \cmd\@tempa,
-% but this exposed us to procedures in our production that modified the meaning of \cmd\@tempa.
-%
-% The last action done in this procedure is to assign \cmd\@listcomma\ based on the number of authors in the next collaboration.
-%    \begin{macrocode}
-\def\@collaboration@present#1#2#3#4{%
- \par
- \begingroup
-  \frontmatter@collaboration@above
-  \@affilID@def{}%
-  \@tempcnta\z@
-  \@author@present{}{(\ignorespaces#3\unskip)}{#4}%
-  \par
- \endgroup
- \set@listcomma@list#1%
-}%
-\def\frontmatter@collaboration@above{}%
-%    \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\@collaboration@count}
-% Simply register each author in this collaboration.
-% Note: \#1 is a \cmd\csname\ to hold the value, \#2 is the \cmd\count\ register holding the count of interest.
-%    \begin{macrocode}
-\def\@collaboration@count#1#2{%
- \appdef@eval#1{\the#2}#2\z@
- \@author@gobble
-}%
-%    \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\@affilID@def}
-%
-% The \cmd\@affilID@def\ procedure, an alias of \cmd\AF@opr\ used during \cmd\frontmatter@author@produce@script\ processing,
-% memorizes the affiliation in \cmd\@affilID@temp.
-%    \begin{macrocode}
-\def\@affilID@def{\def\@affilID@temp}%
-%    \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\@affilID@temp}
-%
-% The macro \cmd\@affilID@temp\ is used to communicate between
-% \cmd\doauthor\ and instances of \cmd\AF@opr\ within the author list.
-%    \begin{macrocode}
-\let\@affilID@temp\@empty
-%    \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\affils@present@script}
-% An alias of \cmd\AFG@opr, this procedure is applied to elements in \cmd\@AFG@list.
-% It builds \cmd\@AFU@list, a list of unique affiliations found within affiliation groups.
-% 
-% \changes{4.1a}{2008/06/16}{removed code that had been commented out}
-%    \begin{verbatim}
-%\def\affils@present@script#1{%
-% \get@affil#1{}%
-%}%
-%\def\get@affil#1{%
-% \def\@tempa{#1}%
-% \@ifx{\@empty\@tempa}{}{%
-%  \@booleanfalse\temp@sw
-%  \def\AF@opr{\x@match\@tempa}%
-%  \@AFU@list
-%  \temp@sw{}{%
-%   \appdef\@AFU@list{\AF@opr{#1}}%
-%  }%
-%  \get@affil
-% }%
-%}%
-%    \end{verbatim}
-% \end{macro}
-%
-% \begin{macro}{\affil@present@script}
-% An alias of \cmd\AF@opr, this procedure is applied to \cmd\@AFU@list\ when formatting the affiliations
-% under \classoption{superscriptaddress}.
-% It in turn applies \cmd\affil@script\ to \cmd\@AFF@list, thereby formatting the affiliation
-% associated with this affiliation index.
-% 
-% Note: it traverses the \cmd\@AFF@list\ for each entry in the \cmd\@AFU@list, thereby making this
-% portion of code execute in $N^{2}$ time.
-% \changes{4.1a}{2008/06/16}{removed code that had been commented out}
-%    \begin{verbatim}
-%\def\affil@present@script#1{%
-% \def\@tempa{#1}%
-% \begingroup
-%  \frontmatter@affiliationfont
-%  \let\AFF@opr \affil@script
-%  \@AFF@list
-% \endgroup
-%}%
-%    \end{verbatim}
-% \end{macro}
-%
-% \begin{macro}{\affil@script}
-% Alias of \cmd\AFF@opr, this procedure is applied to \cmd\@AFF@list\ when formatting the affiliations
-% under \classoption{superscriptaddress}.
-% It rejects all entries not matching the affiliation index held in \cmd\@tempa.
-%    \begin{macrocode}
-\def\affil@script#1#2#3{%
- \def\@tempifx{#1}\@ifx{\@tempifx\@tempa}{%
-  \@if@empty{#2}{}{%
-   \par
-   \begingroup
-    \def\@thefnmark{#1}\@makefnmark\ignorespaces
-    #2%
-    \@if@empty{#3}{}{\frontmatter@footnote{#3}}%
-    \par
-   \endgroup
-  }%
- }{}%
-}%
-%    \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\@affil@script}
-% Alias of \cmd\AFF@opr:
-% The affiliations are being formatted in the case
-% where affiliations are being superscripted:
-% make a list out of the affiliations with the numbers printed.
-% Society-specific code can change the formatting
-% by overriding the definition of \cmd\frontmatter@affiliationfont.
-%
-% A client may choose to set \cmd\affil@cutoff\ to either \cmd\@ne\ (the default)
-% or \cmd\tw@. The latter setting will enforce a rule to the effect that
-% if a single affiliation appears on the title page, 
-% then no affiliation superscript at all is produced.
-%
-% |#1|---Affiliation ID: a number; zero signifies a \cmd\noaffiliation.
-%
-% |#2|---Collaboration ID
-%
-% |#3|---Affiliation address
-%
-% |#4|---Auxiliary info
-%    \begin{macrocode}
-\def\@affil@script#1#2#3#4{%
-%    \end{macrocode}
-% If the affiliation is the \cmd\noaffiliation, then we do nothing.
-%    \begin{macrocode}
- \@ifnum{#1=\z@}{}{%
-  \par
-  \begingroup
-   \frontmatter@affiliationfont
-   \@ifnum{\c@affil<\affil@cutoff}{}{%
-    \def\@thefnmark{#1}\@makefnmark
-   }%
-   \ignorespaces#3%
-   \@if@empty{#4}{}{\frontmatter@footnote{#4}}%
-   \par
-  \endgroup
- }%
-}%
-\let\affil@cutoff\@ne
-%    \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\@author@present@script}
-% \changes{4.0h}{1998/06/25}{Changes to support groups of affiliations}
-% \changes{4.1n}{2009/11/30}{(AO, 567) Handle \cs{noaffiliation} case}
-% This version of \cmd\AU@opr\ applies to the \classoption{superscriptaddress} class option.
-% Need to add commas between groups
-% of address numbers, which are passed in the macro \cmd\@affilID@temp\ in the form
-% |{3}{4}{7}| if this set of authors is related to addresses, 3, 4 and 7.
-%    \begin{macrocode}
-\def\@author@present@script#1#2#3{%
- \begingroup
-  \gdef\comma@space{\textsuperscript{,\,}}%
-  \doauthor{#2}{#3}{\@affil@present@script}%
- \endgroup
- \advance\@tempcnta\m@ne
-}%
-\def\@affilcomma#1#2{%
- \@ifx{\z@#1}{%
-  \@ifx{\relax#2}{}{%
-   \@affilcomma{#2}%
-  }%
- }{%
-  #1%
-  \@ifx{\relax#2}{}{%
-   \@ifx{\z@#2}{%
-    \@affilcomma
-   }{%
-    ,\,\@affilcomma{#2}%
-   }%
-  }%
- }%
-}%
-%    \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\@affil@present@script}
-% \begin{macro}{\@affil@present@script@}
-% \changes{4.1n}{2009/11/30}{(AO, 567) Handle punctuation for \classoption{superscriptaddress} style authors' extra information, such as \cs{email}}
-% The \cmd\@affil@present@script\ procedure presents the reference to the affiliations in the case of superscript addresses.
-%
-% The affiliations are presented to \cmd\@affil@present@script@ as a list of brace-delimited tokens, each containing the affiliation ID (a number).
-% The list is terminated by the token \cmd\relax. 
-% The macro recurses (via tail recursion) until the terminating token is encountered.
-% Note that an affiliation ID of zero signifies a \cmd\noaffiliation:
-% references to the \cmd\noaffiliation\ are passed over.
-%
-% Upon termination, the affiliations, if any, are produced via \cmd\textsuperscript\ and the appropriate boolean is queued via \cmd\aftergroup.
-% The boolean signifies that a non-trivial affiliation was produced, so that the proper punctuation can be produced. 
-% The group in question is that opened and closed by the \cmd\doauthor\ procedure. 
-%
-% This procedure uses \cmd\@tempa\ as a scratch register. 
-%    \begin{macrocode}
-\def\@affil@present@script{%
- \let\@tempa\@empty
- \expandafter\@affil@present@script@\@affilID@temp\relax
-}%
-\def\@affil@present@script@#1{%
- \@ifx{\relax#1}{%
-  \@ifx{\@tempa\@empty}{%
-   \aftergroup\false@sw
-  }{%
-   \textsuperscript{\expandafter\@affilcomma\@tempa\relax\relax}%
-   \aftergroup\true@sw
-  }%
- }{%
-  \@ifnum{#1=\z@}{}{\appdef\@tempa{{#1}}}%
-  \@affil@present@script@
- }%
-}%
-\@provide\@author@parskip{\z@skip}%
-%    \end{macrocode}
-% \end{macro}
-% \end{macro}
-%
-%
-% \subsubsection{Authors and affiliations in groupedaddress style}
-%
-% \begin{macro}{\frontmatter@author@produce@group}
-% \changes{4.1b}{2008/08/02}{Provide for diagnostics via \cs{frontmatterverbose@sw}}
-% Alias for \cmd\frontmatter@author@produce when \classoption{groupedaddress} is in effect, 
-% the procedure that formats the author/affiliation list. 
-%
-% In this case, the authors are being grouped above their shared addresses.
-% How it works: the \cmd\@AFG@list, a list of all unique affiliation groups, is expanded.
-% For each such group, all authors belonging to that group are formatted above the affiliation group.
-% Collaborations are silently passed over.
-%
-% This procedure must ensure that any paragraph that it starts gets ended finally.
-% \changes{4.1i}{2009/10/18}{(AO, 540) More runtime diagnostics via \cs{frontmatterverbose@sw}}
-% \changes{4.1m}{2009/11/20}{(AO, 563) More complete runtime diagnostics via \cs{frontmatterverbose@sw}}
-%    \begin{macrocode}
-\def\frontmatter@author@produce@group{%
-  \begingroup
-    \let\@author@present\@author@present@group
-    \frontmatter@authorformat
-    \frontmatterverbose@sw{\typeout{\string\frontmatter@author@produce@group:}\say\@AAC@list\say\@AFF@list\say\@AFG@list}{}%
-    \let\AU@temp\@empty
-    \set@listcomma@list\AU@temp
-    \def\CO@opr{\@collaboration@present\AU@temp}%
-    \let\AFG@opr \affils@present@group
-    \let\@listcomma\relax
-    \@AFG@list
-    \frontmatter@footnote@produce
-    \par
-  \endgroup
-  \frontmatter@authorbelow
-}%
-\@provide\frontmatter@authorbelow{}%
-%    \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\affils@present@group}
-% \changes{4.1b}{2008/08/02}{Provide for diagnostics via \cs{frontmatterverbose@sw}}
-% Alias of \cmd\AFG@opr, this procedure is used on every element of
-% \cmd\@AFG@list, the list of unique affiliation groups,
-% when formatting the author/affiliation block:
-% It presents all authors sharing this affiliation group.
-%
-% This procedure is called via the procedure
-% \cmd\frontmatter@author@produce@group, an alias for \cmd\frontmatter@author@produce,
-%
-% Its use pertains to the class options
-% \classoption{groupedaddress}, \classoption{unsortedaddress}, and \classoption{runinaddress}
-% (that is, \cmd\groupauthors@sw\ is true).
-%
-% For each invocation, the entire \cmd\@AAC@list\ is run through (twice),
-% making this process execute in $N^{2}$ time. (Is this really true?)
-%    \begin{macrocode}
-\def\affils@present@group#1{%
-%    \end{macrocode}
-% Count (using \cmd\@tempcnta) the authors in the author list whose affiliation group 
-% matches the argument |#1|.
-%
-% Note that \cmd\AF@temp\ is used as a storage register for the argument 
-% of the procedure, for purposes of comparison using \cmd\ifx.
-%
-% Note: here we use \cmd\@tempcnta\ to accumulate the number of authors in the current affiliation set.
-%
-% QUERY: do the value of \cmd\AF@temp\ and \cmd\AF@opr\ need to persist?
-%
-% QUERY: what value does \cmd\AU@opr\ have at this point?
-% ANSWER: the \cmd\@affilID@count\ and \cmd\@affilID@match\ procedures
-% assign meanings to \cmd\AU@opr\ and \cmd\CO@opr\ dynamically.
-% We initialize the two operators to \cmd\@undefined\ so as to catch the
-% pathological cases.
-%    \begin{macrocode}
- \begingroup
-   \def\AF@temp{#1}%
-   \@tempcnta\z@
-   \let\AU@opr \@undefined
-   \let\CO@opr \@undefined
-   \def\AF@opr{\@affilID@count\AF@temp\@tempcnta}%
-   \@AAC@list
-%    \end{macrocode}
-%
-% If there are no authors using this affiliation group, skip it.
-%    \begin{macrocode}
-   \@ifnum{\@tempcnta=\z@}{}{%
-%    \end{macrocode}
-%
-% DPC: If we have a list of length two, need to locally zap a comma.
-%    \begin{macrocode}
-    \begingroup
-     \frontmatter@above@affilgroup
-     \set@listcomma@count\@tempcnta
-%    \end{macrocode}
-% Run through the author list, presenting (with \cmd\@author@present)
-% those authors whose affiliation matched the given one.
-%    \begin{macrocode}
-     \let\AU@opr \@undefined
-     \let\CO@opr \@undefined
-     \def\AF@opr{\@affilID@match\AF@temp}%
-     \@AAC@list
-    \endgroup
-%    \end{macrocode}
-% Now that the authors have all been presented, present the affiliations, grouped.
-%
-% Note: \cmd\@tempcnta\ is the number of affiliations for this set of authors.
-%    \begin{macrocode}
-    \begingroup
-     \par
-     \frontmatter@above@affiliation
-     \frontmatter@affiliationfont
-     \let\\\frontmatter@addressnewline
-     \@tempcnta\z@
-     \@tfor\AF@temp:=#1\do{%
-      \expandafter\@ifx\expandafter{\expandafter\z@\AF@temp}{}{%
-       \advance\@tempcnta\@ne
-      }%
-     }%
-     \@ifnum{\@tempcnta=\tw@}{%
-      \let\@listcomma\relax
-     }{}%
-     \def@after@address
-     \runinaddress@sw{%
-     }{%
-      \tightenlines@sw{}{%
-%    \end{macrocode}
-% The following line determines the space between affilations in grouped mode
-%    \begin{macrocode}
-       \parskip\z@
-      }%
-      \appdef\after@address\par
-     }%
-     \let\AFF@opr \@affil@group
-     \do@affil@fromgroup\@AFF@list#1\relax
-    \endgroup
-%    \end{macrocode}
-% End of branch handling authors.
-%    \begin{macrocode}
-   }%
-%    \end{macrocode}
-%
-%    \begin{macrocode}
-   \par
- \endgroup
-}%
-%    \end{macrocode}
-%   \end{macro}
-%
-% \begin{macro}{\def@after@address}
-% \begin{macro}{\def@after@address@empty}
-% \changes{4.1c}{2008/08/04}{Parametrize the production after the address}%
-%
-% Each of these procedures assigns a meaning to \cmd\after@address, the first 
-% a useful default, the second a nil. 
-% A society or journal substyle may define it according to its own requirements.
-%    \begin{macrocode}
-\def\def@after@address{\def\after@address{\@listcomma\ \@listand}}%
-\def\def@after@address@empty{\let\after@address\@empty}%
-%    \end{macrocode}
-%   \end{macro}
-%   \end{macro}
-%
-% \begin{macro}{\@affilID@count}
-% \begin{macro}{\@affilID@match}
-%
-% The control sequence name \cmd\AF@opr\ is placed in the
-% author/affiliation list (\cmd\@AAC@list) for each (new) affiliation, with that affiliation as its argument.
-%
-% The control sequence name \cmd\AF@opr\ is an alias of a procedure
-% to count the number of authors at a given affiliation (\cmd\@affilID@count)
-% or to present the given authors (\cmd\@affilID@match).
-% These two procedures are executed when formatting under the \classoption{groupedaddress} class option.
-%    \begin{macrocode}
-\def\@affilID@count#1#2#3{%
-  \def\@tempifx{#3}%
-  \@ifx{\@tempifx#1}{%
-    \def\AU@opr{\@author@count#2}%
-  }{%
-    \let\AU@opr \@author@gobble
-  }%
-  \let\CO@opr \@collaboration@gobble
-}%
-\def\@affilID@match#1#2{%
- \def\@tempifx{#2}%
- \@ifx{\@tempifx#1}{%
-   \let\AU@opr \@author@present
- }{%
-   \let\AU@opr \@author@gobble
- }%
-  \let\CO@opr \@collaboration@gobble
-}%
-%    \end{macrocode}
-% \end{macro}
-% \end{macro}
-%
-% \begin{macro}{\do@affil@fromgroup}
-% Executes iteratively:
-% selects the next address ID to print,
-% and then re-execute the list of addresses to print the text of that address.
-%
-% Note: an argument of \cmd\relax\ breaks out of this iteration,
-% while an argument of \cmd\z@\ (\cmd\noaffiliation) is a no-op.
-%
-% Note: we have created an $N^{2}$ computing process.
-% FIXME: can use hashing instead, you know.
-%    \begin{macrocode}
-\def\do@affil@fromgroup#1#2{%
-  \@ifx{\relax#2}{}{%
-    \count@#2\relax
-    \@ifnum{\z@=\count@}{}{#1}%
-    \do@affil@fromgroup#1%
-  }%
-}%
-%    \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\@affil@group}
-% The alias of \cmd\AFF@opr\ when the list \cmd\@AFF@list\
-% is executed by \cmd\do@affil@fromgroup\ (\classoption{groupedaddress}):
-% Print the address if its number matches \cmd\count@\ (value set by \cmd\do@affil@fromgroup).
-%
-% Note that we detect a \cmd\noaffiliation\ here by the affiliation address being
-% the same as the expansion of \cmd\blankaffiliation.
-%
-% \changes{4.1d}{2008/10/17}{(AO, 410) compare \cs{@tempa} to \cs{blankaffiliation}.}%
-%
-% I made a mistake when coding the comparison to \cmd\blankaffiliation: 
-% it originally read \cmd\@ifx\{\#3\cmd\blankaffiliation\}.
-% This is obviously wrong once you think twice. 
-%    \begin{macrocode}
-\def\@affil@group#1#2#3#4{%
-  \@ifnum{#1=\count@}{%
-   \def\@tempa{#3}%
-   \@ifx{\@tempa\blankaffiliation}{}{%
-    #3%
-    \@if@empty{#4}{}{%
-     \frontmatter@footnote{#4}%
-    }%
-    \after@address
-   }%
-   \advance\@tempcnta\m@ne
-  }{}%
-}%
-%    \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\@author@present@group}
-% \begin{macro}{\@affil@present@group}
-% \changes{4.0d}{1998/01/31}{\cs{comma@space}}
-% This version of \cmd\AU@opr\ applies to the \classoption{groupedaddress} class option and its ilk.
-% Traverse the list calling the \cmd\doauthor\ hook on each author.
-%
-% The third argument of \cmd\doauthor\ fulfills the requirement that it 
-% queue up a boolean via \cmd\aftergroup. 
-%    \begin{macrocode}
-\def\@author@present@group#1#2#3{%
-  \gdef\comma@space{\gdef\comma@space{\textsuperscript{,\,}}}%
-  \doauthor{#2}{#3}{\@affil@present@group}%
-  \advance\@tempcnta\m@ne
-}%
-\def\@affil@present@group{%
- \aftergroup\false@sw
-}%
-%    \end{macrocode}
-% \end{macro}
-% \end{macro}
-%
-%
-% \begin{macro}{\@pacs@produce}
-%  PACS, keywords and dates.
-% \changes{4.0d}{1998/01/31}{PACS boxed to width of abstract}
-% \changes{4.0b}{1999/06/20}{Separate option now controls production}
-% \changes{4.0e}{2000/09/20}{Warn if no production}
-%    \begin{macrocode}
-\def\@pacs@produce#1{%
- \showPACS@sw{%
-  \begingroup
-   \frontmatter@PACS@format
-   \@pacs@name#1\par
-  \endgroup
- }{%
-  \@if@empty{#1}{}{%
-   \class@warn{\PACS@warn}%
-  }%
- }%
-}%
-\def\PACS@warn{If you want your PACS to appear in your output, use document class option showpacs}%
-%    \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\@keywords@produce}
-% \changes{4.0e}{2000/09/20}{Keywords on same footing as PACS}
-%    \begin{macrocode}
-\def\@keywords@produce#1{%
- \showKEYS@sw{%
-  \begingroup
-   \frontmatter@keys@format
-   \@keys@name#1\par
-  \endgroup
- }{%
-  \@if@empty{#1}{}{%
-   \class@warn{If you want your keywords to appear in your output, use document class option showkeys}%
-  }%
- }%
-}%
-%    \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\frontmatter@footnote@produce@footnote}
-% \begin{macro}{\frontmatter@footnote@produce@endnote}
-% Produce any footnotes to appear at the bottom of the title page.
-% 
-% If frontmatter footnotes have been redirected to the bibliography, this will be a no-op.
-% ref.: \cmd\present@bibnote.
-%    \begin{macrocode}
-\def\frontmatter@footnote@produce@footnote{%
- \let\@TBN@opr\present@FM@footnote
- \@FMN@list
- \global\let\@FMN@list\@empty
-}%
-%    \end{macrocode}
-% \changes{4.1n}{2010/01/02}{(AO, 572) Independent footnote counter for title block. Abstract footnote counter shared with body.}%
-%    \begin{macrocode}
-\def\present@FM@footnote#1#2{%
- \begingroup
-  \csname c@\@mpfn\endcsname#1\relax
-  \def\@thefnmark{\frontmatter@thefootnote}%
-  \frontmatter@footnotetext{#2}%
- \endgroup
-}%
-\def\frontmatter@footnote@produce@endnote{%
-}%
-%    \end{macrocode}
-% \end{macro}
-% \end{macro}
-% 
-% \section{Package defaults} 
-%
-% \begin{macro}{\title@column}
-% \begin{macro}{\preprintsty@sw}
-% \begin{macro}{\collaboration@sw}
-% \begin{macro}{\frontmatter@footnote@produce}
-% \begin{macro}{\do@output@MVL}
-% \begin{macro}{\comma@space}
-% We give meanings to the Booleans and other macros that a client document class would 
-% set on our behalf. 
-%    \begin{macrocode}
-\appdef\frontmatter@init{%
- \@ifxundefined\title@column         {\let\title@column\@empty}{}%
- \@ifxundefined\preprintsty@sw       {\@booleanfalse\preprintsty@sw}{}%
- \@ifxundefined\frontmatter@footnote@produce{\let\frontmatter@footnote@produce\frontmatter@footnote@produce@footnote}{}%
- \@ifxundefined\do@output@MVL        {\let\do@output@MVL\@firstofone}{}%
- \@ifxundefined\comma@space          {\let\comma@space\@empty}{}%
-}%
-%    \end{macrocode}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-%
-% \begin{macro}{\frontmatter@thefootnote}
-% \changes{4.1n}{2010/01/02}{(AO, 572) Independent footnote counter for title block. Abstract footnote counter shared with body.}%
-% In the title block, the footnote symbol (used for alternate affiliation and sundry)
-% is a \cmd\@fnsymbol\ or a lowercase letter, as selected by a boolean.
-% The society or journal may override this definition.
-%    \begin{macrocode}
-\def\frontmatter@thefootnote{%
- \altaffilletter@sw{\@alph}{\@fnsymbol}{\csname c@\@mpfn\endcsname}%
-}%
-\@ifx{\altaffilletter@sw\@undefined}{\@booleantrue\altaffilletter@sw}{}%
-%    \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\frontmatter@makefnmark}
-% The default procedure for setting the footnote mark within the frontmatter.
-% A client may override this procedure.
-%    \begin{macrocode}
-\def\frontmatter@makefnmark{%
- \@textsuperscript{%
-  \normalfont\@thefnmark
- }%
-}%
-%    \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\frontmatter@makefntext}
-% This procedure is used when setting footnotes within the title block.
-%
-% Note that we are \classname{hyperref} friendly: we invoke \cmd\Hy@raisedlink\ 
-% so that this footnote becomes a hypertext anchor. If \classname{hyperref} is
-% not loaded, then \classname{ltxutil} has our act covered via some stubs.
-%
-% \changes{4.1n}{2010/01/02}{(AO, 572) Independent footnote counter for title block. Abstract footnote counter shared with body.}%
-%    \begin{macrocode}
-\long\def\frontmatter@makefntext#1{%
- \parindent 1em
- \noindent
- \Hy@raisedlink{\hyper@anchorstart{frontmatter.\expandafter\the\csname c@\@mpfn\endcsname}\hyper@anchorend}%
- \@makefnmark
- #1%
-}%
-%    \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\frontmatter@setup}
-% The default type specification for the title page.
-% Clients will override this definition.
-%    \begin{macrocode}
-\def\frontmatter@setup{}%
-%    \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\frontmatter@RRAPformat}
-% \begin{macro}{\punct@RRAP}
-% \begin{macro}{\produce@RRAP}
-% The procedure \cmd\frontmatter@RRAPformat\ is the formatting procedure
-% for the ``Received, Revised, etc.'' block on the title page.
-% The macro \cmd\punct@RRAP\ produces the punctuation between the entries.
-% Clients will override these two definitions.
-%
-% The procedure \cmd\produce@RRAP\ is fairly general, and should be used by most
-% journal substyles.
-%
-% The procedure \cmd\frontmatter@RRAP@format\ will be overridden by the journal.
-%    \begin{macrocode}
-\def\frontmatter@RRAPformat#1{%
- \removelastskip
- \begingroup
-  \frontmatter@RRAP@format
-  #1\par
- \endgroup
-}%
-\def\punct@RRAP{; }%
-\def\produce@RRAP#1{%
-  \@if@empty{#1}{}{%
-   \@ifvmode{\leavevmode}{\unskip\punct@RRAP\ignorespaces}%
-   #1%
-  }%
-}%
-%    \end{macrocode}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-%
-% \begin{macro}{\frontmatter@authorformat}
-% The default type specification for the author list.
-% Clients will override this definition.
-% For one alternative, see the \classname{revtex4} document class.
-%    \begin{macrocode}
-\def\frontmatter@authorformat{}%
-%    \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\frontmatter@above@affilgroup}
-% The default amount of space above an affiliation group
-% (in a \cmd\affils@present@group\ production).
-% Clients will override this definition.
-%    \begin{macrocode}
-\def\frontmatter@above@affilgroup{}%
-%    \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\frontmatter@above@affiliation}
-% \begin{macro}{\frontmatter@above@affiliation@script}
-% The \cmd\frontmatter@above@affiliation\ is the amount of space above affiliations in the \classoption{groupedaddress}
-% style, and \cmd\frontmatter@above@affiliation@script\ is that for \classoption{superscriptaddress}.
-% Clients will override this definition.
-% For one alternative, see the \classname{revtex4} document class.
-%    \begin{macrocode}
-\def\frontmatter@above@affiliation{}%
-\def\frontmatter@above@affiliation@script{}%
-%    \end{macrocode}
-% \end{macro}
-% \end{macro}
-%
-% \begin{macro}{\frontmatter@affiliationfont}
-% The default type specification for the affiliation.
-% Clients will override this definition.
-% For one alternative, see the \classname{revtex4} document class, where
-% several alternative definitions are made.
-%    \begin{macrocode}
-\def\frontmatter@affiliationfont{\itshape\selectfont}%
-%    \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\frontmatter@RRAP@format}
-% The default type specification for the dates.
-% Clients will override this definition.
-%    \begin{macrocode}
-\def\frontmatter@RRAP@format{}%
-%    \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\frontmatter@PACS@format}
-% Specify the formatting of the title page PACS statement.
-%
-% Journals will override.
-%    \begin{macrocode}
-\def\frontmatter@PACS@format{}%
-%    \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\frontmatter@keys@format}
-% Specify the formatting of the title page keywords statement.
-%
-% Journals will override.
-%    \begin{macrocode}
-\def\frontmatter@keys@format{}%
-%    \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\frontmatter@finalspace}
-%
-%    \begin{macrocode}
-\def\frontmatter@finalspace{\addvspace{18\p@}}
-%    \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\frontmatter@addressnewline}
-% \changes{4.0h}{1998/06/25}{new hook}
-% The definition of \cmd\\\ for address handling. Default puts all the `lines'
-% on a run-in line, separated by comma and space.
-% DPC:  was \newline space between lines of addresss.
-%    \begin{macrocode}
-\def\frontmatter@addressnewline{%
-  \@ifhmode{\skip@\lastskip\unskip\unpenalty\break\hskip\skip@}{}%
-  % was: \vskip-.5ex
-}%
-%    \end{macrocode}
-% \end{macro}
-%
-%
-% \begin{macro}{\frontmatter@preabstractspace}
-% \begin{macro}{\frontmatter@postabstractspace}
-% Space above and space below abstract in title block
-%    \begin{macrocode}
-\def\frontmatter@preabstractspace{5.5\p@}
-\def\frontmatter@postabstractspace{6.5\p@}
-%    \end{macrocode}
-% \end{macro}
-% \end{macro}
-%
-% \begin{macro}{\aftermaketitle@chk}
-% Error-checking code.
-%    \begin{macrocode}
-\def\aftermaketitle@chk#1{%
-  \@ifx{\maketitle\relax}{%
-    \class@err{\protect#1 must be used before \protect\maketitle}%
-  }{}%
-}%
-%    \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\ps@titlepage}
-% Default page style for title page.
-% Journals will override this procedure.
-%    \begin{macrocode}
-\def\ps@titlepage{\ps@empty}%
-%    \end{macrocode}
-% \end{macro}
-%
-%FIXME: there is a limitation to the default meaning of 
-% \cmd\@startpage: the label ``FirstPage'' is only
-% defined if the document has a \cmd\maketitle\ command.
-%
-%    \begin{macrocode}
-\def\volumeyear#1{\gdef\@volumeyear{#1}}%
-\def\@volumeyear{}%
-\def\volumenumber#1{\gdef\@volumenumber{#1}}%
-\def\@volumenumber{}%
-\def\issuenumber#1{\gdef\@issuenumber{#1}}%
-\def\@issuenumber{}%
-\def\eid#1{\gdef\@eid{#1}}%
-\def\@eid{}%
-%
-\def\startpage#1{\gdef\@startpage{#1}\c@page#1\relax}%
-\def\@startpage{\pageref{FirstPage}}%
-\def\endpage#1{\gdef\@endpage{#1}}%
-\def\@endpage{\pageref{LastPage}}%
-%    \end{macrocode}
-%
-%
-% \subsection{Printing out the ``list-of'' elements}%
-%
-% FIXME: The \cmd\appendix@toc\ procedure should change the meaning
-% of \cmd\l@section\ so that the \cmd\section s can be appropriately formatted,
-% reflecting their status as appendices.
-% 
-%    \begin{macrocode}
-\def\print@toc#1{%
- \begingroup
-  \expandafter\section
-  \expandafter*%
-  \expandafter{%
-              \csname#1name\endcsname
-              }%
-  \let\appendix\appendix@toc
-  \@starttoc{#1}%
- \endgroup
-}%
-\def\appendix@toc{}%
-%    \end{macrocode}
-%
-% \begin{macro}{\Dated@name}
-% \begin{macro}{\Received@name}
-% \begin{macro}{\Revised@name}
-% \begin{macro}{\Accepted@name}
-% \begin{macro}{\Published@name}
-% These strings are used in the \cmd\date, et al. commands.
-%    \begin{macrocode}
-\def\Dated@name{Dated }%
-\def\Received@name{Received }%
-\def\Revised@name{Revised }%
-\def\Accepted@name{Accepted }%
-\def\Published@name{Published }%
-%    \end{macrocode}
-%    \end{macro}
-%    \end{macro}
-%    \end{macro}
-%    \end{macro}
-%    \end{macro}
-%
-% \changes{4.1g}{2009/10/05}{(AO, 539) Robustify \cs{class@warn} against TOC processing}%
-% Two commands require robustifying against harsh treatment when TOC entries are written out.
-% Note that \cmd\class@warn\ is not user-level markup, but crops up when 
-% the \cmd\title\ command is missing from the document. 
-%    \begin{macrocode}
-\appdef\robustify@contents{%
- \let\thanks\@gobble\let\class@warn\@gobble
- \def\begin{\string\begin}\def\end{\string\end}%
-}%
-%    \end{macrocode}
-%
-% \subsection{Syntax switch}%
-% \changes{4.1b}{2008/08/02}{Make the syntax of this package switch optional}%
-%
-% Shall we take over the syntax of \LaTeX? 
-% By default, Yes, unless the Boolean below has already been defined. 
-% In the package version, this is controlled by an option;
-% in the kernel version, the Boolean remains undefined.
-%
-% \cmd\maketitle\ presents a complication. If this code will execute under 
-% \classname{ltxgrid}, then its version of the procedure will do fine.
-%
-% As a package, under \classname{article}, things are different.
-% In this case, what should be done depends upon \cmd\if@titlepage.
-% If true, then just execute \cmd\maketitle\ as it stands.
-% If false, then the \classname{article} class has defined its wrapper
-% procedure, and we should take over the meaning of \cmd\@maketitle\ instead.
-%
-% Here is a list of the commands defined by this package that potentially override
-% those of standard \LaTeX:
-% \cmd\frontmatter@title,
-% \cmd\frontmatter@author,
-% \cmd\frontmatter@and,
-% \cmd\frontmatter@thanks,
-% \cmd\frontmatter@date,
-% \env{frontmatter@abstract},
-% \env{frontmatter@titlepage},
-% \cmd\frontmatter@maketitle.
-%
-% The following code will perform that override, given the appropriate state of the Boolean.
-%    \begin{macrocode}
-\@ifxundefined\frontmatter@syntax@sw{\@booleantrue\frontmatter@syntax@sw}{}%
-\frontmatter@syntax@sw{%
- \let\title         \frontmatter@title
- \let\author        \frontmatter@author
- \let\date          \frontmatter@date
- \@ifxundefined\@maketitle{%
-  \let\maketitle    \frontmatter@maketitle
-  \@booleantrue     \titlepage@sw
- }{%
-  \let\@maketitle   \frontmatter@maketitle
-  \prepdef\maketitle\@author@finish
- }%
- \let\noaffiliation \frontmatter@noaffiliation
- \let\thanks@latex  \thanks
- \let\thanks        \frontmatter@thanks
- \let\and@latex     \and
- \let\and           \frontmatter@and
- \let@environment{titlepage}{frontmatter@titlepage}%
- \let@environment{abstract}{frontmatter@abstract}%
-}{%
- \let\noaffiliation\@empty
-}%
-%    \end{macrocode}
-%
-% \subsection{End of the \file{ltxfront} kernel}
-% The kernel portion of the \classname{ltxfront} package is complete.
-%    \begin{macrocode}
-%</kernel>
-%    \end{macrocode}
-%
-% \subsection{Remainder of the \classname{ltxfront} package}
-%
-% Include any code here that ought to be incorporated into the package,
-% but should not be part of the kernel.
-% 
-%    \begin{macrocode}
-%<*package>
-%    \end{macrocode}
-%
-%    \begin{macrocode}
-%    \end{macrocode}
-% Define formatting as like as possible to the article class.
-% Comands that prepare for \cmd\maketitle: \cmd\author, \cmd\title, \cmd\date.
-%
-% Argument of the above three may contain \cmd\\ and \cmd\thanks; argument of \cmd\author may contain \cmd\and.
-% The \cmd\\ may still work fine; \cmd\and\ will be ignored (warning); 
-% \cmd\thanks\ even though it should not reside in the argument, will work.
-%
-% An explicit \cmd\footnote should be treated as if it were \cmd\thanks.
-%
-% \begin{verbatim}
-% \@maketitle: \frontmatter@footnote@produce
-% \end{verbatim}
-% \changes{4.1n}{2010/01/02}{(AO, 572) Independent footnote counter for title block. Abstract footnote counter shared with body.}%
-% 
-%    \begin{macrocode}
-\def\thanks@latex#1{%
- \footnotemark
- \expandafter\expandafter
- \expandafter\gappdef
- \expandafter\expandafter
- \expandafter\@thanks
- \expandafter\expandafter
- \expandafter{%
- \expandafter\expandafter
- \expandafter\footnotetext
- \expandafter\expandafter
- \expandafter[%
- \expandafter\the\csname c@\@mpfn\endcsname]{#1}}%
-}%
-\@booleanfalse\altaffilletter@sw
-\@if@sw\if@titlepage\fi{\@booleantrue}{\@booleanfalse}\titlepage@sw
-\def\frontmatter@title@above{\newpage\null\vskip2em\relax}%
-\def\frontmatter@title@format{\centering\LARGE\let\thanks\thanks@latex}%
-\def\frontmatter@title@below{\vskip1.5em\relax}%
-\def\frontmatter@authorformat{\centering\large\advance\baselineskip\p@\parskip11.5\p@\let\thanks\thanks@latex\let\and\and@space}%
-\def\frontmatter@authorbelow{\vskip 1em\relax}%
-\def\frontmatter@above@affiliation{}%
-\def\frontmatter@above@affiliation@script{}%
-\def\frontmatter@affiliationfont{\centering\itshape}%
-\def\frontmatter@RRAP@format{\centering\large}%
-\def\frontmatter@preabstractspace{1.5em}%
-%    \end{macrocode}
-% \changes{4.1n}{2010/01/02}{(AO, 572) Independent footnote counter for title block. Abstract footnote counter shared with body.}%
-%    \begin{macrocode}
-\long\def\frontmatter@footnotetext{%
- \expandafter\expandafter
- \expandafter\footnotetext
- \expandafter\expandafter
- \expandafter[%
- \expandafter\the\csname c@\@mpfn\endcsname]%
-}%
-\def\and@space{\\}%
-\def\andname{and}%
-%    \end{macrocode}
-% Implement the feature of the article class whereby there is a default \cmd\@date, left over 
-% from the \LaTeX\ kernel.
-% This package does not have a default date. The user must put in an explicit command, like
-% \cmd\date\arg{\cmd\today}, which will retore \LaTeX's default behavior.
-%
-% What if the abstract environment falls after the \cmd\maketitle\ command?
-% The environment will be undefined; the user will have to deal with this.
-%    \begin{macrocode}
-%    \end{macrocode}
-% End of the package.
-%    \begin{macrocode}
-%</package>
-%    \end{macrocode}
-%
-% \Finale
-% %Here ends the programmer's documentation.
-% \endinput
-%
-\endinput
-%%EOF
-- 
cgit v1.3

