summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/source
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2020-10-07 21:59:05 +0000
committerKarl Berry <karl@freefriends.org>2020-10-07 21:59:05 +0000
commitf9ad67f025daf41bc024597529f1e65e14f7c50e (patch)
treea59c7b668ccebfbcc2bfced4c6e64e54143a5cd3 /Master/texmf-dist/source
parenta48050f58f08e3e3587a95252fd35700aa99f948 (diff)
revtex4-1 from phelype .tds.zip, now its own package
git-svn-id: svn://tug.org/texlive/trunk@56590 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/source')
-rw-r--r--Master/texmf-dist/source/latex/revtex4-1/aip.dtx2059
-rw-r--r--Master/texmf-dist/source/latex/revtex4-1/revtex4-1-bst.dtx3783
-rw-r--r--Master/texmf-dist/source/latex/revtex4-1/revtex4-1.dtx (renamed from Master/texmf-dist/source/latex/revtex/revtex4-1.dtx)21
3 files changed, 5852 insertions, 11 deletions
diff --git a/Master/texmf-dist/source/latex/revtex4-1/aip.dtx b/Master/texmf-dist/source/latex/revtex4-1/aip.dtx
new file mode 100644
index 00000000000..edfe1b17f76
--- /dev/null
+++ b/Master/texmf-dist/source/latex/revtex4-1/aip.dtx
@@ -0,0 +1,2059 @@
+% \iffalse meta-comment
+% aip.dtx: package to change page grid, MVL.
+% Copyright (c) 2008 American Institute of Physics
+% mailto:tex@aip.org
+%
+% 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.3 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 aip.dtx
+% and the derived files
+% aip.rtx, aip.pdf, aip.ins, aip.drv.
+% Distribution:
+% CTAN:macros/latex/contrib/aip/
+%
+% Unpacking:
+% tex aip.dtx
+%
+% Documentation:
+% latex aip.dtx; ...
+%
+% Programm calls to get the documentation (example):
+% pdflatex aip.dtx
+% makeindex -s gind.ist aip
+% makeindex -s gglo.ist -o aip.gls aip.glo
+% pdflatex aip.dtx
+% makeindex -s gind.ist aip
+% pdflatex aip.dtx
+%
+% Installation:
+% TDS:bibtex/bst/aip/
+% TDS:doc/latex/aip/
+% TDS:source/latex/aip/
+% TDS:tex/latex/aip/
+%
+% 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 aip.dtx when run through LaTeX or TeX.
+%% This file requires docstrip version 2.4 or higher available from
+%% ftp://ctan.tug.org/tex-archive/macros/latex/unpacked/docstrip.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.
+
+Copyright (c) 2008 American Institute of Physics.
+mailto:tex@aip.org
+
+Maintained by Arthur Ogawa (mailto:arthur_ogawa at sbcglobal.net)
+under contract to American Institute of Physics.
+
+License
+ You may distribute this file under the conditions of the
+ LaTeX Project Public License 1.3 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}
+% \file{aip.ins}{\from{aip.dtx}{install}}%
+% \file{aip.drv}{\from{aip.dtx}{driver}}%
+% \usedir{tex/latex/aip}%
+ \file{aip4-1.rtx}{\from{aip.dtx}{package}}%
+ }%
+\ifToplevel{
+\Msg{***********************************************************}
+\Msg{*}
+\Msg{* To finish the installation, please move}
+\Msg{* aip.rtx}
+\Msg{* into a directory searched by TeX;}
+\Msg{* in a TDS-compliant installation:}
+\Msg{* texmf/tex/macros/latex/aip/.}
+\Msg{*}
+\Msg{* To produce the documentation,
+ run aip.dtx through LaTeX.}
+\Msg{*}
+\Msg{* Happy TeXing}
+\Msg{***********************************************************}
+}
+\endbatchfile
+%</install>
+%<*ignore>
+\fi
+%</ignore>
+% \fi
+%
+% \GetFileInfo{aip.dtx}
+%
+% \iffalse ltxdoc klootch
+%<*package>
+%%% @LaTeX-file{
+%%% filename = "aip.dtx",
+%%% version = "4.1s",
+%%% date = "2020/09/30",
+%%% author = "Arthur Ogawa (mailto:arthur_ogawa at sbcglobal.net),
+%%% commissioned by the American Institute of Physics.
+%%% ",
+%%% copyright = "Copyright (C) 2008 American Institute of Physics,
+%%% distributed under the terms of the
+%%% LaTeX Project Public License, see
+%%% ftp://ctan.tug.org/macros/latex/base/lppl.txt
+%%% ",
+%%% address = "AIP Journal Program
+%%% American Institute of Physics,
+%%% Suite 1NO1, 2 Huntington Quadrangle,
+%%% Melville, NY 11747 USA",
+%%% telephone = "",
+%%% FAX = "",
+%%% email = "mailto colon tex at aip.org",
+%%% codetable = "ISO/ASCII",
+%%% keywords = "latex, page grid, main vertical list",
+%%% supported = "yes",
+%%% abstract = "aip substyle for REVTeX",
+%%% }
+%</package>
+% \fi
+%
+% \iffalse ltxdoc klootch
+% The following references the \file{README} 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}" to locate it.
+% \fi\input{README}%
+%
+% \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}
+%aip.dtx
+%\end{verbatim}
+%
+% \subsubsection{Generated by \texttt{latex aip.dtx}}%
+% Typesetting the source file under \LaTeX\
+% generates the readme and the installer.
+%\begin{verbatim}
+%README aip.ins
+%\end{verbatim}
+%
+% \subsubsection{Generated by \texttt{tex aip.dtx}}%
+% Typesetting the installer generates
+% the package files.
+%\begin{verbatim}
+%aip.rtx
+%\end{verbatim}
+%
+% \subsubsection{Documentation}%
+% The following are the online documentation:
+% \begin{verbatim}
+%aip.pdf
+% \end{verbatim}
+%
+% \subsubsection{Auxiliary}%
+% The following are auxiliary files generated
+% in the course of running \LaTeX:
+% \begin{verbatim}
+%aip.aux aip.idx aip.ind aip.log aip.toc
+% \end{verbatim}
+%
+% \section{Code common to all modules}%
+%
+% The following may look a bit klootchy, but 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}
+%<*driver|package>
+\NeedsTeXFormat{LaTeX2e}[1996/12/01]%
+%</driver|package>
+% \end{macrocode}
+% As desired, the following modules all
+% take common version information:
+% \begin{macrocode}
+%<package>\ProvidesFile{aip4-1.rtx}%
+%<*driver>
+\expandafter\ProvidesFile\expandafter{\jobname.dtx}%
+%</driver>
+% \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}
+%<*driver|package>
+%<version>
+ [2020/09/30 4.1s AIP substyle for REVTeX]% \fileversion
+%</driver|package>
+% \end{macrocode}
+%
+%
+% \section{The driver module \texttt{driver}}
+%
+% This module, consisting of the present section,
+% typesets the programmer's documentation,
+% generating the \file{.ins} installer and \file{README} as required.
+%
+% Because the only uncommented-out lines of code at the beginning of
+% this file constitute the \file{driver} module itself,
+% we can simply typeset the \file{.dtx} file directly,
+% and there is thus rarely any need to
+% generate the ``driver'' {\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}
+%<*driver>
+% \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\relax\else
+ \expandafter\expandafter
+ \expandafter\RequirePackage
+ \expandafter\expandafter
+ \expandafter{\csname package@font\endcsname}%
+\fi
+\gdef\lquote{`}\gdef\rquote{'}%
+\CodelineIndex\EnableCrossrefs % makeindex -s gind.ist aip
+\RecordChanges % makeindex -s gglo.ist -o aip.gls aip.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.
+%
+%\changes{4.1b}{2008/08/06}{Beta candidate b}
+% \begin{macrocode}
+\begin{filecontents*}[overwrite]{README}
+\title{%
+ The \classname{aip} substyle for REV\TeX%
+ \protect\thanks{%
+ \fileversion\ \copyright 2009 American Institute of Physics
+ % For version number and date,
+ % search on "\fileversion" in the .dtx file,
+ % or see the end of the README file.
+ }%
+}%
+
+\author{%
+Arthur Ogawa\thanks{mailto:arthur\_ogawa at sbcglobal.net}%
+}%
+\date{Version \fileversion, dated \filedate}%
+\maketitle
+
+This file embodies the implementation of the
+AIP journal substyles for APS's \revtex\ 4.1 document class
+for electronic submissions to AIP journals.
+
+The distribution point for this work is
+\url{http://authors.aip.org/REVTEX}.
+The archive contains ready-to-Install files, documentation, and full source.
+
+This package is also distributed via CTAN:
+\url{http://www.ctan.org/pub/tex-archive/macros/latex/contrib/aip}, and as a ready-to-install image as
+\url{http://www.ctan.org/pub/tex-archive/install/macros/latex/contrib/aip.tds.zip}.
+
+The \classname{aip} package was commissioned by the American Institute of Physics
+and is distributed under the terms of the \LaTeX\ Project Public License,
+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{aip.rtx}
+into a location in your filesystem where it will be found by \LaTeX.
+
+To use, read the user documentation \file{auguide.pdf}.
+
+\tableofcontents
+
+\section{Overview}%
+\revtex\ is a \LaTeXe\ document class, somewhat like a hybrid of
+the standard \LaTeX\ \classname{book} and \classname{article} classes.
+
+This document class implements the AIP society and journal substyles:
+the journals represent a set of mutually exclusive class options that, in this case, allow the
+document class to address multiple journals within the AIP family.
+This society is obtained with class option \classoption{aip}.
+
+\section{Processing Instructions}
+
+The package file \file{aip.rtx}
+is generated from this file, \file{aip.dtx},
+using the {\sc docstrip} facility of \LaTeX
+via |tex aip.dtx|.
+The typeset documentation that you are now reading is generated from
+the same file by typesetting it with \LaTeX\ or pdftex
+via |latex aip.dtx| or |pdflatex aip.dtx|.
+
+\subsection{Build Instructions}
+
+You may bootstrap this suite of files solely from \file{aip.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{aip.dtx} with \LaTeX\ or pdflatex;
+you will obtain the typeset documentation you are now reading,
+along with
+the installer \file{aip.ins},
+and the file \file{README}.
+
+Note: you will have to run \LaTeX\ twice, then \file{makeindex}, then
+\LaTeX\ again in order to obtain a valid index and table of contents.
+\item
+Now typeset \file{aip.dtx} with \TeX (not \LaTeX),
+thereby generating the package file \file{aip.rtx}.
+\item
+Install \classname{aip.rtx}
+by moving it to a location
+in your filesystem where it will be found by \LaTeX,
+like \file{tex/latex/aip}.
+\item
+Install \classname{aip.pdf}
+by moving it to
+\file{doc/latex/aip}.
+\item
+Using the \file{.dbj} information herein,
+generate the needed \file{.bst} files and install them in
+\file{bibtex/bst/aip}.
+\end{enumerate}
+\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}%
+\newcommand\revtex{REV\TeX}%
+\expandafter\DocInput\expandafter{\jobname.dtx}%
+% ^^A\PrintChanges
+\end{document}
+% \end{macrocode}
+%
+% \begin{macrocode}
+%</driver>
+% \end{macrocode}
+%
+% \section{AIP: A set of journal-specifc extensions to \revtex}
+%
+% To create a journal substyle, you create
+% a \file{.rtx} file, in our case \file{aip.rtx}.
+% Within that file, you override procedures and parameter assignments as you see fit.
+% Ideally they will be generally applicable to all of that society's
+% journals (see the file \file{aps.rtx} for a realization of this scheme).
+% Also within that file, you include a
+% section of code for each journal, that for JMP looks like:
+% \begin{verbatim}
+% \@ifx{\@journal\journal@jmp}{%
+% <code specific to the JMP>
+% }{}%
+% \end{verbatim}
+%
+% \section{The \classoption{aip} class option: the \texttt{aip} module}
+% The file \file{aip.rtx} is read in by the \classname{revtex4} document class
+% if \cmd\@society\ has the value \classoption{aip}.
+%
+% Here, code specific to AIP journals appears.
+%
+% We first give some text entities (amounting to journal abbreviations),
+% then some AIP-specific initialisations,
+% then code for particular AIP journals.
+% In the latter case, the choice is
+% keyed off the macro \cmd\@journal.
+%
+% Note on \cmd\AtEndOfClass:
+% this file, like all journal substyles, is read in at \cmd\AtEndOfClass\ time,
+% so you should not use this command in this file.
+% Note for \LaTeX\ developers: It would be an improvement in \LaTeX\ to
+% \cmd\let\cmd\AtEndOfClass\ to something like \cmd\@firstofone.
+% This change would be effected in \cmd\@onefilewithoptions.
+%
+% \begin{macrocode}
+%<*package>
+% \end{macrocode}
+%
+% \subsection{Defend Against Forseeable Errors}%
+% Protect this file from being read in by anything but \revtex.
+% \begin{macrocode}
+\ifx\undefined\substyle@ext
+ \def\@tempa{%
+ \endinput
+ \GenericWarning{I must be read in by REVTeX! (Bailing out)}%
+ }%
+ \expandafter\else
+ \def\@tempa{}%
+ \expandafter\fi\@tempa
+ \class@info{RevTeX society AIP selected}%
+% \end{macrocode}
+%
+% \subsection{Substyle Options}%
+%
+% Here are the class options relating to the AIP:
+% \begin{macrocode}
+\DeclareOption{jcp}{\change@journal{jcp}}%
+\DeclareOption{pop}{\change@journal{pop}}%
+\DeclareOption{rsi}{\change@journal{rsi}}%
+\DeclareOption{jap}{\change@journal{jap}}%
+\DeclareOption{apl}{\change@journal{apl}}%
+\DeclareOption{cha}{\change@journal{cha}}%
+\DeclareOption{pof}{\change@journal{pof}}%
+\DeclareOption{bmf}{\change@journal{bmf}}%
+\DeclareOption{rse}{\change@journal{rse}}%
+\DeclareOption{jmp}{\change@journal{jmp}}%
+% \end{macrocode}
+%
+% Option allowing for ``numerical author-year'' bibliography.
+% \begin{macrocode}
+\DeclareOption{author-numerical}{%
+ \@booleantrue\authoryear@sw
+ \@booleantrue\authornum@sw
+}%
+% \end{macrocode}
+%
+% Optionally allow article title in bibliography entries.
+% A new switch is defined here: \cmd\aip@jtitx@sw\ signifies that
+% the numbered style bibliography is to be prepared without article titles in @ARTICLE entries.
+% Otherwise, such titles are incorporated if present in the \file{.bib} entry.
+% By default, exclude the article titles.
+% \begin{macrocode}
+\DeclareOption{article-title}{%
+ \@booleanfalse\aip@jtitx@sw
+}%
+\@booleantrue \aip@jtitx@sw
+% \end{macrocode}
+%
+% Establish default options for this society.
+%
+% \begin{macrocode}
+\@booleanfalse\authoryear@sw
+\@booleanfalse\authornum@sw
+% \end{macrocode}
+%
+% \begin{macro}{\@bibdataout@init}
+% \begin{macro}{\@bibdataout@aip}
+% \changes{4.1o}{2010/02/12}{(AO, 580) Control .bst at run time.}%
+% Procedure \cmd\@bibdataout@aip\ has the job of writing the control record into the
+% job's \cmd\jobname\filename{.bib} file, where it will adjust the options to \filename{.bst} processing.
+% It is installed into the initialization procedure \cmd\@bibdataout@init, and its meaning
+% is set by the society (AIP) and journal.
+%
+% \begin{macrocode}
+\appdef\@bibdataout@rev{\@bibdataout@aip}%
+\def\@bibdataout@aip{%
+ \immediate\write\@bibdataout{%
+% \end{macrocode}
+% An entry that controls processing of the \filename{.bst} file has entry type \texttt{@CONTROL}.
+% \begin{macrocode}
+ @CONTROL{%
+ aip41Control%
+% \end{macrocode}
+% Say whether we want long bibliography style (the default), or the abbreviated style.
+% \begin{macrocode}
+ \longbibliography@sw{\true@sw}{\aip@jtitx@sw{\false@sw}{\true@sw}}%
+ {%
+ ,pages="1",title="0"%
+ }{%
+ ,pages="0",title=""%
+ }%
+ }%
+ }%
+% \end{macrocode}
+% Place a \cmd\citation\ into the auxiliary file corresponding to this entry.
+% \begin{macrocode}
+ \if@filesw
+ \immediate\write\@auxout{\string\citation{aip41Control}}%
+ \fi
+}%
+% \end{macrocode}
+% \end{macro}
+% \end{macro}
+%
+% For AIP, the preprint style \classoption{preprint} is the default.
+% \begin{macrocode}
+\@booleantrue\preprintsty@sw
+% \end{macrocode}
+%
+% \begin{macro}{\showPACS@sw}
+% \begin{macro}{\showKEYS@sw}
+% If \cmd\showPACS@sw\ is true, print the PACS information in the title block,
+% otherwise not.
+% Similarly for \cmd\showKEYS@sw\ and the keywords.
+% \begin{macrocode}
+\@booleantrue\showPACS@sw
+\@booleantrue\showKEYS@sw
+% \end{macrocode}
+% \end{macro}
+% \end{macro}
+%
+% \begin{macro}{\refname}
+%
+% In reprint style only, we eliminate the head above the bibliography.
+% \begin{macrocode}
+\appdef\setup@hook{%
+ \preprintsty@sw{}{%
+ \let\refname\@empty
+ }%
+}%
+% \end{macrocode}
+% \end{macro}
+%
+% \subsection{AIP Setup}%
+% Here we define the default procedures for AIP journals.
+% Individual AIP journals may override these definitions.
+%
+% \subsubsection{Running header and footer}%
+%
+% Page style for all AIP journals.
+% We assert our own page style only if nobody else has done so.
+% Users wishing to customize their documents will be able to invoke a \cmd\pagestyle\
+% command anywhere in the preamble.
+%FIXME: \cmd\preprintsty@sw\ is defined?
+% \begin{macrocode}
+\appdef\setup@hook{%
+ \preprintsty@sw{%
+ \ps@preprint
+ }{%
+ \ps@article
+ }%
+}%
+% \end{macrocode}
+%
+% The spc says: ``Running title must be provided on title page'',
+% and that journal classes 1b and 2 have no running title.
+% \begin{macrocode}
+\def\ps@preprint{%
+ \def\@oddhead{\@runningtitle\hfil}%
+ \def\@evenhead{\@runningtitle\hfil}%
+ \def\@oddfoot{\hfil\thepage\quad\checkindate\hfil}%
+ \def\@evenfoot{\hfil\thepage\quad\checkindate\hfil}%
+ \let\@mkboth\@gobbletwo
+ \let\sectionmark\@gobble
+ \let\subsectionmark\@gobble
+}%
+\def\ps@article{%
+ \def\@evenhead{\let\\\heading@cr\thepage\quad\checkindate\hfil\@runningtitle}%
+ \def\@oddhead{\let\\\heading@cr\@runningtitle\hfil\checkindate\quad\thepage}%
+ \def\@oddfoot{}%
+ \def\@evenfoot{}%
+ \let\@mkboth\@gobbletwo
+ \let\sectionmark\@gobble
+ \let\subsectionmark\@gobble
+}%
+\def\@runningtitle{\@shorttitle}%
+% \end{macrocode}
+%
+% \subsubsection{Title block}%
+%
+% The specifics of the title block.
+% Apply to all AIP journals; individual journals may override these settings.
+%
+% \begin{macro}{\titlepage}
+% \begin{macrocode}
+\renewenvironment{titlepage}{%
+ \let\wastwocol@sw\twocolumn@sw
+ \onecolumngrid
+ \newpage
+ \thispagestyle{titlepage}%
+ \c@page\z@% article sets this to one not zero???
+}{%
+ \wastwocol@sw{\twocolumngrid}{\newpage}%
+}%
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\@fnsymbol}
+% On the title page, footnotes are lettered with right parenthesis: ``a)''.
+% \begin{macrocode}
+\let\@fnsymbol@latex\@fnsymbol
+\let\@fnsymbol\@alph
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\adjust@abstractwidth}
+% This procedure is used by many titlepage elements to indent on the left by a particular
+% amount. The author list uses \cmd\frontmatter@authorformat\ to accomplish the same.
+% \begin{macrocode}
+\def\adjust@abstractwidth{%
+ \parindent1em\relax
+ \advance\leftskip.5in\relax
+ \@totalleftmargin\leftskip
+ \@afterheading\@afterindentfalse
+}%
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\frontmatter@abstractheading}
+% AIP Journals all set the abstract head the same way, with no head.
+% \begin{macrocode}
+\def\frontmatter@abstractheading{}%
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\frontmatter@abstractfont}
+% All AIP journals set the abstract body the same way.
+% \begin{macrocode}
+\def\frontmatter@abstractfont{%
+%\small
+ \adjust@abstractwidth
+}%
+% \end{macrocode}
+% \end{macro}
+%
+% All AIP journal preprints use separate titlepage and full-width abstract.
+% \begin{macrocode}
+\appdef\setup@hook{%
+ \preprintsty@sw{%
+ \@booleantrue\titlepage@sw
+% \def\frontmatter@affiliationfont{\it}%
+ \let\section\section@preprintsty
+% \let\@hangfrom@section\@hangfrom@section@preprintsty
+ \let\subsection\subsection@preprintsty
+ \let\subsubsection\subsubsection@preprintsty
+ }{}%
+}%
+% \end{macrocode}
+%
+% \begin{macro}{\frontmatter@authorformat}
+% All AIP journals set the author list the same.
+% The leading is 11.5 points, and
+% there is 11.5 points of extra space above the first author line
+% (which amounts to the same thing as 11.5 points extra below the title)
+% for a total of 23 points base-to-base.
+%
+% \begin{macrocode}
+\def\frontmatter@@indent{%
+ \skip@\@flushglue
+ \@flushglue\z@ plus.3\hsize\relax
+ \raggedright
+ \advance\leftskip.5in\relax
+ \@totalleftmargin\leftskip
+ \@flushglue\skip@
+}%
+\def\frontmatter@authorformat{%
+ \frontmatter@@indent
+ \sffamily
+%\advance\baselineskip\p@
+%\parskip11.5\p@\relax
+}%
+\renewcommand*\email[1][Electronic mail: ]{\begingroup\sanitize@url\@email{#1}}%
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\frontmatter@above@affilgroup}
+% The default amount of space above affiliation.
+% \begin{macrocode}
+\def\frontmatter@above@affilgroup{%
+}%
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\frontmatter@above@affiliation}
+% \begin{macro}{\frontmatter@above@affiliation@script}
+% The default amount of space above affiliation.
+% \begin{macrocode}
+\def\frontmatter@above@affiliation@script{%
+ \frontmatter@@indent
+%\addvspace{3.5\p@}%
+}%
+\def\frontmatter@above@affiliation{%
+}%
+% \end{macrocode}
+% \end{macro}
+% \end{macro}
+%
+% \begin{macro}{\frontmatter@affiliationfont}
+% All AIP journals set the affiliation the same.
+% Like the author, but in italic.
+% \begin{macrocode}
+\def\frontmatter@affiliationfont{%
+ \frontmatter@@indent
+ \preprintsty@sw{}{\small}%
+ \it
+}%
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\frontmatter@collaboration@above}
+% \begin{macrocode}
+\def\frontmatter@collaboration@above{%
+}%
+% \end{macrocode}
+% \end{macro}
+%
+% Set up the default AIP style for title block authors and affiliations.
+%
+% \begin{macro}{\frontmatter@setup}
+% All AIP journals set the title page using the same font and size.
+% However, justification varies for the title block elements, so
+% we assert none here.
+% \begin{macrocode}
+\def\frontmatter@setup{%
+ \normalfont
+}%
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\frontmatter@title@above}
+% \begin{macro}{\frontmatter@title@format}
+% \begin{macro}{\frontmatter@title@below}
+% All AIP journals set the article title 12 point Times Roman, bold, flush left.
+%
+% \begin{macrocode}
+\def\frontmatter@title@above{\addvspace{6\p@}}%
+\def\frontmatter@title@format{%
+ \preprintsty@sw{}{\Large}%
+ \sffamily
+ \bfseries
+ \raggedright
+ \parskip\z@skip
+}%
+\def\frontmatter@title@below{\addvspace{3\p@}}%
+% \end{macrocode}
+% \end{macro}
+% \end{macro}
+% \end{macro}
+%
+% \begin{macro}{\frontmatter@makefnmark}
+% All AIP journals share this procedure for setting the titlepage footnote text:
+% superior lowercase letter, with right parenthesis.
+% \begin{macrocode}
+\def\@author@parskip{3\p@}%
+\@booleantrue\altaffilletter@sw
+\def\frontmatter@makefnmark{%
+ \@textsuperscript{%
+ \normalfont\@thefnmark%(
+ )%
+ }%
+}%
+\def\frontmatter@authorbelow{%
+ \addvspace{3\p@}%
+}%
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\affil@cutoff}
+% We override \cmd\affil@cutoff\ to enforce the rule that,
+% if a single affiliation appears on the title page, then
+% no affiliation superscript at all is produced.
+% \begin{macrocode}
+\let\affil@cutoff\tw@
+% \end{macrocode}
+% De awa.
+% \end{macro}
+%
+% \begin{macro}{\frontmatter@RRAP@format}
+% All AIP journals use the same format for the ``Received, Revised, etc.'' block on the title page.
+%
+% Change note: 11.5 points b-b from author/affiliation down to date.
+% \begin{macrocode}
+\def\frontmatter@RRAP@format{%
+ \addvspace{5\p@}%
+ \small
+ \raggedright
+ \advance\leftskip.5in\relax
+ \@totalleftmargin\leftskip
+% \preprintsty@sw{}{\parskip.5ex\relax}%
+ \everypar{%
+ \hbox\bgroup(\@gobble@leavemode@uppercase%)
+ }%
+ \def\par{%
+ \@ifvmode{}{%(
+ \unskip)\egroup\@@par
+ }%
+ }%
+}%
+\def\punct@RRAP{;\egroup\ \hbox\bgroup}%
+\def\@gobble@leavemode@uppercase#1#2{\expandafter\MakeTextUppercase}%
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\frontmatter@PACS@format}
+%
+% \begin{macrocode}
+\def\frontmatter@PACS@format{%
+ \addvspace{11\p@}%
+% \footnotesize
+ \adjust@abstractwidth
+ \parskip\z@skip
+ \samepage
+}%
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\frontmatter@keys@format}
+%
+% \begin{macrocode}
+\def\frontmatter@keys@format{%
+% \footnotesize
+ \adjust@abstractwidth
+ \samepage
+}%
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\ps@titlepage}
+% Title page style. Currently empty except for preprint header,
+% which consists of all the \cmd\preprint\ arguments,
+% stacked flush right at the right margin.
+% \begin{macrocode}
+\def\ps@titlepage{%
+ \def\@oddhead{%
+ \@runningtitle
+ \hfill
+ \produce@preprints\@preprint
+ }%
+ \let\@evenhead\@oddhead
+ \def\@oddfoot{%
+ \hb@xt@\z@{\byrevtex\hss}%
+ \hfil
+ \preprintsty@sw{\thepage}{}%
+ \quad\checkindate
+ \hfil
+ }%
+ \let\@evenfoot\@oddfoot
+}%
+\def\byrevtex{\byrevtex@sw{Typeset by REV\TeX and AIP}{}}%
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\produce@preprints}
+% \begin{macrocode}
+\def\produce@preprints#1{%
+ \preprint@sw{%
+ \vtop to \z@{%
+ \def\baselinestretch{1}%
+ \small
+ \let\preprint\preprint@count
+ \count@\z@#1\@ifnum{\count@>\tw@}{%
+ \hbox{%
+ \let\preprint\preprint@hlist
+ #1\setbox\z@\lastbox
+ }%
+ }{%
+ \let\preprint\preprint@cr
+ \halign{\hfil##\cr#1\crcr}%
+ \par
+ \vss
+ }%
+ }%
+ }{}%
+}%
+\def\preprint@cr#1{#1\cr}%
+\def\preprint@count#1{\advance\count@\@ne}%
+\def\preprint@hlist#1{#1\hbox{, }}%
+% \end{macrocode}
+% \end{macro}
+%
+% \subsubsection{Lead-in paragraph}%
+%
+% The \env{Lead-in paragraph} environment formats the AIP ``lead paragraph''.
+% To avoid introducing new syntax, we take over the \env{quotation} environment
+% until the first \cmd\section\ (or other sectioning command) appears.
+%
+% \begin{macrocode}
+\newenvironment{Lead@inParagraph}{%
+ \par
+ \bfseries
+ \@afterheading\@afterindentfalse
+}{%
+ \par
+ \hb@xt@\hsize{\hfil\leaders\hrule\hfil\leaders\hrule\hfil\hfil}%
+}%
+% \end{macrocode}
+% At the beginning of the document temporarily change the meaning of
+% the \env{quotation} environment, restoring it once the first sectioning
+% command is given.
+% \begin{macrocode}
+\appdef\frontmatter@init{%
+ \let@environment{quotation@ltx}{quotation}%
+ \let@environment{quotation}{Lead@inParagraph}%
+}%
+\appdef\@startsection@hook{%
+ \let@environment{quotation}{quotation@ltx}%
+}%
+% \end{macrocode}
+%
+% \subsubsection{Stacked Heads}%
+% All AIP journals put a period (.), followed by quad space, after the section number.
+% Also, no hanging section number.
+% \begin{macrocode}
+\def\@seccntformat#1{\csname the#1\endcsname.\quad}%
+\def\@hang@from#1#2#3{#1#2#3}%
+% \end{macrocode}
+%
+% Note that in the following, we wish to set the section head uppercase, so we use
+% David Carlisle's \cmd\MakeTextUppercase. However, because this procedure effectively
+% parses its argument (looking for things to \emph{not} translate), it has to be invoked
+% in such a way that the argument of the \cmd\section\ command is passed to it as its
+% own argument.
+%
+% To accomplish this, we use the \cmd\@hangfrom@\ hook, which was developed for this
+% purpose.
+%
+% \begin{macrocode}
+\def\section{%
+ \@startsection
+ {section}%
+ {1}%
+ {\z@}%
+ {0.8cm \@plus1ex \@minus .2ex}%
+ {0.5cm}%
+ {%
+ \normalfont
+ \small
+ \sffamily
+ \bfseries
+ \raggedright
+ }%
+}%
+\def\@hangfrom@section#1#2#3{\@hangfrom{#1#2}\MakeTextUppercase{#3}}%
+\def\@hangfroms@section#1#2{#1\MakeTextUppercase{#2}}%
+% \end{macrocode}
+%
+% See, e.g., BMF\_044101\_1 (1) or BMF\_044103\_1 (1)
+% \begin{macrocode}
+\def\subsection{%
+ \@startsection
+ {subsection}%
+ {2}%
+ {\z@}%
+ {.8cm \@plus1ex \@minus .2ex}%
+ {.5cm}%
+ {%
+ \normalfont
+ \small
+ \sffamily
+ \bfseries
+ \raggedright
+ }%
+}%
+% \end{macrocode}
+%
+% See, e.g., BMF\_044104\_1 (1), JMP\_123520\_1 (48),
+% \begin{macrocode}
+\def\subsubsection{%
+ \@startsection
+ {subsubsection}%
+ {3}%
+ {\z@}%
+ {.8cm \@plus1ex \@minus .2ex}%
+ {.5cm}%
+ {%
+ \normalfont
+ \small
+ \sffamily
+ \bfseries
+ \itshape
+ \raggedright
+ }%
+}%
+% \end{macrocode}
+%
+% \subsubsection{Runin Heads}%
+% \begin{macrocode}
+\def\paragraph{%
+ \@startsection
+ {paragraph}%
+ {4}%
+ {\parindent}%
+ {\z@}%
+ {-1em}%
+ {\normalfont\normalsize\itshape}%
+}%
+% \end{macrocode}
+%
+% \begin{macrocode}
+\def\subparagraph{%
+ \@startsection
+ {subparagraph}%
+ {5}%
+ {\parindent}%
+ {3.25ex \@plus1ex \@minus .2ex}%
+ {-1em}%
+ {\normalfont\normalsize\bfseries}%
+}%
+% \end{macrocode}
+%
+% \begin{macro}{\section@preprintsty}
+% \begin{macro}{\subsection@preprintsty}
+% \begin{macro}{\subsubsection@preprintsty}
+% Here are the formatting procedures specific to the preprint style;
+% the only difference is that the heads are flush left instead of centered.
+%
+% \begin{macrocode}
+\def\section@preprintsty{%
+ \@startsection
+ {section}%
+ {1}%
+ {\z@}%
+ {0.8cm \@plus1ex \@minus .2ex}%
+ {0.5cm}%
+ {%
+ \normalfont
+ \bfseries
+ \raggedright
+ }%
+}%
+%\def\@hangfrom@section@preprintsty#1#2#3{\@hangfrom{#1#2}\MakeTextUppercase{#3}}%
+% \end{macrocode}
+% \begin{macrocode}
+\def\subsection@preprintsty{%
+ \@startsection
+ {subsection}%
+ {2}%
+ {\z@}%
+ {.8cm \@plus1ex \@minus .2ex}%
+ {.5cm}%
+ {%
+ \normalfont
+ \bfseries
+ \raggedright
+ }%
+}%
+% \end{macrocode}
+% \begin{macrocode}
+\def\subsubsection@preprintsty{%
+ \@startsection
+ {subsubsection}%
+ {3}%
+ {\z@}%
+ {.8cm \@plus1ex \@minus .2ex}%
+ {.5cm}%
+ {%
+ \normalfont
+% \small
+ \itshape\bfseries
+ \raggedright
+ }%
+}%
+% \end{macrocode}
+% \end{macro}
+% \end{macro}
+% \end{macro}
+%
+% For examples of
+% \env{theorem}, \env{proposition}, \env{lemma}, \env{remark}, \env{corollary}, \env{example},
+% and \env{proof} (with optional title),
+% using independent numbering for each class,
+% and with numbered and roman lists therein,
+% see JMP\_122901\_1 (48).
+%
+% For theorems, etc, numbered by section, (and with theorems in the appendix)
+% but equations numbered throughout,
+% see JMP\_123301\_1 (48).
+%
+% For a (roman) list in text, theorem, and proof,
+% see JMP\_123514\_1 (48).
+%
+% For numbered list in text,
+% and equations numbered by section,
+% see JMP\_123518\_1 (48).
+%
+% All AIP journals use frontmatter footnotes by default.
+% \begin{macrocode}
+\let\frontmatter@footnote@produce\frontmatter@footnote@produce@footnote
+% \end{macrocode}
+%
+%
+% \subsubsection{Table of Contents}%
+% The toc will itself make an entry in the toc,
+% but we temporarily turn off toc formatting for the duration.
+% \begin{macrocode}
+\def\@pnumwidth{1.55em}
+\def\@tocrmarg {2.55em}
+\def\@dotsep{2}
+\def\ltxu@dotsep{4.5pt}
+\setcounter{tocdepth}{3}
+% \end{macrocode}
+%
+% \begin{macrocode}
+\def\tableofcontents{%
+ \addtocontents{toc}{\string\tocdepth@munge}%
+ \print@toc{toc}%
+ \addtocontents{toc}{\string\tocdepth@restore}%
+}%
+% \end{macrocode}
+%
+% \begin{macrocode}
+\def\tocdepth@munge{%
+ \let\l@section@saved\l@section
+ \let\l@section\@gobble@tw@
+}%
+\def\@gobble@tw@#1#2{}%
+% \end{macrocode}
+%
+% \begin{macrocode}
+\def\tocdepth@restore{%
+ \let\l@section\l@section@saved
+}%
+% \end{macrocode}
+%
+% \begin{macrocode}
+\def\l@part#1#2{\addpenalty{\@secpenalty}%
+ \begingroup
+ \set@tocdim@pagenum{#2}%
+% \@tempdima 3em %
+ \parindent \z@
+ \rightskip\tocleft@pagenum plus 1fil\relax
+ \skip@\parfillskip\parfillskip\z@
+ \addvspace{2.25em plus\p@}%
+ \large \bf %
+ \leavevmode\ignorespaces#1\unskip\nobreak\hskip\skip@
+ \hb@xt@\rightskip{\hfil\unhbox\z@}\hskip-\rightskip\hskip\z@skip
+ \par
+ \nobreak %
+ \endgroup
+}%
+% \end{macrocode}
+%
+% \begin{macro}{\l@section}
+% Determine which TOC elements are automatically indented.
+% \begin{macrocode}
+\def\tocleft@{\z@}%
+\def\tocdim@min{5\p@}%
+\def\l@section{%
+ \l@@sections{}{section}% Implicit #3#4
+}%
+\def\l@f@section{%
+ \addpenalty{\@secpenalty}%
+ \addvspace{1.0em plus\p@}%
+ \bf
+}%
+\def\l@subsection{%
+ \l@@sections{section}{subsection}% Implicit #3#4
+}%
+\def\l@subsubsection{%
+ \l@@sections{subsection}{subsubsection}% Implicit #3#4
+}%
+\def\l@paragraph#1#2{}%
+\def\l@subparagraph#1#2{}%
+% \end{macrocode}
+% \end{macro}
+%
+% Activate the auto TOC processing.
+% \begin{macrocode}
+\let\toc@pre\toc@pre@auto
+\let\toc@post\toc@post@auto
+% \end{macrocode}
+%
+% \begin{macrocode}
+\def\listoffigures{\print@toc{lof}}%
+\def\l@figure{\@dottedtocline{1}{1.5em}{2.3em}}
+% \end{macrocode}
+%
+% \begin{macrocode}
+\def\listoftables{\print@toc{lot}}%
+\let\l@table\l@figure
+% \end{macrocode}
+%
+% \subsubsection{Default column bottom}%
+% All AIP journal styles have flush bottoms.
+%
+% \begin{macrocode}
+\@booleanfalse\raggedcolumn@sw
+% \end{macrocode}
+%
+%
+% \subsubsection{Table alignment style}%
+%
+% \begin{macro}{\tableft@skip@float}
+% \begin{macro}{\tabmid@skip@float}
+% \begin{macro}{\tabright@skip@float}
+% \begin{macro}{\array@row@pre@float}
+% \begin{macro}{\array@row@pst@float}
+% All AIP publications have the same table specification:
+% Scotch rules above and below, centered in column.
+% \begin{macrocode}
+\def\tableft@skip@float{\z@ plus\hsize}%
+\def\tabmid@skip@float{\@flushglue}%
+\def\tabright@skip@float{\z@ plus\hsize}%
+\def\array@row@pre@float{\hline\hline\noalign{\vskip\doublerulesep}}%
+\def\array@row@pst@float{\noalign{\vskip\doublerulesep}\hline\hline}%
+% \end{macrocode}
+% \end{macro}
+% \end{macro}
+% \end{macro}
+% \end{macro}
+% \end{macro}
+%
+%
+% \subsubsection{Footnote formatting}%
+% We customize the formatting of footnotes for all AIP journals.
+% \begin{macro}{\@makefntext}
+% \begin{macrocode}
+\def\@makefntext#1{%
+ \def\baselinestretch{1}%
+ \leftskip1em%
+ \parindent1em%
+ \noindent
+ \nobreak\hskip-\leftskip
+ \hb@xt@\leftskip{%
+ \hss\@makefnmark\ %
+ }%
+ #1%
+ \par
+}%
+% \end{macrocode}
+% \end{macro}
+%
+%
+% \subsubsection{Appendix}%
+% \begin{macro}{\appendix}
+% \begin{macro}{\@hangfrom@appendix}
+% \begin{macro}{\@hangfroms@appendix}
+% \begin{macro}{\@appendixcntformat}
+% \begin{macrocode}
+\prepdef\appendix{%
+ \par
+ \let\@hangfrom@section\@hangfrom@appendix
+%\let\@hangfroms@section\@hangfroms@appendix
+ \let\@sectioncntformat\@appendixcntformat
+}%
+\def\@hangfrom@appendix#1#2#3{%
+ #1%
+ \@if@empty{#2}{%
+ #3%
+ }{%
+ #2\@if@empty{#3}{}{:\ #3}%
+ }%
+}%
+\def\@hangfroms@appendix#1#2{%
+ #1#2%
+}%
+\def\@appendixcntformat#1{\appendixname\ \csname the#1\endcsname}%
+% \end{macrocode}
+% \end{macro}
+% \end{macro}
+% \end{macro}
+% \end{macro}
+%
+% \subsubsection{Bibliography}%
+%
+% Customize the \revtex\ for the AIP society.
+% this task requires three components:
+% the \BibTeX\ \file{aipnum.bst} and \file{aipauth.bst} style files,
+% customizing code for \file{natbib}, and
+% customizations of the \env{thebibliography} environment.
+%
+% \begin{macro}{\@bibstyle}
+% Define the argument of the \cmd\bibliographystyle\ command.
+% The user must have installed a \file{.bst} file of the corresponding name.
+% This file will then be used by \BibTeX\ when compiling the document's \file{.bbl} file.
+%
+% The default bibliography style for the AIP journal substyles are \file{aipnum.bst} and \file{aipauth.bst}.
+% To generate them, use \classname{custom-bib} version 4.21 or later.
+% Run the \file{.bst} generator, \file{makebst.tex}, and
+% accept all defaults, with the following exceptions:
+%
+% \begin{enumerate}
+% \item
+% ORDERING OF REFERENCES: c: seq-no (references in order of Citation);
+% \item
+% AUTHOR NAMES: i: nm-init,ed-au (Initials + surname);
+% \item
+% NUMBER OF AUTHORS: l: max 12, min 12 (there will be three prompts total);
+% \item
+% TYPEFACE FOR AUTHORS IN LIST OF REFERENCES: u: nmft,nmft-def (User defined author font);
+% \item
+% FONT FOR FIRST NAMES: u: fnm-def (First names in user defined font);
+% \item
+% EDITOR NAMES IN INCOLLECTION ETC: a: nmfted (Editors incollection like authors);
+% \item
+% DATE FORMAT: p: yr-par (Date in parentheses);
+% \item
+% SUPPRESS MONTH: x: xmth (Date is year only);
+% \item
+% TITLE OF ARTICLE: i: tit-it (Title italic)
+% \item
+% ARTICLE TITLE PRESENT: x: jtit-x (No article title);
+% \item
+% JOURNAL NAME FONT: r: jttl-rm (Journal title normal);
+% \item
+% TECHNICAL REPORT TITLE: b: trtit-b (Tech. report title like books);
+% \item
+% JOURNAL VOLUME: b: vol-bf (Volume bold);
+% \item
+% VOLUME PUNCTUATION: c: volp-com (Volume with comma);
+% \item
+% PAGE NUMBERS: f: jpg-1 (Only start page number);
+% \item
+% JOURNAL NAME PUNCTUATION: x: jnm-x (Space after journal);
+% \item
+% PUBLISHER IN PARENTHESES: d: pub-date (Publisher and date in parentheses);
+% \item
+% PUBLISHER POSITION: p: pre-pub (Publisher before chapter, pages);
+% \item
+% ISBN NUMBER: isbn: (Include ISBN for books, booklets)
+% \item
+% ISSN NUMBER: issn: (Include ISSN for periodicals)
+% \item
+% EDITOR IN COLLECTIONS: b: edby (Booktitle, edited by \dots);
+% \item
+% PUNCTUATION BETWEEN SECTIONS (BLOCKS): c: blk-com (Comma between blocks);
+% \item
+% ABBREVIATE WORD `PAGES': a: pp (`Page' abbreviated);
+% \item
+% ABBREVIATE WORD `EDITORS': a: ed (`Editor' abbreviated);
+% \item
+% OTHER ABBREVIATIONS: a: abr (Abbreviations);
+% \item
+% ABBREVIATION FOR `EDITION': a: ednx (`Edition' abbreviated as `ed');
+% \item
+% EDITION NUMBERS: n: ord (Numerical editions);
+% \item
+% STORED JOURNAL NAMES: a: jabr (Abbreviated journal names);
+% \item
+% FONT OF `ET AL': i: etal-it (Italic et al);
+% \item
+% ADDITIONAL REVTeX DATA FIELDS: r: revdata, eprint, url, url-blk (Include REVTeX data fields collaboration, eid, eprint, numpages, url)
+% \item
+% NEW FONT SELECTION SCHEME: n: nfss (NFSS);
+% \item
+% ADDITIONAL REVTeX DATA FIELDS: y: revdata (additional data fields);
+% \item
+% REFERENCE COMPONENT TAGS: y: reference component tags;
+% \item
+% URL ADDRESS: n: URL as note;
+% \end{enumerate}
+%
+% A file \file{aipnum.dbj} file equivalent to the following should result:
+% \begin{verbatim}
+%\input docstrip
+%\preamble
+%----------------------------------------
+%*** REVTeX-compatible aipnum4-1.bst 2009-10-08 ***
+%\endpreamble
+%\postamble
+%End of customized bst file
+%\endpostamble
+%\keepsilent
+%\askforoverwritefalse
+%\def\MBopts{\from{merlin.mbs}{%
+% head,\MBopta}
+%\from{physjour.mbs}{\MBopta}
+%\from{geojour.mbs}{\MBopta}
+%\from{photjour.mbs}{\MBopta}
+%\from{merlin.mbs}{tail,\MBopta}}
+%\def\MBopta{%
+% lang,%: Use language field to switch hyphenation patterns for title
+% pres,pres-bf,%: Presentation, speaker bold face
+% seq-no,%: Citation order (unsorted, like unsrt.bst)
+% vonx,%: Sort without von part (de la Maire after Mahone)
+% nm-init,ed-au,%: Initials + surname (J. F. Smith)
+% nmft,nmft-def,%: User defined author font (\bibnamefont)
+% fnm-def,%: First names in user defined font (\bibfnamefont)
+% nmfted,%: Editors incollection like authors font
+% nmand-rm,%: `And' in normal font (JONES and JAMES)
+% lab,lab-def,%: User defined citation font (\citenamefont)
+% and-rm,%: Cited `and' in normal font
+% yr-par,%: Date in parentheses as (May 1993)
+% date-nil-x,%: If date is empty, then do not produce the surrounding punctuation (parens, brackets, colon, comma)
+% tit-qq,%: Title and punctuation in double quotes (``Title,'' ..)
+% inproceedings-chapter,%: produce pages after chapter, just as in InBook
+% jtit-x,%: Title is ignored
+% inproceedings-chapter,%: produce pages after chapter just as in InBook
+% article-booktitle,%: format booktitle
+% article-series,%: article can has series
+% jttl-rm,%: Journal name normal font
+% journal-address,%: Include address field (in parentheses) along with journal name
+% book-bt,%: Field `booktitle', or if absent field `title', is book title
+% thesis-title-o,%: Title is optional: no warning issued if empty
+% techreport-institution-par,%: format tech report institution like book publisher
+% vol-bf,%: Volume bold as {\bf vol}(num)
+% vnum-x,%: Journal vol, without number as 34
+% volp-com,%: Volume with comma as vol(num), ppp
+% jpg-1,%: Only start page number
+% book-editor-booktitle,%: Book permits empty author, produces title before editor in this case
+% inbook-editor-booktitle,%: Allow using both title/booktitle, both author/editor
+% bookaddress,%: Italic booktitle followed by bookaddress in roman
+% num-xser,%: Allows number without series and suppresses word "number"
+% number-cap,%: Capitalize word `number' as: "Number 123"
+% chapter-cap,%: Capitalize word `chapter' as: `Chapter 42'
+% series-number,%: Series number as: `Springer Lecture Notes No. 125'
+% numser-booktitle,%: After book title and conference address, and before editors
+% ser-vol,%: Series, vol. 23
+% ser-rm,%: format series roman , even when used with volume
+% volume-cap,%: Capitalize word `volume', as: `Volume 7 in Lecture Series'
+% ser-ed,%: Series and volume after booktitle and before editors
+% jnm-x,%: Space after journal name
+% pg-bk,book-chapter-pages,%: As chapter and page: chapter 42, page 345
+% pub-date,%: Publisher with address and date in parentheses (Oxford, 1994)
+% ay-empty-pub-parens-x,%: eliminate parentheses altogether if nothing inside
+% pre-pub,%: Publisher before volume, chapter, pages
+% pre-edn,%: Edition before publisher
+% pre-pub,pre-edn,%: Edition, publisher, volume, chapter, pages
+% isbn,%: Include ISBN for books, booklets, etc.
+% issn,%: Include ISSN for periodicals
+% doi-link,doi,%: Doi forms a link to the publication, anchored to the volume or title
+% edby,%: In booktitle, edited by .. (where .. is names)
+% blk-com,%: Comma between blocks
+% fin-endbibitem,%: Command at end instead of period
+% pp,%: `Page' abbreviated as p. or pp.
+% ed,%: `Editor' abbreviated as ed. or eds.
+% abr,%: Abbreviations of such words
+% ednx,%: `Edition' abbreviated as `ed'
+% ord,%: Numerical editions as 1st, 2nd, 3rd, etc
+% jabr,%: Abbreviated journal names
+% etal-it,%: Italic et al
+% revdata,eprint,url,url-blk,translation,%: Include REVTeX data fields collaboration, eid, eprint, archive, url, translation
+% SLACcitation,%: Produce SLACcitation field
+% numpages-x,%: Do not include numpages field
+% url,url-prefix-x,%: URL without prefix (default: `URL ')
+% bibinfo,%: Reference component tags like \bibinfo in the content of \bibitem
+% bibfield,%: Element tags like \bibfield in the content of \bibitem
+% nfss,%: Use LaTeX commands which may not work with Plain TeX
+%,{%
+% }}
+%\generate{\file{aipnum4-1.bst}{\MBopts}}
+%\endbatchfile
+% \end{verbatim}
+%
+% Between the two files \file{aipnum.dbj} and \file{aipauth.dbj},
+% the differences are limited:
+% \file{aipnum.dbj} has two lines lacking in \file{aipauth.dbj}:
+% \begin{verbatim}
+% seq-no,%: Citation order (unsorted, like unsrt.bst)
+% nm-init,ed-au,%: Initials + surname (J. F. Smith)
+% \end{verbatim}
+% thus, the ``numbered citation'' bibliography is sorted by citation order, and
+% the names are give first inital, then last name.
+%
+% Likewise, \file{aipauth.dbj} has one line lacking in \file{aipnum.dbj}:
+% \begin{verbatim}
+% nm-rev,%: Surname + comma + initials (Smith, J. F.)
+% \end{verbatim}
+% Thus, the ``author-year'' bibliography is sorted by author name, and
+% names are given last name first, followed by initials.
+%
+% We ensure that the journal substyle has the first word
+% in the matter by installing the (default) AIP code
+% later on (see Section~\ref{sec:aip-defaults}).
+% \end{macro}
+%
+% \begin{macro}{\pre@bibdata}
+%
+% Set up to write endnotes to a .bib file; its data will be incorporated into the bibliography.
+% \begin{macrocode}
+ \def\pre@bibdata{\jobname\bibdata@app}%
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\bibsection}
+% We define the sectioning command to use when starting the bibliography
+% (we use \cmd\refname).
+% \begin{macrocode}
+\def\refname{References}%
+\def\rtx@bibsection{%
+ \@ifx@empty\refname{%
+ \par\vspace{6\p@ plus 6\p@}%
+ }{%
+% \end{macrocode}
+% The following line has been commented out:
+% \begin{verbatim}
+% \let\@hangfroms@section\@hang@froms
+% \end{verbatim}
+% \begin{macrocode}
+ \expandafter\section\expandafter*\expandafter{\refname}%
+ \@nobreaktrue
+ }%
+}%
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\bibpreamble}
+% \begin{macro}{\bibsep}
+% \begin{macro}{\newblock}
+% \begin{macrocode}
+\let\bibpreamble\@empty
+\appdef\setup@hook{%
+ \bibsep\z@\relax
+}%
+\def\newblock{\ }%
+% \end{macrocode}
+% \end{macro}
+% \end{macro}
+% \end{macro}
+%
+% \begin{macro}{\bibfont}
+% We define the font switch that applies to the body of the bibliography.
+%
+% \begin{macrocode}
+\appdef\setup@hook{%
+ \def\bibfont{%
+ \preprintsty@sw{}{\footnotesize}%
+ \@clubpenalty\clubpenalty
+ \labelsep\z@
+ }%
+}%
+\let\place@bibnumber\place@bibnumber@sup
+% \end{macrocode}
+% \end{macro}
+%
+%
+% \subsubsection{Index}%
+% \begin{macrocode}
+\newenvironment{theindex}{%
+ \columnseprule \z@
+ \columnsep 35\p@
+ \c@secnumdepth-\maxdimen
+ \onecolumngrid@push
+ \section{\indexname}%
+ \thispagestyle{plain}%
+ \parindent\z@
+ \parskip\z@ plus.3\p@\relax
+ \let\item\@idxitem
+ \onecolumngrid@pop
+}{%
+}%
+%
+\def\@idxitem{\par\hangindent 40\p@}
+%
+\def\subitem{\par\hangindent 40\p@ \hspace*{20\p@}}
+%
+\def\subsubitem{\par\hangindent 40\p@ \hspace*{30\p@}}
+%
+\def\indexspace{\par \vskip 10\p@ plus5\p@ minus3\p@\relax}
+% \end{macrocode}
+%
+%
+% \subsubsection{Typesize Processing}%
+% The formatting specification for the preprint option is:
+% Times Roman 12 pt, double spacing, with 1-inch margins on letter paper.
+% Paragraphs indented ``five spaces''.
+% Display math on standard indent, with equation number flush right in parenthesis, with subequations roman.
+%
+% That for reprint option is to format similar to the printed journal; with most journals
+% set (approximately analyzed) 10-point, 2-column grid, letter paper.
+% \begin{macrocode}
+\expandafter\def\csname rtx@aip10pt\endcsname{%
+ \let\@currname@class\@currname
+ \def\@currname{aps10pt\substyle@post}%
+ \class@info{Reading file \@currname.\substyle@ext}%
+ \input{\@currname.\substyle@ext}%
+ \let\@currname\@currname@class
+ \class@info{Overriding 10pt}%
+ \aipreprint
+}%
+\expandafter\def\csname rtx@aip11pt\endcsname{\csname rtx@aip12pt\endcsname}%
+\expandafter\def\csname rtx@aip12pt\endcsname{%
+ \let\@currname@class\@currname
+ \def\@currname{aps12pt\substyle@post}%
+ \class@info{Reading file \@currname.\substyle@ext}%
+ \input{\@currname.\substyle@ext}%
+ \let\@currname\@currname@class
+ \class@info{Overriding 12pt}%
+ \aippreprint
+}%
+% \end{macrocode}
+%
+% \begin{macro}{\today}
+% Procedure \cmd\today\ is used in the article class, but not in
+% this document class.
+% \begin{macrocode}
+\def\today{%
+ \number\day\space
+ \ifcase\month
+ \or January\or February\or March\or April\or May\or June%
+ \or July\or August\or September\or October\or November\or December%
+ \fi\space
+ \number\year
+}%
+% \end{macrocode}
+% \end{macro}
+%
+% \subsection{A. Running Title}
+% User-provided running title \cmd\@shorttitle\ to be set.
+%
+% \subsection{B. Equation numbering, figure and table numbering}
+% Equations can be numbered throughout, or by section, with appendix equations prepended by the appendix label.
+% Figures and tables are numbered throughout.
+%
+%
+% \subsection{C. Title}
+% Title page may break above abstract, within author list.
+% Title notes are signified by superior letter followed by right parenthesis.
+%
+% \subsection{D. Author footnote}
+% Set short line above these footnotes.
+%
+% \subsection{E. Author}
+% Class option \classoption{superscriptaddress} is standard.
+% \begin{macrocode}
+ \clo@superscriptaddress
+% \end{macrocode}
+%
+% \subsection{F. Affiliations}
+% Set italic.
+%
+% \subsection{G. Received date}
+%
+%
+% \subsection{H. Abstract}
+% Single paragraph, no indent.
+%
+% \subsection{J. Lead Paragraph}
+% Set boldface, flush left before main text, single paragraph.
+% Separated from text by a short centered rule.
+%
+% \subsection{K. Headings}
+% Use labels: ROMAN, LETTER, arabic, letter.
+% Set ALLCAPS, boldface; Initial cap, boldface; Initial cap, bold-italic; Initial cap, italic.
+%
+% Theorem, proof title followed by colon. Follow author.
+%
+% \subsection{L. Text Footnotes}
+% Not permitted; use endnotes.
+%
+% \subsection{M. Citations and Bibliography}
+% Numerical \filename{aipnum.bst}, author-year \filename{aipauth.bst}, and numbered author-year \filename{aipnumauth.bst} are the available choices.
+% Numerical is standard, with all styles permitted in journal classes 3a and 4b.
+%
+%
+% \subsection{N. References}
+%
+% Article Title usage:
+%
+% Article title required in all journals with "unpublished", "to be published", "in press" and "submitted" refs.
+%
+% Exceptions:
+%
+% Journal classes 1a,1b,2,4a:
+%
+% Article title not allowed in published references, except in the case of "in press" or submitted" (see sample references below).
+%
+% Journal class 3a:
+%
+% Article title allowed but not required in author-year references (use must be consistent within a single manuscript).
+%
+% Journal class 3b:
+%
+% Article title required in all journal references and report references.
+%
+% Journal class 4b:
+%
+% Article title allowed in journal references in author-year mode.
+%
+% \subsection{O. Examples of Numerical References}
+%
+%
+% \subsection{P. References in Author-year mode}
+%
+%
+% \subsection{Q. Numbered Author-year References}
+%
+%
+% \subsection{R. Tables}
+% Placed within text (floated), labeled with Roman numeral.
+%
+% Table caption placed above table, followed by space,
+% two double lines, space, table column headings, space,
+% single line, table contents, two double lines.
+%
+% Footnotes labeled with superior lower-case letter, set below table contents.
+%
+% \subsection{S. Figures}
+% Placed within text (floated), labeled with arabic numbers.
+%
+% Caption set below figure. A citation to be set inline, not superscripted.
+%
+% \subsection{Society defaults}%
+%
+% After this society file is read in, we will process the
+% \cmd\@journal- and \cmd\@pointsize-specific code.
+% Here we define the defaults.
+%
+% We select \textbf{Chaos} as the default journal substyle, because it is
+% the most permissive in terms of bibliography and citation style,
+% and it is formatted in two column in the reprint style.
+%
+% \begin{macrocode}
+\def\@journal@default{cha}%
+\def\@pointsize@default{12}%
+% \end{macrocode}
+%
+% \subsection{Journal-Specific Code}%
+%
+% For AIP journals, we supply code specific to JCP, POP, RSI, JAP, APL, CHA, POF, BMF, RSE, JMP.
+%
+% \subsubsection{\classoption{jcp}}%
+%A member of the journal class 1a.
+% \begin{macrocode}
+\def\rtx@aipjcp{%
+ \typeout{Using journal substyle \@journal.}%
+% \end{macrocode}
+% Journal class 1a uses the (superscript) numerical citation style by default.
+% \begin{macrocode}
+ \@booleanfalse\authoryear@sw
+% \end{macrocode}
+%
+% End of \classoption{jcp} code.
+% \begin{macrocode}
+}%
+% \end{macrocode}
+%
+% \subsubsection{\classoption{pop}}%
+%A member of the journal class 1a.
+% \begin{macrocode}
+\def\rtx@aippop{%
+ \typeout{Using journal substyle \@journal.}%
+% \end{macrocode}
+% Journal class 1a uses the (superscript) numerical citation style by default.
+% \begin{macrocode}
+ \@booleanfalse\authoryear@sw
+% \end{macrocode}
+%
+% End of \classoption{pop} code.
+% \begin{macrocode}
+}%
+% \end{macrocode}
+%
+% \subsubsection{\classoption{rsi}}%
+%A member of the journal class 1a.
+% \begin{macrocode}
+\def\rtx@aiprsi{%
+ \typeout{Using journal substyle \@journal.}%
+% \end{macrocode}
+% Journal class 1a uses the (superscript) numerical citation style by default.
+% \begin{macrocode}
+ \@booleanfalse\authoryear@sw
+% \end{macrocode}
+%
+% End of \classoption{rsi} code.
+% \begin{macrocode}
+}%
+% \end{macrocode}
+%
+% \subsubsection{\classoption{jap}}%
+%Sole member of the journal class 1b.
+%
+% No running title.
+% \begin{macrocode}
+\def\rtx@aipjap{%
+ \typeout{Using journal substyle \@journal.}%
+% \end{macrocode}
+% Journal class 1b uses the (superscript) numerical citation style by default.
+% \begin{macrocode}
+ \@booleanfalse\authoryear@sw
+ \let\@runningtitle\@empty
+% \end{macrocode}
+%
+% End of \classoption{jap} code.
+% \begin{macrocode}
+}%
+% \end{macrocode}
+%
+% \subsubsection{\classoption{apl}}%
+%Sole member of the journal class 2.
+%
+% No running title.
+% \begin{macrocode}
+\def\rtx@aipapl{%
+ \typeout{Using journal substyle \@journal.}%
+% \end{macrocode}
+% Journal class 2 uses the (superscript) numerical citation style by default.
+% \begin{macrocode}
+ \@booleanfalse\authoryear@sw
+ \let\@runningtitle\@empty
+% \end{macrocode}
+%
+% End of \classoption{apl} code.
+% \begin{macrocode}
+}%
+% \end{macrocode}
+%
+% \subsubsection{\classoption{cha}}%
+%Sole member of the journal class 3a.
+% \begin{macrocode}
+\def\rtx@aipcha{%
+ \typeout{Using journal substyle \@journal.}%
+% \end{macrocode}
+% Article titles are allowed.
+% \begin{macrocode}
+ \@booleanfalse\aip@jtitx@sw
+% \end{macrocode}
+%
+% End of \classoption{cha} code.
+% \begin{macrocode}
+}%
+% \end{macrocode}
+%
+% \subsubsection{\classoption{pof}}%
+%Sole member of the journal class 3b.
+% \begin{macrocode}
+\def\rtx@aippof{%
+ \typeout{Using journal substyle \@journal.}%
+% \end{macrocode}
+% Journal class 3b uses the (superscript) numerical citation style by default.
+% Article titles are required, so we include them if available,
+% but if absent, we can do no more than make a warning in the \file{.blg}.
+% \begin{macrocode}
+ \@booleanfalse\authoryear@sw
+ \@booleanfalse\aip@jtitx@sw
+% \end{macrocode}
+%
+% End of \classoption{pof} code.
+% \begin{macrocode}
+}%
+% \end{macrocode}
+%
+% \subsubsection{\classoption{bmf}}%
+% A member of the journal class 4a,
+% the Biomicrofluidics journal is single column.
+% \begin{macrocode}
+\def\rtx@aipbmf{%
+ \typeout{Using journal substyle \@journal.}%
+% \end{macrocode}
+% Journal class 4a uses the (superscript) numerical citation style by default.
+% Journal is formatted in a single column.
+% \begin{macrocode}
+ \@booleanfalse\authoryear@sw
+ \@booleanfalse\twocolumn@sw
+% \end{macrocode}
+%
+% End of \classoption{bmf} code.
+% \begin{macrocode}
+}%
+% \end{macrocode}
+%
+% \subsubsection{\classoption{rse}}%
+%A member of the journal class 4a.
+% \begin{macrocode}
+\def\rtx@aiprse{%
+ \typeout{Using journal substyle \@journal.}%
+% \end{macrocode}
+% Journal class 4a uses the (superscript) numerical citation style by default.
+% \begin{macrocode}
+ \@booleanfalse\authoryear@sw
+% \end{macrocode}
+%
+% End of \classoption{rse} code.
+% \begin{macrocode}
+}%
+% \end{macrocode}
+%
+% \subsubsection{\classoption{jmp}}%
+% Sole member of the journal class 4b, Journal of Mathematical Physics is single column.
+% For an example of \env{itemize}, see JMP\_122901\_1 (48).
+% \begin{macrocode}
+\def\rtx@aipjmp{%
+ \typeout{Using journal substyle \@journal.}%
+% \end{macrocode}
+% Article titles are allowed.
+% Journal is formatted in a single column.
+% \begin{macrocode}
+ \@booleanfalse\aip@jtitx@sw
+ \@booleanfalse\twocolumn@sw
+% \end{macrocode}
+%
+% End of \classoption{jmp} code.
+% \begin{macrocode}
+}%
+% \end{macrocode}
+%
+% \subsection{Establish AIP Defaults\label{sec:aip-defaults}}
+%
+% \begin{macro}{\footinbib@sw}
+% All AIP journals invoke the \classoption{footinbib} option.
+% \begin{macrocode}
+\@booleantrue\footinbib@sw
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\place@bibnumber}
+% \begin{macro}{\@bibstyle}
+% \begin{macro}{\bibpunct}
+% We install code that will
+% govern the style in which \cmd\cite\ commands are
+% formatted,
+% select the presentation for \cmd\bibitem s
+% and control the \BibTeX\ processing.
+%
+% Note that a journal substyle may override these settings.
+% Likewise, document preamble may itself invoke \cmd\bibpunct\ or \cmd\bibliographystyle,
+% thereby overriding these settings and those of the journal substyle.
+%
+% The numbered citations of \file{aipnum} and \file{aipauthnum}
+% are compatible with \classoption{footinbib} and
+% the compression and coalescing features of \classname{natbib},
+% while \file{aipauth}'s author-year citations are not.
+% Therefore, we de-select such options if we are selecting author-year citations.
+%
+% Note on \classname{natbib} presets:
+% \file{aipnum} and \file{aipauthnum} uses the Chicago \cmd\bibpunct\ style;
+% while \file{aipauth} uses that of Nature.
+%
+% Note on \cmd\NAT@mcite: if not using numerical citations, we set \cmd\NAT@mcite\
+% to a lower value, to turn off the mcite semantics of \classname{natbib}.
+% \begin{macrocode}
+\let\place@bibnumber\place@bibnumber@sup
+\appdef\setup@hook{%
+ \authoryear@sw{%
+ \aip@jtitx@sw{%
+ \def\@bibstyle{aipauth\substyle@post}%
+ }{%
+ \def\@bibstyle{aipauth\substyle@post}%
+ }%
+ \authornum@sw{%
+ \bibpunct{}{}{,}{s}{}{\textsuperscript{,}}%
+ \let\onlinecite\rev@citealpnum
+ }{%
+ \bibhang10\p@
+ \bibpunct{(%)
+ }{%(
+ )}{; }{a}{,}{,}%
+ \@booleanfalse\footinbib@sw
+ \let\NAT@mcite\@ne
+ \let\NAT@sort\z@
+ \def\NAT@cmprs{\z@}%
+ \let\NAT@def@citea\rtx@def@citea
+ \let\NAT@def@citea@close\rtx@def@citea@close
+ }%
+ }{%
+ \aip@jtitx@sw{%
+ \def\@bibstyle{aipnum\substyle@post}%
+ }{%
+ \def\@bibstyle{aipnum\substyle@post}%
+ }%
+ \bibpunct{}{}{,}{s}{}{\textsuperscript{,}}%
+ \let\onlinecite\rev@citealpnum
+ }%
+}%
+\def\make@footnote@endnote{%
+ \footinbib@sw{%
+ \authoryear@sw{\authornum@sw{\false@sw}{\true@sw}}{\false@sw}%
+ {}{%
+ \ltx@footnote@push
+ \def\thempfn{Note\thefootnote}%
+ \let\ltx@footmark\rev@citemark
+ \let\ltx@foottext\rev@endtext
+ \appdef\class@enddocumenthook{\auto@bib}%
+ \let\printendnotes\relax
+ }%
+ }{}%
+}%
+% \end{macrocode}
+% \end{macro}
+% \end{macro}
+% \end{macro}
+%
+% \begin{macro}{\aipreprint}%
+% We want to override \filename{aps10pt.rtx}.
+% \begin{macrocode}
+\def\aipreprint{%
+}%
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\aippreprint}%
+% We want to override \filename{aps12pt.rtx}.
+% \begin{macrocode}
+\def\aippreprint{%
+}%
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macrocode}
+%</package>
+% \end{macrocode}
+%
+% \Finale
+% %Here ends the programmer's documentation.
+% \endinput
+%
+\endinput
diff --git a/Master/texmf-dist/source/latex/revtex4-1/revtex4-1-bst.dtx b/Master/texmf-dist/source/latex/revtex4-1/revtex4-1-bst.dtx
new file mode 100644
index 00000000000..c0fd3c6da84
--- /dev/null
+++ b/Master/texmf-dist/source/latex/revtex4-1/revtex4-1-bst.dtx
@@ -0,0 +1,3783 @@
+% \iffalse meta-comment balanced on line 122
+% revtex4-1-bst.dtx: Package to extract .bst files for RevTeX
+% Copyright (c) 2020 American Physical Society.
+% https://journals.aps.org/revtex/
+% mailto:revtex@aps.org
+%
+% 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 Phelype Oleinik.
+%
+% This work consists of the main source file revtex4-1-bst.dtx
+% and the derived files
+% aipauth4-1.bst, aipnum4-1.bst, apsrev4-1.bst, apsrmp4-1.bst
+% Distribution:
+% CTAN:macros/latex/contrib/revtex/
+%
+% Unpacking:
+% tex revtex4-1-bst.dtx
+%
+% Installation:
+% TDS:bibtex/bst/revtex/
+%
+%<*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 revtex4-1-bst.dtx when run through TeX.
+\input docstrip
+\nopreamble
+\edef\defaultpostamble{%
+ \MetaPrefix\space End of customized bst file^^J%
+ \MetaPrefix ^^J%
+ \MetaPrefix\space End of file `\outFileName'.%
+}
+\askforoverwritefalse
+\keepsilent
+\generate{%
+ \file{aipauth4-1.bst}{\from{revtex4-1-bst.dtx}{aipauth}}%
+ \file{aipnum4-1.bst}{\from{revtex4-1-bst.dtx}{aipnum}}%
+ \file{apsrev4-1.bst}{\from{revtex4-1-bst.dtx}{apsrev}}%
+ \file{apsrmp4-1.bst}{\from{revtex4-1-bst.dtx}{apsrmp}}%
+}%
+\ifToplevel{
+\Msg{***********************************************************}
+\Msg{*}
+\Msg{* To finish the installation, please move}
+\Msg{* *.bst }
+\Msg{* into a directory searched by TeX;}
+\Msg{* in a TDS-compliant installation:}
+\Msg{* texmf/bibtex/bst/revtex/.}
+\Msg{*}
+\Msg{* Happy BibTeXing}
+\Msg{***********************************************************}
+}
+\endbatchfile
+%</install>
+%<*ignore>
+\fi
+%</ignore>
+% \fi
+%
+% \GetFileInfo{revtex4-1-bst.dtx}
+%
+% \StopEventually{}
+% \iffalse ltxdoc klootch
+%<*package>
+%%% @LaTeX-file{
+%%% filename = "revtex4-1-bst.dtx",
+%%% version = "4.1s",
+%%% date = "2020/10/06",
+%%% author = "Phelype Oleinik (mailto: phelype.oleinik at latex-project.org),
+%%% commissioned by the American Physical Society.
+%%% ",
+%%% copyright = "Copyright (C) 2020 American Physical Society
+%%% distributed under the terms of the
+%%% LaTeX Project Public License 1.3c, see
+%%% ftp://ctan.tug.org/macros/latex/base/lppl.txt
+%%% ",
+%%% email = "mailto colon revtex at aps.org",
+%%% codetable = "ISO/ASCII",
+%%% keywords = "",
+%%% supported = "yes",
+%%% abstract = "",
+%%% }
+%</package>
+% \fi
+%
+% \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}
+%revtex4-1-bst.dtx
+%\end{verbatim}
+%
+% \subsubsection{Generated by \texttt{tex revtex4-1-bst.dtx}}%
+% Typesetting ths file under \TeX\ itself runs the installer,
+% which generates the bibliography style files.
+%\begin{verbatim}
+%aipauth4-1.bst, aipnum4-1.bst,
+%apsrev4-1.bst, apsrmp4-1.bst
+%\end{verbatim}
+%
+% \section{Code common to all modules}%
+%
+% \begin{macrocode}
+%<*aipauth|aipnum|apsrev|apsrmp>
+%%
+%<aipauth>%% This is file `aipauth4-1.bst',
+%<aipnum>%% This is file `aipnum4-1.bst',
+%<apsrev>%% This is file `apsrev4-1.bst',
+%<apsrmp>%% This is file `apsrmp4-1.bst',
+%% generated with the docstrip utility.
+%%
+% \end{macrocode}
+%
+% Well, this is now a lie, of course:
+% \begin{macrocode}
+%% The original source files were:
+%%
+%<*aipauth>
+%% merlin.mbs (with options: `head,ay,nat,lang,pres,pres-bf,vonx,nm-rev,mcite,mct-1,mct-x3,nmft,nmft-def,fnm-def,nmfted,nmand-rm,lab,lab-def,and-rm,blkyear,yr-par,date-nil-x,tit-qq,inproceedings-chapter,jtit-x,inproceedings-chapter,article-booktitle,article-series,jttl-rm,journal-address,book-bt,thesis-title-o,techreport-institution-par,vol-bf,vnum-x,volp-com,jpg-1,book-editor-booktitle,inbook-editor-booktitle,bookaddress,num-xser,number-cap,chapter-cap,series-number,numser-booktitle,ser-vol,ser-rm,volume-cap,ser-ed,jnm-x,pg-bk,book-chapter-pages,pub-date,ay-empty-pub-parens-x,pre-pub,pre-edn,doi-link,doi,edby,blk-com,fin-endbibitem,pp,ed,abr,ednx,ord,jabr,etal-it,revdata,eprint,url,url-blk,translation,SLACcitation,numpages-x,url,url-prefix-x,bibinfo,bibfield,nfss,,{}')
+%% physjour.mbs (with options: `ay,nat,lang,pres,pres-bf,vonx,nm-rev,mcite,mct-1,mct-x3,nmft,nmft-def,fnm-def,nmfted,nmand-rm,lab,lab-def,and-rm,blkyear,yr-par,date-nil-x,tit-qq,inproceedings-chapter,jtit-x,inproceedings-chapter,article-booktitle,article-series,jttl-rm,journal-address,book-bt,thesis-title-o,techreport-institution-par,vol-bf,vnum-x,volp-com,jpg-1,book-editor-booktitle,inbook-editor-booktitle,bookaddress,num-xser,number-cap,chapter-cap,series-number,numser-booktitle,ser-vol,ser-rm,volume-cap,ser-ed,jnm-x,pg-bk,book-chapter-pages,pub-date,ay-empty-pub-parens-x,pre-pub,pre-edn,doi-link,doi,edby,blk-com,fin-endbibitem,pp,ed,abr,ednx,ord,jabr,etal-it,revdata,eprint,url,url-blk,translation,SLACcitation,numpages-x,url,url-prefix-x,bibinfo,bibfield,nfss,,{}')
+%% geojour.mbs (with options: `ay,nat,lang,pres,pres-bf,vonx,nm-rev,mcite,mct-1,mct-x3,nmft,nmft-def,fnm-def,nmfted,nmand-rm,lab,lab-def,and-rm,blkyear,yr-par,date-nil-x,tit-qq,inproceedings-chapter,jtit-x,inproceedings-chapter,article-booktitle,article-series,jttl-rm,journal-address,book-bt,thesis-title-o,techreport-institution-par,vol-bf,vnum-x,volp-com,jpg-1,book-editor-booktitle,inbook-editor-booktitle,bookaddress,num-xser,number-cap,chapter-cap,series-number,numser-booktitle,ser-vol,ser-rm,volume-cap,ser-ed,jnm-x,pg-bk,book-chapter-pages,pub-date,ay-empty-pub-parens-x,pre-pub,pre-edn,doi-link,doi,edby,blk-com,fin-endbibitem,pp,ed,abr,ednx,ord,jabr,etal-it,revdata,eprint,url,url-blk,translation,SLACcitation,numpages-x,url,url-prefix-x,bibinfo,bibfield,nfss,,{}')
+%% photjour.mbs (with options: `ay,nat,lang,pres,pres-bf,vonx,nm-rev,mcite,mct-1,mct-x3,nmft,nmft-def,fnm-def,nmfted,nmand-rm,lab,lab-def,and-rm,blkyear,yr-par,date-nil-x,tit-qq,inproceedings-chapter,jtit-x,inproceedings-chapter,article-booktitle,article-series,jttl-rm,journal-address,book-bt,thesis-title-o,techreport-institution-par,vol-bf,vnum-x,volp-com,jpg-1,book-editor-booktitle,inbook-editor-booktitle,bookaddress,num-xser,number-cap,chapter-cap,series-number,numser-booktitle,ser-vol,ser-rm,volume-cap,ser-ed,jnm-x,pg-bk,book-chapter-pages,pub-date,ay-empty-pub-parens-x,pre-pub,pre-edn,doi-link,doi,edby,blk-com,fin-endbibitem,pp,ed,abr,ednx,ord,jabr,etal-it,revdata,eprint,url,url-blk,translation,SLACcitation,numpages-x,url,url-prefix-x,bibinfo,bibfield,nfss,,{}')
+%% merlin.mbs (with options: `tail,ay,nat,lang,pres,pres-bf,vonx,nm-rev,mcite,mct-1,mct-x3,nmft,nmft-def,fnm-def,nmfted,nmand-rm,lab,lab-def,and-rm,blkyear,yr-par,date-nil-x,tit-qq,inproceedings-chapter,jtit-x,inproceedings-chapter,article-booktitle,article-series,jttl-rm,journal-address,book-bt,thesis-title-o,techreport-institution-par,vol-bf,vnum-x,volp-com,jpg-1,book-editor-booktitle,inbook-editor-booktitle,bookaddress,num-xser,number-cap,chapter-cap,series-number,numser-booktitle,ser-vol,ser-rm,volume-cap,ser-ed,jnm-x,pg-bk,book-chapter-pages,pub-date,ay-empty-pub-parens-x,pre-pub,pre-edn,doi-link,doi,edby,blk-com,fin-endbibitem,pp,ed,abr,ednx,ord,jabr,etal-it,revdata,eprint,url,url-blk,translation,SLACcitation,numpages-x,url,url-prefix-x,bibinfo,bibfield,nfss,,{}')
+%% ----------------------------------------
+%% *** REVTeX-compatible aipauth4-1.bst 2010-07-25 ***
+%</aipauth>
+%<*aipnum>
+%% merlin.mbs (with options: `head,ay,nat,lang,pres,pres-bf,seq-no,vonx,nm-init,ed-au,mcite,mct-1,mct-x3,nmft,nmft-def,fnm-def,nmfted,nmand-rm,lab,lab-def,and-rm,blkyear,yr-par,date-nil-x,tit-qq,inproceedings-chapter,jtit-x,inproceedings-chapter,article-booktitle,article-series,jttl-rm,journal-address,book-bt,thesis-title-o,techreport-institution-par,vol-bf,vnum-x,volp-com,jpg-1,book-editor-booktitle,inbook-editor-booktitle,bookaddress,num-xser,number-cap,chapter-cap,series-number,numser-booktitle,ser-vol,ser-rm,volume-cap,ser-ed,jnm-x,pg-bk,book-chapter-pages,pub-date,ay-empty-pub-parens-x,pre-pub,pre-edn,doi-link,doi,edby,blk-com,fin-endbibitem,pp,ed,abr,ednx,ord,jabr,etal-it,revdata,eprint,url,url-blk,translation,SLACcitation,numpages-x,url,url-prefix-x,bibinfo,bibfield,nfss,,{}')
+%% physjour.mbs (with options: `ay,nat,lang,pres,pres-bf,seq-no,vonx,nm-init,ed-au,mcite,mct-1,mct-x3,nmft,nmft-def,fnm-def,nmfted,nmand-rm,lab,lab-def,and-rm,blkyear,yr-par,date-nil-x,tit-qq,inproceedings-chapter,jtit-x,inproceedings-chapter,article-booktitle,article-series,jttl-rm,journal-address,book-bt,thesis-title-o,techreport-institution-par,vol-bf,vnum-x,volp-com,jpg-1,book-editor-booktitle,inbook-editor-booktitle,bookaddress,num-xser,number-cap,chapter-cap,series-number,numser-booktitle,ser-vol,ser-rm,volume-cap,ser-ed,jnm-x,pg-bk,book-chapter-pages,pub-date,ay-empty-pub-parens-x,pre-pub,pre-edn,doi-link,doi,edby,blk-com,fin-endbibitem,pp,ed,abr,ednx,ord,jabr,etal-it,revdata,eprint,url,url-blk,translation,SLACcitation,numpages-x,url,url-prefix-x,bibinfo,bibfield,nfss,,{}')
+%% geojour.mbs (with options: `ay,nat,lang,pres,pres-bf,seq-no,vonx,nm-init,ed-au,mcite,mct-1,mct-x3,nmft,nmft-def,fnm-def,nmfted,nmand-rm,lab,lab-def,and-rm,blkyear,yr-par,date-nil-x,tit-qq,inproceedings-chapter,jtit-x,inproceedings-chapter,article-booktitle,article-series,jttl-rm,journal-address,book-bt,thesis-title-o,techreport-institution-par,vol-bf,vnum-x,volp-com,jpg-1,book-editor-booktitle,inbook-editor-booktitle,bookaddress,num-xser,number-cap,chapter-cap,series-number,numser-booktitle,ser-vol,ser-rm,volume-cap,ser-ed,jnm-x,pg-bk,book-chapter-pages,pub-date,ay-empty-pub-parens-x,pre-pub,pre-edn,doi-link,doi,edby,blk-com,fin-endbibitem,pp,ed,abr,ednx,ord,jabr,etal-it,revdata,eprint,url,url-blk,translation,SLACcitation,numpages-x,url,url-prefix-x,bibinfo,bibfield,nfss,,{}')
+%% photjour.mbs (with options: `ay,nat,lang,pres,pres-bf,seq-no,vonx,nm-init,ed-au,mcite,mct-1,mct-x3,nmft,nmft-def,fnm-def,nmfted,nmand-rm,lab,lab-def,and-rm,blkyear,yr-par,date-nil-x,tit-qq,inproceedings-chapter,jtit-x,inproceedings-chapter,article-booktitle,article-series,jttl-rm,journal-address,book-bt,thesis-title-o,techreport-institution-par,vol-bf,vnum-x,volp-com,jpg-1,book-editor-booktitle,inbook-editor-booktitle,bookaddress,num-xser,number-cap,chapter-cap,series-number,numser-booktitle,ser-vol,ser-rm,volume-cap,ser-ed,jnm-x,pg-bk,book-chapter-pages,pub-date,ay-empty-pub-parens-x,pre-pub,pre-edn,doi-link,doi,edby,blk-com,fin-endbibitem,pp,ed,abr,ednx,ord,jabr,etal-it,revdata,eprint,url,url-blk,translation,SLACcitation,numpages-x,url,url-prefix-x,bibinfo,bibfield,nfss,,{}')
+%% merlin.mbs (with options: `tail,ay,nat,lang,pres,pres-bf,seq-no,vonx,nm-init,ed-au,mcite,mct-1,mct-x3,nmft,nmft-def,fnm-def,nmfted,nmand-rm,lab,lab-def,and-rm,blkyear,yr-par,date-nil-x,tit-qq,inproceedings-chapter,jtit-x,inproceedings-chapter,article-booktitle,article-series,jttl-rm,journal-address,book-bt,thesis-title-o,techreport-institution-par,vol-bf,vnum-x,volp-com,jpg-1,book-editor-booktitle,inbook-editor-booktitle,bookaddress,num-xser,number-cap,chapter-cap,series-number,numser-booktitle,ser-vol,ser-rm,volume-cap,ser-ed,jnm-x,pg-bk,book-chapter-pages,pub-date,ay-empty-pub-parens-x,pre-pub,pre-edn,doi-link,doi,edby,blk-com,fin-endbibitem,pp,ed,abr,ednx,ord,jabr,etal-it,revdata,eprint,url,url-blk,translation,SLACcitation,numpages-x,url,url-prefix-x,bibinfo,bibfield,nfss,,{}')
+%% ----------------------------------------
+%% *** REVTeX-compatible aipnum4-1.bst 2010-07-25 ***
+%</aipnum>
+%<*apsrev>
+%% merlin.mbs (with options: `head,ay,nat,lang,pres,pres-bf,seq-no,vonx,nm-init,ed-au,jnrlst,nmft,nmft-def,fnm-def,nmfted,nmand-rm,lab,lab-def,and-rm,keyxyr,blkyear,yr-par,dtrev,date-nil-x,tit-qq,inproceedings-chapter,jtit-x,inproceedings-chapter,article-booktitle,article-series,jttl-rm,journal-address,book-bt,thesis-title-o,trtit-b,techreport-institution-par,vol-bf,vnum-x,volp-com,jpg-1,book-editor-booktitle,inbook-editor-booktitle,bookaddress,num-xser,number-cap,chapter-cap,series-number,numser-booktitle,ser-vol,ser-rm,volume-cap,ser-ed,jnm-x,pg-bk,book-chapter-pages,pub-date,ay-empty-pub-parens-x,pre-pub,pre-edn,doi-link,doi,edby,blk-com,fin-endbibitem,pp,ed,abr,ednx,ord,jabr,etal-it,revdata,eprint,url,url-blk,translation,SLACcitation,numpages-x,url,url-prefix-x,bibinfo,bibfield,nfss,,{}')
+%% physjour.mbs (with options: `ay,nat,lang,pres,pres-bf,seq-no,vonx,nm-init,ed-au,jnrlst,nmft,nmft-def,fnm-def,nmfted,nmand-rm,lab,lab-def,and-rm,keyxyr,blkyear,yr-par,dtrev,date-nil-x,tit-qq,inproceedings-chapter,jtit-x,inproceedings-chapter,article-booktitle,article-series,jttl-rm,journal-address,book-bt,thesis-title-o,trtit-b,techreport-institution-par,vol-bf,vnum-x,volp-com,jpg-1,book-editor-booktitle,inbook-editor-booktitle,bookaddress,num-xser,number-cap,chapter-cap,series-number,numser-booktitle,ser-vol,ser-rm,volume-cap,ser-ed,jnm-x,pg-bk,book-chapter-pages,pub-date,ay-empty-pub-parens-x,pre-pub,pre-edn,doi-link,doi,edby,blk-com,fin-endbibitem,pp,ed,abr,ednx,ord,jabr,etal-it,revdata,eprint,url,url-blk,translation,SLACcitation,numpages-x,url,url-prefix-x,bibinfo,bibfield,nfss,,{}')
+%% geojour.mbs (with options: `ay,nat,lang,pres,pres-bf,seq-no,vonx,nm-init,ed-au,jnrlst,nmft,nmft-def,fnm-def,nmfted,nmand-rm,lab,lab-def,and-rm,keyxyr,blkyear,yr-par,dtrev,date-nil-x,tit-qq,inproceedings-chapter,jtit-x,inproceedings-chapter,article-booktitle,article-series,jttl-rm,journal-address,book-bt,thesis-title-o,trtit-b,techreport-institution-par,vol-bf,vnum-x,volp-com,jpg-1,book-editor-booktitle,inbook-editor-booktitle,bookaddress,num-xser,number-cap,chapter-cap,series-number,numser-booktitle,ser-vol,ser-rm,volume-cap,ser-ed,jnm-x,pg-bk,book-chapter-pages,pub-date,ay-empty-pub-parens-x,pre-pub,pre-edn,doi-link,doi,edby,blk-com,fin-endbibitem,pp,ed,abr,ednx,ord,jabr,etal-it,revdata,eprint,url,url-blk,translation,SLACcitation,numpages-x,url,url-prefix-x,bibinfo,bibfield,nfss,,{}')
+%% photjour.mbs (with options: `ay,nat,lang,pres,pres-bf,seq-no,vonx,nm-init,ed-au,jnrlst,nmft,nmft-def,fnm-def,nmfted,nmand-rm,lab,lab-def,and-rm,keyxyr,blkyear,yr-par,dtrev,date-nil-x,tit-qq,inproceedings-chapter,jtit-x,inproceedings-chapter,article-booktitle,article-series,jttl-rm,journal-address,book-bt,thesis-title-o,trtit-b,techreport-institution-par,vol-bf,vnum-x,volp-com,jpg-1,book-editor-booktitle,inbook-editor-booktitle,bookaddress,num-xser,number-cap,chapter-cap,series-number,numser-booktitle,ser-vol,ser-rm,volume-cap,ser-ed,jnm-x,pg-bk,book-chapter-pages,pub-date,ay-empty-pub-parens-x,pre-pub,pre-edn,doi-link,doi,edby,blk-com,fin-endbibitem,pp,ed,abr,ednx,ord,jabr,etal-it,revdata,eprint,url,url-blk,translation,SLACcitation,numpages-x,url,url-prefix-x,bibinfo,bibfield,nfss,,{}')
+%% merlin.mbs (with options: `tail,ay,nat,lang,pres,pres-bf,seq-no,vonx,nm-init,ed-au,jnrlst,nmft,nmft-def,fnm-def,nmfted,nmand-rm,lab,lab-def,and-rm,keyxyr,blkyear,yr-par,dtrev,date-nil-x,tit-qq,inproceedings-chapter,jtit-x,inproceedings-chapter,article-booktitle,article-series,jttl-rm,journal-address,book-bt,thesis-title-o,trtit-b,techreport-institution-par,vol-bf,vnum-x,volp-com,jpg-1,book-editor-booktitle,inbook-editor-booktitle,bookaddress,num-xser,number-cap,chapter-cap,series-number,numser-booktitle,ser-vol,ser-rm,volume-cap,ser-ed,jnm-x,pg-bk,book-chapter-pages,pub-date,ay-empty-pub-parens-x,pre-pub,pre-edn,doi-link,doi,edby,blk-com,fin-endbibitem,pp,ed,abr,ednx,ord,jabr,etal-it,revdata,eprint,url,url-blk,translation,SLACcitation,numpages-x,url,url-prefix-x,bibinfo,bibfield,nfss,,{}')
+%% ----------------------------------------
+%% *** REVTeX-compatible Phys Rev 2010-07-25 ***
+%</apsrev>
+%<*apsrmp>
+%% merlin.mbs (with options: `head,ay,nat,lang,pres,pres-bf,vonx,nm-rev1,jnrlst,nmft,nmft-def,fnm-def,nmfted,nmand-rm,lab,lab-def,and-rm,keyxyr,dt-beg,yr-par,dtrev,date-nil-x,tit-qq,inproceedings-chapter,jtit-x,inproceedings-chapter,article-booktitle,article-series,jttl-rm,journal-address,book-bt,thesis-title-o,trtit-b,techreport-institution-par,vol-bf,vnum-sp,volp-com,jpg-1,pp-last,book-editor-booktitle,inbook-editor-booktitle,bookaddress,num-xser,number-cap,chapter-cap,series-number,numser-booktitle,ser-vol,ser-rm,volume-cap,ser-ed,jnm-x,pg-bk,book-chapter-pages,pub-par,ay-empty-pub-parens-x,pre-edn,school-par,doi-link,doi,bkedcap,edby,blk-com,fin-endbibitem,pp,ed,abr,ednx,ord,jabr,and-com,etal-it,revdata,eprint,url,url-blk,translation,SLACcitation,numpages-x,url,url-prefix-x,bibinfo,bibfield,nfss,,{}')
+%% physjour.mbs (with options: `ay,nat,lang,pres,pres-bf,vonx,nm-rev1,jnrlst,nmft,nmft-def,fnm-def,nmfted,nmand-rm,lab,lab-def,and-rm,keyxyr,dt-beg,yr-par,dtrev,date-nil-x,tit-qq,inproceedings-chapter,jtit-x,inproceedings-chapter,article-booktitle,article-series,jttl-rm,journal-address,book-bt,thesis-title-o,trtit-b,techreport-institution-par,vol-bf,vnum-sp,volp-com,jpg-1,pp-last,book-editor-booktitle,inbook-editor-booktitle,bookaddress,num-xser,number-cap,chapter-cap,series-number,numser-booktitle,ser-vol,ser-rm,volume-cap,ser-ed,jnm-x,pg-bk,book-chapter-pages,pub-par,ay-empty-pub-parens-x,pre-edn,school-par,doi-link,doi,bkedcap,edby,blk-com,fin-endbibitem,pp,ed,abr,ednx,ord,jabr,and-com,etal-it,revdata,eprint,url,url-blk,translation,SLACcitation,numpages-x,url,url-prefix-x,bibinfo,bibfield,nfss,,{}')
+%% geojour.mbs (with options: `ay,nat,lang,pres,pres-bf,vonx,nm-rev1,jnrlst,nmft,nmft-def,fnm-def,nmfted,nmand-rm,lab,lab-def,and-rm,keyxyr,dt-beg,yr-par,dtrev,date-nil-x,tit-qq,inproceedings-chapter,jtit-x,inproceedings-chapter,article-booktitle,article-series,jttl-rm,journal-address,book-bt,thesis-title-o,trtit-b,techreport-institution-par,vol-bf,vnum-sp,volp-com,jpg-1,pp-last,book-editor-booktitle,inbook-editor-booktitle,bookaddress,num-xser,number-cap,chapter-cap,series-number,numser-booktitle,ser-vol,ser-rm,volume-cap,ser-ed,jnm-x,pg-bk,book-chapter-pages,pub-par,ay-empty-pub-parens-x,pre-edn,school-par,doi-link,doi,bkedcap,edby,blk-com,fin-endbibitem,pp,ed,abr,ednx,ord,jabr,and-com,etal-it,revdata,eprint,url,url-blk,translation,SLACcitation,numpages-x,url,url-prefix-x,bibinfo,bibfield,nfss,,{}')
+%% photjour.mbs (with options: `ay,nat,lang,pres,pres-bf,vonx,nm-rev1,jnrlst,nmft,nmft-def,fnm-def,nmfted,nmand-rm,lab,lab-def,and-rm,keyxyr,dt-beg,yr-par,dtrev,date-nil-x,tit-qq,inproceedings-chapter,jtit-x,inproceedings-chapter,article-booktitle,article-series,jttl-rm,journal-address,book-bt,thesis-title-o,trtit-b,techreport-institution-par,vol-bf,vnum-sp,volp-com,jpg-1,pp-last,book-editor-booktitle,inbook-editor-booktitle,bookaddress,num-xser,number-cap,chapter-cap,series-number,numser-booktitle,ser-vol,ser-rm,volume-cap,ser-ed,jnm-x,pg-bk,book-chapter-pages,pub-par,ay-empty-pub-parens-x,pre-edn,school-par,doi-link,doi,bkedcap,edby,blk-com,fin-endbibitem,pp,ed,abr,ednx,ord,jabr,and-com,etal-it,revdata,eprint,url,url-blk,translation,SLACcitation,numpages-x,url,url-prefix-x,bibinfo,bibfield,nfss,,{}')
+%% merlin.mbs (with options: `tail,ay,nat,lang,pres,pres-bf,vonx,nm-rev1,jnrlst,nmft,nmft-def,fnm-def,nmfted,nmand-rm,lab,lab-def,and-rm,keyxyr,dt-beg,yr-par,dtrev,date-nil-x,tit-qq,inproceedings-chapter,jtit-x,inproceedings-chapter,article-booktitle,article-series,jttl-rm,journal-address,book-bt,thesis-title-o,trtit-b,techreport-institution-par,vol-bf,vnum-sp,volp-com,jpg-1,pp-last,book-editor-booktitle,inbook-editor-booktitle,bookaddress,num-xser,number-cap,chapter-cap,series-number,numser-booktitle,ser-vol,ser-rm,volume-cap,ser-ed,jnm-x,pg-bk,book-chapter-pages,pub-par,ay-empty-pub-parens-x,pre-edn,school-par,doi-link,doi,bkedcap,edby,blk-com,fin-endbibitem,pp,ed,abr,ednx,ord,jabr,and-com,etal-it,revdata,eprint,url,url-blk,translation,SLACcitation,numpages-x,url,url-prefix-x,bibinfo,bibfield,nfss,,{}')
+%% ----------------------------------------
+%% *** REVTeX-compatible RMP 2010-07-25 ***
+%</apsrmp>
+%%
+%% Copyright 1994-2007 Patrick W Daly
+ % ===============================================================
+ % IMPORTANT NOTICE:
+ % This bibliographic style (bst) file has been generated from one or
+ % more master bibliographic style (mbs) files, listed above.
+ %
+ % This generated file 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.
+ % ===============================================================
+ % Name and version information of the main mbs file:
+ % For use with BibTeX version 0.99a or later
+ %-------------------------------------------------------------------
+ % This bibliography style file is intended for texts in ENGLISH
+ % This is an author-year citation style bibliography. As such, it is
+ % non-standard LaTeX, and requires a special package file to function properly.
+ % Such a package is natbib.sty by Patrick W. Daly
+ % The form of the \bibitem entries is
+ % \bibitem[Jones et al.(1990)]{key}...
+ % \bibitem[Jones et al.(1990)Jones, Baker, and Smith]{key}...
+ % The essential feature is that the label (the part in brackets) consists
+ % of the author names, as they should appear in the citation, with the year
+ % in parentheses following. There must be no space before the opening
+ % parenthesis!
+ % With natbib v5.3, a full list of authors may also follow the year.
+ % In natbib.sty, it is possible to define the type of enclosures that is
+ % really wanted (brackets or parentheses), but in either case, there must
+ % be parentheses in the label.
+ % The \cite command functions as follows:
+ % \citet{key} ==>> Jones et al. (1990)
+ % \citet*{key} ==>> Jones, Baker, and Smith (1990)
+ % \citep{key} ==>> (Jones et al., 1990)
+ % \citep*{key} ==>> (Jones, Baker, and Smith, 1990)
+ % \citep[chap. 2]{key} ==>> (Jones et al., 1990, chap. 2)
+ % \citep[e.g.][]{key} ==>> (e.g. Jones et al., 1990)
+ % \citep[e.g.][p. 32]{key} ==>> (e.g. Jones et al., p. 32)
+ % \citeauthor{key} ==>> Jones et al.
+ % \citeauthor*{key} ==>> Jones, Baker, and Smith
+ % \citeyear{key} ==>> 1990
+ %---------------------------------------------------------------------
+%</aipauth|aipnum|apsrev|apsrmp>
+%
+% \subsection{The Frontmatter File}
+% As promised above, here is the contents of the frontmatter file.
+% This file doesn't have any documentation, so just stop early.
+% \begin{macrocode}
+%<*ignore>
+\stop
+\changes{4.2e}{2020/10/03}{(PHO) Initial version---Put all .bst files in a single .dtx}
+%</ignore>
+% \end{macrocode}
+%
+% \begin{macrocode}
+%<*aipauth|aipnum|apsrev|apsrmp>
+% \end{macrocode}
+%
+% \begin{macrocode}
+
+%<aipauth>FUNCTION {id.bst} {"merlin.mbs aipauth4-1.bst 2010-07-25 4.21a (PWD, AO, DPC) hacked"}
+%<aipnum>FUNCTION {id.bst} {"merlin.mbs aipnum4-1.bst 2010-07-25 4.21a (PWD, AO, DPC) hacked"}
+%<apsrev>FUNCTION {id.bst} {"merlin.mbs apsrev4-1.bst 2010-07-25 4.21a (PWD, AO, DPC) hacked"}
+%<apsrmp>FUNCTION {id.bst} {"merlin.mbs apsrmp4-1.bst 2010-07-25 4.21a (PWD, AO, DPC) hacked"}
+ENTRY
+{
+ address
+ archive
+ archivePrefix
+ author
+ bookaddress
+ booktitle
+ chapter
+ collaboration
+ doi
+ edition
+ editor
+ eid
+ eprint
+ howpublished
+ institution
+ isbn
+ issn
+ journal
+ key
+ language
+ month
+ note
+ number
+ organization
+ pages
+ primaryClass
+ publisher
+ school
+ SLACcitation
+ series
+ title
+ translation
+ type
+ url
+ volume
+ year
+}{
+}{
+ label
+ extra.label sort.label
+ short.list
+}
+
+INTEGERS
+{
+ output.state before.all
+ after.word after.punctuation
+ after.sentence after.block
+}
+
+INTEGERS
+{
+ punctuation.state punctuation.no punctuation.space punctuation.yes
+}
+
+STRINGS { bibfield output.bibfield }
+
+FUNCTION {not}
+{ { #0 }
+ { #1 }
+ if$
+}
+
+FUNCTION {and}
+{ 'skip$
+ { pop$ #0 }
+ if$
+}
+
+FUNCTION {or}
+{ { pop$ #1 }
+ 'skip$
+ if$
+}
+
+FUNCTION {non.stop}
+{ duplicate$
+ "}" * add.period$
+ #-1 #1 substring$ "." =
+}
+
+INTEGERS { arith.mulitplier arith.multiplicand }
+
+FUNCTION {multiply}
+{
+ 'arith.multiplicand :=
+ 'arith.mulitplier :=
+ #0
+ { arith.mulitplier #0 > }
+ { arith.multiplicand +
+ arith.mulitplier #1 - 'arith.mulitplier :=
+ }
+ while$
+}
+
+FUNCTION {chr.to.hex}
+{
+ chr.to.int$
+ duplicate$ "0" chr.to.int$ -
+ duplicate$ duplicate$ #0 < swap$ #9 > or not
+ { swap$ pop$ }
+ { pop$
+ duplicate$ "A" chr.to.int$ -
+ duplicate$ duplicate$ #0 < swap$ #5 > or not
+ { swap$ pop$ #10 + }
+ { pop$
+ duplicate$ "a" chr.to.int$ -
+ duplicate$ duplicate$ #0 < swap$ #5 > or not
+ { swap$ pop$ #10 + }
+ { pop$
+ pop$ #-1
+ }
+ if$
+ }
+ if$
+ }
+ if$
+}
+
+INTEGERS { arith.accumulator }
+
+FUNCTION {str.to.hex}
+{ #0 'arith.accumulator :=
+ { duplicate$ empty$ not }
+ { duplicate$ #1 #1 substring$ chr.to.hex
+ duplicate$ #0 <
+ { pop$ pop$ ""
+ }
+ { arith.accumulator #16 multiply + 'arith.accumulator :=
+ #2 global.max$ substring$
+ }
+ if$
+ }
+ while$
+ pop$ arith.accumulator
+}
+
+FUNCTION {diagn.cmntlog}
+{
+ duplicate$ top$ "%" swap$ * write$ newline$
+}
+
+INTEGERS { control.key control.author control.editor control.title control.pages control.eprint control.year }
+
+INTEGERS { control.author.jnrlst control.author.dotless control.author.nospace control.author.initials control.author.nocomma control.author.first control.author.reversed }
+
+FUNCTION { control.init }
+{
+ #0
+ 'control.key :=
+ #0
+%<aipauth> #1 +
+%<apsrmp> #1 +
+%<apsrmp> #2 +
+ #8 +
+%<apsrev> #64 +
+%<apsrmp> #64 +
+ 'control.author :=
+%<aipauth> #0
+%<aipnum> #0
+%<apsrev> #1
+%<apsrmp> #1
+ 'control.author.jnrlst :=
+ #0
+ 'control.author.dotless :=
+ #0
+ 'control.author.nospace :=
+ #1
+ 'control.author.initials :=
+ #0
+ 'control.author.nocomma :=
+%<!apsrmp> #0
+%<apsrmp> #1
+ 'control.author.first :=
+%<aipauth> #1
+%<aipnum> #0
+%<apsrev> #0
+%<apsrmp> #1
+ 'control.author.reversed :=
+%<aipauth> #0
+%<aipnum> #1
+%<apsrev> #1
+%<apsrmp> #0
+ 'control.editor :=
+ #-1
+ 'control.title :=
+ #0
+ 'control.pages :=
+ #0
+ 'control.eprint :=
+ #1
+ 'control.year :=
+}
+
+FUNCTION {warning.dependency}
+{
+ " (dependency: " * swap$ * ") set " * swap$ int.to.str$ * warning$
+}
+
+FUNCTION {control.check}
+{
+ control.editor
+ {
+ "editor formatted same as author"
+ control.author.reversed {
+ duplicate$ #0 swap$ "reversed" warning.dependency
+ #0 'control.author.reversed :=
+ } 'skip$ if$
+ control.author.first {
+ duplicate$ #0 swap$ "first" warning.dependency
+ #0 'control.author.first :=
+ } 'skip$ if$
+ control.author.nocomma {
+ duplicate$ #0 swap$ "nocomma" warning.dependency
+ #0 'control.author.nocomma :=
+ } 'skip$ if$
+ pop$
+ } 'skip$ if$
+ control.author.reversed 'skip$
+ {
+ "not reversed"
+ control.author.nospace {
+ duplicate$ #0 swap$ "nospace" warning.dependency
+ #0 'control.author.nospace :=
+ } 'skip$ if$
+ control.author.jnrlst 'skip$ {
+ duplicate$ #1 swap$ "jnrlst" warning.dependency
+ #1 'control.author.jnrlst :=
+ } if$
+ control.author.initials {
+ duplicate$ ", initials" *
+ control.author.dotless {
+ duplicate$ #0 swap$ "dotless" warning.dependency
+ #0 'control.author.dotless :=
+ } 'skip$ if$
+ pop$
+ } 'skip$ if$
+ pop$
+ }
+ if$
+ control.author.initials 'skip$ {
+ "not initials"
+ control.author.nocomma {
+ duplicate$ #0 swap$ "nocomma" warning.dependency
+ #0 'control.author.nocomma :=
+ } 'skip$ if$
+ control.author.nospace {
+ duplicate$ #0 swap$ "nospace" warning.dependency
+ #0 'control.author.nospace :=
+ } 'skip$ if$
+ control.author.dotless 'skip$ {
+ duplicate$ #1 swap$ "dotless" warning.dependency
+ #1 'control.author.dotless :=
+ } if$
+ pop$
+ } if$
+}
+
+FUNCTION {control.parse}
+{
+ duplicate$ duplicate$ missing$
+ {
+ pop$ pop$ pop$
+ }
+ { empty$
+ {
+ pop$ #-1
+ }{
+ str.to.hex
+ }
+ if$
+ swap$ :=
+ }
+ if$
+}
+
+FUNCTION {control.dump}
+{
+ duplicate$ missing$ { pop$ "N/A" } 'skip$ if$
+ "{" swap$ * "}, " *
+ *
+}
+
+INTEGERS { decode.threshold }
+
+FUNCTION {control.decode}
+{
+ - duplicate$
+ #0 <
+ {
+ skip$ pop$ swap$ #0
+ }
+ {
+ swap$ pop$ swap$ #1
+ }
+ if$
+ swap$ :=
+}
+
+FUNCTION {control.author.decode}
+{
+ control.author
+ duplicate$ duplicate$ #0 < swap$ #128 < not or
+ {
+ int.to.str$ "(" swap$ * ")" *
+ "Control cannot interpret author " swap$ *
+ warning$
+ }{
+ 'control.author.jnrlst swap$ duplicate$ #64 control.decode
+ 'control.author.dotless swap$ duplicate$ #32 control.decode
+ 'control.author.nospace swap$ duplicate$ #16 control.decode
+ 'control.author.initials swap$ duplicate$ #8 control.decode
+ 'control.author.nocomma swap$ duplicate$ #4 control.decode
+ 'control.author.first swap$ duplicate$ #2 control.decode
+ 'control.author.reversed swap$ duplicate$ #1 control.decode
+ duplicate$ #0 =
+ 'skip$
+ {
+ "Control: residue of author"
+ "(" swap$ * ")" * *
+ warning$
+ }
+ if$
+ pop$
+ }
+ if$
+}
+
+FUNCTION {control.setup}
+{
+ type$ cite$ "{" swap$ * "}, " * *
+ "control.key" key control.dump *
+ "control.author" author control.dump *
+ "control.editor" editor control.dump *
+ "control.title" title control.dump *
+ "control.pages" pages control.dump *
+ "control.year" year control.dump *
+ "control.eprint" eprint control.dump *
+ top$
+ 'control.key key control.parse
+ 'control.author author control.parse
+ 'control.editor editor control.parse
+ 'control.title title control.parse
+ 'control.pages pages control.parse
+ 'control.year year control.parse
+ 'control.eprint eprint control.parse
+ control.author.decode
+}
+
+FUNCTION {control.pass}
+{ type$ "control" = 'control.setup 'skip$ if$
+}
+
+FUNCTION {control.presort}
+{
+}
+
+FUNCTION {control.forward}
+{
+}
+
+FUNCTION {control.reverse}
+{
+}
+
+FUNCTION {control.sort}
+{
+}
+
+FUNCTION {control.longest.label}
+{
+}
+
+FUNCTION {control.key.bib}
+{
+ "Control: key "
+ control.key
+ duplicate$ "(" swap$ int.to.str$ * ") " * swap$
+ pop$ *
+ diagn.cmntlog
+}
+
+FUNCTION {control.author.bib}
+{
+ "Control: author "
+ control.author "(" swap$ int.to.str$ * ")" * *
+ control.author.reversed { " reversed" * }{} if$
+ control.author.first { " first" * }{} if$
+ control.author.nocomma { " nocomma" * }{} if$
+ control.author.initials { " initials" * }{} if$
+ control.author.nospace { " nospace" * }{} if$
+ control.author.dotless { " dotless" * }{} if$
+ control.author.jnrlst { " jnrlst" * }{} if$
+ diagn.cmntlog
+}
+
+FUNCTION {control.editor.bib}
+{
+ "Control: editor formatted "
+ control.editor
+ duplicate$ "(" swap$ int.to.str$ * ") " * swap$
+ duplicate$ #0 < {
+ pop$
+ "disabled!"
+ } {
+ #0 > {
+ "identically to author"
+ } {
+ "differently from author"
+ } if$
+ } if$ * *
+ diagn.cmntlog
+}
+
+FUNCTION {control.title.bib}
+{
+ "Control: production of article title "
+ control.title
+ duplicate$ "(" swap$ int.to.str$ * ") " * swap$
+ duplicate$ #0 < {
+ pop$
+ "disabled"
+ } {
+ #0 > {
+ "required"
+ } {
+ "allowed"
+ } if$
+ } if$ * *
+ diagn.cmntlog
+}
+
+FUNCTION {control.pages.bib}
+{
+ "Control: page "
+ control.pages
+ duplicate$ "(" swap$ int.to.str$ * ") " * swap$
+ duplicate$ #0 < {
+ pop$
+ "none"
+ } {
+ #0 > {
+ "range"
+ } {
+ "single"
+ } if$
+ } if$ * *
+ diagn.cmntlog
+}
+
+FUNCTION {control.year.bib}
+{
+ "Control: year "
+ control.year
+ duplicate$ "(" swap$ int.to.str$ * ") " * swap$
+ duplicate$ #0 < {
+ pop$
+ "disabled!"
+ } {
+ #0 > {
+ "truncated"
+ } {
+ "verbatim"
+ } if$
+ } if$ * *
+ diagn.cmntlog
+}
+
+FUNCTION {control.eprint.bib}
+{
+ "Control: production of eprint "
+ control.eprint
+ duplicate$ "(" swap$ int.to.str$ * ") " * swap$
+ #0 < { "disabled" } { "enabled" } if$ * *
+ diagn.cmntlog
+}
+
+FUNCTION {control.bib}
+{
+ control.key.bib
+ control.author.bib
+ control.editor.bib
+ control.title.bib
+ control.pages.bib
+ control.year.bib
+ control.eprint.bib
+}
+
+FUNCTION {init.state.consts}
+{
+ #0 'before.all :=
+ #1 'after.word :=
+ #2 'after.punctuation :=
+ #3 'after.sentence :=
+ #4 'after.block :=
+ #0 'punctuation.no :=
+ #1 'punctuation.space :=
+ #2 'punctuation.yes :=
+ "" 'bibfield :=
+ "" 'output.bibfield :=
+}
+
+STRINGS { s t}
+FUNCTION {block.punctuation}
+{ ""
+ "," *
+}
+
+FUNCTION {word.space}
+{
+ "\ "
+}
+
+FUNCTION {show.stackstring.one}{
+ "(" *
+ output.state int.to.str$ *
+ "," * punctuation.state int.to.str$ *
+ ")" * top$
+ duplicate$ "1(" swap$ * ")" * top$
+}
+
+FUNCTION {show.stackstring.two}{
+ "(" *
+ output.state int.to.str$ *
+ "," * punctuation.state int.to.str$ *
+ ")" * top$
+ swap$
+ duplicate$ "1(" swap$ * ")" * top$
+ swap$
+ duplicate$ "2(" swap$ * ")" * top$
+}
+
+FUNCTION {bibfield.command}{ "\bibfield "}
+
+FUNCTION {output.nonnull}
+{
+ swap$
+ output.state after.word =
+ {
+ block.punctuation *
+ word.space *
+ }
+ {
+ output.state after.punctuation =
+ {
+ word.space *
+ }
+ {
+ output.state after.block = output.state after.sentence = or
+ {
+ add.period$
+ "\EOS\ " *
+ }{
+ }
+ if$
+ }
+ if$
+ }
+ if$
+ output.bibfield duplicate$ empty$ 'pop$
+ {
+ bibfield.command
+ " {" * swap$ * "} {" * swap$ * "}" *
+ }
+ if$
+ write$
+ bibfield 'output.bibfield := "" 'bibfield :=
+ output.state after.block =
+ {
+ newline$
+ "\newblock " write$
+ }
+ 'skip$
+ if$
+ punctuation.state duplicate$
+ punctuation.yes 'punctuation.state :=
+ punctuation.no =
+ { pop$ before.all }
+ { punctuation.yes = { after.word }{ after.punctuation } if$ }
+ if$
+ 'output.state :=
+}
+
+FUNCTION {output}
+{ duplicate$ empty$
+ {
+ pop$
+ "" 'bibfield :=
+ }
+ 'output.nonnull
+ if$
+}
+
+FUNCTION {output.nopunct}
+{
+ punctuation.no 'punctuation.state :=
+ output.nonnull
+}
+
+FUNCTION {output.check}
+{ swap$
+ duplicate$ empty$
+ { pop$ "empty " swap$ * " in " * cite$ * warning$ }
+ { swap$ pop$ output.nonnull }
+ if$
+}
+
+FUNCTION {bbl.open} { "\BibitemOpen " }
+
+FUNCTION {bbl.shut} { "\BibitemShut " }
+
+FUNCTION {bibitem.shut.stop} { bbl.shut "{Stop}%" * }
+
+FUNCTION {bibitem.shut.nostop} { bbl.shut "{NoStop}%" * }
+
+FUNCTION {bibitem.shut}
+{
+ non.stop
+ {
+ bibitem.shut.nostop *
+ }{
+ bibitem.shut.stop *
+ }
+ if$
+}
+
+FUNCTION {html.itag} {
+ "p"
+}
+
+FUNCTION {html.ltag} {
+ ""
+}
+
+FUNCTION {output.SLACcitation}
+{ SLACcitation empty$
+ 'skip$
+ {
+ newline$
+ SLACcitation write$
+ }
+ if$
+}
+
+FUNCTION {fin.entry}
+{
+ bibitem.shut
+ write$
+ output.SLACcitation
+}
+
+FUNCTION {new.block}
+{ output.state before.all =
+ 'skip$
+ { after.block 'output.state := }
+ if$
+}
+
+FUNCTION {new.block.comma}
+{
+}
+
+FUNCTION {new.sentence}
+{ output.state after.block = output.state before.all = or
+ 'skip$
+ { after.sentence 'output.state := }
+ if$
+}
+
+FUNCTION {new.sentence.comma}
+{
+}
+
+FUNCTION {sentence.or.colon}
+{
+ new.sentence
+}
+
+FUNCTION {add.blank}
+{
+ word.space *
+ before.all 'output.state :=
+}
+
+FUNCTION {no.blank.or.punct}
+{
+ "\hspace {0pt}" *
+ before.all 'output.state :=
+}
+
+FUNCTION {date.block}
+{
+ new.block.comma
+ skip$
+}
+
+STRINGS {z}
+FUNCTION {remove.dots}
+{
+ control.author.dotless {
+ 'z :=
+ ""
+ { z empty$ not }
+ { z #1 #1 substring$
+ z #2 global.max$ substring$ 'z :=
+ duplicate$ "." = 'pop$
+ { * }
+ if$
+ }
+ while$
+ } 'skip$ if$
+}
+
+FUNCTION {new.block.checkb}
+{ empty$
+ swap$ empty$
+ and
+ 'skip$
+ 'new.block
+ if$
+}
+
+FUNCTION {field.or.null}
+{ duplicate$ empty$
+ { pop$ "" }
+ 'skip$
+ if$
+}
+
+FUNCTION {emphasize}
+{
+ duplicate$ empty$
+ { pop$ "" }
+ {
+ "\emph {" swap$ * "}" *
+ }
+ if$
+}
+
+FUNCTION {bolden}
+{ duplicate$ empty$
+ { pop$ "" }
+ { "\textbf {" swap$ * "}" * }
+ if$
+}
+
+FUNCTION {bib.name.font}
+{
+ duplicate$ empty$
+ { pop$ "" }
+ {
+ "\bibnamefont {" swap$ * "}" *
+ }
+ if$
+}
+
+FUNCTION {bib.fname.font}
+{
+ duplicate$ empty$
+ { pop$ "" }
+ {
+ "\bibfnamefont {" swap$ * "}" *
+ }
+ if$
+}
+
+FUNCTION {cite.name.font}
+{
+ duplicate$ empty$
+ { pop$ "" }
+ {
+ "\citenamefont {" swap$ * "}" *
+ }
+ if$
+}
+
+FUNCTION {tie.or.space.prefix}
+{ duplicate$ text.length$ #3 <
+ { "~" }
+ { word.space }
+ if$
+ swap$
+}
+
+FUNCTION {capitalize}
+{
+ "u" change.case$ "t" change.case$
+}
+
+FUNCTION {space.word}
+{ word.space swap$ * word.space * }
+
+ % Here are the language-specific definitions for explicit words.
+ % Each function has a name bbl.xxx where xxx is the English word.
+ % The language selected here is ENGLISH
+
+FUNCTION {bbl.and}
+{
+ "and"
+}
+
+FUNCTION {bbl.etal}
+{
+ "et~al."
+}
+
+FUNCTION {bbl.editors}
+{
+ "eds."
+}
+
+FUNCTION {bbl.editor}
+{
+ "ed."
+}
+
+FUNCTION {bbl.edby}
+{ "edited by" }
+
+FUNCTION {bbl.edition}
+{
+ "ed."
+}
+
+FUNCTION {bbl.volume}
+{
+ "vol."
+}
+
+FUNCTION {bbl.of}
+{ "of" }
+
+FUNCTION {bbl.number}
+{
+ "no."
+}
+
+FUNCTION {bbl.nr}
+{ "no." }
+
+FUNCTION {bbl.in}
+{ "in" }
+
+FUNCTION {bbl.pages}
+{
+ "pp."
+}
+
+FUNCTION {bbl.page}
+{
+ "p."
+}
+
+FUNCTION {bbl.eidpp}
+{ "pages" }
+
+FUNCTION {bbl.chapter}
+{
+ "chap."
+}
+
+FUNCTION {bbl.techrep}
+{
+ "Tech. Rep."
+}
+
+FUNCTION {bbl.mthesis}
+{ "Master's thesis" }
+
+FUNCTION {bbl.phdthesis}
+{ "Ph.D. thesis" }
+
+FUNCTION {bbl.first}
+{
+ "1st"
+}
+
+FUNCTION {bbl.second}
+{
+ "2nd"
+}
+
+FUNCTION {bbl.third}
+{
+ "3rd"
+}
+
+FUNCTION {bbl.fourth}
+{
+ "4th"
+}
+
+FUNCTION {bbl.fifth}
+{
+ "5th"
+}
+
+FUNCTION {bbl.st}
+{ "st" }
+
+FUNCTION {bbl.nd}
+{ "nd" }
+
+FUNCTION {bbl.rd}
+{ "rd" }
+
+FUNCTION {bbl.th}
+{ "th" }
+
+MACRO {jan} {"Jan."}
+
+MACRO {feb} {"Feb."}
+
+MACRO {mar} {"Mar."}
+
+MACRO {apr} {"Apr."}
+
+MACRO {may} {"May"}
+
+MACRO {jun} {"Jun."}
+
+MACRO {jul} {"Jul."}
+
+MACRO {aug} {"Aug."}
+
+MACRO {sep} {"Sep."}
+
+MACRO {oct} {"Oct."}
+
+MACRO {nov} {"Nov."}
+
+MACRO {dec} {"Dec."}
+
+FUNCTION {bbl.url.prefix}
+{
+ "\urlprefix "
+}
+
+FUNCTION {eng.ord}
+{ duplicate$ "1" swap$ *
+ #-2 #1 substring$ "1" =
+ { bbl.th * }
+ { duplicate$ #-1 #1 substring$
+ duplicate$ "1" =
+ { pop$ bbl.st * }
+ { duplicate$ "2" =
+ { pop$ bbl.nd * }
+ { "3" =
+ { bbl.rd * }
+ { bbl.th * }
+ if$
+ }
+ if$
+ }
+ if$
+ }
+ if$
+}
+
+ %-------------------------------------------------------------------
+ % Begin module:
+ % \ProvidesFile{physjour.mbs}[2002/01/14 2.2 (PWD)]
+MACRO {aa}{"Astron. \& Astrophys."}
+MACRO {aasup}{"Astron. \& Astrophys. Suppl. Ser."}
+MACRO {aj} {"Astron. J."}
+MACRO {aph} {"Acta Phys."}
+MACRO {advp} {"Adv. Phys."}
+MACRO {ajp} {"Amer. J. Phys."}
+MACRO {ajm} {"Amer. J. Math."}
+MACRO {amsci} {"Amer. Sci."}
+MACRO {anofd} {"Ann. Fluid Dyn."}
+MACRO {am} {"Ann. Math."}
+MACRO {ap} {"Ann. Phys. (NY)"}
+MACRO {adp} {"Ann. Phys. (Leipzig)"}
+MACRO {ao} {"Appl. Opt."}
+MACRO {apl} {"Appl. Phys. Lett."}
+MACRO {app} {"Astroparticle Phys."}
+MACRO {apj} {"Astrophys. J."}
+MACRO {apjsup} {"Astrophys. J. Suppl."}
+MACRO {apss} {"Astrophys. Space Sci."}
+MACRO {araa} {"Ann. Rev. Astron. Astrophys."}
+MACRO {baas} {"Bull. Amer. Astron. Soc."}
+MACRO {baps} {"Bull. Amer. Phys. Soc."}
+MACRO {cmp} {"Comm. Math. Phys."}
+MACRO {cpam} {"Commun. Pure Appl. Math."}
+MACRO {cppcf} {"Comm. Plasma Phys. \& Controlled Fusion"}
+MACRO {cpc} {"Comp. Phys. Comm."}
+MACRO {cqg} {"Class. Quant. Grav."}
+MACRO {cra} {"C. R. Acad. Sci. A"}
+MACRO {fed} {"Fusion Eng. \& Design"}
+MACRO {ft} {"Fusion Tech."}
+MACRO {grg} {"Gen. Relativ. Gravit."}
+MACRO {ieeens} {"IEEE Trans. Nucl. Sci."}
+MACRO {ieeeps} {"IEEE Trans. Plasma Sci."}
+MACRO {ijimw} {"Interntl. J. Infrared \& Millimeter Waves"}
+MACRO {ip} {"Infrared Phys."}
+MACRO {irp} {"Infrared Phys."}
+MACRO {jap} {"J. Appl. Phys."}
+MACRO {jasa} {"J. Acoust. Soc. America"}
+MACRO {jcp} {"J. Comp. Phys."}
+MACRO {jetp} {"Sov. Phys.--JETP"}
+MACRO {jfe} {"J. Fusion Energy"}
+MACRO {jfm} {"J. Fluid Mech."}
+MACRO {jmp} {"J. Math. Phys."}
+MACRO {jne} {"J. Nucl. Energy"}
+MACRO {jnec} {"J. Nucl. Energy, C: Plasma Phys., Accelerators, Thermonucl. Res."}
+MACRO {jnm} {"J. Nucl. Mat."}
+MACRO {jpc} {"J. Phys. Chem."}
+MACRO {jpp} {"J. Plasma Phys."}
+MACRO {jpsj} {"J. Phys. Soc. Japan"}
+MACRO {jsi} {"J. Sci. Instrum."}
+MACRO {jvst} {"J. Vac. Sci. \& Tech."}
+MACRO {nat} {"Nature"}
+MACRO {nature} {"Nature"}
+MACRO {nedf} {"Nucl. Eng. \& Design/Fusion"}
+MACRO {nf} {"Nucl. Fusion"}
+MACRO {nim} {"Nucl. Inst. \& Meth."}
+MACRO {nimpr} {"Nucl. Inst. \& Meth. in Phys. Res."}
+MACRO {np} {"Nucl. Phys."}
+MACRO {npb} {"Nucl. Phys. B"}
+MACRO {nt/f} {"Nucl. Tech./Fusion"}
+MACRO {npbpc} {"Nucl. Phys. B (Proc. Suppl.)"}
+MACRO {inc} {"Nuovo Cimento"}
+MACRO {nc} {"Nuovo Cimento"}
+MACRO {pf} {"Phys. Fluids"}
+MACRO {pfa} {"Phys. Fluids A: Fluid Dyn."}
+MACRO {pfb} {"Phys. Fluids B: Plasma Phys."}
+MACRO {pl} {"Phys. Lett."}
+MACRO {pla} {"Phys. Lett. A"}
+MACRO {plb} {"Phys. Lett. B"}
+MACRO {prep} {"Phys. Rep."}
+MACRO {pnas} {"Proc. Nat. Acad. Sci. USA"}
+MACRO {pp} {"Phys. Plasmas"}
+MACRO {ppcf} {"Plasma Phys. \& Controlled Fusion"}
+MACRO {phitrsl} {"Philos. Trans. Roy. Soc. London"}
+MACRO {prl} {"Phys. Rev. Lett."}
+MACRO {pr} {"Phys. Rev."}
+MACRO {physrev} {"Phys. Rev."}
+MACRO {pra} {"Phys. Rev. A"}
+MACRO {prb} {"Phys. Rev. B"}
+MACRO {prc} {"Phys. Rev. C"}
+MACRO {prd} {"Phys. Rev. D"}
+MACRO {pre} {"Phys. Rev. E"}
+MACRO {ps} {"Phys. Scripta"}
+MACRO {procrsl} {"Proc. Roy. Soc. London"}
+MACRO {rmp} {"Rev. Mod. Phys."}
+MACRO {rsi} {"Rev. Sci. Inst."}
+MACRO {science} {"Science"}
+MACRO {sciam} {"Sci. Am."}
+MACRO {sam} {"Stud. Appl. Math."}
+MACRO {sjpp} {"Sov. J. Plasma Phys."}
+MACRO {spd} {"Sov. Phys.--Doklady"}
+MACRO {sptp} {"Sov. Phys.--Tech. Phys."}
+MACRO {spu} {"Sov. Phys.--Uspeki"}
+MACRO {st} {"Sky and Telesc."}
+ % End module: physjour.mbs
+ %-------------------------------------------------------------------
+ % Begin module:
+ % \ProvidesFile{geojour.mbs}[2002/07/10 2.0h (PWD)]
+MACRO {aisr} {"Adv. Space Res."}
+MACRO {ag} {"Ann. Geophys."}
+MACRO {anigeo} {"Ann. Geofis."}
+MACRO {angl} {"Ann. Glaciol."}
+MACRO {andmet} {"Ann. d. Meteor."}
+MACRO {andgeo} {"Ann. d. Geophys."}
+MACRO {andphy} {"Ann. Phys.-Paris"}
+MACRO {afmgb} {"Arch. Meteor. Geophys. Bioklimatol."}
+MACRO {atph} {"Atm\'osphera"}
+MACRO {aao} {"Atmos. Ocean"}
+MACRO {ass}{"Astrophys. Space Sci."}
+MACRO {atenv} {"Atmos. Environ."}
+MACRO {aujag} {"Aust. J. Agr. Res."}
+MACRO {aumet} {"Aust. Meteorol. Mag."}
+MACRO {blmet} {"Bound.-Lay. Meteorol."}
+MACRO {bams} {"Bull. Amer. Meteorol. Soc."}
+MACRO {cch} {"Clim. Change"}
+MACRO {cdyn} {"Clim. Dynam."}
+MACRO {cbul} {"Climatol. Bull."}
+MACRO {cap} {"Contrib. Atmos. Phys."}
+MACRO {dsr} {"Deep-Sea Res."}
+MACRO {dhz} {"Dtsch. Hydrogr. Z."}
+MACRO {dao} {"Dynam. Atmos. Oceans"}
+MACRO {eco} {"Ecology"}
+MACRO {empl}{"Earth, Moon and Planets"}
+MACRO {envres} {"Environ. Res."}
+MACRO {envst} {"Environ. Sci. Technol."}
+MACRO {ecms} {"Estuarine Coastal Mar. Sci."}
+MACRO {expa}{"Exper. Astron."}
+MACRO {geoint} {"Geofis. Int."}
+MACRO {geopub} {"Geofys. Publ."}
+MACRO {geogeo} {"Geol. Geofiz."}
+MACRO {gafd} {"Geophys. Astrophys. Fluid Dyn."}
+MACRO {gfd} {"Geophys. Fluid Dyn."}
+MACRO {geomag} {"Geophys. Mag."}
+MACRO {georl} {"Geophys. Res. Lett."}
+MACRO {grl} {"Geophys. Res. Lett."}
+MACRO {ga} {"Geophysica"}
+MACRO {gs} {"Geophysics"}
+MACRO {ieeetap} {"IEEE Trans. Antenn. Propag."}
+MACRO {ijawp} {"Int. J. Air Water Pollut."}
+MACRO {ijc} {"Int. J. Climatol."}
+MACRO {ijrs} {"Int. J. Remote Sens."}
+MACRO {jam} {"J. Appl. Meteorol."}
+MACRO {jaot} {"J. Atmos. Ocean. Technol."}
+MACRO {jatp} {"J. Atmos. Terr. Phys."}
+MACRO {jastp} {"J. Atmos. Solar-Terr. Phys."}
+MACRO {jce} {"J. Climate"}
+MACRO {jcam} {"J. Climate Appl. Meteor."}
+MACRO {jcm} {"J. Climate Meteor."}
+MACRO {jcy} {"J. Climatol."}
+MACRO {jgr} {"J. Geophys. Res."}
+MACRO {jga} {"J. Glaciol."}
+MACRO {jh} {"J. Hydrol."}
+MACRO {jmr} {"J. Mar. Res."}
+MACRO {jmrj} {"J. Meteor. Res. Japan"}
+MACRO {jm} {"J. Meteor."}
+MACRO {jpo} {"J. Phys. Oceanogr."}
+MACRO {jra} {"J. Rech. Atmos."}
+MACRO {jaes} {"J. Aeronaut. Sci."}
+MACRO {japca} {"J. Air Pollut. Control Assoc."}
+MACRO {jas} {"J. Atmos. Sci."}
+MACRO {jmts} {"J. Mar. Technol. Soc."}
+MACRO {jmsj} {"J. Meteorol. Soc. Japan"}
+MACRO {josj} {"J. Oceanogr. Soc. Japan"}
+MACRO {jwm} {"J. Wea. Mod."}
+MACRO {lao} {"Limnol. Oceanogr."}
+MACRO {mwl} {"Mar. Wea. Log"}
+MACRO {mau} {"Mausam"}
+MACRO {meteor} {"``Meteor'' Forschungsergeb."}
+MACRO {map} {"Meteorol. Atmos. Phys."}
+MACRO {metmag} {"Meteor. Mag."}
+MACRO {metmon} {"Meteor. Monogr."}
+MACRO {metrun} {"Meteor. Rundsch."}
+MACRO {metzeit} {"Meteor. Z."}
+MACRO {metgid} {"Meteor. Gidrol."}
+MACRO {mwr} {"Mon. Weather Rev."}
+MACRO {nwd} {"Natl. Weather Dig."}
+MACRO {nzjmfr} {"New Zeal. J. Mar. Freshwater Res."}
+MACRO {npg} {"Nonlin. Proc. Geophys."}
+MACRO {om} {"Oceanogr. Meteorol."}
+MACRO {ocac} {"Oceanol. Acta"}
+MACRO {oceanus} {"Oceanus"}
+MACRO {paleoc} {"Paleoceanography"}
+MACRO {pce} {"Phys. Chem. Earth"}
+MACRO {pmg} {"Pap. Meteor. Geophys."}
+MACRO {ppom} {"Pap. Phys. Oceanogr. Meteor."}
+MACRO {physzeit} {"Phys. Z."}
+MACRO {pps} {"Planet. Space Sci."}
+MACRO {pss} {"Planet. Space Sci."}
+MACRO {pag} {"Pure Appl. Geophys."}
+MACRO {qjrms} {"Quart. J. Roy. Meteorol. Soc."}
+MACRO {quatres} {"Quat. Res."}
+MACRO {rsci} {"Radio Sci."}
+MACRO {rse} {"Remote Sens. Environ."}
+MACRO {rgeo} {"Rev. Geophys."}
+MACRO {rgsp} {"Rev. Geophys. Space Phys."}
+MACRO {rdgeo} {"Rev. Geofis."}
+MACRO {revmeta} {"Rev. Meteorol."}
+MACRO {sgp}{"Surveys in Geophys."}
+MACRO {sp} {"Solar Phys."}
+MACRO {ssr} {"Space Sci. Rev."}
+MACRO {tellus} {"Tellus"}
+MACRO {tac} {"Theor. Appl. Climatol."}
+MACRO {tagu} {"Trans. Am. Geophys. Union (EOS)"}
+MACRO {wrr} {"Water Resour. Res."}
+MACRO {weather} {"Weather"}
+MACRO {wafc} {"Weather Forecast."}
+MACRO {ww} {"Weatherwise"}
+MACRO {wmob} {"WMO Bull."}
+MACRO {zeitmet} {"Z. Meteorol."}
+ % End module: geojour.mbs
+ %-------------------------------------------------------------------
+ % Begin module:
+ % \ProvidesFile{photjour.mbs}[1999/02/24 2.0b (PWD)]
+
+MACRO {appopt} {"Appl. Opt."}
+MACRO {bell} {"Bell Syst. Tech. J."}
+MACRO {ell} {"Electron. Lett."}
+MACRO {jasp} {"J. Appl. Spectr."}
+MACRO {jqe} {"IEEE J. Quantum Electron."}
+MACRO {jlwt} {"J. Lightwave Technol."}
+MACRO {jmo} {"J. Mod. Opt."}
+MACRO {josa} {"J. Opt. Soc. America"}
+MACRO {josaa} {"J. Opt. Soc. Amer.~A"}
+MACRO {josab} {"J. Opt. Soc. Amer.~B"}
+MACRO {jdp} {"J. Phys. (Paris)"}
+MACRO {oc} {"Opt. Commun."}
+MACRO {ol} {"Opt. Lett."}
+MACRO {phtl} {"IEEE Photon. Technol. Lett."}
+MACRO {pspie} {"Proc. Soc. Photo-Opt. Instrum. Eng."}
+MACRO {sse} {"Solid-State Electron."}
+MACRO {sjot} {"Sov. J. Opt. Technol."}
+MACRO {sjqe} {"Sov. J. Quantum Electron."}
+MACRO {sleb} {"Sov. Phys.--Leb. Inst. Rep."}
+MACRO {stph} {"Sov. Phys.--Techn. Phys."}
+MACRO {stphl} {"Sov. Techn. Phys. Lett."}
+MACRO {vr} {"Vision Res."}
+MACRO {zph} {"Z. f. Physik"}
+MACRO {zphb} {"Z. f. Physik~B"}
+MACRO {zphd} {"Z. f. Physik~D"}
+
+MACRO {CLEO} {"CLEO"}
+MACRO {ASSL} {"Adv. Sol.-State Lasers"}
+MACRO {OSA} {"OSA"}
+ % End module: photjour.mbs
+%% Copyright 1994-2007 Patrick W Daly
+MACRO {acmcs} {"ACM Comput. Surv."}
+
+MACRO {acta} {"Acta Inf."}
+
+MACRO {cacm} {"Commun. ACM"}
+
+MACRO {ibmjrd} {"IBM J. Res. Dev."}
+
+MACRO {ibmsj} {"IBM Syst.~J."}
+
+MACRO {ieeese} {"IEEE Trans. Software Eng."}
+
+MACRO {ieeetc} {"IEEE Trans. Comput."}
+
+MACRO {ieeetcad}
+ {"IEEE Trans. Comput. Aid. Des."}
+
+MACRO {ipl} {"Inf. Process. Lett."}
+
+MACRO {jacm} {"J.~ACM"}
+
+MACRO {jcss} {"J.~Comput. Syst. Sci."}
+
+MACRO {scp} {"Sci. Comput. Program."}
+
+MACRO {sicomp} {"SIAM J. Comput."}
+
+MACRO {tocs} {"ACM Trans. Comput. Syst."}
+
+MACRO {tods} {"ACM Trans. Database Syst."}
+
+MACRO {tog} {"ACM Trans. Graphic."}
+
+MACRO {toms} {"ACM Trans. Math. Software"}
+
+MACRO {toois} {"ACM Trans. Office Inf. Syst."}
+
+MACRO {toplas} {"ACM Trans. Progr. Lang. Syst."}
+
+MACRO {tcs} {"Theor. Comput. Sci."}
+
+FUNCTION {bibinfo.command} { "\bibinfo " }
+
+FUNCTION {bibinfo.check}
+{ swap$
+ duplicate$ missing$
+ {
+ pop$
+ pop$ ""
+ }{
+ duplicate$ empty$
+ {
+ swap$ pop$
+ }{
+ swap$
+ bibinfo.command "{" * swap$ * "} {" * swap$ * "}" *
+ }
+ if$
+ }
+ if$
+}
+
+FUNCTION {bibinfo.warn}
+{ swap$
+ duplicate$ missing$
+ {
+ swap$ "missing " swap$ * " in " * cite$ * warning$ pop$
+ ""
+ }{
+ duplicate$ empty$
+ {
+ swap$ "empty " swap$ * " in " * cite$ * warning$
+ }{
+ swap$
+ bibinfo.command " {" * swap$ * "} {" * swap$ * "}" *
+ }
+ if$
+ }
+ if$
+}
+
+FUNCTION {archiv.base}
+{
+ "http://arxiv.org/abs"
+}
+
+FUNCTION {archiv.prefix.base}
+{
+ "arXiv"
+}
+
+FUNCTION {eprint.command}
+{
+ "\Eprint "
+}
+
+FUNCTION {format.eprint}
+{
+ eprint duplicate$ empty$
+ control.eprint #0 <
+ or
+ { pop$ "" }
+ {
+ duplicate$
+ ""
+ archive duplicate$ empty$ { pop$ archiv.base } 'skip$ if$ *
+ "/" *
+ swap$ *
+ "{" swap$ * "} " *
+ swap$
+ ""
+ archivePrefix duplicate$ empty$ { pop$ "" } { ":" * } if$ *
+ swap$ *
+ primaryClass duplicate$ empty$ { pop$ "" } { " [" swap$ * "]" * } if$ *
+ "{" swap$ * "} " *
+ *
+ eprint.command swap$ *
+ }
+ if$
+}
+
+FUNCTION {format.translation}
+{ translation duplicate$ empty$
+ 'skip$
+ { ""
+ "\translation{" * swap$ * "}" *
+ punctuation.space 'punctuation.state :=
+ }
+ if$
+}
+
+FUNCTION {format.url}
+{
+ url duplicate$ empty$
+ { pop$ "" }
+ {
+ "\url "
+ "{" * swap$ * "}" *
+ }
+ if$
+}
+
+INTEGERS { nameptr namesleft numnames }
+
+FUNCTION {check.speaker}
+{ key empty$ 'skip$
+ { key nameptr int.to.str$ =
+ {
+ bolden
+ }
+ 'skip$
+ if$
+ }
+ if$
+}
+
+STRINGS { bibinfo}
+
+FUNCTION {format.names.fname}
+{
+ control.author.initials {
+ control.author.dotless {
+ control.author.nospace {
+ "f{}"
+ } {
+ "f{~}"
+ } if$
+ } {
+ control.author.nospace {
+ "f{.}."
+ } {
+ "f."
+ } if$
+ } if$
+ } {
+ "ff"
+ } if$
+}
+
+FUNCTION {bracify}
+{
+ "{" swap$ * "}" *
+}
+
+FUNCTION {name.comma}
+{
+ control.author.nocomma 'skip$ { "," swap$ * } if$
+}
+
+FUNCTION {format.names.format.onefont}
+{
+ "{vv~}{ll}"
+ nameptr #1 >
+ control.author.first
+ and
+ control.author.reversed not
+ or
+ {
+ control.author.initials {
+ "f"
+ control.author.dotless 'skip$ {
+ "." *
+ } if$
+ "~" *
+ } {
+ "ff"
+ } if$
+ bracify
+ swap$
+ } {
+ format.names.fname
+ " " swap$ *
+ name.comma
+ bracify
+ }
+ if$
+ "jj"
+ " " swap$ *
+ name.comma
+ bracify
+ control.author.jnrlst 'skip$ 'swap$ if$
+ * *
+}
+
+FUNCTION {format.names.onefont}
+{
+ s nameptr format.names.format.onefont format.name$
+ remove.dots
+ bib.name.font
+}
+
+FUNCTION {format.names.morfont}
+{ s nameptr
+ "{vv~}{ll}" format.name$ bib.name.font
+ nameptr #1 >
+ control.author.first
+ and
+ control.author.reversed not
+ or
+ {
+ s nameptr
+ control.author.initials {
+ "f" % default: name + surname + comma junior
+ } {
+ "ff"
+ } if$
+ control.author.dotless 'skip$ {
+ "." * % nm-init % Initials. + surname (J. F. Smith) control.author.initials
+ } if$
+ bracify
+ format.name$ duplicate$ empty$ 'skip$
+ { tie.or.space.prefix bib.fname.font swap$ * }
+ if$
+ swap$
+ *
+ s nameptr
+ "{jj}" format.name$ duplicate$ empty$ 'skip$
+ { bib.fname.font ", " swap$ * }
+ if$
+ } {
+ "," *
+ s nameptr
+ format.names.fname
+ "jj"
+ " "
+ name.comma
+ control.author.jnrlst {
+ swap$ * skip$
+ } {
+ skip$ * swap$
+ } if$
+ bracify swap$ bracify swap$
+ *
+ format.name$
+ remove.dots
+ duplicate$ empty$ 'skip$
+ { bib.fname.font " " swap$ * }
+ if$
+ } if$
+ *
+}
+
+FUNCTION {names.punctuate}
+{
+ "," *
+ " " *
+}
+
+FUNCTION {format.names}
+{ 'bibinfo :=
+ duplicate$ empty$ { pop$ "" } {
+ duplicate$ num.names$
+ duplicate$ 'numnames :=
+ 'namesleft :=
+ 's :=
+ #1 'nameptr :=
+ ""
+ { namesleft #0 > }
+ {
+ format.names.morfont
+ bibinfo bibinfo.check
+ type$ "presentation" =
+ 'check.speaker
+ 'skip$
+ if$
+ 't :=
+ nameptr #1 > not
+ {
+ t *
+ } {
+ namesleft #1 >
+ {
+ names.punctuate
+ t *
+ } {
+ s nameptr "{ll}" format.name$ duplicate$ "others" =
+ { 't := }
+ { pop$ }
+ if$
+%<*!apsrmp>
+ numnames #2 >
+ 'names.punctuate
+ 'skip$
+ if$
+%</!apsrmp>
+%<apsrmp> names.punctuate
+ t "others" =
+ {
+ " " *
+ bbl.etal
+ emphasize
+ *
+ } {
+ bbl.and
+ space.word *
+ t *
+ }
+ if$
+ }
+ if$
+ }
+ if$
+ nameptr #1 + 'nameptr :=
+ namesleft #1 - 'namesleft :=
+ }
+ while$
+ } if$
+}
+
+FUNCTION {format.names.ed.onefont}
+{
+ s nameptr
+ control.author.initials {
+ control.author.dotless {
+ control.author.nospace {
+ "{f{}~}{vv~}{ll}{ jj}" % nm-rvx|nm-rvcx
+ } {
+ "{f{~}~}{vv~}{ll}{ jj}" % nm-rv
+ } if$
+ } {
+ control.author.nospace {
+ "{f{.}.~}{vv~}{ll}{ jj}" % nm-rvv|nm-rvvc
+ }{
+ "{f.~}{vv~}{ll}{, jj}" % nm-init|nm-rev|nm-rev1
+ } if$
+ } if$
+ } {
+ "{ff~}{vv~}{ll}{, jj}"
+ } if$
+ format.name$
+ remove.dots
+ bib.name.font
+}
+
+FUNCTION {format.names.ed.morfont}
+{
+ control.author.reversed { %
+ control.author.initials { %
+ control.author.dotless { %
+ s nameptr
+ control.author.nospace { % nm-rvx nm-rvcx
+ "{f{}}"
+ } { % nm-rv
+ "{f{~}}"
+ } if$
+ format.name$ duplicate$ empty$ 'skip$
+ { tie.or.space.prefix bib.fname.font swap$ * }
+ if$
+ s nameptr
+ "{vv~}{ll}" format.name$ bib.name.font *
+ s nameptr
+ "{jj}" format.name$
+ remove.dots
+ duplicate$ empty$ 'skip$
+ { bib.fname.font " " swap$ * }
+ if$
+ } { % !control.author.dotless
+ s nameptr
+ control.author.nospace { % nm-rvv
+ "{ff}"
+ } { % nm-rev nm-rev1
+ "{f.}"
+ } if$
+ format.name$ duplicate$ empty$ 'skip$
+ { tie.or.space.prefix bib.fname.font swap$ * }
+ if$
+ s nameptr
+ "{vv~}{ll}" format.name$ bib.name.font *
+ s nameptr
+ "{jj}" format.name$
+ duplicate$ empty$ 'skip$
+ { bib.fname.font ", " swap$ * }
+ if$
+ } if$
+ } { % Full names !control.author.initials nm-revf nm-revv1
+ s nameptr
+ "{ff}"
+ format.name$ duplicate$ empty$ 'skip$
+ { tie.or.space.prefix bib.fname.font swap$ * }
+ if$
+ s nameptr
+ "{vv~}{ll}" format.name$ bib.name.font *
+ s nameptr
+ "{jj}" format.name$
+ duplicate$ empty$ 'skip$
+ { bib.fname.font ", " swap$ * }
+ if$
+ } if$
+ } { % !control.author.reversed nm-init
+ s nameptr
+ "{f.}"
+ format.name$ duplicate$ empty$ 'skip$
+ { tie.or.space.prefix bib.fname.font swap$ * }
+ if$
+ s nameptr
+ "{vv~}{ll}" format.name$ bib.name.font *
+ s nameptr
+ "{jj}" format.name$
+ duplicate$ empty$ 'skip$
+ { bib.fname.font ", " swap$ * }
+ if$
+ } if$
+ *
+}
+
+FUNCTION {format.names.ed}
+{
+ control.editor #0 > {
+ format.names
+ } {
+ 'bibinfo :=
+ duplicate$ empty$ 'skip$ {
+ 's :=
+ "" 't :=
+ #1 'nameptr :=
+ s num.names$ 'numnames :=
+ numnames 'namesleft :=
+ { namesleft #0 > }
+ {
+ format.names.ed.morfont
+ bibinfo bibinfo.check
+ 't :=
+ nameptr #1 >
+ {
+ namesleft #1 >
+ {
+ names.punctuate
+ t *
+ }{
+ s nameptr "{ll}" format.name$ duplicate$ "others" =
+ { 't := }
+ { pop$ }
+ if$
+ numnames #2 >
+ 'names.punctuate
+ 'skip$
+ if$
+ t "others" =
+ {
+ " " * bbl.etal emphasize *
+ }{
+ bbl.and
+ space.word * t *
+ }
+ if$
+ }
+ if$
+ }
+ 't
+ if$
+ nameptr #1 + 'nameptr :=
+ namesleft #1 - 'namesleft :=
+ }
+ while$
+ } if$
+ } if$
+}
+
+FUNCTION {format.key}
+{ empty$
+ { key field.or.null }
+ { "" }
+ if$
+}
+
+FUNCTION {format.authors}
+{ author "author" format.names
+ duplicate$ empty$ 'skip$
+ { collaboration "collaboration" bibinfo.check
+ duplicate$ empty$ 'skip$
+ { " (" swap$ * ")" * }
+ if$
+ *
+ }
+ if$
+ "author" 'bibfield :=
+}
+
+FUNCTION {get.bbl.editor}
+{ editor num.names$ #1 > 'bbl.editors 'bbl.editor if$
+}
+
+FUNCTION {format.editors}
+{ editor "editor" format.names duplicate$ empty$ 'skip$
+ {
+ "," *
+ word.space *
+ get.bbl.editor
+%<apsrmp> capitalize
+ *
+ }
+ if$
+}
+
+FUNCTION {format.isbn.output}
+{
+}
+
+FUNCTION {format.issn.output}
+{
+}
+
+FUNCTION {doi.base}
+{
+ "http://dx.doi.org/"
+}
+
+FUNCTION {doi.base.command}
+{
+ "\doibase "
+}
+
+FUNCTION {noop.command}
+{
+ "\href@noop "
+}
+
+FUNCTION {href.command}
+{
+ "\href "
+}
+
+FUNCTION {link.tag.open}
+{
+ doi duplicate$ empty$
+ {
+ pop$
+ url duplicate$ empty$
+ {
+ pop$ "" noop.command
+ }{
+ href.command
+ }
+ if$
+ }
+ {
+ doi.base.command swap$ *
+ href.command
+ }
+ if$
+ "{" * swap$ * "} {" *
+}
+
+FUNCTION {link.tag.shut}
+{
+ "}"
+}
+
+FUNCTION {link.open}
+{
+ link.tag.open output.nopunct
+}
+
+FUNCTION {link.shut}
+{
+ link.tag.shut *
+}
+
+FUNCTION {add.doi}
+{
+ link.tag.open swap$ * link.tag.shut *
+}
+
+FUNCTION {select.language}
+{ duplicate$ empty$
+ 'pop$
+ { language empty$
+ 'skip$
+ { "{\selectlanguage {" language * "}" * swap$ * "}" * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.note}
+{
+ note empty$
+ { "" }
+ { note #1 #1 substring$
+ duplicate$ "{" =
+ 'skip$
+ {
+ output.state after.word = output.state after.punctuation = or
+ { "l" }
+ { "u" }
+ if$ change.case$
+ }
+ if$
+ note #2 global.max$ substring$ * "note" bibinfo.check
+ }
+ if$
+}
+
+FUNCTION {bbl.enquote}
+{
+ "\enquote "
+}
+
+FUNCTION {string.enquote}
+{
+ punctuation.no 'punctuation.state :=
+ non.stop {
+ block.punctuation
+ } { "" } if$
+ swap$ pop$
+ *
+ bbl.enquote "{" * swap$ * "}" *
+ word.space *
+}
+
+FUNCTION {format.title}
+{ title
+ duplicate$ empty$ 'skip$ { "t" change.case$ } if$
+ duplicate$ "title" bibinfo.check swap$
+ duplicate$ empty$ 'pop$
+ {
+ punctuation.yes 'punctuation.state :=
+ string.enquote
+ select.language
+ }
+ if$
+}
+
+FUNCTION {end.quote.title}
+{ title empty$
+ 'skip$
+ { before.all 'output.state := }
+ if$
+}
+
+FUNCTION {format.name.apply}
+{
+ s nameptr
+ "{vv~}{ll}"
+ format.name$
+ cite.name.font
+}
+
+FUNCTION {format.full.names}
+{
+ 's :=
+ "" 't :=
+ #1 'nameptr :=
+ s num.names$ 'numnames :=
+ numnames 'namesleft :=
+ { namesleft #0 > }
+ { format.name.apply
+ 't :=
+ nameptr #1 >
+ {
+ namesleft #1 >
+ { ", " * t * }
+ {
+ s nameptr "{ll}" format.name$ duplicate$ "others" =
+ {
+ 't :=
+ }
+ 'pop$
+ if$
+ t "others" =
+ {
+ " " * bbl.etal
+ emphasize *
+ }{
+ numnames #2 > { "," * }{ skip$ } if$
+ bbl.and
+ space.word * t *
+ }
+ if$
+ }
+ if$
+ }
+ 't
+ if$
+ nameptr #1 + 'nameptr :=
+ namesleft #1 - 'namesleft :=
+ }
+ while$
+}
+
+FUNCTION {make.full.names}
+{
+ key editor author
+ type$ "proceedings" =
+ type$ "book" =
+ type$ "inbook" =
+ or { pop$ }{ { pop$ "" }{ swap$ pop$ "" swap$ } if$ } if$
+ duplicate$ empty$
+ { pop$
+ duplicate$ empty$
+ { pop$
+ duplicate$ empty$
+ { pop$
+ cite$ #1 #3 substring$
+ }{
+ skip$
+ }
+ if$
+ }
+ { swap$ pop$ format.full.names }
+ if$
+ }
+ { swap$ pop$ swap$ pop$ format.full.names }
+ if$
+}
+
+FUNCTION {year.bibitem}
+{
+ year duplicate$ empty$
+ { pop$ ""
+%<apsrmp> "????" *
+ }{
+ skip$
+ } if$
+ extra.label *
+}
+
+FUNCTION {output.bibitem}
+{
+ newline$
+ ""
+ label
+ * ")" *
+ make.full.names duplicate$ short.list =
+ { pop$ }{ * } if$
+ bracify
+ "[" swap$ * "]" *
+ cite$ bracify "%" *
+ *
+ "\bibitem "
+ swap$ *
+ write$ newline$
+ " "
+ duplicate$ bbl.open * write$ newline$
+ before.all 'output.state :=
+ punctuation.yes 'punctuation.state :=
+}
+
+FUNCTION {n.dashify}
+{
+ 't :=
+ ""
+ { t empty$ not }
+ { t #1 #1 substring$ "-" =
+ { t #1 #2 substring$ "--" = not
+ { "--" *
+ t #2 global.max$ substring$ 't :=
+ }{
+ { t #1 #1 substring$ "-" = }
+ { "-" *
+ t #2 global.max$ substring$ 't :=
+ }
+ while$
+ }
+ if$
+ }{
+ t #1 #1 substring$ *
+ t #2 global.max$ substring$ 't :=
+ }
+ if$
+ }
+ while$
+}
+
+FUNCTION {word.in}
+{
+ bbl.in
+ word.space *
+}
+
+FUNCTION {date.encapsulate}
+{
+ duplicate$ empty$
+ 'skip$
+ {
+ before.all 'output.state :=
+ " (" swap$ * ")" *
+ }
+ if$
+}
+
+FUNCTION {format.date}
+{
+ year "year" bibinfo.check duplicate$ empty$
+ {
+%<*apsrmp>
+ "empty year in " cite$ * "; set to ????" * warning$
+ pop$ "????"
+%</apsrmp>
+ }
+ 'skip$
+ if$
+ extra.label *
+ date.encapsulate
+}
+
+FUNCTION {format.date.output.check}
+{
+ format.date
+ "year" output.check
+}
+
+FUNCTION {format.date.output}
+{
+ format.date.output.check
+}
+
+FUNCTION {format.btitle}
+{
+ booktitle duplicate$ empty$ { pop$
+ title
+ } 'skip$ if$
+ "title" bibinfo.check
+ duplicate$ empty$ 'skip$
+ {
+ emphasize
+ select.language
+ }
+ if$
+}
+
+FUNCTION {either.or.check}
+{ empty$
+ 'pop$
+ { "can't use both " swap$ * " fields in " * cite$ * warning$ }
+ if$
+}
+
+FUNCTION {editor.check.book}
+{ editor empty$ 'skip$
+ {
+ "can't use both author and editor fields in " cite$ *
+ ": try using @inbook instead" *
+ warning$
+ }
+ if$
+}
+
+FUNCTION {format.bvolume}
+{ volume duplicate$ empty$
+ { pop$ "" }
+ {
+ "volume and number" number either.or.check
+ bbl.volume
+ capitalize
+ swap$
+ tie.or.space.prefix "volume" bibinfo.check * *
+ series "series" bibinfo.check duplicate$ empty$ 'pop$
+ {
+ ", "
+ * swap$ *
+ }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.number}
+{
+ bbl.number
+ output.state after.word = output.state after.punctuation = or
+ #1 or
+ #0 and
+ 'skip$
+ { capitalize }
+ if$
+ number tie.or.space.prefix "number" bibinfo.check * *
+}
+
+FUNCTION {format.number.series}
+{ volume empty$
+ { number empty$
+ { series field.or.null }
+ {
+ series empty$
+ {
+ number "number" bibinfo.check
+ }{
+ format.number
+ series "series" bibinfo.check
+ word.space * swap$ *
+ }
+ if$
+ }
+ if$
+ }
+ { "" }
+ if$
+}
+
+FUNCTION {is.num}
+{ chr.to.int$
+ duplicate$ "0" chr.to.int$ < not
+ swap$ "9" chr.to.int$ > not and
+}
+
+FUNCTION {extract.num}
+{ duplicate$ 't :=
+ "" 's :=
+ { t empty$ not }
+ { t #1 #1 substring$
+ t #2 global.max$ substring$ 't :=
+ duplicate$ is.num
+ { s swap$ * 's := }
+ { pop$ "" 't := }
+ if$
+ }
+ while$
+ s empty$
+ 'skip$
+ { pop$ s }
+ if$
+}
+
+FUNCTION {convert.edition}
+{ extract.num "l" change.case$ 's :=
+ s "first" = s "1" = or
+ { bbl.first 't := }
+ { s "second" = s "2" = or
+ { bbl.second 't := }
+ { s "third" = s "3" = or
+ { bbl.third 't := }
+ { s "fourth" = s "4" = or
+ { bbl.fourth 't := }
+ { s "fifth" = s "5" = or
+ { bbl.fifth 't := }
+ { s #1 #1 substring$ is.num
+ { s
+ eng.ord
+ 't := }
+ { edition 't := }
+ if$
+ }
+ if$
+ }
+ if$
+ }
+ if$
+ }
+ if$
+ }
+ if$
+ t
+}
+
+FUNCTION {format.edition}
+{ edition duplicate$ empty$ 'skip$
+ {
+ convert.edition
+ output.state after.word = output.state after.punctuation = or
+ { "l" }
+ { "t" }
+ if$ change.case$
+ "edition" bibinfo.check
+ word.space * bbl.edition *
+ }
+ if$
+}
+
+INTEGERS { multiresult }
+FUNCTION {multi.page.check}
+{ 't :=
+ #0 'multiresult :=
+ { multiresult not
+ t empty$ not
+ and
+ }
+ { t #1 #1 substring$
+ duplicate$ "-" =
+ swap$ duplicate$ "," =
+ swap$ "+" =
+ or or
+ { #1 'multiresult := }
+ { t #2 global.max$ substring$ 't := }
+ if$
+ }
+ while$
+ multiresult
+}
+
+FUNCTION {format.pages}
+{ pages duplicate$ empty$
+ 'skip$
+ { duplicate$ multi.page.check
+ {
+ bbl.pages swap$
+ n.dashify
+ }{
+ bbl.page swap$
+ }
+ if$
+ tie.or.space.prefix
+ "pages" bibinfo.check
+ * *
+ }
+ if$
+}
+
+FUNCTION {first.page}
+{ 't :=
+ ""
+ { t empty$ not t #1 #1 substring$ "-" = not and }
+ { t #1 #1 substring$ *
+ t #2 global.max$ substring$ 't :=
+ }
+ while$
+}
+
+FUNCTION {format.book.pages}
+{
+ pages duplicate$ empty$ 'skip$
+ {
+ "pages" bibinfo.check word.space bbl.pages * *
+ }
+ if$
+}
+
+FUNCTION {volnum.punct}
+{
+ ","
+ word.space *
+}
+
+FUNCTION {format.journal.pages}
+{ pages duplicate$ empty$ 'pop$
+ { swap$ duplicate$ empty$
+ { pop$ pop$ format.pages }
+ { volnum.punct *
+ swap$
+ control.pages duplicate$ #0 < {
+ pop$ pop$
+ }{
+ #0 >
+ {
+ n.dashify
+ }{
+ first.page
+ } if$
+ } if$
+ "pages" bibinfo.check
+ *
+ }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.journal.eid}
+{ eid "eid" bibinfo.check
+ duplicate$ empty$ 'pop$
+ { swap$ duplicate$ empty$ 'skip$
+ { volnum.punct * }
+ if$
+ swap$ *
+ }
+ if$
+}
+
+FUNCTION {eid.or.pages}
+{
+ eid empty$
+ { format.journal.pages }
+ { format.journal.eid }
+ if$
+}
+
+FUNCTION {format.ser.vol.num}
+{
+ series "series" bibinfo.check output
+ volume field.or.null
+ duplicate$ empty$ 'skip$
+ {
+ "volume" bibinfo.check
+ }
+ if$
+ bolden
+%<*apsrmp>
+ number "number" bibinfo.check duplicate$ empty$ 'skip$
+ {
+ swap$ duplicate$ empty$
+ { "there's a number but no volume in " cite$ * warning$ }
+ 'skip$
+ if$
+ swap$
+ "~(" swap$ * ")" *
+ }
+ if$ *
+%</apsrmp>
+}
+
+FUNCTION {format.chapter.pages}
+{ chapter empty$
+ {
+%<!apsrmp> format.pages
+%<apsrmp> ""
+ }
+ { type empty$
+ {
+ bbl.chapter
+ capitalize
+ }{
+ type
+ capitalize
+ "type" bibinfo.check
+ }
+ if$
+ chapter tie.or.space.prefix
+ "chapter" bibinfo.check
+ * *
+%<*!apsrmp>
+ pages empty$
+ 'skip$
+ { ", " * format.pages * }
+ if$
+%</!apsrmp>
+ }
+ if$
+}
+
+FUNCTION {format.booktitle}
+{
+ booktitle duplicate$ "booktitle" bibinfo.check swap$
+ duplicate$ empty$ 'pop$
+ {
+ punctuation.yes 'punctuation.state :=
+ pop$ emphasize
+ select.language
+ }
+ if$
+}
+
+FUNCTION {format.editor.in}
+{
+ editor "editor" format.names.ed duplicate$ empty$ 'skip$
+ {
+ bbl.edby
+ word.space * swap$ *
+ }
+ if$
+}
+
+FUNCTION {output.article.booktitle}
+{
+ format.booktitle
+ "booktitle" 'bibfield :=
+ output
+ bookaddress "address" bibinfo.check duplicate$ empty$ 'pop$
+ {
+ "address" 'bibfield :=
+ output.nonnull after.punctuation 'output.state :=
+ }
+ if$
+}
+
+FUNCTION {format.in.ed.booktitle}
+{
+ format.booktitle duplicate$ empty$ 'pop$
+ {
+ add.doi
+ word.in swap$ * output.nonnull
+ bookaddress "address" bibinfo.check output
+ format.number.series "series and number" bibinfo.check output
+ format.bvolume output
+ format.editor.in "editor" bibinfo.check output
+ }
+ if$
+}
+
+FUNCTION {format.in.ed.booktitle.inbook}
+{
+ format.booktitle duplicate$ empty$ 'pop$
+ {
+ add.doi
+ word.in swap$ * output.nonnull
+ bookaddress "address" bibinfo.check output
+ format.number.series "series and number" bibinfo.check output
+ format.bvolume output
+ author empty$ 'skip$
+ { format.editor.in "editor" bibinfo.check output }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.thesis.type}
+{ type duplicate$ empty$
+ 'pop$
+ { swap$ pop$
+ "t" change.case$ "type" bibinfo.check
+ }
+ if$
+}
+
+FUNCTION {format.tr.number}
+{ number "number" bibinfo.check
+ type duplicate$ empty$
+ { pop$ bbl.techrep }
+ 'skip$
+ if$
+ "type" bibinfo.check
+ swap$ duplicate$ empty$
+ { pop$ "t" change.case$ }
+ { tie.or.space.prefix * * }
+ if$
+}
+
+FUNCTION {format.article.crossref}
+{
+ word.in
+ " \cite{" * crossref * "}" *
+}
+
+FUNCTION {format.book.crossref}
+{ volume duplicate$ empty$
+ { "empty volume in " cite$ * "'s crossref of " * crossref * warning$
+ pop$ word.in
+ }
+ { bbl.volume
+ swap$ tie.or.space.prefix "volume" bibinfo.check * * bbl.of space.word *
+ }
+ if$
+ " \cite{" * crossref * "}" *
+}
+
+FUNCTION {format.incoll.inproc.crossref}
+{
+ word.in
+ " \cite{" * crossref * "}" *
+}
+
+FUNCTION {format.org.or.pub}
+{ 't :=
+ ""
+ address "address" bibinfo.check
+ duplicate$ empty$
+ { pop$ t }
+ { t duplicate$ empty$
+ { pop$ }
+ {
+ "," word.space *
+ * swap$ *
+ }
+ if$
+ }
+ if$
+ *
+%<*!apsrmp>
+ year duplicate$ empty$
+ {
+ "empty year in " cite$ *
+ warning$
+ pop$ ""
+ }
+ 'skip$
+ if$
+ duplicate$ empty$
+ { pop$ }
+ {
+ "year" bibinfo.check
+ swap$
+ duplicate$ empty$
+ { pop$ }
+ {
+ "," *
+ word.space *
+ swap$ *
+ }
+ if$
+ }
+ if$
+%</!apsrmp>
+ duplicate$ empty$ 'skip$ {
+ ""
+ "(" * swap$ * ")" *
+ after.punctuation 'output.state :=
+ punctuation.space 'punctuation.state :=
+ } if$
+}
+
+FUNCTION {format.publisher.address}
+{ publisher "publisher" bibinfo.warn format.org.or.pub
+}
+
+FUNCTION {format.organization.address}
+{ organization "organization" bibinfo.check format.org.or.pub
+}
+
+FUNCTION {format.organization.publisher.address}
+{
+ publisher empty$
+ { format.organization.address }
+ { organization "organization" bibinfo.check output
+ format.publisher.address
+ }
+ if$
+}
+
+FUNCTION {format.school.address.output}
+{
+ school "school" bibinfo.warn
+ address "address" bibinfo.check
+ duplicate$ empty$ 'skip$
+ {
+ swap$
+ duplicate$ empty$ 'skip$
+ {
+ ", " *
+ }
+ if$
+ swap$
+ }
+ if$
+ *
+%<apsrmp> duplicate$ empty$ 'skip$ { "(" swap$ * ")" * } if$ after.punctuation 'output.state :=
+ output
+}
+
+FUNCTION {article.title.produce}
+{
+ control.title duplicate$ #0 <
+ { pop$
+ }{
+ format.title
+ "title" 'bibfield :=
+ swap$ #0 >
+ {
+ "title" output.check
+ }{
+ output
+ } if$
+ new.block.comma
+ } if$
+}
+
+FUNCTION {control}
+{
+}
+
+FUNCTION {article}
+{ output.bibitem
+ format.authors
+ booktitle empty$ {
+ "author" output.check
+ }{ output } if$
+ author format.key output
+%<!apsrmp> new.block.comma
+%<apsrmp> format.date.output.check date.block
+ article.title.produce
+ output.article.booktitle
+ crossref missing$
+ {
+ link.open
+ journal
+ "journal" bibinfo.warn
+ "journal" 'bibfield :=
+ output
+ add.blank
+ format.ser.vol.num
+ output
+ eid.or.pages
+%<!apsrmp> format.date.output.check
+ pages empty$ {
+ doi output
+ } 'skip$ if$
+ link.shut
+ }{
+ format.article.crossref output.nonnull
+%<!apsrmp> format.pages output
+%<apsrmp> eid.or.pages
+ }
+ if$
+ format.issn.output
+ new.block.comma
+ new.sentence.comma
+ format.note output
+ format.eprint output
+ format.translation output
+ fin.entry
+}
+
+FUNCTION {book}
+{ output.bibitem
+ author empty$
+ {
+ format.editors "author and editor" output.check
+ editor format.key output
+ }{
+ format.authors output.nonnull
+%% crossref missing$ { editor.check.book } 'skip$ if$
+ }
+ if$
+%<!apsrmp> new.block.comma
+%<apsrmp> format.date.output.check date.block
+ link.open
+ format.btitle
+ "title" output.check
+ link.shut
+ format.edition output
+ author empty$
+ {
+ }
+ {
+ format.editor.in output
+ editor format.key output
+ }
+ if$
+ format.number.series output
+ crossref missing$
+ {
+ format.bvolume output
+ new.block.comma
+ format.publisher.address output
+ }{
+ new.block.comma
+ format.book.crossref output.nonnull
+%<!apsrmp> format.date.output.check
+ }
+ if$
+ format.isbn.output
+ format.chapter.pages
+ output
+ new.block.comma
+ new.sentence.comma
+ format.note output
+ format.eprint output
+ fin.entry
+}
+
+FUNCTION {booklet}
+{ output.bibitem
+ format.authors output
+ author format.key output
+%<!apsrmp> new.block.comma
+%<apsrmp> format.date.output date.block
+ link.open
+ format.title
+ "title" output.check
+ link.shut
+ new.block.comma
+ howpublished "howpublished" bibinfo.check output
+ address "address" bibinfo.check output
+%<!apsrmp> format.date.output
+ format.isbn.output
+ format.book.pages output
+ new.block.comma
+ new.sentence.comma
+ format.note output
+ format.eprint output
+ fin.entry
+}
+
+FUNCTION {footnote}
+{ output.bibitem
+ format.note output
+ fin.entry
+}
+
+FUNCTION {inbook}
+{ output.bibitem
+ author empty$
+ {
+ format.editors "editor" output.check
+ editor format.key output
+ }{
+ format.authors output.nonnull
+ author format.key output
+ }
+ if$
+%<!apsrmp> new.block.comma
+%<apsrmp> format.date.output.check date.block
+
+ format.title output
+ new.block.comma
+
+ crossref missing$
+ {
+ format.in.ed.booktitle.inbook
+%<!apsrmp> format.publisher.address output
+ format.chapter.pages
+%<!apsrmp> "chapter and pages"
+%<apsrmp> "chapter"
+ output.check
+ new.block.comma
+ format.edition output
+ new.block.comma
+%<apsrmp> format.publisher.address output
+ }{
+ format.chapter.pages
+%<!apsrmp> "chapter and pages"
+%<apsrmp> "chapter"
+ output.check
+ new.block.comma
+ format.book.crossref output.nonnull
+%<!apsrmp> format.date.output.check
+ }
+ if$
+ crossref missing$
+ { format.isbn.output }
+ 'skip$
+ if$
+%<apsrmp> format.pages "pages" output.check
+ new.block.comma
+ new.sentence.comma
+ format.note output
+ format.eprint output
+ fin.entry
+}
+
+FUNCTION {incollection}
+{ output.bibitem
+ format.authors "author" output.check
+ author format.key output
+%<!apsrmp> new.block.comma
+%<apsrmp> format.date.output.check date.block
+ article.title.produce
+ crossref missing$
+ {
+ format.in.ed.booktitle
+%<!apsrmp> format.publisher.address output
+ format.edition output
+ format.chapter.pages output
+%<apsrmp> format.publisher.address output
+ format.isbn.output
+ }{
+ format.incoll.inproc.crossref output.nonnull
+ format.chapter.pages output
+ }
+ if$
+%<apsrmp> format.pages "pages" output.check
+ new.block.comma
+ new.sentence.comma
+ format.note output
+ format.eprint output
+ fin.entry
+}
+
+FUNCTION {inproceedings}
+{ output.bibitem
+ format.authors "author" output.check
+ author format.key output
+%<!apsrmp> new.block.comma
+%<apsrmp> format.date.output.check date.block
+ article.title.produce
+ crossref missing$
+ {
+ format.in.ed.booktitle
+ format.organization.publisher.address output
+%<!apsrmp> format.chapter.pages output
+ format.isbn.output
+ format.issn.output
+ }{
+ format.incoll.inproc.crossref output.nonnull
+%<!apsrmp> format.chapter.pages output
+ }
+ if$
+%<apsrmp> format.chapter.pages "chapter and pages" output.check
+%<apsrmp> format.pages "pages" output.check
+ new.block.comma
+ new.sentence.comma
+ format.note output
+ format.eprint output
+ fin.entry
+}
+
+FUNCTION {conference} { inproceedings }
+FUNCTION {manual}
+{ output.bibitem
+ format.authors output
+ author format.key output
+%<!apsrmp> new.block.comma
+%<apsrmp> format.date.output date.block
+ link.open
+ format.btitle
+ "title" output.check
+ link.shut
+ organization "organization" bibinfo.check output
+ address "address" bibinfo.check output
+ format.edition output
+%<!apsrmp> format.date.output
+ new.block.comma
+ new.sentence.comma
+ format.note output
+ format.eprint output
+ fin.entry
+}
+
+FUNCTION {mastersthesis}
+{ output.bibitem
+ format.authors "author" output.check
+ author format.key output
+%<!apsrmp> new.block.comma
+%<apsrmp> format.date.output.check date.block
+ format.btitle
+ output
+ new.block.comma
+ link.open
+ bbl.mthesis
+ format.thesis.type
+ output.nonnull
+ link.shut
+ format.school.address.output
+%<!apsrmp> format.date.output.check
+ new.block.comma
+ new.sentence.comma
+ format.note output
+ format.eprint output
+ fin.entry
+}
+
+FUNCTION {misc}
+{ output.bibitem
+ format.authors output
+ author format.key output
+%<apsrmp> format.date.output
+%<!apsrmp> new.block.comma
+%<apsrmp> date.block
+ link.open
+ format.title
+ output
+ link.shut
+ new.block.comma
+ howpublished "howpublished" bibinfo.check output
+%<!apsrmp> format.date.output
+ new.block.comma
+ new.sentence.comma
+ format.note output
+ format.eprint output
+ fin.entry
+}
+
+FUNCTION {phdthesis}
+{ output.bibitem
+ format.authors "author" output.check
+ author format.key output
+%<!apsrmp> new.block.comma
+%<apsrmp> format.date.output.check date.block
+ format.btitle
+ output
+ new.block.comma
+ link.open
+ bbl.phdthesis
+ format.thesis.type
+ output.nonnull
+ link.shut
+ format.school.address.output
+%<!apsrmp> format.date.output.check
+ new.block.comma
+ new.sentence.comma
+ format.note output
+ format.eprint output
+ fin.entry
+}
+
+FUNCTION {presentation}
+{ output.bibitem
+ format.authors output
+ author format.key output
+ new.block.comma
+ link.open
+ format.title
+ output
+ link.shut
+ new.block.comma
+ format.organization.address "organization and address" output.check
+ month "month" output.check
+ year "year" output.check
+ new.block.comma
+ new.sentence.comma
+ format.note output
+ new.sentence
+ type missing$ 'skip$
+ {"(" type capitalize * ")" * output}
+ if$
+ fin.entry
+}
+
+FUNCTION {proceedings}
+{ output.bibitem
+ format.editors output
+ editor format.key output
+%<!apsrmp> new.block.comma
+%<apsrmp> format.date.output.check date.block
+ link.open
+ format.btitle
+ "title" output.check
+ link.shut
+ bookaddress "address" bibinfo.check output
+ format.number.series output
+ format.bvolume output
+ format.organization.publisher.address output
+ format.isbn.output
+ format.issn.output
+ new.block.comma
+ new.sentence.comma
+ format.note output
+ format.eprint output
+ fin.entry
+}
+
+FUNCTION {techreport}
+{ output.bibitem
+ format.authors "author" output.check
+ author format.key output
+%<!apsrmp> new.block.comma
+%<apsrmp> format.date.output.check date.block
+ link.open
+%<!apsrev&!apsrmp> format.title
+%<apsrev|apsrmp> format.btitle
+ "title" output.check
+ link.shut
+ new.block.comma
+ format.tr.number
+ output.nonnull
+ institution "institution" bibinfo.warn
+ format.org.or.pub output
+ new.block.comma
+ new.sentence.comma
+ format.note output
+ format.eprint output
+ fin.entry
+}
+
+FUNCTION {unpublished}
+{ output.bibitem
+ format.authors "author" output.check
+ author format.key output
+%<!apsrmp> new.block.comma
+%<apsrmp> format.date.output date.block
+ link.open
+ format.title
+ "title" output.check
+ link.shut
+%<!apsrmp> format.date.output
+ new.block.comma
+ new.sentence.comma
+ format.note "note" output.check
+ format.eprint output
+ fin.entry
+}
+
+FUNCTION {default.type} { misc }
+
+READ
+
+EXECUTE {control.init}
+
+ITERATE {control.pass}
+
+EXECUTE {control.check}
+
+FUNCTION {sortify}
+{ purify$
+ "l" change.case$
+}
+
+INTEGERS { len }
+
+FUNCTION {chop.word}
+{ 's :=
+ 'len :=
+ s #1 len substring$ =
+ { s len #1 + global.max$ substring$ }
+ 's
+ if$
+}
+
+FUNCTION {cite.name.font.apply}
+{
+ word.space * bbl.etal
+ emphasize
+ *
+}
+
+%<*!apsrev&!apsrmp>
+FUNCTION {format.lab.names}
+{ 's :=
+ "" 't :=
+ #1 'nameptr :=
+ s num.names$ 'numnames :=
+ numnames 'namesleft :=
+ { namesleft #0 > }
+ {
+ format.name.apply
+ 't :=
+ nameptr #1 >
+ {
+ nameptr
+ #2
+ =
+ numnames
+ #3
+ > and
+ {
+ "others" 't :=
+ #1 'namesleft :=
+ }
+ 'skip$
+ if$
+ namesleft #1 >
+ { ", " * t * }
+ {
+ s nameptr "{ll}" format.name$ duplicate$ "others" =
+ { 't := }
+ { pop$ }
+ if$
+ t "others" =
+ {
+ cite.name.font.apply
+ }{
+ numnames #2 > { "," * } 'skip$ if$
+ bbl.and
+ space.word * t *
+ }
+ if$
+ }
+ if$
+ }
+ 't
+ if$
+ nameptr #1 + 'nameptr :=
+ namesleft #1 - 'namesleft :=
+ }
+ while$
+}
+
+%</!apsrev&!apsrmp>
+%<*apsrev|apsrmp>
+FUNCTION {format.lab.names}
+{ 's :=
+ "" 't :=
+ #1 'nameptr :=
+ format.name.apply
+ s num.names$ duplicate$
+ #2 >
+ { pop$
+ cite.name.font.apply
+ }{
+ #2 <
+ 'skip$
+ {
+ s #2 "{ff }{vv }{ll}{ jj}" format.name$ "others" =
+ {
+ cite.name.font.apply
+ }{
+ bbl.and space.word *
+ s #2 "{vv~}{ll}" format.name$
+ cite.name.font
+ *
+ }
+ if$
+ }
+ if$
+ }
+ if$
+}
+
+%</apsrev|apsrmp>
+FUNCTION {author.key.label}
+{ author empty$
+ { key empty$
+ { cite$ #1 #3 substring$ }
+ 'key
+ if$
+ }
+ { author format.lab.names }
+ if$
+}
+
+FUNCTION {author.editor.key.label}
+{ author empty$
+ { editor empty$
+ { key empty$
+ { cite$ #1 #3 substring$ }
+ 'key
+ if$
+ }
+ { editor format.lab.names }
+ if$
+ }
+ { author format.lab.names }
+ if$
+}
+
+FUNCTION {editor.key.label}
+{ editor empty$
+ { key empty$
+ { cite$ #1 #3 substring$ }
+ 'key
+ if$
+ }
+ { editor format.lab.names }
+ if$
+}
+
+FUNCTION {calc.short.authors}
+{ type$ "book" =
+ type$ "inbook" =
+ or
+ 'author.editor.key.label
+ { type$ "proceedings" =
+ 'editor.key.label
+ 'author.key.label
+ if$
+ }
+ if$
+ 'short.list :=
+}
+
+FUNCTION {calc.label}
+{
+ calc.short.authors
+ short.list
+ year duplicate$ empty$
+%<apsrev|apsrmp> short.list key field.or.null = or
+ {
+ pop$ ""
+%<apsrmp> "????" *
+ }{
+ control.year #0 > { purify$ #-1 #4 substring$ } 'skip$ if$
+ }
+ if$
+ "(" swap$ *
+ * 'label :=
+}
+
+FUNCTION {sort.format.names}
+{ 's :=
+ #1 'nameptr :=
+ ""
+ s num.names$ 'numnames :=
+ numnames 'namesleft :=
+ { namesleft #0 > }
+ { s nameptr
+ "{ll{ }}"
+ control.author.initials {
+ "{ f{ }}" *
+ }{
+ "{ ff{ }}" *
+ } if$
+ "{ jj{ }}" *
+ format.name$ 't :=
+ nameptr #1 >
+ {
+ " " *
+ namesleft #1 = t "others" = and
+ { "zzzzz" * }
+ {
+ t sortify *
+ }
+ if$
+ }
+ { t sortify * }
+ if$
+ nameptr #1 + 'nameptr :=
+ namesleft #1 - 'namesleft :=
+ }
+ while$
+}
+
+FUNCTION {sort.format.title}
+{ 't :=
+ "A " #2
+ "An " #3
+ "The " #4 t chop.word
+ chop.word
+ chop.word
+ sortify
+ #1 global.max$ substring$
+}
+
+FUNCTION {author.sort}
+{ author empty$
+ { key empty$
+ { "to sort, need author or key in " cite$ * warning$
+ ""
+ }
+ { key sortify }
+ if$
+ }
+ { author sort.format.names }
+ if$
+}
+
+FUNCTION {author.editor.sort}
+{ author empty$
+ { editor empty$
+ { key empty$
+ { "to sort, need author, editor, or key in " cite$ * warning$
+ ""
+ }
+ { key sortify }
+ if$
+ }
+ { editor sort.format.names }
+ if$
+ }
+ { author sort.format.names }
+ if$
+}
+
+FUNCTION {year.sort.key}
+{
+ year
+}
+
+FUNCTION {editor.sort}
+{ editor empty$
+ { key empty$
+ { "to sort, need editor or key in " cite$ * warning$
+ ""
+ }
+ { key sortify }
+ if$
+ }
+ { editor sort.format.names }
+ if$
+}
+
+INTEGERS { seq.num }
+
+FUNCTION {init.seq}
+{ #0 'seq.num :=}
+
+EXECUTE {init.seq}
+
+FUNCTION {int.to.fix}
+{ "000000000" swap$ int.to.str$ *
+ #-1 #10 substring$
+}
+
+FUNCTION {label.presort}
+{
+ calc.label
+ label sortify
+ " "
+ *
+%<*!aipauth&!apsrmp>
+ seq.num #1 + 'seq.num :=
+ seq.num int.to.fix
+%</!aipauth&!apsrmp>
+%<*aipauth|apsrmp>
+ type$ "book" =
+ type$ "inbook" =
+ or
+ 'author.editor.sort
+ { type$ "proceedings" =
+ 'editor.sort
+ 'author.sort
+ if$
+ }
+ if$
+ #1 entry.max$ substring$
+%</aipauth|apsrmp>
+ 'sort.label :=
+ sort.label
+ *
+ " "
+ *
+ title field.or.null sort.format.title
+ *
+ #1 entry.max$ substring$
+ 'sort.key$ :=
+}
+
+FUNCTION {presort.pass}
+{ type$ "control" = 'control.presort 'label.presort if$
+}
+
+ITERATE {presort.pass}
+
+SORT
+
+STRINGS { last.label next.extra }
+
+INTEGERS { last.extra.num number.label }
+
+FUNCTION {initialize.extra.label.stuff}
+{ #0 int.to.chr$ 'last.label :=
+ "" 'next.extra :=
+ #0 'last.extra.num :=
+ #0 'number.label :=
+}
+
+FUNCTION {label.forward}
+{
+ last.label label =
+ { last.extra.num #1 + 'last.extra.num :=
+ last.extra.num int.to.chr$ 'extra.label :=
+ }
+ { "a" chr.to.int$ 'last.extra.num :=
+ "" 'extra.label :=
+ label 'last.label :=
+ }
+ if$
+ number.label #1 + 'number.label :=
+}
+
+FUNCTION {label.reverse}
+{ next.extra "b" =
+ { "a" 'extra.label := }
+ 'skip$
+ if$
+ extra.label 'next.extra :=
+ extra.label
+ duplicate$ empty$
+ 'skip$
+ { "{\natexlab{" swap$ * "}}" * }
+ if$
+ 'extra.label :=
+ label extra.label * 'label :=
+}
+
+EXECUTE {initialize.extra.label.stuff}
+
+FUNCTION {forward.pass}
+{ type$ "control" = 'control.forward 'label.forward if$
+}
+
+ITERATE {forward.pass}
+
+FUNCTION {reverse.pass}
+{ type$ "control" = 'control.reverse 'label.reverse if$
+}
+
+REVERSE {reverse.pass}
+
+FUNCTION {sortkey.sort}
+{ sort.label
+ " "
+ *
+ year.sort.key
+ field.or.null sortify
+ *
+ " "
+ *
+ title field.or.null sort.format.title
+ *
+ #1 entry.max$ substring$
+ 'sort.key$ :=
+}
+
+FUNCTION {bib.sort.pass}
+{ type$ "control" = 'control.sort 'sortkey.sort if$
+}
+
+ITERATE {bib.sort.pass}
+
+SORT
+
+FUNCTION {init.bib.eprint}
+{
+ "\texttt {"
+ pop$
+ "\providecommand \url [0]{\begingroup\@sanitize@url \@url }%" write$ newline$
+ "\providecommand \@url [1]{\endgroup\@href {#1}{" "}}%" bbl.url.prefix swap$ * * write$ newline$
+ "\providecommand " " [0]{URL }%" bbl.url.prefix swap$ * * write$ newline$
+ eprint.command "\providecommand " swap$ * "[0]{\href }%" * write$ newline$
+}
+
+FUNCTION {init.bib.doi}
+{
+ "\providecommand \doibase [0]{" doi.base "}%" * * write$ newline$
+}
+
+FUNCTION {init.bib.hypertex}
+{
+ "\providecommand " noop.command "[0]{\@secondoftwo}%" * * write$ newline$
+ "\providecommand " href.command "[0]{\begingroup \@sanitize@url \@href}%" * * write$ newline$
+ "\providecommand \@href[1]{\@@startlink{#1}\@@href}%" write$ newline$
+ "\providecommand \@@href[1]{\endgroup#1\@@endlink}%" write$ newline$
+ "\providecommand \@sanitize@url [0]{\catcode `\\12\catcode `\$12\catcode `\&12\catcode `\#12\catcode `\^12\catcode `\_12\catcode `\%12\relax}%" write$ newline$
+ "\providecommand \@@startlink[1]{}%" write$ newline$
+ "\providecommand \@@endlink[0]{}%" write$ newline$
+}
+
+FUNCTION {init.bib.namefont}
+{
+ "\providecommand \bibnamefont [1]{#1}%" write$ newline$
+ "\providecommand \bibfnamefont [1]{#1}%" write$ newline$
+ "\providecommand \citenamefont [1]{#1}%" write$ newline$
+}
+
+FUNCTION {init.bib.quote}
+{
+ "\providecommand " bbl.enquote * " [1]{" *
+ "``" "''"
+ "#1" swap$ "}%" * * * * write$ newline$
+}
+
+FUNCTION {init.bib.ay}
+{
+ "\providecommand \natexlab [1]{#1}%"
+ write$ newline$
+}
+
+FUNCTION {init.bib.bibinfo}
+{
+ bibinfo.command "\providecommand " swap$ * " [0]{\@secondoftwo}%" * write$ newline$
+ bibfield.command "\providecommand " swap$ * " [0]{\@secondoftwo}%" * write$ newline$
+}
+
+FUNCTION {init.bib.lang}
+{
+ "\providecommand \selectlanguage [0]{\@gobble}%" write$ newline$
+}
+
+FUNCTION {init.bib.endbibitem}
+{
+ "\providecommand " bbl.open * "[0]{}%" * write$ newline$
+ "\providecommand \bibitemStop [0]{}%" write$ newline$
+ "\providecommand \bibitemNoStop [0]{.\EOS\space}%" write$ newline$
+ "\providecommand \EOS [0]{\spacefactor3000\relax}%" write$ newline$
+}
+
+FUNCTION {init.bib.translation}
+{
+ "\providecommand \translation [1]{[#1]}%" write$ newline$
+}
+
+FUNCTION {warn.bib}
+{
+}
+
+FUNCTION {init.bib}
+{
+ warn.bib
+ "\makeatletter" write$ newline$
+ "\providecommand \@ifxundefined [1]{%" write$ newline$
+ " \@ifx{#1\undefined}" write$ newline$
+ "}%" write$ newline$
+ "\providecommand \@ifnum [1]{%" write$ newline$
+ " \ifnum #1\expandafter \@firstoftwo" write$ newline$
+ " \else \expandafter \@secondoftwo" write$ newline$
+ " \fi" write$ newline$
+ "}%" write$ newline$
+ "\providecommand \@ifx [1]{%" write$ newline$
+ " \ifx #1\expandafter \@firstoftwo" write$ newline$
+ " \else \expandafter \@secondoftwo" write$ newline$
+ " \fi" write$ newline$
+ "}%" write$ newline$
+ init.bib.ay
+ init.bib.quote
+ init.bib.namefont
+ init.bib.hypertex
+ init.bib.eprint
+ init.bib.doi
+ init.bib.lang
+ init.bib.bibinfo
+ init.bib.translation
+ init.bib.endbibitem
+ "\providecommand " bbl.shut * " [1]{\csname bibitem#1\endcsname}%" * write$ newline$
+ "\let\auto@bib@innerbib\@empty" write$ newline$
+ "%</preamble>" write$
+}
+
+FUNCTION {begin.bib}
+{
+ id.bst diagn.cmntlog
+ control.bib
+ preamble$ empty$
+ 'skip$
+ { preamble$ write$ newline$ }
+ if$
+ "\begin{thebibliography}{"
+ number.label int.to.str$
+ * "}%" *
+ write$ newline$
+ init.bib
+}
+
+EXECUTE {begin.bib}
+
+EXECUTE {init.state.consts}
+
+ITERATE {call.type$}
+
+FUNCTION {end.bib}
+{ newline$
+ "\end{thebibliography}%"
+ write$ newline$
+}
+
+EXECUTE {end.bib}
+
+% \end{macrocode}
+%
+% \begin{macrocode}
+%</aipauth|aipnum|apsrev|apsrmp>
+% \end{macrocode}
+%
+% \endinput
+%
+% \Finale
diff --git a/Master/texmf-dist/source/latex/revtex/revtex4-1.dtx b/Master/texmf-dist/source/latex/revtex4-1/revtex4-1.dtx
index 92df750df38..9fce075351e 100644
--- a/Master/texmf-dist/source/latex/revtex/revtex4-1.dtx
+++ b/Master/texmf-dist/source/latex/revtex4-1/revtex4-1.dtx
@@ -121,16 +121,14 @@ See the REVTeX 4 README file for restrictions and more information.
%</ignore>
% \fi
%
-% \GetFileInfo{revtex4-1.dtx}\CheckSum{7177}
+% \GetFileInfo{revtex4-1.dtx}
%
% \iffalse ltxdoc klootch
%<*package>
%%% @LaTeX-file{
%%% filename = "revtex4-1.dtx",
-%%% version = "4.1r",
-%%% date = "2010/07/25",
-%%% time = "20:33:00 UT-8",
-%%% checksum = "7177",
+%%% version = "4.1s",
+%%% date = "2020/09/30",
%%% author = "Arthur Ogawa (mailto:arthur_ogawa at sbcglobal.net),
%%% commissioned by the American Physical Society.
%%% ",
@@ -148,7 +146,6 @@ See the REVTeX 4 README file for restrictions and more information.
%%% keywords = "latex, page grid, main vertical list",
%%% supported = "yes",
%%% abstract = "package to change page grid, MVL",
-%%% docstring = "The checksum field above generated by ltxdoc",
%%% }
%</package>
% \fi
@@ -222,7 +219,7 @@ See the REVTeX 4 README file for restrictions and more information.
%</doc>
%<*!package&!options>
%<version>
- [2010/07/25/20:33:00 4.1r (http://publish.aps.org/revtex4/ for documentation)]% \fileversion
+ [2020/09/30 4.1s (http://publish.aps.org/revtex4/ for documentation)]% \fileversion
%</!package&!options>
% \end{macrocode}
% The current class name is remembered in \cmd\class@name.
@@ -257,9 +254,10 @@ See the REVTeX 4 README file for restrictions and more information.
\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
+\makeatletter
+\@ifundefined{package@font}{}%
+ {\expandafter\RequirePackage\expandafter{\csname package@font\endcsname}}
+\makeatother
% \end{macrocode}
% We ask for the usual indices and glossaries.
% \begin{macrocode}
@@ -282,7 +280,7 @@ See the REVTeX 4 README file for restrictions and more information.
% \subsection{The Frontmatter File}
% As promised above, here is the contents of the frontmatter file.
% \begin{macrocode}
-\begin{filecontents*}{00readme.tex}
+\begin{filecontents*}[overwrite]{00readme.tex}
\title{%
The \classname{revtex4-1} document class of the American Physical Society%
\protect\thanks{Work under hire to The American Physical Society.}%
@@ -445,6 +443,7 @@ The file \file{template.aps} is a boilerplate file.
\changes{4.1q}{2010/04/01}{(AO, 586) When .bbl is pasted into the document, prevent automatic bibliography inclusion.}%
\changes{4.1q}{2010/04/13}{(AO, 588) Only write \revtex-specific BibTeX .bib data if the .bst style is set by REVTeX.}%
\changes{4.1r}{2010/06/22}{(AO, 595) Provide \cs{lovname} along with other List of Videos definitions.}%
+\changes{4.1s}{2020/09/19}{(PHO) Adapt patches to \cs{document} and \cs{enddocument} to the 2020-10-01 \LaTeX{} release.}%
\end{filecontents*}
% \end{macrocode}