% \iffalse      THIS IS A META-COMMENT
%<*dtx>
\ProvidesFile
%========================================================================
                       {MPSHEAD.DTX}
%========================================================================
%</dtx>
%% Copyright 2004 Patrick W Daly
%% Max-Planck-Institut f\"ur Sonnensystemforschung
%% Max-Planck-Str. 2
%% D-37191 Katlenburg-Lindau
%% Germany
%% E-mail: daly@mps.mpg.de
%
% This program can be redistributed and/or modified under the terms
% of the LaTeX Project Public License Distributed from CTAN
% archives in directory macros/latex/base/lppl.txt; either
% version 1 of the License, or any later version.
%
% This is a contributed file to the LaTeX2e system.
% -------------------------------------------------
%         This is a LaTeX package to add MPS head to title page
% Installation:
%    LaTeX this file: creates docstrip installation file mpaehead.ins
%                         AND the (LaTeX2e) documentation
%    (La)TeX mpshead.ins: creates package files mpshead.sty, and optionally
%                         documentation driver mpshead.drv
%    (mpshead.ins may be edited as needed)
% Docstrip options available:
%        package - to produce a (LaTeX2e) package .sty file
%        driver  - to produce a driver file to print the documentation
%--------------------------------------------------------------------------
%  *** Identify the package file:-
%<package>\NeedsTeXFormat{LaTeX2e}[1994/06/01]
%<package>\ProvidesPackage{mpshead}
%
%  *** Identify the driver file:-
%<driver>\NeedsTeXFormat{LaTeX2e}
%<driver>\ProvidesFile{mpshead.drv}
%
%  *** The DATE, VERSION, and other INFO
%\fi
%\ProvidesFile{mpshead}
            [2004/07/06 1.0 (PWD)]
% \changes{1.0}{2004 Jul 6}{Create from \texttt{mpaehead}}
%
% \CheckSum{412}
% \CharacterTable
%  {Upper-case    \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
%   Lower-case    \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z
%   Digits        \0\1\2\3\4\5\6\7\8\9
%   Exclamation   \!     Double quote  \"     Hash (number) \#
%   Dollar        \$     Percent       \%     Ampersand     \&
%   Acute accent  \'     Left paren    \(     Right paren   \)
%   Asterisk      \*     Plus          \+     Comma         \,
%   Minus         \-     Point         \.     Solidus       \/
%   Colon         \:     Semicolon     \;     Less than     \<
%   Equals        \=     Greater than  \>     Question mark \?
%   Commercial at \@     Left bracket  \[     Backslash     \\
%   Right bracket \]     Circumflex    \^     Underscore    \_
%   Grave accent  \`     Left brace    \{     Vertical bar  \|
%   Right brace   \}     Tilde         \~}
%
% \iffalse
%<*install>
%^^A =============================================
%^^A    Here is the docstrip installation file
%^^A    It is written on first LaTeX run if it
%^^A    does not already exist
%^^A =============================================
\begin{filecontents*}{mpshead.ins}

\input docstrip

\preamble
=============================================
IMPORTANT NOTICE:

This program can be redistributed and/or modified under the terms
of the LaTeX Project Public License Distributed from CTAN
archives in directory macros/latex/base/lppl.txt; either
version 1 of the License, or any later version.

This is a generated file.
It may not be distributed without the original source file \inFileName.

Full documentation can be obtained by LaTeXing that original file.
Only a few abbreviated comments remain here to describe the usage.
=============================================
\endpreamble
\postamble

<<<<< End of generated file <<<<<<
\endpostamble

\declarepreamble\driver
============================================
This is the driver file to produce the LaTeX documentation
from the original source file \inFileName.

Make changes to it as needed. (Never change the file \inFileName!)
============================================
\endpreamble

\declarepostamble\driverq

End of documentation driver file.
\endpostamble

\keepsilent
\askforoverwritefalse

\generate{\file{mpshead.sty}{\from{mpshead.dtx}{package}}
          \file{mpshead.drv}{\usepreamble\driver\usepostamble\driverq
                           \from{mpshead.dtx}{driver}}
         }

\obeyspaces
\Msg{*******************************************}%
\Msg{* For documentation, process mpshead.dtx *}%
\Msg{*    or the driver file      mpshead.drv *}%
\Msg{*******************************************}

\endbatchfile
\end{filecontents*}
%</install>
%<*driver>
\documentclass{ltxdoc}
%<driver>%\documentclass[twoside]{ltxdoc}
%<driver>%\documentclass[a4paper]{ltxdoc}
%<driver>%\documentclass[twoside,a4paper]{ltxdoc}
\raggedbottom

 %** To include the detailed explanation of the coding, comment out
 %**   the next line
\OnlyDescription

 %** To produce a command index: add the following line for one run,
 %**   then run  makeindex -s gind.ist natbib
 %**   and reprocess, with or without this line (much faster without)
%<driver>% \EnableCrossrefs\CodelineIndex

 %** To produce a change history: add the following line for one run,
 %**   then run  makeindex -s gglo.ist -o natbib.gls natbib.glo
 %**   and reprocess, with or without this line (faster without)
%<driver>% \RecordChanges

\DisableCrossrefs %May stay; zapped by \EnableCrossrefs
\CodelineNumbered %May stay

\begin{document}
   \DocInput{mpshead.dtx}
\end{document}
%</driver>
%\fi
%
% \DoNotIndex{\begin,\CodelineIndex,\CodelineNumbered,\def,\DisableCrossrefs}
% \DoNotIndex{\DocInput,\documentclass,\EnableCrossrefs,\end,\GetFileInfo}
% \DoNotIndex{\NeedsTeXFormat,\OnlyDescription,\RecordChanges,\usepackage}
% \DoNotIndex{\ProvidesClass,\ProvidesPackage,\ProvidesFile,\RequirePackage}
% \DoNotIndex{\LoadClass,\PassOptionsToClass,\PassOptionsToPackage}
% \DoNotIndex{\DeclareOption,\CurrentOption,\ProcessOptions,\ExecuteOptions}
% \DoNotIndex{\AtEndOfClass,\AtEndOfPackage,\AtBeginDocument,\AtEndDocument}
% \DoNotIndex{\InputIfFileExists,\IfFileExists,\ClassError,\PackageError}
% \DoNotIndex{\ClassWarning,\PackageWarning,\ClassWarningNoLine}
% \DoNotIndex{\PackageWarningNoLine,\ClassInfo,\PackageInfo,\MessageBreak}
% \DoNotIndex{\space,\protect,\DeclareRobustCommand,\CheckCommand}
% \DoNotIndex{\newcommand,\renewcommand,\providecommand,\newenvironment}
% \DoNotIndex{\renewenvironment,\newif,\newlength,\newcounter,\setlength}
% \DoNotIndex{\setcounter,\if,\ifx,\ifcase,\ifnum,\ifdim,\else,\fi}
% \DoNotIndex{\texttt,\textbf,\textrm,\textsl,\textsc}
% \DoNotIndex{\textup,\textit,\textmd,\textsf,\emph}
% \DoNotIndex{\ttfamily,\rmfamily,\sffamily,\mdseries,\bfseries,\upshape}
% \DoNotIndex{\slshape,\scshape,\itshape,\em,\LaTeX,\LaTeXe}
% \DoNotIndex{\filename,\fileversion,\filedate,\let,\reset@font}
% \DoNotIndex{\",\\,\@author,\@date,\@ifundefined,\@makefnmark,\@tabularcr}
% \DoNotIndex{\@thanks,\@thefnmark,\@title,\@topnum,\begingroup,\bf}
% \DoNotIndex{\bgroup,\def,\egroup,\else,\endgroup,\endtitlepage,\fi}
% \DoNotIndex{\filedate,\filename,\fileversion,\fnsymbol,\newfont,\footnoterule}
% \DoNotIndex{\footnotesize,\gdef,\global,\hbox,\hfil,\hrule,\hsize,\hskip}
% \DoNotIndex{\hss,\if@titlepage,\if@twocolumn,\LARGE,\large,\let,\lineskip}
% \DoNotIndex{\m@th,\newbox,\newpage,\normalsize,\null,\p@,\par,\relax,\sc}
% \DoNotIndex{\setbox,\sl,\small,\space,\thanks,\thefootnote,\thispagestyle}
% \DoNotIndex{\titlepage,\twocolumn,\typeout,\unhbox,\vbox,\vfil}
% \DoNotIndex{\vskip,\vspace,\vss,\z@,\leavevmode,\char}
% \DoNotIndex{\selectfont,\fontsize,\ifdim,\setcounter,\sf,\wd}
% \DoNotIndex{\long,\noindent,\parindent,\@makefntext,\pdfimage}
% \DoNotIndex{\language,\l@english,\l@german,\l@french,\includegraphics}
% \DoNotIndex{\color,\definecolor,\chardef,\centering,\headheight,\normalfont}
% \DoNotIndex{\parbox,\raisebox,\textsuperscript,\textwidth}
%
% \setcounter{IndexColumns}{2}
% \setlength{\IndexMin}{10cm}
% \setcounter{StandardModuleDepth}{1}
%
% \GetFileInfo{mpshead}
%
% \title{\bfseries To Add an MPS Header\\ to the Title Page}
%
% \author{Patrick W. Daly}
%
% \date{This paper describes package \texttt{\filename}\\
%       version \fileversion{} from \filedate\\[1ex]
%     \textsl{It is part of the \texttt{preprint} collection of packages}
%  }
%
% \maketitle
% \expandafter\ifx\csname xmaketitle\endcsname\relax\else\xmaketitle\fi
%
% \pagestyle{myheadings}
% \markboth{P. W. Daly}{MPS HEADER ON TITLE PAGE}
%
%^^A In order to keep all marginal notes on the one (left) side:
%^^A (otherwise they switch sides disasterously with twoside option)
% \makeatletter \@mparswitchfalse \makeatother
%
%\begin{small}\begin{center}\textbf{Summary}\end{center}
% The stripped version of this file contains the following brief description:
%\iffalse
%<*package>
%\fi
% \begin{verbatim}
 % Use just as usual. Works with and without titlepage option
 % For twocolumn, no titlepage, the abstract is written wide over
 % the two columns.
 % Takes options:
 %  color colour   for coloured logo and institute name (default)
 %  bw  sw         for black&white logo and name
 % Additional commands:
 % \reportno{MPS-xxxx} adds report number at top.
 % \pagestyle{mpshead} or better \thispagestyle{mpshead} puts a head
 %   on pages for documents without title pages
 % Makes use of authblk package to enter authors and affiliations either in
 % the standard manner with
 %     \author{ ...  \and ... \and ...}
 % or with alternative
 %     \author{..} \author{..} \affil{..}
 %     \author{..} \author{..} \affil{..}
 % where each \author contains a single name, and \affil applies to all
 % previous authors. Explicit footnote markers can be given with optional
 % arguments \author[1]{..} .. \affil[1]{..}
% \end{verbatim}
%\iffalse
 %-----------------------------------------------------------
%</package>
%\fi
% \end{small}
%
% \section{Purpose}
% This package replaces the now obsolete \texttt{mpaehead}, and puts an MPS
% title and logo at the top of an article. It is meant to be used with the
% \texttt{preprint} class, but can be used on its own to add an institute
% logo using the page style \texttt{mpshead}.
%
% \section{Usage}
% This package need only be included
% with the |\usepackage| command of \LaTeXe,
% \begin{quote}
% |\documentclass[..]{...}|\\
% |\usepackage|\oarg{options}|{|\texttt{\filename}|}|
% \end{quote}
% It takes options
% \begin{description}
% \item \texttt{color colour} (default) to output logo and institute name in colour
%
% \item \texttt{bw sw} to output the logo in black \& white.
% \end{description}
%
% Everything then functions as for normal \LaTeX, as far as the user is
% concerned. In fact, internally things are quite different, so there could
% be bugs popping out.
%
% To avoid the most blatant problems, the |\maketitle| command must be
% followed by one of
% \begin{quote}
% |\begin{abstract}| \dots{} |\end{abstract}|\\
% |\part|\\
% |\chapter|\\
% |\section|\\
% |\noabstract|
% \end{quote}
% without any intervening text. Commands that do not print text, like
% |\newpage| may come between.
%
% \DescribeMacro{\reportno}
% The only extra feature for the user is the |\reportno| command. This
% enters the MPAE report number (or any arbitrary text for that matter)
% that is printed above the headline. It is optional. Syntax is
% \begin{quote}
% |\reportno{|\meta{number}|}|
% \end{quote}
%
% \DescribeMacro{\author}
% \DescribeMacro{\affil}
% The \texttt{\filename} package loads the \texttt{authblk} package that
% allows an alternative syntax for entering authors' names and affiliations.
% Standard \LaTeX\ uses
% \begin{quote}
%   |\author{|\emph{author1, author2}|\\|\emph{affil1}\\
%   |  \and|\\
%   | |\emph{author3, author4}|\\|\emph{affil2}|}|
% \end{quote}
% whereas the new alternative is
% \begin{quote}
%   |\author{|\emph{author1}|} \author{|\emph{author2}|} \affil{|\emph{affil1}|}|\\
%   |\author{|\emph{author3}|} \author{|\emph{author4}|} \affil{|\emph{affil2}|}|
% \end{quote}
% This syntax will automatically select whether the authors are to be blocked
% by affiliations (standard) or whether they all appear in one line with
% footnotes for the affiliations.
%
% A third method forces the footnote style by explicitly giving the footnotes
% as optional arguments.
% \begin{quote}
%   |\author[1]{|\emph{author1}|} \author[1]{|\emph{author2}|}|\\
%   |\author[2]{|\emph{author3}|} \author[2]{|\emph{author4}|}|\\
%   |\affil[1]{|\emph{affil1}|} \affil[2]{|\emph{affil2}|}|
% \end{quote}
%
% \DescribeMacro{\authorcr}
% In the standard method (|\author| without any |\affil| commands) the newline
% command |\\| is used to switch from author to affiliation text, with change
% of font. If a new line is to be forced within the author text, use
% |\authorcr| instead.
%
% \section{The Page Style \texttt{mpshead}}
% It is possible to add the MPS head to other documents,
% those without abstracts or sections. This is done by invoking the
% \emph{page style} named \texttt{mpshead}. This can be done either as
% \begin{quote}
%   |\pagestyle{mpshead}|
% \end{quote}
% to put the head on all pages, or as
% \begin{quote}
%   |\thispagestyle{mpshead}|
% \end{quote}
% to put it on only the current page. This last is the recommended method.
%
% This page style does not change the style of the footers. Thus if page
% style \texttt{plain} (the default for \texttt{article} class) is active,
% the page numbers at the bottom will be retained. With
% \begin{quote}
%   |\pagestyle{empty}|\\
%   |\thispagestyle{mpshead}|
% \end{quote}
% the page numbers at the bottom will be suppressed.
%
% If this package is used with the \texttt{fullpage} package, then I
% recommend invoking the latter with the option \texttt{headings}, as
% \begin{quote}
%   |\usepackage[headings]{fullpage}|\\
%   |\usepackage{mpshead}|\\
%   |\pagestyle{empty}|\\
%   |\thispagestyle{mpshead}|
% \end{quote}
% In this way, \texttt{fullpage} leaves enough room at the top for the
% head. If it were invoked with the option \texttt{empty}, it would leave
% no space; the head would be set on the line one inch from the top, and
% the first line of text would be immediately below it.
%
% \StopEventually{\PrintIndex\PrintChanges}
%
% \section{Options with \texttt{docstrip}}
% The source \texttt{.dtx} file is meant to be processed with
% \texttt{docstrip}, for which a number of options are available:
% \begin{description}
% \item[\tt package] to produce a \texttt{.sty} package file with most
%     comments removed;
% \item[\tt driver] to produce a driver \texttt{.drv} file that will print
%     out the documentation under \LaTeXe.
%
% \end{description}
% The source file \texttt{\filename.dtx} is itself a driver file and can
% be processed directly by \LaTeX.
%
% \section{The Coding}
% This section presents and explains the actual coding of the macros.
% It is nested between |%<*package>| and |%</package>|, which
% are indicators to \texttt{docstrip} that this coding belongs to the package
% file.
%
% \begin{macro}{\makehead}
% Define the headline containing MPS logo and name and address. This will
% be executed within a |\center| environment, so the lines need not be
% explicitly centered.
%
% Select some special fonts with attributes.
%    \begin{macrocode}
%<*package>
\newif\if@kolor \@kolortrue
\DeclareOption{bw}{\@kolorfalse}
\DeclareOption{sw}{\@kolorfalse}
\DeclareOption{color}{\@kolortrue}
\DeclareOption{colour}{\@kolortrue}
\ProcessOptions
\if@kolor
  \RequirePackage{color}
  \definecolor{mpg}{rgb}{.187,.613,.594}
  \newcommand*\mpgcol{\leavevmode\color{mpg}}
  \newcommand*\mpslogo{mps_color}
\else
  \let\mpgcol=\relax
  \newcommand*\mpslogo{mps_grau}
\fi
\RequirePackage{graphicx}
\newcommand{\headfnt}{\rmfamily\fontsize{17}{24pt}\selectfont\mpgcol}
\newcommand{\addfnt}{\slshape\fontsize{12}{14pt}\selectfont\mpgcol}
\newcommand{\makehead}{%
  \raisebox{60\p@}[\z@]{\makebox[\textwidth][r]{\small\@reportno}}
     \vspace{10\p@}
     \mpsline
     \vspace{30\p@}}
%    \end{macrocode}
% \end{macro}
%
% \begin{macro}{\mpsline}
% The actual MPS head is put into a command, since it will be used both in
% |\makehead| and in the definition of the page style \texttt{mpshead}.
% In this way, we guarantee that both produce the same results.
%
% The name of Germany is made to be dependent on the current value of
% |\language|.
%
%    \begin{macrocode}
\newcommand{\mpsline}{%
      \parbox[c]{45em}{\centering
         \parbox[c][\z@][b]{\z@}{%
         \makebox[\z@][c]{%
        \includegraphics[width=11em,clip]{\mpslogo}}}\\[1em]
        {\headfnt Max-Planck-Institut f\"ur Sonnensystemforschung}\\[.5em]
        \normalfont
        \addfnt Katlenburg-Lindau, \BRD\vspace{.5em}}%
}
%    \end{macrocode}
% \end{macro}
%
% \begin{macro}{\BRD}
% Test the value of |\language| against the usual prestored names for these
% languages. Define them if they do not exist.
%
%    \begin{macrocode}
\newcommand{\BRD}{\ifnum\language=\l@english
       Germany \else
  \ifnum\language=\l@german
       Deutschland \else
  \ifnum\language=\l@french
       Allemagne
       \fi\fi\fi}

\@ifundefined{l@english}{\chardef\l@english=0}{}
\@ifundefined{l@german}{\chardef\l@german=1}{}
\@ifundefined{l@french}{\chardef\l@german=2}{}
%    \end{macrocode}
% \end{macro}
%
% \begin{macro}{\reportno}
% To include a report number, define the command |\reportno| to enter the
% text into the internal |\@reportno|; its default contents are empty.
%    \begin{macrocode}
\newcommand{\reportno}[1]{\renewcommand{\@reportno}{#1}}
\newcommand{\@reportno}{}
%    \end{macrocode}
% \end{macro}
%
% \begin{macro}{\abstractname}
% If |\abstractname| has not been defined, then
% define it now.
%    \begin{macrocode}
\providecommand{\abstractname}{Abstract}
%    \end{macrocode}
% \end{macro}
%
% In order that the abstract be written with the title in \texttt{twocolumn}
% mode it is necessary to read it in before the title is made up. Since the
% |\maketitle| command is given \emph{before} the abstract in entered, some
% changes have been made. Now |\maketitle| merely defines |\xmaketitle|,
% which takes over the earlier role of |\maketitle|. This new |\xmaketitle|
% is called at the end of the abstract environment, or if there is no
% abstract, with the first |\section| call. Clearly something could go
% wrong there is no abstract and some text appears before the first
% |\section| (or |\chapter| or |\part|) command. In this case, one gives
% the command |\noabstract| which is identical to |\xmaketitle|.
%
% \begin{macro}{\maketitle}
% \begin{macro}{\xmaketitle}
% Here are the revised |\maketitle| and |\xmaketitle| definitions. There
% are differences depending on whether or not |titlepage| is active.
% The only major differences from the standard definition are the
% inclusion of |\makehead| and the use of |\xmaketitle|.
% Also the author list has font changing features, described below.
%
% This is the definition for title pages.
%    \begin{macrocode}
\renewcommand{\maketitle}{\if@titlepage
 \gdef\xmaketitle{\begin{titlepage}%
 \let\footnotesize\small
 \let\footnoterule\relax
 \def\thefootnote{\fnsymbol{footnote}}%
 \setcounter{page}{0}%
 \null
 \begin{center}%
 \reset@font\makehead
 \vfil
 \vskip 60\p@
   {\LARGE \@title \par}%
   \vskip 3em
   {\lineskip .75em
%    \end{macrocode}
% The mechanism used to alternate typefaces in the author list is
% managed by \texttt{authblk} macros. Use \texttt{center} environment
% for the authors rather than \texttt{tabular}, for it is more appropriate
% with the \texttt{authblk} package where very long author lines are possible.
%    \begin{macrocode}
    \reset@font\normalsize
    \begin{center}
       \@author
    \end{center}\par}%
    \vskip 1.5em
   {\reset@font\large \@date \par}%
\end{center}\par
\@thanks
\vfil
\null
\end{titlepage}%
\setcounter{footnote}{0}%
\global\let\xmaketitle\relax
\global\let\@maketitle\relax
\gdef\@thanks{}\gdef\@author{}\gdef\@title{}\let\thanks\relax
%    \end{macrocode}
% Now add the abstract on a separate page.
%    \begin{macrocode}
\ifdim\wd\@abstract=0pt\else
 \titlepage\null\vfil
 \begin{center}\reset@font\bfseries\abstractname\end{center}%
 \unhbox\@abstract
 \par\vfil\null\endtitlepage
\fi}
%    \end{macrocode}
% This completes the definition of |\xmaketitle| for title pages; now comes
% the definition for no title pages, which actually makes use of
% |\@maketitle|.
%    \begin{macrocode}
\else \gdef\xmaketitle{\par
 \begingroup
   \def\thefootnote{\fnsymbol{footnote}}%
   \def\@makefnmark{\hbox{\textsuperscript{\@thefnmark}}}
    \long\def\@makefntext####1{\parindent 1em\noindent
            \hbox to1.8em{\hss$\m@th^{\@thefnmark}$}####1}%
   \if@twocolumn
     \twocolumn[\@maketitle]%
     \else \newpage
     \global\@topnum\z@
     \@maketitle \fi\thispagestyle{plain}\@thanks
 \endgroup
%    \end{macrocode}
%
%    \begin{macrocode}
 \setcounter{footnote}{0}%
 \global\let\xmaketitle\relax
 \global\let\@maketitle\relax
 \gdef\@thanks{}\gdef\@author{}\gdef\@title{}\let\thanks\relax}
%    \end{macrocode}
% To finish up the definition of |\maketitle|, have it self-destruct, since
% it will only be used once.
%    \begin{macrocode}
  \fi \global\let\maketitle\relax}
%    \end{macrocode}
% \end{macro}\end{macro}
%
% \begin{macro}{\@maketitle}
% Here is the true title making macro for no title page. Since this command
% is only defined in \texttt{article} class file if there is no title page,
% the |\renewcommand| will fail if \texttt{titlepage} has been specified.
% Therefore, we must make sure it exists before redefining it. We cannot
% use the |\if@titlepage| flag here because its state may change between
% the time that |\maketitle| is defined and when it is executed.
%    \begin{macrocode}
\providecommand{\@maketitle}{}
\renewcommand{\@maketitle}{%
 \newpage
 \begin{center}%
 \reset@font\makehead
 \vskip 2em
  {\reset@font\LARGE \@title \par}%
  \vskip 1.5em
   {\lineskip .75em
    \reset@font\normalsize
    \begin{center}
        \@author
    \end{center}\par}%
  \vskip 1em
  {\large \@date}%
 \end{center}%
 \par
 \vskip 1.5em
%    \end{macrocode}
% The abstract is added in a |quotation| environment below the author
% list.
%    \begin{macrocode}
 \ifdim\wd\@abstract=0pt\else
  \begin{center}%
   {\reset@font\bfseries \abstractname\vspace{-.5em}\vspace{\z@}}%
  \end{center}%
  \begin{quotation}\reset@font\small\unhbox\@abstract\end{quotation}
 \fi}
%    \end{macrocode}
% \end{macro}
%
% Give a default definition for |\xmaketitle| in case |\maketitle| is never
% called.
%    \begin{macrocode}
\newcommand{\xmaketitle}{}
%    \end{macrocode}
%
% \begin{macro}{\and}
% The macros in the
% \texttt{authblk} package are used to enter author and affiliation data with
% font changes. Here, just define |\and| to be consistent with the environment
% in which |\@author| is placed. (This is in fact the standard definition,
% but put it here just to be sure.)
%    \begin{macrocode}
\renewcommand{\and}
  {\end{center}\hskip 1em plus .17fil\begin{center}}
%    \end{macrocode}
% \end{macro}
%
% Load the \texttt{authblk} package and set the customization parameters. For
% \LaTeXe, this can be partially done with options.
%    \begin{macrocode}
\RequirePackage[auth-sc-lg,affil-it]{authblk}
\setlength{\affilsep}{0.5ex}
\renewcommand{\Authand}{\ifnum\language=\l@english\ and \else
                        \ifnum\language=\l@german\ und \else
                        \ifnum\language=\l@french\ et \fi\fi\fi}
\renewcommand{\Authands}{\ifnum\language=\l@english, and \else
                        \ifnum\language=\l@german\ und \else
                        \ifnum\language=\l@french\ et \fi\fi\fi}
%    \end{macrocode}
%
%
% \begin{environment}{abstract}
% The revisions to |abstract| environment, to put the entire text into a box,
% and the add the |\xmaketitle| command at the end. For good measure,
% |\maketitle| is also added just to make sure that |\xmaketitle| is
% defined.  Thus a |\maketitle| command in the text is superfluous when an
% abstract is present. (Since |\maketitle| self-destructs, there is no harm
% in calling it twice.)
%    \begin{macrocode}
\newbox\@abstract
\setbox\@abstract\hbox{}

\renewenvironment{abstract}{\global\setbox\@abstract\hbox\bgroup
  \if@titlepage\else\reset@font\small\fi}
  {\egroup\maketitle\xmaketitle}
%    \end{macrocode}
% \end{environment}
%
% \begin{macro}{\part}
% \begin{macro}{\chapter}
% \begin{macro}{\section}
% \begin{macro}{\noabstract}
% Revise |\part|, |\chapter|, and |\section| to add |\xmaketitle| just
% in case there is no abstract. Redefine them only if they exist already.
% The |\noabstract| command is used to when there is no abstract and no
% sections, as last resort.
%    \begin{macrocode}
\@ifundefined{part}{}
  {\newcommand{\xpart}{}\let\xpart\part
   \renewcommand{\part}{\xmaketitle\xpart}}
\@ifundefined{chapter}{}
  {\newcommand{\xchapter}{}\let\xchapter\chapter
   \renewcommand{\chapter}{\xmaketitle\xchapter}}
\@ifundefined{section}{}
  {\newcommand{\xsection}{}\let\xsection\section
   \renewcommand{\section}{\xmaketitle\xsection}}
\newcommand{\noabstract}{\xmaketitle}
%    \end{macrocode}
% \end{macro}\end{macro}\end{macro}\end{macro}
%
% \begin{macro}{\ps@mpshead}
% To allow the MPS head to be used as a page style, without the article
% features of abstract and/or sections, create a new page style.
% This page style does not change the footers, only the header. Note that
% the head is made to sit on the bottom of the space available
% (|\headheight|), so that it extends upwards if |\headheight| is too
% small.
%    \begin{macrocode}
\def\ps@mpshead{%\def\@oddfoot{}\def\@evenfoot{}
  \def\@oddhead{\hbox to \hsize{\vbox to \headheight{\centering\vss\mpsline}}}
  \let\@evenhead=\@oddhead}
%</package>
%    \end{macrocode}
% \end{macro}
%

% \Finale
