summaryrefslogtreecommitdiff
path: root/macros/latex/contrib/revtex
diff options
context:
space:
mode:
authorNorbert Preining <norbert@preining.info>2020-10-03 03:01:09 +0000
committerNorbert Preining <norbert@preining.info>2020-10-03 03:01:09 +0000
commit0e644e6805342838052f46e6af93f81644d0390b (patch)
tree26169230ce62dc353013ad08fb824f46d9511980 /macros/latex/contrib/revtex
parent37f9a57b2f39142fbccb20b758af8e0502499671 (diff)
CTAN sync 202010030301
Diffstat (limited to 'macros/latex/contrib/revtex')
-rw-r--r--macros/latex/contrib/revtex/README8
-rw-r--r--macros/latex/contrib/revtex/aip/aipguide4-2.pdf (renamed from macros/latex/contrib/revtex/doc/aip/aipguide4-2.pdf)bin270691 -> 270691 bytes
-rw-r--r--macros/latex/contrib/revtex/aip/aipguide4-2.tex (renamed from macros/latex/contrib/revtex/doc/aip/aipguide4-2.tex)0
-rw-r--r--macros/latex/contrib/revtex/aip4-2.dtx (renamed from macros/latex/contrib/revtex/source/aip4-2.dtx)788
-rw-r--r--macros/latex/contrib/revtex/aip4-2.pdfbin0 -> 380853 bytes
-rw-r--r--macros/latex/contrib/revtex/aps/apsguide4-2.pdf (renamed from macros/latex/contrib/revtex/doc/aps/apsguide4-2.pdf)bin232285 -> 232285 bytes
-rw-r--r--macros/latex/contrib/revtex/aps/apsguide4-2.tex (renamed from macros/latex/contrib/revtex/doc/aps/apsguide4-2.tex)0
-rw-r--r--macros/latex/contrib/revtex/auguide/auguide4-2.pdf (renamed from macros/latex/contrib/revtex/doc/auguide/auguide4-2.pdf)bin452319 -> 452319 bytes
-rw-r--r--macros/latex/contrib/revtex/auguide/auguide4-2.tex (renamed from macros/latex/contrib/revtex/doc/auguide/auguide4-2.tex)0
-rw-r--r--macros/latex/contrib/revtex/auguide/docs.sty (renamed from macros/latex/contrib/revtex/doc/auguide/docs.sty)0
-rw-r--r--macros/latex/contrib/revtex/auguide/summary4-2.pdf (renamed from macros/latex/contrib/revtex/doc/auguide/summary4-2.pdf)bin230858 -> 230858 bytes
-rw-r--r--macros/latex/contrib/revtex/auguide/summary4-2.tex (renamed from macros/latex/contrib/revtex/doc/auguide/summary4-2.tex)0
-rw-r--r--macros/latex/contrib/revtex/bibtex/aapmrev4-2.bst3496
-rw-r--r--macros/latex/contrib/revtex/bibtex/aipauth4-1.bst3487
-rw-r--r--macros/latex/contrib/revtex/bibtex/aipauth4-2.bst3501
-rw-r--r--macros/latex/contrib/revtex/bibtex/aipnum4-1.bst3477
-rw-r--r--macros/latex/contrib/revtex/bibtex/aipnum4-2.bst3496
-rw-r--r--macros/latex/contrib/revtex/bibtex/apsrev4-1.bst3457
-rw-r--r--macros/latex/contrib/revtex/bibtex/apsrev4-2.bst3528
-rw-r--r--macros/latex/contrib/revtex/bibtex/apsrmp4-1.bst3448
-rw-r--r--macros/latex/contrib/revtex/bibtex/apsrmp4-2.bst3461
-rw-r--r--macros/latex/contrib/revtex/ltxdocext.dtx (renamed from macros/latex/contrib/revtex/source/ltxdocext.dtx)9
-rw-r--r--macros/latex/contrib/revtex/ltxdocext.pdfbin0 -> 296971 bytes
-rw-r--r--macros/latex/contrib/revtex/ltxfront.dtx (renamed from macros/latex/contrib/revtex/source/ltxfront.dtx)11
-rw-r--r--macros/latex/contrib/revtex/ltxfront.pdfbin0 -> 449328 bytes
-rw-r--r--macros/latex/contrib/revtex/ltxgrid.dtx (renamed from macros/latex/contrib/revtex/source/ltxgrid.dtx)129
-rw-r--r--macros/latex/contrib/revtex/ltxgrid.pdfbin0 -> 609577 bytes
-rw-r--r--macros/latex/contrib/revtex/ltxutil.dtx (renamed from macros/latex/contrib/revtex/source/ltxutil.dtx)171
-rw-r--r--macros/latex/contrib/revtex/ltxutil.pdfbin0 -> 480811 bytes
-rw-r--r--macros/latex/contrib/revtex/revtex4-2.dtx (renamed from macros/latex/contrib/revtex/source/revtex4-2.dtx)19
-rw-r--r--macros/latex/contrib/revtex/revtex4-2.pdfbin0 -> 636035 bytes
-rw-r--r--macros/latex/contrib/revtex/sample/aapm/aapmsamp.bib (renamed from macros/latex/contrib/revtex/doc/sample/aapm/aapmsamp.bib)0
-rw-r--r--macros/latex/contrib/revtex/sample/aapm/aapmsamp.pdf (renamed from macros/latex/contrib/revtex/doc/sample/aapm/aapmsamp.pdf)bin352536 -> 352536 bytes
-rw-r--r--macros/latex/contrib/revtex/sample/aapm/aapmsamp.tex (renamed from macros/latex/contrib/revtex/doc/sample/aapm/aapmsamp.tex)0
-rw-r--r--macros/latex/contrib/revtex/sample/aapm/aapmtemplate.tex (renamed from macros/latex/contrib/revtex/doc/sample/aapm/aapmtemplate.tex)0
-rw-r--r--macros/latex/contrib/revtex/sample/aapm/fig_1.eps (renamed from macros/latex/contrib/revtex/doc/sample/aapm/fig_1.eps)0
-rw-r--r--macros/latex/contrib/revtex/sample/aapm/fig_2.eps (renamed from macros/latex/contrib/revtex/doc/sample/aapm/fig_2.eps)0
-rw-r--r--macros/latex/contrib/revtex/sample/aip/aipsamp.bib (renamed from macros/latex/contrib/revtex/doc/sample/aip/aipsamp.bib)0
-rw-r--r--macros/latex/contrib/revtex/sample/aip/aipsamp.pdf (renamed from macros/latex/contrib/revtex/doc/sample/aip/aipsamp.pdf)bin377909 -> 377909 bytes
-rw-r--r--macros/latex/contrib/revtex/sample/aip/aipsamp.tex (renamed from macros/latex/contrib/revtex/doc/sample/aip/aipsamp.tex)0
-rw-r--r--macros/latex/contrib/revtex/sample/aip/aiptemplate.tex (renamed from macros/latex/contrib/revtex/doc/sample/aip/aiptemplate.tex)0
-rw-r--r--macros/latex/contrib/revtex/sample/aip/fig_1.eps (renamed from macros/latex/contrib/revtex/doc/sample/aip/fig_1.eps)0
-rw-r--r--macros/latex/contrib/revtex/sample/aip/fig_2.eps (renamed from macros/latex/contrib/revtex/doc/sample/aip/fig_2.eps)0
-rw-r--r--macros/latex/contrib/revtex/sample/aps/apssamp.bib (renamed from macros/latex/contrib/revtex/doc/sample/aps/apssamp.bib)0
-rw-r--r--macros/latex/contrib/revtex/sample/aps/apssamp.pdf (renamed from macros/latex/contrib/revtex/doc/sample/aps/apssamp.pdf)bin356378 -> 356378 bytes
-rw-r--r--macros/latex/contrib/revtex/sample/aps/apssamp.tex (renamed from macros/latex/contrib/revtex/doc/sample/aps/apssamp.tex)0
-rw-r--r--macros/latex/contrib/revtex/sample/aps/apstemplate.tex (renamed from macros/latex/contrib/revtex/doc/sample/aps/apstemplate.tex)0
-rw-r--r--macros/latex/contrib/revtex/sample/aps/fig_1.eps (renamed from macros/latex/contrib/revtex/doc/sample/aps/fig_1.eps)0
-rw-r--r--macros/latex/contrib/revtex/sample/aps/fig_2.eps (renamed from macros/latex/contrib/revtex/doc/sample/aps/fig_2.eps)0
-rw-r--r--macros/latex/contrib/revtex/sample/aps/vid_1a.eps (renamed from macros/latex/contrib/revtex/doc/sample/aps/vid_1a.eps)0
-rw-r--r--macros/latex/contrib/revtex/sample/aps/vid_1b.eps (renamed from macros/latex/contrib/revtex/doc/sample/aps/vid_1b.eps)0
-rw-r--r--macros/latex/contrib/revtex/sample/sor/fig_1.eps (renamed from macros/latex/contrib/revtex/doc/sample/sor/fig_1.eps)0
-rw-r--r--macros/latex/contrib/revtex/sample/sor/fig_2.eps (renamed from macros/latex/contrib/revtex/doc/sample/sor/fig_2.eps)0
-rw-r--r--macros/latex/contrib/revtex/sample/sor/sorsamp.bib (renamed from macros/latex/contrib/revtex/doc/sample/sor/sorsamp.bib)0
-rw-r--r--macros/latex/contrib/revtex/sample/sor/sorsamp.pdf (renamed from macros/latex/contrib/revtex/doc/sample/sor/sorsamp.pdf)bin396057 -> 396057 bytes
-rw-r--r--macros/latex/contrib/revtex/sample/sor/sorsamp.tex (renamed from macros/latex/contrib/revtex/doc/sample/sor/sorsamp.tex)0
-rw-r--r--macros/latex/contrib/revtex/sample/sor/sortemplate.tex (renamed from macros/latex/contrib/revtex/doc/sample/sor/sortemplate.tex)0
-rw-r--r--macros/latex/contrib/revtex/source/aip.dtx2062
-rw-r--r--macros/latex/contrib/revtex/source/reftest4-2.tex205
-rw-r--r--macros/latex/contrib/revtex/source/revtex4-1.dtx8297
60 files changed, 273 insertions, 42777 deletions
diff --git a/macros/latex/contrib/revtex/README b/macros/latex/contrib/revtex/README
index f40d9475af..a7812a6d33 100644
--- a/macros/latex/contrib/revtex/README
+++ b/macros/latex/contrib/revtex/README
@@ -1,15 +1,15 @@
%% ****** Start of file README ****** %
%%
%% This file is part of the APS files in the REVTeX 4 distribution.
-%% Version 4.2c of REVTeX, January, 2019.
+%% Version 4.2d of REVTeX, September, 2020.
%%
-%% Copyright (c) 1999-2019 American Physical Society.
+%% Copyright (c) 1999-2020 American Physical Society.
%%
-Last updated 18 January 2019
+Last updated 30 September 2020
This file describes the contents of this distribution of REVTeX 4.2,
-version 4.2c. The definitive source of information about REVTeX 4
+version 4.2d. The definitive source of information about REVTeX 4
is the APS web page http://journals.aps.org/revtex/.
User queries should be directed to revtex@aps.org.
diff --git a/macros/latex/contrib/revtex/doc/aip/aipguide4-2.pdf b/macros/latex/contrib/revtex/aip/aipguide4-2.pdf
index 6c2d31960f..6c2d31960f 100644
--- a/macros/latex/contrib/revtex/doc/aip/aipguide4-2.pdf
+++ b/macros/latex/contrib/revtex/aip/aipguide4-2.pdf
Binary files differ
diff --git a/macros/latex/contrib/revtex/doc/aip/aipguide4-2.tex b/macros/latex/contrib/revtex/aip/aipguide4-2.tex
index 039bfe0372..039bfe0372 100644
--- a/macros/latex/contrib/revtex/doc/aip/aipguide4-2.tex
+++ b/macros/latex/contrib/revtex/aip/aipguide4-2.tex
diff --git a/macros/latex/contrib/revtex/source/aip4-2.dtx b/macros/latex/contrib/revtex/aip4-2.dtx
index 9f949a976c..3c21ef7007 100644
--- a/macros/latex/contrib/revtex/source/aip4-2.dtx
+++ b/macros/latex/contrib/revtex/aip4-2.dtx
@@ -16,9 +16,10 @@
% installation, typeset this document with \LaTeX.
% Maintenance Status
% This work has the LPPL maintenance status "maintained";
-% Current Maintainer of this work is Arthur Ogawa.
+% Current Maintainer of this work is Arthur Ogawa
+% changes for version 4.2d by Phelype Oleinik.
%
-% Version (4.2c)
+% Version (4.2d)
% Modified by Aptara
%
% This work consists of the main source file aip4-2.dtx
@@ -74,13 +75,13 @@ altering it directly is inadvisable;
instead, modify the original source file.
See the URL in the file README-AIP.
-Copyright (c) 2019 American Institute of Physics.
+Copyright (c) 2019--2020 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
-Version (4.2c)
+Version (4.2d)
Modified by Aptara
under contract to American Institute of Physics
@@ -128,7 +129,6 @@ License
% \fi
%
% \GetFileInfo{aip4-2.dtx}
-% \CheckSum{6707}
%% \CharacterTable
%% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
%% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z
@@ -151,14 +151,13 @@ License
%<*package>
%%% @LaTeX-file{
%%% filename = "aip4-2.dtx",
-%%% version = "4.2c",
-%%% date = "2019/01/18",
-%%% time = "14:29:48 GMT-5",
-%%% checksum = "6737",
+%%% version = "4.2d",
+%%% date = "2020/09/30",
%%% author = "Arthur Ogawa (mailto:arthur_ogawa at sbcglobal.net),
+%%% Phelype Oleinik (mailto:phelype.oleinik at latex-project.org),
%%% commissioned by the American Institute of Physics.
%%% ",
-%%% copyright = "Copyright (C) 2019 American Institute of Physics,
+%%% copyright = "Copyright (C) 2019--2020 American Institute of Physics,
%%% distributed under the terms of the
%%% LaTeX Project Public License 1.3c, see
%%% ftp://ctan.tug.org/macros/latex/base/lppl.txt
@@ -174,7 +173,6 @@ License
%%% keywords = "latex, page grid, main vertical list",
%%% supported = "yes",
%%% abstract = "aip substyle for REVTeX",
-%%% docstring = "The checksum field above generated by ltxdoc",
%%% }
%</package>
% \fi
@@ -261,7 +259,7 @@ License
% \begin{macrocode}
%<*driver|package>
%<version>
- [2019/01/18/14:29:48 4.2c AIP substyle for REVTeX]% \fileversion
+ [2020/09/30 4.2d AIP substyle for REVTeX]% \fileversion
%</driver|package>
% \end{macrocode}
%
@@ -1852,7 +1850,6 @@ generate the needed \file{.bst} files and install them in
% \begin{macrocode}
\def\@journal@default{cha}%
\def\@pointsize@default{12}%
-\@booleanfalse\pagerestrict@sw%
% \end{macrocode}
%
% \subsection{Journal-Specific Code}%
@@ -2236,769 +2233,21 @@ generate the needed \file{.bst} files and install them in
%%
% \end{macrocode}
%
-% \subsubsection{\classoption{Page restriction for APL (currently deactivated)}}%
-% This macro was installed to calculate page-lenght for APL articles. Currently this option is deactivated.
-% \begin{macrocode}
-%% XXXXXXXXXXXXXXXXXXXXXXXXXXX CURRENTLY DEACTIVATED XXXXXXXXXXXXXXXXXXXXXXXXXX
-%% To activate, please add "\@booleantrue\pagerestrict@sw" in the
-%% respective journal option
-%% XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
+% \subsubsection{\classoption{Page restriction for APL (removed)}}%
+%
+% This macro was installed to calculate page-lenght for APL articles.
%% Appended by Ms. Sehar Tahir (Aptara) for American Institute of Physics.
%% To impose page restrictions for APL journal at MSP stage.
+%
+% \begin{macrocode}
%%
%% HISTORY
%% Revised page restriction to 4 pages: 05/10/2011
-%% Tweaked the page over length message: 31/10/2011
-\begingroup%
- \catcode`P=12%
- \catcode`T=12%
- \lowercase{%
- \def\x{\def\local@rem@pt##1.##2PT{##1.##2}}}%
- \expandafter\endgroup\x%
-\def\local@strip@pt{\expandafter\local@rem@pt\the}%
+%% Tweaked the page over length message: 31/10/2011
+%% Removed unused page restriction code: 30/09/2020
%%
\DeclareOption{no-pagerestrict}{%
- \@booleanfalse\pagerestrict@sw
-}%
-\appdef\rtx@require@packages{%
-\pagerestrict@sw{% For imposing page restrictions
- \typeout{AIP Info: Appending Manuscript Pages caculations, 2011/05/30}%
- % Default values
- \def\page@allowed{4}% APL Article size limit
- \def\text@ht@allowed{5324pt}% APL Total text height for allowed 4 pages
- \def\page@calc@count{0}% APL Article size limit
- % Message to authors
- \def\msg@text{According to our initial programmatic calculations, your article may exceed APL page length restrictions. The estimated overlength is denoted by the red side bar. In order to avoid production delays, please adjust your text accordingly and replace your manuscript. To assist you with this process, please ensure that your figures, if any, are placed within the text and are the same size that you wish them to appear in the published article.}% Message to be displayed on the top of last page
- \def\msg@runningtitle{% Message definition
- \preprintsty@sw{%
- \@tempdimc\textwidth\advance\@tempdimc-11pt%
- \vtop{\vspace*{-3pc}\fboxsep0pt\fboxrule.5pt\fbox{\fboxsep5pt\colorbox{grayten}{%
- \vtop{\hsize\@tempdimc{{\reset@font\fontsize{9}{11}\def\baselinestretch{1}\leftskip0pt\rightskip0pt\parfillskip0pt plus1fill\selectfont\msg@text\endgraf}}}}}}%
- }{%
- \@tempdimc\textwidth\advance\@tempdimc-7pt%
- \vtop{\vspace*{-2.5pc}\fboxsep0pt\fboxrule.5pt\fbox{\fboxsep3pt\colorbox{grayten}{%
- \vtop{\hsize\@tempdimc{{\reset@font\fontsize{8}{10}\def\baselinestretch{1}\leftskip0pt\rightskip0pt\parfillskip0pt plus1fill\selectfont\msg@text\endgraf}}}}}}}%
- }%
- %
- \RequirePackage{graphicx}%
- \RequirePackage{color}%
- \definecolor{grayten}{gray}{.80}%
- %
- % Taken from refcount.sty
- \def\setrefcountdefault#1{\def\rc@default{#1}}%
- \setrefcountdefault{0}%
- %
- \def\rc@cartwo#1#2#3\@nil{#2}%
- \newcommand*{\rev@getpagerefnumber}[1]{%
- \expandafter\ifx\csname r@#1\endcsname\relax
- \rc@default
- \else
- \expandafter\expandafter\expandafter\rc@cartwo
- \csname r@#1\endcsname\rc@default\rc@default\@nil
- \fi
- }
- \newcommand*{\rev@getrefnumber}[1]{%
- \expandafter\ifx\csname r@#1\endcsname\relax
- \rc@default
- \else
- \expandafter\expandafter\expandafter\@car
- \csname r@#1\endcsname\@nil
- \fi
- }
- % Count determined from \label{...}
- \newcommand\calc@run@count[2][0]{%
- \@ifundefined{r@#2}{\ifnum#1=\z@\@tempcnta\c@page\advance\@tempcnta\m@ne\else\@tempcnta\z@\fi}%
- {\@tempcnta\rev@getpagerefnumber{#2}\relax}}%
- %
- % Taken from everypage.sty
- \newif\iffloats@end\global\floats@endfalse
- \newif\ifextra@rule\global\extra@rulefalse
- %
- \newcommand{\sc@everypage@hook}{}
- \newcommand{\sc@thispage@hook}{}
- \newcommand*{\AddEverypageHook}[1]{%
- \g@addto@macro\sc@everypage@hook{#1}}
- \newcommand*{\AddThispageHook}[1]{%
- \g@addto@macro\sc@thispage@hook{#1}}
- \newcommand*{\sc@ep@init}{%
- \let\sc@op@saved\@outputpage
- \def\@outputpage{%
- \sc@op@preamble
- \sc@op@saved
- \sc@op@postamble}}
- \newcommand*{\sc@op@preamble}{%
- \let\sc@begindvi\@begindvi
- \def\@begindvi{%
- \sc@everypage@hook
- \sc@thispage@hook
- \gdef\sc@thispage@hook{}
- \sc@begindvi}}
- \newcommand*{\sc@op@postamble}{%
- \let\@begindvi\sc@begindvi}
- \AtBeginDocument{\sc@ep@init}
- % Taken from draftwatermark.sty
- \newcommand\sc@colortext[1]{%
- \setlength{\@tempdimb}{0pt}%
- \setlength{\@tempdimc}{-\paperheight}%
- \put(\strip@pt\@tempdimb,\strip@pt\@tempdimc){%
- \textcolor{red}{\rule{30pt}{#1}}
- }}
- % Calculating shift in red side-bar according to pages
- \def\page@mark@shift{%
- \@ifundefined{page@height\romannumeral\the\c@page}{}{%
- \@tempdimc\csname page@height\romannumeral\the\c@page\endcsname\relax%
- \ifdim\@tempdimc>\csname page@mark\romannumeral\the\c@page\endcsname\relax%
- \@tempdimb\textheight\advance\@tempdimb-\csname page@height\romannumeral\the\c@page\endcsname\relax%
- \else%
- \@tempdimb\textheight\advance\@tempdimb-\csname page@mark\romannumeral\the\c@page\endcsname\relax%
- \fi%
- \advance\@tempdima\@tempdimb}}%
- \newcommand\sc@wm@print[1]{\preprintsty@sw{%
- \@tempdima\paperheight\advance\@tempdima-\textheight%
- \divide\@tempdima by 2\advance\@tempdima-7pt\advance\@tempdima1in%
- \floats@sw%
- {\iffloats@end%
- \@ifundefined{r@LastBibItem}{}%
- {\ifnum\c@page<\rev@getpagerefnumber{LastBibItem}\relax%
- \else%
- \page@mark@shift
- \fi}%
- \else%
- \@ifundefined{r@LastPage}{}%
- {\ifnum\c@page=\rev@getpagerefnumber{LastPage}\relax%
- \page@mark@shift
- \fi}%
- \fi}%
- {\@ifundefined{r@EndText}{}%
- {\ifnum\c@page<\rev@getpagerefnumber{EndText}\relax%
- \else%
- \page@mark@shift
- \fi}}}%
- {\@tempdima\paperheight\advance\@tempdima-\textheight%
- \divide\@tempdima by 2\advance\@tempdima9pt\advance\@tempdima1in}%
- \setbox\@tempboxa\vbox to \z@{%
- \vskip-\@tempdima \moveleft 1in \vbox{%
- \hbox to \z@{%
- #1\hss}}\vss}
- \dp\@tempboxa\z@
- \box\@tempboxa}%
- % Printing the red side-bar
- \AddEverypageHook{\def\special@paper{\the\paperwidth,\the\paperheight}\special{papersize=\the\paperwidth,\the\paperheight}%
- \preprintsty@sw{% Preprint
- \@ifundefined{page@mark\romannumeral\the\c@page}{}{%
- \def\tempa{\csname page@mark\romannumeral\the\c@page\endcsname}%
- \sc@wm@print{\sc@colortext{\tempa\relax}}%
- %
- \floats@sw{%
- \iffloats@end\calc@run@count[1]{LastBibItem}\else\calc@run@count[1]{LastPage}\fi%
- }{\ifextra@rule\calc@run@count[1]{LastPage}\else\calc@run@count[1]{EndText}\fi}%
- \ifnum\c@page=\@tempcnta%
- \ifdim\page@calc@count pt>\page@allowed pt\relax%
- \def\@oddhead{\msg@runningtitle}%
- \def\@evenhead{\msg@runningtitle}%
- \fi%
- \fi}}{% Reprint
- \ifnum\c@page>\page@allowed%
- \sc@wm@print{\sc@colortext{\textheight}}%
- \calc@run@count[1]{LastPage}%
- \ifnum\c@page=\@tempcnta%
- \def\@oddhead{\msg@runningtitle}%
- \def\@evenhead{\msg@runningtitle}%
- \fi%
- \fi%
- }}%
- %
- % Print pages = 2*[(MSP Title portion height)/1.98] + (MSP Text height)/1.32 + (MSP Float height)/1.11
- %
- %
- \@booleantrue\tally@box@size@sw % Activated to get hold of various dimensions
- %
- \newif\ifwrite@title\global\write@titletrue%
- %
- \newdimen\val@calc@dim% dimen used to translate MSP height to TSP height
- \newdimen\make@title@dim% dimen storing height of maketitle portion
- \newdimen\tsp@floatheight% dimen storing extra height for large floats
- \newdimen\curr@figbox@ht% dimen storing current figure box height
- \newdimen\curr@floatht%
- \newdimen\curr@floatwidth%
- \newdimen\curr@tot@float@ht%
- \newdimen\curr@page@ht% dimen storing current page height
- %
- \newsavebox{\figbox}%
- %
- \def\name@fig{figure}%
- \def\same@fig{none}%
- \def\in@flt{none}%
- \def\max@pg@ht{0}%
- \def\ptm{ptm}%
- %
- \gdef\@restrict@error#1#2{%
- \GenericError{%
- \space\space\space\@spaces\@spaces\@spaces
- }{%
- LaTeX Error: #1%
- }{%
- A red side-bar will appear along the extra text on the PDF pages. Press `Enter' to continue.%
- }{#2}%
- }%
- \preprintsty@sw{% For Preprint
- % Adding Float height to the height of each page
- \def\add@flt@pght{%
- \@ifundefined{flt@on@page\romannumeral\the\c@page}{}%
- {\@tempdimc\curr@page@ht\advance\@tempdimc\csname flt@on@page\romannumeral\the\c@page\endcsname\relax%
- \ifdim\@tempdimc>\textheight%
- \global\curr@page@ht\textheight%
- \else%
- \global\advance\curr@page@ht\csname flt@on@page\romannumeral\the\c@page\endcsname\relax%
- \fi}%
- \expandafter\xdef\csname page@height\romannumeral\the\c@page\endcsname{\the\curr@page@ht}}%
- % Storing height of each page
- \appdef\@outputpage@head{%
- \floats@sw{%
- \iffloats@end%
- \@ifundefined{r@LastBibHt}%
- {\add@flt@pght}
- {\ifnum\c@page=\rev@getpagerefnumber{LastBibHt}\relax%
- \@tempdima\rev@getrefnumber{LastBibHt}\relax%
- \expandafter\xdef\csname page@height\romannumeral\the\c@page\endcsname{\the\@tempdima}%
- \else%
- \add@flt@pght%
- \fi}%
- \else%
- \add@flt@pght%
- \fi%
- }{%
- \@ifundefined{r@EndText}%
- {\expandafter\xdef\csname page@height\romannumeral\the\c@page\endcsname{\the\curr@page@ht}
- }{\ifnum\c@page=\rev@getpagerefnumber{EndText}\relax%
- \@tempdima\rev@getrefnumber{EndText}\relax%
- \expandafter\xdef\csname page@height\romannumeral\the\c@page\endcsname{\the\@tempdima}%
- \else%
- \expandafter\xdef\csname page@height\romannumeral\the\c@page\endcsname{\the\curr@page@ht}%
- \fi}%
- }%
- \global\curr@page@ht\z@%
- }%
- % Calculating and adding Maketitle portion size (ratio=1.98)
- % Redefined
- \def\show@box@size#1#2{%
- % \show@box@size@sw{%
- \begingroup
- \setbox\z@\vbox{\unvcopy#2\hrule}%
- \show@box@size@sw{%
- \class@info{Show box size: #1^^J%
- (\the\ht\z@\space X \the\wd\z@)
- \the\c@page\space\space\the\pagegrid@cur\space\the\pagegrid@col
- }}{}%
- \global\advance\curr@page@ht\ht\z@%
- \ifwrite@title%
- \@ifundefined{r@FirstPage}{\@tempcnta\the\c@page}%
- {\@tempcnta\rev@getpagerefnumber{FirstPage}\relax}%
- \ifnum\c@page=\@tempcnta
- \global\make@title@dim\ht\z@
- \@tempdima\make@title@dim
- \divide\@tempdima by 198\relax
- \multiply\@tempdima by 100\relax
- \global\advance\val@calc@dim\@tempdima%
- \global\advance\val@calc@dim\@tempdima%
- \global\write@titlefalse%
- \fi%
- \fi%
- \endgroup
- % }{}%
- }%
- % Calculating and adding Float portion size
- % Redefined
- \let\oldincludegraphics\includegraphics%
- \def\includegraphics{%
- \@ifnextchar[%]
- {\two@includegraphics}{\one@includegraphics}}%
- \def\one@includegraphics#1{\savebox{\figbox}{\oldincludegraphics{#1}}\oldincludegraphics{#1}%
- \ifx\in@flt\name@fig%
- \ifx\same@fig\name@fig%
- \@tempdimc\curr@floatwidth\advance\@tempdimc\wd\figbox%
- \ifdim\@tempdimc>\textwidth%
- \ifdim\wd\figbox>\curr@floatwidth%
- \global\curr@floatwidth\wd\figbox%
- \fi%
- \global\advance\curr@figbox@ht\ht\figbox%
- \global\advance\curr@figbox@ht\dp\figbox%
- \else%
- \ifdim\ht\figbox>\curr@figbox@ht%
- \global\curr@figbox@ht\ht\figbox%
- \global\advance\curr@figbox@ht\dp\figbox%
- \fi%
- \global\advance\curr@floatwidth\wd\figbox%
- \fi%
- \else%
- \global\curr@floatwidth\wd\figbox%
- \global\curr@figbox@ht\ht\figbox%
- \global\advance\curr@figbox@ht\dp\figbox%
- \gdef\same@fig{figure}%
- \fi%
- \fi}%
- \def\two@includegraphics[#1]#2{\savebox{\figbox}{\oldincludegraphics[#1]{#2}}\oldincludegraphics[#1]{#2}%
- \ifx\in@flt\name@fig%
- \ifx\same@fig\name@fig%
- \@tempdimc\curr@floatwidth\advance\@tempdimc\wd\figbox%
- \ifdim\@tempdimc>\textwidth%
- \ifdim\wd\figbox>\curr@floatwidth%
- \global\curr@floatwidth\wd\figbox%
- \fi%
- \global\advance\curr@figbox@ht\ht\figbox%
- \global\advance\curr@figbox@ht\dp\figbox%
- \else%
- \ifdim\ht\figbox>\curr@figbox@ht%
- \global\curr@figbox@ht\ht\figbox%
- \global\advance\curr@figbox@ht\dp\figbox%
- \fi%
- \global\advance\curr@floatwidth\wd\figbox%
- \fi%
- \else%
- \global\curr@floatwidth\wd\figbox%
- \global\curr@figbox@ht\ht\figbox%
- \global\advance\curr@figbox@ht\dp\figbox%
- \gdef\same@fig{figure}%
- \fi%
- \fi}%
- % Redefined
- \def\@xfloat#1[#2]{\def\temp{#1}\ifx\temp\name@fig\gdef\in@flt{figure}\fi%
- \@xfloat@prep
- \@nameuse{fp@proc@#2}%
- \floats@sw{\@xfloat@LaTeX{#1}[#2]}{\@xfloat@anchored{#1}[]}%
- }%
- % Autolabelling of floats to get their exact page placement
- \appdef\@floatboxreset{%
- \@ifundefined{float\romannumeral\the\c@page}%
- {\expandafter\xdef\csname float\romannumeral\the\c@page\endcsname{\@ne}%
- \xdef\flt@pg@label{float\romannumeral\the\c@page-\romannumeral\@ne}}%
- {\@tempcnta=\csname float\romannumeral\the\c@page\endcsname\advance\@tempcnta\@ne%
- \expandafter\xdef\csname float\romannumeral\the\c@page\endcsname{\the\@tempcnta}%
- \xdef\flt@pg@label{float\romannumeral\the\c@page-\romannumeral\the\@tempcnta}}%
- \label{\flt@pg@label}}%
- % Defining a pagewise fix for TSP height whereever a float occurs
- \def\tsp@float@fix{%
- \@ifundefined{r@\flt@pg@label}{}%
- {\@tempcnta=\rev@getpagerefnumber{\flt@pg@label}\relax%
- \@ifundefined{flt@ht@fix\romannumeral\the\@tempcnta}%
- {\expandafter\xdef\csname flt@ht@fix\romannumeral\the\@tempcnta\endcsname{\the\@tempdimc}}%
- {\advance\@tempdimc\csname flt@ht@fix\romannumeral\the\@tempcnta\endcsname\relax%
- \expandafter\xdef\csname flt@ht@fix\romannumeral\the\@tempcnta\endcsname{\the\@tempdimc}}}}%
- %
- \floats@sw{%
- % Normal Floats
- \appdef\check@currbox@count{%
- \@ifnum{\count\@currbox>\z@}{%
- % Float height calculation to be added in page height
- \@tempdimb\ht\@currbox\advance\@tempdimb\dp\@currbox%
- \@tempcnta=\rev@getpagerefnumber{\flt@pg@label}\relax%
- \@ifundefined{flt@on@page\romannumeral\the\@tempcnta}%
- {\expandafter\xdef\csname flt@on@page\romannumeral\the\@tempcnta\endcsname{\the\@tempdimb}}%
- {\advance\@tempdimb\csname flt@on@page\romannumeral\the\@tempcnta\endcsname\relax%
- \expandafter\xdef\csname flt@on@page\romannumeral\the\@tempcnta\endcsname{\the\@tempdimb}}%
- %
- \ifx\@captype\name@fig%
- \ifdim\curr@floatwidth>20.5pc%
- \ifdim\curr@floatwidth>30pc% Everything added 2 times for calculating column width
- \@tempdimc\ht\@currbox\advance\@tempdimc\dp\@currbox
- \global\advance\tsp@floatheight\@tempdimc%
- % Calculating equivalent TSP height of each figure
- \tsp@float@fix
- \else%
- \@tempdima\ht\@currbox\advance\@tempdima\dp\@currbox%
- \advance\@tempdima-\curr@figbox@ht%
- \global\advance\curr@tot@float@ht-\@tempdima%
- %
- \global\advance\tsp@floatheight\ht\@currbox%
- \global\advance\tsp@floatheight\dp\@currbox%
- \global\advance\tsp@floatheight-\@tempdima%
- % Calculating equivalent TSP height of each figure
- \@tempdimc\curr@figbox@ht%
- \tsp@float@fix
- \fi%
- \fi%
- \else%
- \@tempdimc\ht\@currbox\advance\@tempdimc\dp\@currbox
- \global\advance\tsp@floatheight\@tempdimc%
- % Calculating equivalent TSP height of each figure
- \tsp@float@fix
- \fi%
- \gdef\in@flt{none}\gdef\same@fig{none}%
- }{}}%
- \def\total@float#1{%
- \expandafter\let
- \expandafter\@tempa
- \csname fbox@\csname ftype@#1\endcsname\endcsname
- \@ifnotrelax\@tempa{%
- \@ifhbox\@tempa{%
- \@tempdima\the\ht\@tempa\divide\@tempdima\@twopowertwo\@tempcnta\@tempdima
- \@tempdimb\the\dp\@tempa\divide\@tempdimb\@twopowertwo\@tempcntb\@tempdimb
- \class@info{Total #1: Column(\the\@tempcnta pt), Page(\the\@tempcntb pt)}%
- \global\advance\curr@tot@float@ht\@tempcnta pt\global\advance\curr@tot@float@ht\@tempcntb pt
- }{}%
- }{}%
- }%
- }{
- % End of document Floats
- \def\strt@flt#1#2#3{\edef\flt@page{#1}\edef\flt@pgtot{#2}\edef\flt@pggoal{#3}}
- % Redefined
- \let\old@xfloat@anchored\@xfloat@anchored
- \def\@xfloat@anchored#1[#2]{\old@xfloat@anchored#1[#2]%
- \floatp@sw{}{\strt@flt{\the\c@page}{\the\pagetotal}{\the\pagegoal}\curr@floatht\pagetotal}}%
- \appdef\end@float@anchored{%
- \floatp@sw{%
- \curr@floatht\pagetotal%
- \ifx\@captype\name@fig%
- \ifdim\curr@floatwidth>20.5pc%
- \ifdim\curr@floatwidth>30pc%
- \global\advance\tsp@floatheight\curr@floatht%
- % Calculating equivalent TSP height of each figure
- \@tempdimc\curr@floatht%
- \tsp@float@fix
- \else%
- \@tempdima\curr@floatht\advance\@tempdima-\curr@figbox@ht%
- \global\advance\curr@tot@float@ht-\@tempdima%
- %
- \global\advance\tsp@floatheight\curr@floatht%
- \global\advance\tsp@floatheight-\@tempdima%
- % Calculating equivalent TSP height of each figure
- \@tempdimc\curr@figbox@ht%
- \tsp@float@fix
- \fi%
- \fi%
- \else%
- \global\advance\tsp@floatheight\curr@floatht%
- % Calculating equivalent TSP height of each figure
- \@tempdimc\curr@floatht%
- \tsp@float@fix
- \fi%
- }{%
- \ifnum\c@page=\flt@page%
- \@tempdima\pagetotal\advance\@tempdima-\curr@floatht%
- \global\curr@floatht\@tempdima%
- \ifx\@captype\name@fig%
- \ifdim\curr@floatwidth>20.5pc%
- \ifdim\curr@floatwidth>30pc%
- \global\advance\tsp@floatheight\curr@floatht%
- % Calculating equivalent TSP height of each figure
- \@tempdimc\curr@floatht%
- \tsp@float@fix
- \else%
- \@tempdimb\curr@floatht\advance\@tempdimb-\curr@figbox@ht%
- \global\advance\curr@tot@float@ht-\@tempdimb%
- %
- \global\advance\tsp@floatheight\curr@floatht%
- \global\advance\tsp@floatheight-\@tempdimb%
- % Calculating equivalent TSP height of each figure
- \@tempdimc\curr@figbox@ht%
- \tsp@float@fix
- \fi%
- \fi%
- \else%
- \global\advance\tsp@floatheight\curr@floatht%
- % Calculating equivalent TSP height of each figure
- \@tempdimc\curr@floatht%
- \tsp@float@fix
- \fi%
- \else%
- \ifx\@captype\name@fig%
- \@tempdima\flt@pggoal\relax\advance\@tempdima-\flt@pgtot\relax
- \ifdim\pagetotal>\@tempdima
- \global\curr@floatht\@tempdima%
- \else%
- \global\curr@floatht\pagetotal%
- \fi%
- \else%
- \@tempdima\flt@pggoal\relax\advance\@tempdima-\flt@pgtot\relax
- \advance\@tempdima\pagetotal%
- \global\curr@floatht\@tempdima%
- \fi%
- \@tempcnta\c@page\advance\@tempcnta-\flt@page\relax%
- \ifnum\@tempcnta>\z@%
- \advance\@tempcnta\m@ne%
- \@whilenum\@tempcnta>\z@\do
- {\global\advance\curr@floatht\pagegoal%
- \advance\@tempcnta\m@ne}
- \fi%
- \ifx\@captype\name@fig%
- \ifdim\curr@floatwidth>20.5pc%
- \global\advance\tsp@floatheight\curr@floatht%
- % Calculating equivalent TSP height of each figure
- \@tempdimc\curr@floatht%
- \tsp@float@fix%
- \fi%
- \else%
- \global\advance\tsp@floatheight\curr@floatht%
- % Calculating equivalent TSP height of each figure
- \@tempdimc\curr@floatht%
- \tsp@float@fix%
- \fi%
- \fi%
- }%
- \global\advance\curr@tot@float@ht\curr@floatht%
- \gdef\in@flt{none}\gdef\same@fig{none}}%
- }% floats
- % Calculating and adding Text portion size
- \def\no@dim@exceed{% TSP dimen should not exceed maxdimen
- \ifx\f@family\ptm%
- \@tempdimc13002.380952pt\relax % 16383pt represented in terms of TSP
- \else%
- \@tempdimc12411.36322pt\relax % 16383pt represented in terms of TSP
- \fi%
- \advance\@tempdimc-\val@calc@dim%
- \ifdim\@tempdima>\@tempdimc%
- \@tempcnta=\max@pg@ht\relax%
- \advance\@tempcnta\@ne%
- \xdef\max@pg@ht{\the\@tempcnta}% Number of batches eq to maxdimen
- \ifx\f@family\ptm%
- \global\advance\val@calc@dim-13002.380952pt\relax % 16383pt represented in terms of TSP
- \else%
- \global\advance\val@calc@dim-12411.36322pt\relax % 16383pt represented in terms of TSP
- \fi%
- \global\advance\val@calc@dim\@tempdima%
- \else%
- \global\advance\val@calc@dim\@tempdima%
- \fi}%
- \appdef\total@text{%
- % Avoiding the \maxdimen error
- % Divided the text height in batches of 16383pt (less than maxdimen)
- \@tempcnta=\z@%
- \@whilenum\@tempcntb>16383\relax%
- \do{%
- \advance\@tempcntb-16383\relax%
- \advance\@tempcnta\@ne%
- }%
- \xdef\max@pg@ht{\the\@tempcnta}% Number of batches eq to maxdimen
- % Text height calculation
- \@tempdima\the\@tempcntb pt
- \advance\@tempdima-\make@title@dim%
- % Main macro
- \floats@sw{}{%
- % Text height calculation for end of doc floats
- \advance\@tempdima-\curr@tot@float@ht}%
- % Storing value of available MSP text height for future reference
- \@tempdimb\@tempdima%
- % Text TSP ratio
- \ifx\f@family\ptm% ratio=1.26
- \divide\@tempdima by 126\relax
- \multiply\@tempdima by 100\relax
- \else% ratio=1.32
- \divide\@tempdima by 132\relax
- \multiply\@tempdima by 100\relax
- \fi%
- \global\advance\val@calc@dim\@tempdima%
- % Floats height and TSP ratio (ratio=1.11)
- \@tempdima\curr@tot@float@ht%
- \divide\@tempdima by 111\relax
- \multiply\@tempdima by 100\relax
- % Checking and adding the Float height dimen
- \no@dim@exceed
- %
- \ifdim\tsp@floatheight>\z@
- \@tempdima\tsp@floatheight%
- \divide\@tempdima by 111\relax
- \multiply\@tempdima by 100\relax
- % Checking and adding the TSP Float height dimen
- \no@dim@exceed
- %
- \fi%
- % Extra Text height calculation
- \@tempdima\val@calc@dim\advance\@tempdima-\text@ht@allowed\relax
- \ifx\f@family\ptm% ratio=1.26
- \divide\@tempdima by 100\relax
- \multiply\@tempdima by 126\relax
- \else% ratio=1.32
- \divide\@tempdima by 100\relax
- \multiply\@tempdima by 132\relax
- \fi%
- % Adding extra batches of text (if required)
- \@tempcntb=\max@pg@ht\relax
- \ifnum\@tempcntb>\z@%
- \@tempcnta16383\relax
- \multiply\@tempcnta\@tempcntb\relax
- \typeout{AIP Info: Extra Typeset Text: \the\@tempdima+\the\@tempcnta pt}%
- %
- \@tempdimc\@tempdima%
- \advance\@tempdimc-\@tempdimb%
- \ifdim\@tempdimc>\z@%
- \global\extra@ruletrue\immediate\write\@mainaux{\string\global\string\extra@ruletrue}%
- \else%
- \advance\@tempdimc16383pt\relax
- \ifdim\@tempdimc>\z@%
- \global\extra@ruletrue\immediate\write\@mainaux{\string\global\string\extra@ruletrue}%
- \fi%
- \fi%
- \else%
- \ifdim\@tempdima>\z@\typeout{AIP Info: Extra Typeset Text: \the\@tempdima}\fi%
- \@tempdimc\@tempdima
- \advance\@tempdimc-\@tempdimb%
- \ifdim\@tempdimc>\z@%
- \global\extra@ruletrue%
- \fi%
- \fi%
- % Rule calculation loop
- % Modifying the rule height
- \@tempcntb=\max@pg@ht\relax
- \ifnum\@tempcntb>\z@
- \loop\ifdim\@tempdima>\z@\else\do
- \advance\@tempdima16383pt\relax
- \advance\@tempcntb\m@ne
- \repeat
- \fi%
- % Rule generation
- % Set the count for loop
- \ifdim\@tempdima>\z@
- % Resetting the value of loop count (\@tempcnta)
- \ifextra@rule%
- \calc@run@count{LastPage}%
- \else%
- \floats@sw{%
- \iffloats@end\calc@run@count{LastBibItem}\else\calc@run@count{LastPage}\fi%
- }{\calc@run@count{EndText}}%
- \fi%
- % Storing the value of Start of Loop run count
- \ifextra@rule\xdef\loop@count{\rev@getpagerefnumber{LastBibItem}}\else\xdef\loop@count{\the\@tempcnta}\fi%
- % Count of last page of rule
- \def\rule@display{% Total rule dim(\@tempdima) > current page height (already known till here)
- \ifnum\@tempcnta<\loop@count\relax%
- \@tempdimb\textheight%
- \else%
- \@tempdimb\csname page@height\romannumeral\the\@tempcnta\endcsname\relax%
- \fi%
- }%
- % Loop
- \@whilenum\@tempcnta>\z@%
- \do{%
- \@ifundefined{page@height\romannumeral\the\@tempcnta}{}%
- {\global\advance\@tempdima-\csname page@height\romannumeral\the\@tempcnta\endcsname\relax}%
- \ifdim\@tempdima>\z@ % Rule spans complete page
- % Fixing rule height w.r.t Float on the page
- \@ifundefined{flt@ht@fix\romannumeral\the\@tempcnta}{}%
- {\global\advance\@tempdima-\csname flt@ht@fix\romannumeral\the\@tempcnta\endcsname\relax}%
- \ifdim\@tempdima>\z@%
- \@ifundefined{page@height\romannumeral\the\@tempcnta}%
- {\@tempdimb\z@}%
- {\rule@display}%
- \else% Rule dimen less than 0 after float fix
- % Including maxdimens
- \ifnum\@tempcntb>\z@%
- \advance\@tempcntb\m@ne%
- \advance\@tempdima16383pt\relax%
- \@ifundefined{page@height\romannumeral\the\@tempcnta}%
- {\@tempdimb\z@}%
- {\ifdim\@tempdima>\z@%
- \rule@display%
- \else%
- \divide\@tempdima by \tw@%
- \@tempdimb\csname page@height\romannumeral\the\@tempcnta\endcsname\relax%
- \advance\@tempdimb\@tempdima%
- \@tempdima=\z@% Exiting the loop
- \fi}%
- \else%
- \divide\@tempdima by \tw@%
- \@tempdimb\csname page@height\romannumeral\the\@tempcnta\endcsname\relax%
- \advance\@tempdimb\@tempdima%
- \@tempdima=\z@% Exiting the loop
- \fi%
- \fi%
- \if@filesw
- \immediate\write\@mainaux{\expandafter\string\xdef\expandafter\string\csname page@mark\romannumeral\the\@tempcnta\endcsname{\the\@tempdimb}}%
- \fi%
- \else% Rule length is less than page height
- % Including maxdimens
- \ifnum\@tempcntb>\z@%
- \advance\@tempcntb\m@ne%
- \advance\@tempdima16383pt\relax%
- % Fixing rule height w.r.t Float on the page
- \@ifundefined{flt@ht@fix\romannumeral\the\@tempcnta}{}%
- {\global\advance\@tempdima-\csname flt@ht@fix\romannumeral\the\@tempcnta\endcsname\relax}%
- \ifdim\@tempdima>\z@%
- \@ifundefined{page@height\romannumeral\the\@tempcnta}%
- {\@tempdimb\z@}%
- {\rule@display}%
- \else%
- \divide\@tempdima by \tw@%
- \@tempdimb\csname page@height\romannumeral\the\@tempcnta\endcsname\relax%
- \advance\@tempdimb\@tempdima%
- \@tempdima=\z@% Exiting the loop
- \fi%
- \else%
- \@ifundefined{page@height\romannumeral\the\@tempcnta}%
- {\@tempdimb\z@}%
- {\@tempdimb\csname page@height\romannumeral\the\@tempcnta\endcsname\relax}%
- \advance\@tempdimb\@tempdima%
- \fi%
- \ifdim\@tempdimb>\z@%
- \if@filesw
- \immediate\write\@mainaux{\expandafter\string\xdef\expandafter\string\csname page@mark\romannumeral\the\@tempcnta\endcsname{\the\@tempdimb}}%
- \fi%
- \fi%
- \fi%
- \ifdim\@tempdimb>\z@\advance\@tempcnta\m@ne\else\@tempcnta=\z@\fi%
- \ifnum\@tempcnta=\z@\@tempdima=\z@\fi%
- }%
- \fi
- % Representing MSP text height in terms of TSP pages
- \@tempdima\val@calc@dim
- \divide\@tempdima by 6655\relax % in terms of textheight of TSP
- \multiply\@tempdima by 10\relax
- \divide\@tempdima by 2\relax
- \global\val@calc@dim\@tempdima%
- % If maxdimens
- \@tempcnta=\max@pg@ht\relax
- \@whilenum\@tempcnta>\z@
- \do{%
- \advance\@tempcnta\m@ne
- \ifx\f@family\ptm%
- \@tempdima13002.380952pt\relax % 16383pt represented in terms of TSP
- \else%
- \@tempdima12411.36322pt\relax % 16383pt represented in terms of TSP
- \fi%
- \divide\@tempdima by 6655\relax
- \multiply\@tempdima by 10\relax
- \divide\@tempdima by 2\relax
- \global\advance\val@calc@dim\@tempdima
- }%
- \xdef\page@calc@count{\local@strip@pt\val@calc@dim}%
- \immediate\write\@mainaux{\string\xdef\string\page@calc@count{\page@calc@count}}
- \if@filesw%
- \typeout{AIP Info: Typeset pages: \page@calc@count}%
- \ifdim\val@calc@dim>\page@allowed pt\relax
- \@restrict@error{Your text appears to exceed the APL page limit.^^JPlease reduce the length of your article to avoid publication delays}{AIP recommendation: Please reduce your article length.}
- \fi%
- \fi%
- }% end \total@text
- %
- \prepdef\printfigures{\@booleantrue\lengthcheck@sw%
- \floats@sw{}%
- {\ifdim\pagetotal=\z@%
- \@tempcntb=\the\c@page%
- \loop%
- \advance\@tempcntb\m@ne%
- \ifdim\csname page@height\romannumeral\the\@tempcntb\endcsname>\z@\else\do%
- \repeat%
- \@bsphack%
- \protected@write\@auxout{}{\string\newlabel{EndText}{{\csname page@height\romannumeral\the\@tempcntb\endcsname}{\the\@tempcntb}}}%
- \@esphack%
- \else%
- \def\@currentlabel{\the\pagetotal}\label{EndText}%
- \fi}}%
- %
- \floats@sw{\appdef\endNAT@thebibliography{%
- \ifnum\c@figure=\z@%
- \ifnum\c@table=\z@%
- \global\floats@endtrue\immediate\write\@mainaux{\string\global\string\floats@endtrue}%
- \def\@currentlabel{\the\pagetotal}\label{LastBibHt}%
- \fi\fi}}{}
- % end preprint
- }{% For Reprint
- \gappdef\class@enddocumenthook{%
- \calc@run@count[1]{LastPage}%
- \ifnum\@tempcnta>\page@allowed\relax
- \@restrict@error{Your text appears to exceed the APL page limit.^^JPlease reduce the length of your article to avoid publication delays}{AIP recommendation: Please reduce your article length.}
- \fi}%
- }% reprint
- }{}%
+ \class@warn{Deprecated pagerestrict code. Option 'no-pagerestrict' was ignored.}}%
% \end{macrocode}
% End of \classoption{apl} pagerestriction code.
%
@@ -3010,6 +2259,7 @@ generate the needed \file{.bst} files and install them in
%%
%% JMP, BMF and RSE journal's to be as one column at Reprint stage
%%
+\appdef\rtx@require@packages{%
\def\jnl@rse{rse}%
\def\jnl@jmp{jmp}%
\preprintsty@sw{}%
diff --git a/macros/latex/contrib/revtex/aip4-2.pdf b/macros/latex/contrib/revtex/aip4-2.pdf
new file mode 100644
index 0000000000..e46b49bf71
--- /dev/null
+++ b/macros/latex/contrib/revtex/aip4-2.pdf
Binary files differ
diff --git a/macros/latex/contrib/revtex/doc/aps/apsguide4-2.pdf b/macros/latex/contrib/revtex/aps/apsguide4-2.pdf
index 02819f0cec..02819f0cec 100644
--- a/macros/latex/contrib/revtex/doc/aps/apsguide4-2.pdf
+++ b/macros/latex/contrib/revtex/aps/apsguide4-2.pdf
Binary files differ
diff --git a/macros/latex/contrib/revtex/doc/aps/apsguide4-2.tex b/macros/latex/contrib/revtex/aps/apsguide4-2.tex
index f50d9a832e..f50d9a832e 100644
--- a/macros/latex/contrib/revtex/doc/aps/apsguide4-2.tex
+++ b/macros/latex/contrib/revtex/aps/apsguide4-2.tex
diff --git a/macros/latex/contrib/revtex/doc/auguide/auguide4-2.pdf b/macros/latex/contrib/revtex/auguide/auguide4-2.pdf
index aae56da335..aae56da335 100644
--- a/macros/latex/contrib/revtex/doc/auguide/auguide4-2.pdf
+++ b/macros/latex/contrib/revtex/auguide/auguide4-2.pdf
Binary files differ
diff --git a/macros/latex/contrib/revtex/doc/auguide/auguide4-2.tex b/macros/latex/contrib/revtex/auguide/auguide4-2.tex
index deeaf3aeb6..deeaf3aeb6 100644
--- a/macros/latex/contrib/revtex/doc/auguide/auguide4-2.tex
+++ b/macros/latex/contrib/revtex/auguide/auguide4-2.tex
diff --git a/macros/latex/contrib/revtex/doc/auguide/docs.sty b/macros/latex/contrib/revtex/auguide/docs.sty
index f401506cb6..f401506cb6 100644
--- a/macros/latex/contrib/revtex/doc/auguide/docs.sty
+++ b/macros/latex/contrib/revtex/auguide/docs.sty
diff --git a/macros/latex/contrib/revtex/doc/auguide/summary4-2.pdf b/macros/latex/contrib/revtex/auguide/summary4-2.pdf
index 4738c9f1ae..4738c9f1ae 100644
--- a/macros/latex/contrib/revtex/doc/auguide/summary4-2.pdf
+++ b/macros/latex/contrib/revtex/auguide/summary4-2.pdf
Binary files differ
diff --git a/macros/latex/contrib/revtex/doc/auguide/summary4-2.tex b/macros/latex/contrib/revtex/auguide/summary4-2.tex
index 7ba76a1622..7ba76a1622 100644
--- a/macros/latex/contrib/revtex/doc/auguide/summary4-2.tex
+++ b/macros/latex/contrib/revtex/auguide/summary4-2.tex
diff --git a/macros/latex/contrib/revtex/bibtex/aapmrev4-2.bst b/macros/latex/contrib/revtex/bibtex/aapmrev4-2.bst
deleted file mode 100644
index 38e829fddd..0000000000
--- a/macros/latex/contrib/revtex/bibtex/aapmrev4-2.bst
+++ /dev/null
@@ -1,3496 +0,0 @@
-%%
-%% This is file `aapmrev4-2.bst', and is a hand-edited version of aapmrev4-1.bst
- % ===============================================================
- % IMPORTANT NOTICE:
- % This 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.
- % ===============================================================
- %-------------------------------------------------------------------
- % 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
- %---------------------------------------------------------------------
-
-FUNCTION {id.bst} {"aapmrev4-2.bst 2019-01-14 (MD) hand-edited version of aapmrev4-1.bst"}
-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
- #8 +
- 'control.author :=
- #0
- 'control.author.jnrlst :=
- #0
- 'control.author.dotless :=
- #0
- 'control.author.nospace :=
- #1
- 'control.author.initials :=
- #0
- 'control.author.nocomma :=
- #0
- 'control.author.first :=
- #0
- 'control.author.reversed :=
- #1
- '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."}
-
-MACRO {jhep} {"J. High Energy Phys."}
-MACRO {jcap} {"J. Cosmol. Astropart. Phys."}
-MACRO {jinst} {"J. Instrum."}
-MACRO {jstat} {"J. Stat. Mech.: Theory Exp."}
-
-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}
-{
- "https://arxiv.org/abs"
-}
-
-FUNCTION {archiv.prefix.base}
-{
- "arXiv"
-}
-
-FUNCTION {eprint.command}
-{
- "\Eprint "
-}
-
-FUNCTION {format.eprint.controlled}
-{
- eprint duplicate$ empty$
- control.eprint #1 =
- 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.eprint}
-{
- eprint duplicate$ empty$
- { 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 {names.comma}
-{
- "," *
-}
-
-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$
- numnames #2 >
- 'names.comma
- 'skip$
- if$
- 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.comma
- '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
- *
- }
- if$
-}
-
-FUNCTION {format.isbn.output}
-{
-}
-
-FUNCTION {format.issn.output}
-{
-}
-
-FUNCTION {doi.base}
-{
- "https://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$
- }
- {
- "https://doi.org/" 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$ ""
- }{
- 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$
- {
- }
- '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
-}
-
-FUNCTION {format.chapter.pages}
-{ chapter empty$
- {
- format.pages
- }
- { type empty$
- {
- bbl.chapter
- capitalize
- }{
- type
- capitalize
- "type" bibinfo.check
- }
- if$
- chapter tie.or.space.prefix
- "chapter" bibinfo.check
- * *
- pages empty$
- 'skip$
- { ", " * format.pages * }
- if$
- }
- 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$
- *
- 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$
- 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$
- *
- 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
- new.block.comma
- 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
- format.date.output.check
- pages empty$ {
- doi output
- } 'skip$ if$
- link.shut
- }{
- format.article.crossref output.nonnull
- format.pages output
- }
- if$
- format.issn.output
- new.block.comma
- new.sentence.comma
- format.note output
- format.eprint.controlled 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$
- new.block.comma
- 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
- 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
- new.block.comma
- link.open
- format.title
- "title" output.check
- link.shut
- new.block.comma
- howpublished "howpublished" bibinfo.check output
- address "address" bibinfo.check output
- 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$
- new.block.comma
-
- format.title output
- new.block.comma
-
- crossref missing$
- {
- format.in.ed.booktitle.inbook
- format.publisher.address output
- format.chapter.pages
- "chapter and pages"
- output.check
- new.block.comma
- format.edition output
- new.block.comma
- }{
- format.chapter.pages
- "chapter and pages"
- output.check
- new.block.comma
- format.book.crossref output.nonnull
- format.date.output.check
- }
- if$
- crossref missing$
- { format.isbn.output }
- 'skip$
- if$
- 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
- new.block.comma
- article.title.produce
- crossref missing$
- {
- format.in.ed.booktitle
- format.publisher.address output
- format.edition output
- format.chapter.pages output
- format.isbn.output
- }{
- format.incoll.inproc.crossref output.nonnull
- format.chapter.pages output
- }
- if$
- 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
- new.block.comma
- article.title.produce
- crossref missing$
- {
- format.in.ed.booktitle
- format.organization.publisher.address output
- format.chapter.pages output
- format.isbn.output
- format.issn.output
- }{
- format.incoll.inproc.crossref output.nonnull
- format.chapter.pages output
- }
- if$
- 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
- new.block.comma
- link.open
- format.btitle
- "title" output.check
- link.shut
- organization "organization" bibinfo.check output
- address "address" bibinfo.check output
- format.edition output
- 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
- new.block.comma
- format.btitle
- output
- new.block.comma
- link.open
- bbl.mthesis
- format.thesis.type
- output.nonnull
- link.shut
- format.school.address.output
- 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
- new.block.comma
- link.open
- format.title
- output
- link.shut
- new.block.comma
- howpublished "howpublished" bibinfo.check output
- 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
- new.block.comma
- format.btitle
- output
- new.block.comma
- link.open
- bbl.phdthesis
- format.thesis.type
- output.nonnull
- link.shut
- format.school.address.output
- 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
- new.block.comma
- 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
- new.block.comma
- link.open
- format.title
- "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
- new.block.comma
- link.open
- format.title
- "title" output.check
- link.shut
- format.date.output
- new.block.comma
- new.sentence.comma
- format.note "note" output.check
- format.eprint output
- fin.entry
-}
-
-FUNCTION {dataset}
-{
- output.bibitem
- format.authors "author" output.check
- author format.key output
- article.title.produce
- doi missing$
- url missing$ not and
- {
- link.open
- url "url" output.check
- link.shut
- }
- {
- link.open
- doi "doi" output.check
- link.shut
- } if$
- format.date.output
- format.note 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
- *
-}
-
-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$
-}
-
-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$
- {
- pop$ ""
- }{
- 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
- " "
- *
- seq.num #1 + 'seq.num :=
- seq.num int.to.fix
- '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 of customized bst file
-%%
-%% End of file `aapmrev4-2.bst'.
diff --git a/macros/latex/contrib/revtex/bibtex/aipauth4-1.bst b/macros/latex/contrib/revtex/bibtex/aipauth4-1.bst
deleted file mode 100644
index 97a52a3044..0000000000
--- a/macros/latex/contrib/revtex/bibtex/aipauth4-1.bst
+++ /dev/null
@@ -1,3487 +0,0 @@
-%%
-%% This is file `aipauth4-1.bst',
-%% generated with the docstrip utility.
-%%
-%% The original source files were:
-%%
-%% 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 ***
-%%
-%% 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
- %---------------------------------------------------------------------
-
-FUNCTION {id.bst} {"merlin.mbs aipauth4-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
- #1 +
- #8 +
- 'control.author :=
- #0
- 'control.author.jnrlst :=
- #0
- 'control.author.dotless :=
- #0
- 'control.author.nospace :=
- #1
- 'control.author.initials :=
- #0
- 'control.author.nocomma :=
- #0
- 'control.author.first :=
- #1
- 'control.author.reversed :=
- #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$
- numnames #2 >
- 'names.punctuate
- 'skip$
- if$
- 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
- *
- }
- 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$ ""
- }{
- 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$
- {
- }
- '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
-}
-
-FUNCTION {format.chapter.pages}
-{ chapter empty$
- {
- format.pages
- }
- { type empty$
- {
- bbl.chapter
- capitalize
- }{
- type
- capitalize
- "type" bibinfo.check
- }
- if$
- chapter tie.or.space.prefix
- "chapter" bibinfo.check
- * *
- pages empty$
- 'skip$
- { ", " * format.pages * }
- if$
- }
- 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$
- *
- 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$
- 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$
- *
- 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
- new.block.comma
- 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
- format.date.output.check
- pages empty$ {
- doi output
- } 'skip$ if$
- link.shut
- }{
- format.article.crossref output.nonnull
- format.pages output
- }
- 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$
- new.block.comma
- 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
- 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
- new.block.comma
- link.open
- format.title
- "title" output.check
- link.shut
- new.block.comma
- howpublished "howpublished" bibinfo.check output
- address "address" bibinfo.check output
- 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$
- new.block.comma
-
- format.title output
- new.block.comma
-
- crossref missing$
- {
- format.in.ed.booktitle.inbook
- format.publisher.address output
- format.chapter.pages
- "chapter and pages"
- output.check
- new.block.comma
- format.edition output
- new.block.comma
- }{
- format.chapter.pages
- "chapter and pages"
- output.check
- new.block.comma
- format.book.crossref output.nonnull
- format.date.output.check
- }
- if$
- crossref missing$
- { format.isbn.output }
- 'skip$
- if$
- 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
- new.block.comma
- article.title.produce
- crossref missing$
- {
- format.in.ed.booktitle
- format.publisher.address output
- format.edition output
- format.chapter.pages output
- format.isbn.output
- }{
- format.incoll.inproc.crossref output.nonnull
- format.chapter.pages output
- }
- if$
- 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
- new.block.comma
- article.title.produce
- crossref missing$
- {
- format.in.ed.booktitle
- format.organization.publisher.address output
- format.chapter.pages output
- format.isbn.output
- format.issn.output
- }{
- format.incoll.inproc.crossref output.nonnull
- format.chapter.pages output
- }
- if$
- 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
- new.block.comma
- link.open
- format.btitle
- "title" output.check
- link.shut
- organization "organization" bibinfo.check output
- address "address" bibinfo.check output
- format.edition output
- 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
- new.block.comma
- format.btitle
- output
- new.block.comma
- link.open
- bbl.mthesis
- format.thesis.type
- output.nonnull
- link.shut
- format.school.address.output
- 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
- new.block.comma
- link.open
- format.title
- output
- link.shut
- new.block.comma
- howpublished "howpublished" bibinfo.check output
- 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
- new.block.comma
- format.btitle
- output
- new.block.comma
- link.open
- bbl.phdthesis
- format.thesis.type
- output.nonnull
- link.shut
- format.school.address.output
- 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
- new.block.comma
- 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
- new.block.comma
- link.open
- format.title
- "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
- new.block.comma
- link.open
- format.title
- "title" output.check
- link.shut
- 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
- *
-}
-
-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$
-}
-
-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$
- {
- pop$ ""
- }{
- 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
- " "
- *
- type$ "book" =
- type$ "inbook" =
- or
- 'author.editor.sort
- { type$ "proceedings" =
- 'editor.sort
- 'author.sort
- if$
- }
- if$
- #1 entry.max$ substring$
- '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 of customized bst file
-%%
-%% End of file `aipauth4-1.bst'.
diff --git a/macros/latex/contrib/revtex/bibtex/aipauth4-2.bst b/macros/latex/contrib/revtex/bibtex/aipauth4-2.bst
deleted file mode 100644
index daa268a641..0000000000
--- a/macros/latex/contrib/revtex/bibtex/aipauth4-2.bst
+++ /dev/null
@@ -1,3501 +0,0 @@
-%%
-%% This is file `aipauth4-2.bst', and is a hand-edited version of aipauth4-1.bst
- % ===============================================================
- % IMPORTANT NOTICE:
- % This 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.
- % ===============================================================
- %-------------------------------------------------------------------
- % 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
- %---------------------------------------------------------------------
-
-FUNCTION {id.bst} {"aipnauth4-2.bst 2018-12-27 (MD) hand-edited version of apsauth4-1.bst"}
-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
- #1 +
- #8 +
- 'control.author :=
- #0
- 'control.author.jnrlst :=
- #0
- 'control.author.dotless :=
- #0
- 'control.author.nospace :=
- #1
- 'control.author.initials :=
- #0
- 'control.author.nocomma :=
- #0
- 'control.author.first :=
- #1
- 'control.author.reversed :=
- #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."}
-
-MACRO {jhep} {"J. High Energy Phys."}
-MACRO {jcap} {"J. Cosmol. Astropart. Phys."}
-MACRO {jinst} {"J. Instrum."}
-MACRO {jstat} {"J. Stat. Mech.: Theory Exp."}
-
-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}
-{
- "https://arxiv.org/abs"
-}
-
-FUNCTION {archiv.prefix.base}
-{
- "arXiv"
-}
-
-FUNCTION {eprint.command}
-{
- "\Eprint "
-}
-
-FUNCTION {format.eprint.controlled}
-{
- eprint duplicate$ empty$
- control.eprint #1 =
- 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.eprint}
-{
- eprint duplicate$ empty$
- { 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$
- numnames #2 >
- 'names.punctuate
- 'skip$
- if$
- t "others" =
- {
- " " *
- bbl.etal
- emphasize
- *
- } {
- bbl.and
- word.space * *
- 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
- *
- }
- if$
-}
-
-FUNCTION {format.isbn.output}
-{
-}
-
-FUNCTION {format.issn.output}
-{
-}
-
-FUNCTION {doi.base}
-{
- "https://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$
- }
- {
- "https://doi.org/" 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$ ""
- }{
- 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$
- {
- }
- '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
-}
-
-FUNCTION {format.chapter.pages}
-{ chapter empty$
- {
- format.pages
- }
- { type empty$
- {
- bbl.chapter
- capitalize
- }{
- type
- capitalize
- "type" bibinfo.check
- }
- if$
- chapter tie.or.space.prefix
- "chapter" bibinfo.check
- * *
- pages empty$
- 'skip$
- { ", " * format.pages * }
- if$
- }
- 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$
- *
- 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$
- 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$
- *
- 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
- new.block.comma
- 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
- format.date.output.check
- pages empty$ {
- doi output
- } 'skip$ if$
- link.shut
- }{
- format.article.crossref output.nonnull
- format.pages output
- }
- if$
- format.issn.output
- new.block.comma
- new.sentence.comma
- format.note output
- format.eprint.controlled 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$
- new.block.comma
- 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
- 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
- new.block.comma
- link.open
- format.title
- "title" output.check
- link.shut
- new.block.comma
- howpublished "howpublished" bibinfo.check output
- address "address" bibinfo.check output
- 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$
- new.block.comma
-
- format.title output
- new.block.comma
-
- crossref missing$
- {
- format.in.ed.booktitle.inbook
- format.publisher.address output
- format.chapter.pages
- "chapter and pages"
- output.check
- new.block.comma
- format.edition output
- new.block.comma
- }{
- format.chapter.pages
- "chapter and pages"
- output.check
- new.block.comma
- format.book.crossref output.nonnull
- format.date.output.check
- }
- if$
- crossref missing$
- { format.isbn.output }
- 'skip$
- if$
- 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
- new.block.comma
- article.title.produce
- crossref missing$
- {
- format.in.ed.booktitle
- format.publisher.address output
- format.edition output
- format.chapter.pages output
- format.isbn.output
- }{
- format.incoll.inproc.crossref output.nonnull
- format.chapter.pages output
- }
- if$
- 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
- new.block.comma
- article.title.produce
- crossref missing$
- {
- format.in.ed.booktitle
- format.organization.publisher.address output
- format.chapter.pages output
- format.isbn.output
- format.issn.output
- }{
- format.incoll.inproc.crossref output.nonnull
- format.chapter.pages output
- }
- if$
- 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
- new.block.comma
- link.open
- format.btitle
- "title" output.check
- link.shut
- organization "organization" bibinfo.check output
- address "address" bibinfo.check output
- format.edition output
- 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
- new.block.comma
- format.btitle
- output
- new.block.comma
- link.open
- bbl.mthesis
- format.thesis.type
- output.nonnull
- link.shut
- format.school.address.output
- 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
- new.block.comma
- link.open
- format.title
- output
- link.shut
- new.block.comma
- howpublished "howpublished" bibinfo.check output
- 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
- new.block.comma
- format.btitle
- output
- new.block.comma
- link.open
- bbl.phdthesis
- format.thesis.type
- output.nonnull
- link.shut
- format.school.address.output
- 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
- new.block.comma
- 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
- new.block.comma
- link.open
- format.title
- "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
- new.block.comma
- link.open
- format.title
- "title" output.check
- link.shut
- format.date.output
- new.block.comma
- new.sentence.comma
- format.note "note" output.check
- format.eprint output
- fin.entry
-}
-
-FUNCTION {dataset}
-{
- output.bibitem
- format.authors "author" output.check
- author format.key output
- article.title.produce
- doi missing$
- url missing$ not and
- {
- link.open
- url "url" output.check
- link.shut
- }
- {
- link.open
- doi "doi" output.check
- link.shut
- } if$
- format.date.output
- format.note 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
- *
-}
-
-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$
-}
-
-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$
- {
- pop$ ""
- }{
- 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
- " "
- *
- type$ "book" =
- type$ "inbook" =
- or
- 'author.editor.sort
- { type$ "proceedings" =
- 'editor.sort
- 'author.sort
- if$
- }
- if$
- #1 entry.max$ substring$
- '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 of customized bst file
-%%
-%% End of file `aipauth4-2.bst'.
diff --git a/macros/latex/contrib/revtex/bibtex/aipnum4-1.bst b/macros/latex/contrib/revtex/bibtex/aipnum4-1.bst
deleted file mode 100644
index 5233cc659d..0000000000
--- a/macros/latex/contrib/revtex/bibtex/aipnum4-1.bst
+++ /dev/null
@@ -1,3477 +0,0 @@
-%%
-%% This is file `aipnum4-1.bst',
-%% generated with the docstrip utility.
-%%
-%% The original source files were:
-%%
-%% 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 ***
-%%
-%% 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
- %---------------------------------------------------------------------
-
-FUNCTION {id.bst} {"merlin.mbs aipnum4-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
- #8 +
- 'control.author :=
- #0
- 'control.author.jnrlst :=
- #0
- 'control.author.dotless :=
- #0
- 'control.author.nospace :=
- #1
- 'control.author.initials :=
- #0
- 'control.author.nocomma :=
- #0
- 'control.author.first :=
- #0
- 'control.author.reversed :=
- #1
- '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$
- numnames #2 >
- 'names.punctuate
- 'skip$
- if$
- 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
- *
- }
- 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$ ""
- }{
- 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$
- {
- }
- '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
-}
-
-FUNCTION {format.chapter.pages}
-{ chapter empty$
- {
- format.pages
- }
- { type empty$
- {
- bbl.chapter
- capitalize
- }{
- type
- capitalize
- "type" bibinfo.check
- }
- if$
- chapter tie.or.space.prefix
- "chapter" bibinfo.check
- * *
- pages empty$
- 'skip$
- { ", " * format.pages * }
- if$
- }
- 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$
- *
- 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$
- 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$
- *
- 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
- new.block.comma
- 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
- format.date.output.check
- pages empty$ {
- doi output
- } 'skip$ if$
- link.shut
- }{
- format.article.crossref output.nonnull
- format.pages output
- }
- 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$
- new.block.comma
- 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
- 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
- new.block.comma
- link.open
- format.title
- "title" output.check
- link.shut
- new.block.comma
- howpublished "howpublished" bibinfo.check output
- address "address" bibinfo.check output
- 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$
- new.block.comma
-
- format.title output
- new.block.comma
-
- crossref missing$
- {
- format.in.ed.booktitle.inbook
- format.publisher.address output
- format.chapter.pages
- "chapter and pages"
- output.check
- new.block.comma
- format.edition output
- new.block.comma
- }{
- format.chapter.pages
- "chapter and pages"
- output.check
- new.block.comma
- format.book.crossref output.nonnull
- format.date.output.check
- }
- if$
- crossref missing$
- { format.isbn.output }
- 'skip$
- if$
- 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
- new.block.comma
- article.title.produce
- crossref missing$
- {
- format.in.ed.booktitle
- format.publisher.address output
- format.edition output
- format.chapter.pages output
- format.isbn.output
- }{
- format.incoll.inproc.crossref output.nonnull
- format.chapter.pages output
- }
- if$
- 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
- new.block.comma
- article.title.produce
- crossref missing$
- {
- format.in.ed.booktitle
- format.organization.publisher.address output
- format.chapter.pages output
- format.isbn.output
- format.issn.output
- }{
- format.incoll.inproc.crossref output.nonnull
- format.chapter.pages output
- }
- if$
- 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
- new.block.comma
- link.open
- format.btitle
- "title" output.check
- link.shut
- organization "organization" bibinfo.check output
- address "address" bibinfo.check output
- format.edition output
- 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
- new.block.comma
- format.btitle
- output
- new.block.comma
- link.open
- bbl.mthesis
- format.thesis.type
- output.nonnull
- link.shut
- format.school.address.output
- 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
- new.block.comma
- link.open
- format.title
- output
- link.shut
- new.block.comma
- howpublished "howpublished" bibinfo.check output
- 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
- new.block.comma
- format.btitle
- output
- new.block.comma
- link.open
- bbl.phdthesis
- format.thesis.type
- output.nonnull
- link.shut
- format.school.address.output
- 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
- new.block.comma
- 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
- new.block.comma
- link.open
- format.title
- "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
- new.block.comma
- link.open
- format.title
- "title" output.check
- link.shut
- 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
- *
-}
-
-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$
-}
-
-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$
- {
- pop$ ""
- }{
- 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
- " "
- *
- seq.num #1 + 'seq.num :=
- seq.num int.to.fix
- '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 of customized bst file
-%%
-%% End of file `aipnum4-1.bst'.
diff --git a/macros/latex/contrib/revtex/bibtex/aipnum4-2.bst b/macros/latex/contrib/revtex/bibtex/aipnum4-2.bst
deleted file mode 100644
index 01be74110a..0000000000
--- a/macros/latex/contrib/revtex/bibtex/aipnum4-2.bst
+++ /dev/null
@@ -1,3496 +0,0 @@
-%%
-%% This is file `aipnum4-2.bst', and is a hand-edited version of aipnum4-1.bst
- % ===============================================================
- % IMPORTANT NOTICE:
- % This 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.
- % ===============================================================
- %-------------------------------------------------------------------
- % 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
- %---------------------------------------------------------------------
-
-FUNCTION {id.bst} {"aipnum4-2.bst 2019-01-14 (MD) hand-edited version of apsrev4-1.bst"}
-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
- #8 +
- 'control.author :=
- #0
- 'control.author.jnrlst :=
- #0
- 'control.author.dotless :=
- #0
- 'control.author.nospace :=
- #1
- 'control.author.initials :=
- #0
- 'control.author.nocomma :=
- #0
- 'control.author.first :=
- #0
- 'control.author.reversed :=
- #1
- '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."}
-
-MACRO {jhep} {"J. High Energy Phys."}
-MACRO {jcap} {"J. Cosmol. Astropart. Phys."}
-MACRO {jinst} {"J. Instrum."}
-MACRO {jstat} {"J. Stat. Mech.: Theory Exp."}
-
-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}
-{
- "https://arxiv.org/abs"
-}
-
-FUNCTION {archiv.prefix.base}
-{
- "arXiv"
-}
-
-FUNCTION {eprint.command}
-{
- "\Eprint "
-}
-
-FUNCTION {format.eprint.controlled}
-{
- eprint duplicate$ empty$
- control.eprint #1 =
- 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.eprint}
-{
- eprint duplicate$ empty$
- { 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 {names.comma}
-{
- "," *
-}
-
-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$
- numnames #2 >
- 'names.comma
- 'skip$
- if$
- 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.comma
- '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
- *
- }
- if$
-}
-
-FUNCTION {format.isbn.output}
-{
-}
-
-FUNCTION {format.issn.output}
-{
-}
-
-FUNCTION {doi.base}
-{
- "https://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$
- }
- {
- "https://doi.org/" 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$ ""
- }{
- 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$
- {
- }
- '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
-}
-
-FUNCTION {format.chapter.pages}
-{ chapter empty$
- {
- format.pages
- }
- { type empty$
- {
- bbl.chapter
- capitalize
- }{
- type
- capitalize
- "type" bibinfo.check
- }
- if$
- chapter tie.or.space.prefix
- "chapter" bibinfo.check
- * *
- pages empty$
- 'skip$
- { ", " * format.pages * }
- if$
- }
- 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$
- *
- 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$
- 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$
- *
- 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
- new.block.comma
- 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
- format.date.output.check
- pages empty$ {
- doi output
- } 'skip$ if$
- link.shut
- }{
- format.article.crossref output.nonnull
- format.pages output
- }
- if$
- format.issn.output
- new.block.comma
- new.sentence.comma
- format.note output
- format.eprint.controlled 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$
- new.block.comma
- 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
- 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
- new.block.comma
- link.open
- format.title
- "title" output.check
- link.shut
- new.block.comma
- howpublished "howpublished" bibinfo.check output
- address "address" bibinfo.check output
- 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$
- new.block.comma
-
- format.title output
- new.block.comma
-
- crossref missing$
- {
- format.in.ed.booktitle.inbook
- format.publisher.address output
- format.chapter.pages
- "chapter and pages"
- output.check
- new.block.comma
- format.edition output
- new.block.comma
- }{
- format.chapter.pages
- "chapter and pages"
- output.check
- new.block.comma
- format.book.crossref output.nonnull
- format.date.output.check
- }
- if$
- crossref missing$
- { format.isbn.output }
- 'skip$
- if$
- 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
- new.block.comma
- article.title.produce
- crossref missing$
- {
- format.in.ed.booktitle
- format.publisher.address output
- format.edition output
- format.chapter.pages output
- format.isbn.output
- }{
- format.incoll.inproc.crossref output.nonnull
- format.chapter.pages output
- }
- if$
- 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
- new.block.comma
- article.title.produce
- crossref missing$
- {
- format.in.ed.booktitle
- format.organization.publisher.address output
- format.chapter.pages output
- format.isbn.output
- format.issn.output
- }{
- format.incoll.inproc.crossref output.nonnull
- format.chapter.pages output
- }
- if$
- 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
- new.block.comma
- link.open
- format.btitle
- "title" output.check
- link.shut
- organization "organization" bibinfo.check output
- address "address" bibinfo.check output
- format.edition output
- 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
- new.block.comma
- format.btitle
- output
- new.block.comma
- link.open
- bbl.mthesis
- format.thesis.type
- output.nonnull
- link.shut
- format.school.address.output
- 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
- new.block.comma
- link.open
- format.title
- output
- link.shut
- new.block.comma
- howpublished "howpublished" bibinfo.check output
- 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
- new.block.comma
- format.btitle
- output
- new.block.comma
- link.open
- bbl.phdthesis
- format.thesis.type
- output.nonnull
- link.shut
- format.school.address.output
- 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
- new.block.comma
- 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
- new.block.comma
- link.open
- format.title
- "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
- new.block.comma
- link.open
- format.title
- "title" output.check
- link.shut
- format.date.output
- new.block.comma
- new.sentence.comma
- format.note "note" output.check
- format.eprint output
- fin.entry
-}
-
-FUNCTION {dataset}
-{
- output.bibitem
- format.authors "author" output.check
- author format.key output
- article.title.produce
- doi missing$
- url missing$ not and
- {
- link.open
- url "url" output.check
- link.shut
- }
- {
- link.open
- doi "doi" output.check
- link.shut
- } if$
- format.date.output
- format.note 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
- *
-}
-
-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$
-}
-
-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$
- {
- pop$ ""
- }{
- 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
- " "
- *
- seq.num #1 + 'seq.num :=
- seq.num int.to.fix
- '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 of customized bst file
-%%
-%% End of file `aipnum4-2.bst'.
diff --git a/macros/latex/contrib/revtex/bibtex/apsrev4-1.bst b/macros/latex/contrib/revtex/bibtex/apsrev4-1.bst
deleted file mode 100644
index 5cd3c4cf01..0000000000
--- a/macros/latex/contrib/revtex/bibtex/apsrev4-1.bst
+++ /dev/null
@@ -1,3457 +0,0 @@
-%%
-%% This is file `apsrev4-1.bst',
-%% generated with the docstrip utility.
-%%
-%% The original source files were:
-%%
-%% 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 ***
-%%
-%% 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
- %---------------------------------------------------------------------
-
-FUNCTION {id.bst} {"merlin.mbs apsrev4-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
- #8 +
- #64 +
- 'control.author :=
- #1
- 'control.author.jnrlst :=
- #0
- 'control.author.dotless :=
- #0
- 'control.author.nospace :=
- #1
- 'control.author.initials :=
- #0
- 'control.author.nocomma :=
- #0
- 'control.author.first :=
- #0
- 'control.author.reversed :=
- #1
- '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$
- numnames #2 >
- 'names.punctuate
- 'skip$
- if$
- 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
- *
- }
- 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$ ""
- }{
- 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$
- {
- }
- '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
-}
-
-FUNCTION {format.chapter.pages}
-{ chapter empty$
- {
- format.pages
- }
- { type empty$
- {
- bbl.chapter
- capitalize
- }{
- type
- capitalize
- "type" bibinfo.check
- }
- if$
- chapter tie.or.space.prefix
- "chapter" bibinfo.check
- * *
- pages empty$
- 'skip$
- { ", " * format.pages * }
- if$
- }
- 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$
- *
- 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$
- 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$
- *
- 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
- new.block.comma
- 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
- format.date.output.check
- pages empty$ {
- doi output
- } 'skip$ if$
- link.shut
- }{
- format.article.crossref output.nonnull
- format.pages output
- }
- 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$
- new.block.comma
- 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
- 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
- new.block.comma
- link.open
- format.title
- "title" output.check
- link.shut
- new.block.comma
- howpublished "howpublished" bibinfo.check output
- address "address" bibinfo.check output
- 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$
- new.block.comma
-
- format.title output
- new.block.comma
-
- crossref missing$
- {
- format.in.ed.booktitle.inbook
- format.publisher.address output
- format.chapter.pages
- "chapter and pages"
- output.check
- new.block.comma
- format.edition output
- new.block.comma
- }{
- format.chapter.pages
- "chapter and pages"
- output.check
- new.block.comma
- format.book.crossref output.nonnull
- format.date.output.check
- }
- if$
- crossref missing$
- { format.isbn.output }
- 'skip$
- if$
- 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
- new.block.comma
- article.title.produce
- crossref missing$
- {
- format.in.ed.booktitle
- format.publisher.address output
- format.edition output
- format.chapter.pages output
- format.isbn.output
- }{
- format.incoll.inproc.crossref output.nonnull
- format.chapter.pages output
- }
- if$
- 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
- new.block.comma
- article.title.produce
- crossref missing$
- {
- format.in.ed.booktitle
- format.organization.publisher.address output
- format.chapter.pages output
- format.isbn.output
- format.issn.output
- }{
- format.incoll.inproc.crossref output.nonnull
- format.chapter.pages output
- }
- if$
- 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
- new.block.comma
- link.open
- format.btitle
- "title" output.check
- link.shut
- organization "organization" bibinfo.check output
- address "address" bibinfo.check output
- format.edition output
- 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
- new.block.comma
- format.btitle
- output
- new.block.comma
- link.open
- bbl.mthesis
- format.thesis.type
- output.nonnull
- link.shut
- format.school.address.output
- 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
- new.block.comma
- link.open
- format.title
- output
- link.shut
- new.block.comma
- howpublished "howpublished" bibinfo.check output
- 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
- new.block.comma
- format.btitle
- output
- new.block.comma
- link.open
- bbl.phdthesis
- format.thesis.type
- output.nonnull
- link.shut
- format.school.address.output
- 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
- new.block.comma
- 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
- new.block.comma
- link.open
- 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
- new.block.comma
- link.open
- format.title
- "title" output.check
- link.shut
- 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
- *
-}
-
-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$
-}
-
-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$
- short.list key field.or.null = or
- {
- pop$ ""
- }{
- 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
- " "
- *
- seq.num #1 + 'seq.num :=
- seq.num int.to.fix
- '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 of customized bst file
-%%
-%% End of file `apsrev4-1.bst'.
diff --git a/macros/latex/contrib/revtex/bibtex/apsrev4-2.bst b/macros/latex/contrib/revtex/bibtex/apsrev4-2.bst
deleted file mode 100644
index ab91306171..0000000000
--- a/macros/latex/contrib/revtex/bibtex/apsrev4-2.bst
+++ /dev/null
@@ -1,3528 +0,0 @@
-%%
-%% This is file `apsrev4-2.bst', and is a hand-edited version of apsrev4-1.bst
- % ===============================================================
- % IMPORTANT NOTICE:
- % This 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.
- % ===============================================================
- %-------------------------------------------------------------------
- % 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
- %---------------------------------------------------------------------
-
-FUNCTION {id.bst} {"apsrev4-2.bst 2019-01-14 (MD) hand-edited version of apsrev4-1.bst"}
-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
- #8 +
- #64 +
- 'control.author :=
- #1
- 'control.author.jnrlst :=
- #0
- 'control.author.dotless :=
- #0
- 'control.author.nospace :=
- #1
- 'control.author.initials :=
- #0
- 'control.author.nocomma :=
- #0
- 'control.author.first :=
- #0
- 'control.author.reversed :=
- #1
- '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."}
-
-MACRO {jhep} {"J. High Energy Phys."}
-MACRO {jcap} {"J. Cosmol. Astropart. Phys."}
-MACRO {jinst} {"J. Instrum."}
-MACRO {jstat} {"J. Stat. Mech.: Theory Exp."}
-
-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}
-{
- "https://arxiv.org/abs"
-}
-
-FUNCTION {archiv.prefix.base}
-{
- "arXiv"
-}
-
-FUNCTION {eprint.command}
-{
- "\Eprint "
-}
-
-FUNCTION {format.eprint.controlled}
-{
- eprint duplicate$ empty$
- control.eprint #1 =
- 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.eprint}
-{
- eprint duplicate$ empty$
- { 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 {names.comma}
-{
- "," *
-}
-
-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$
- numnames #2 >
- 'names.comma
- 'skip$
- if$
- 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.comma
- '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
- *
- }
- if$
-}
-
-FUNCTION {format.isbn.output}
-{
-}
-
-FUNCTION {format.issn.output}
-{
-}
-
-FUNCTION {doi.base}
-{
- "https://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$
- }
- {
- "https://doi.org/" 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 :=
- pop$
- 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$ ""
- }{
- 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 {parenthesize}
-{
- duplicate$ empty$
- 'skip$
- {
- before.all 'output.state :=
- " (" swap$ * ")" *
- }
- if$
-}
-
-FUNCTION {format.date}
-{
- year "year" bibinfo.check duplicate$ empty$
- {
- }
- 'skip$
- if$
- extra.label *
- parenthesize
-}
-
-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
-}
-
-FUNCTION {format.vol.num}
-{
- volume field.or.null
- duplicate$ empty$ 'skip$
- {
- "volume" bibinfo.check
- }
- if$
- bolden
-}
-
-FUNCTION {format.chapter.pages}
-{ chapter empty$
- {
- format.pages
- }
- { type empty$
- {
- bbl.chapter
- capitalize
- }{
- type
- capitalize
- "type" bibinfo.check
- }
- if$
- chapter tie.or.space.prefix
- "chapter" bibinfo.check
- * *
- pages empty$
- 'skip$
- { ", " * format.pages * }
- if$
- }
- 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$
- *
- 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$
- 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$
- *
- 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
- new.block.comma
- article.title.produce
- output.article.booktitle
- crossref missing$
-%% Handle special case of SISSA journals which require an issue number for unique citations and use volume/year interchangably
- {
- journal "J. High Energy Phys." =
- journal "J. High Energ. Phys." = or
- journal "JHEP" = or
- journal "Journal of Cosmology and Astroparticle Physics" = or
- journal "J. Cosmol. Astropart. Phys." = or
- journal "JCAP" = or
- journal "Journal of Instrumentation" = or
- journal "J. Instrum." = or
- journal "JINST" = or
- journal "Journal of Statistical Mechanics" = or
- journal "J. of Stat. Mech." = or
- journal "J. Stat. Mech.: Theory Exp." = or
- journal "JSTAT" = or
- {
- link.open
- journal
- "journal" bibinfo.warn
- "journal" 'bibfield :=
- output
- add.blank
- format.vol.num output
- number parenthesize
- "number" bibinfo.warn
- "number" 'bibfield :=
- output
- eid.or.pages
- link.shut
- }
- {
- eid missing$
- pages missing$ and
- doi missing$ not and
- {
- journal
- "journal" bibinfo.warn
- "journal" 'bibfield :=
- output
- add.blank
- format.ser.vol.num
- output
- link.open
- doi output
- link.shut
- format.date.output.check
- }
- {
- link.open
- journal
- "journal" bibinfo.warn
- "journal" 'bibfield :=
- output
- add.blank
- format.ser.vol.num
- output
- eid.or.pages
- format.date.output.check
- link.shut
- } if$
- } if$
- }{
- format.article.crossref output.nonnull
- format.pages output
- }
- if$
- new.block.comma
- new.sentence.comma
- format.note output
- format.eprint.controlled 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$
- new.block.comma
- 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
- 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
- new.block.comma
- link.open
- format.title
- "title" output.check
- link.shut
- new.block.comma
- howpublished "howpublished" bibinfo.check output
- address "address" bibinfo.check output
- 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$
- new.block.comma
-
- format.title output
- new.block.comma
-
- crossref missing$
- {
- format.in.ed.booktitle.inbook
- format.publisher.address output
- format.chapter.pages
- "chapter and pages"
- output.check
- new.block.comma
- format.edition output
- new.block.comma
- }{
- format.chapter.pages
- "chapter and pages"
- output.check
- new.block.comma
- format.book.crossref output.nonnull
- format.date.output.check
- }
- if$
- crossref missing$
- { format.isbn.output }
- 'skip$
- if$
- 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
- new.block.comma
- article.title.produce
- crossref missing$
- {
- format.in.ed.booktitle
- format.publisher.address output
- format.edition output
- format.chapter.pages output
- format.isbn.output
- }{
- format.incoll.inproc.crossref output.nonnull
- format.chapter.pages output
- }
- if$
- 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
- new.block.comma
- article.title.produce
- crossref missing$
- {
- format.in.ed.booktitle
- format.organization.publisher.address output
- format.chapter.pages output
- format.isbn.output
- format.issn.output
- }{
- format.incoll.inproc.crossref output.nonnull
- format.chapter.pages output
- }
- if$
- 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
- new.block.comma
- link.open
- format.btitle
- "title" output.check
- link.shut
- organization "organization" bibinfo.check output
- address "address" bibinfo.check output
- format.edition output
- 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
- new.block.comma
- format.btitle
- output
- new.block.comma
- link.open
- bbl.mthesis
- format.thesis.type
- output.nonnull
- link.shut
- format.school.address.output
- 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
- new.block.comma
- link.open
- format.title
- output
- link.shut
- new.block.comma
- howpublished "howpublished" bibinfo.check output
- 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
- new.block.comma
- format.btitle
- output
- new.block.comma
- link.open
- bbl.phdthesis
- format.thesis.type
- output.nonnull
- link.shut
- format.school.address.output
- 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
- new.block.comma
- 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
- new.block.comma
- link.open
- 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
- article.title.produce
- format.eprint output
- format.date.output
- new.block.comma
- new.sentence.comma
- format.note "note" output.check
- fin.entry
-}
-
-FUNCTION {dataset}
-{
- output.bibitem
- format.authors "author" output.check
- author format.key output
- article.title.produce
- doi missing$
- url missing$ not and
- {
- link.open
- url "url" output.check
- link.shut
- }
- {
- link.open
- doi "doi" output.check
- link.shut
- } if$
- format.date.output
- format.note 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
- *
-}
-
-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$
-}
-
-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$
- short.list key field.or.null = or
- {
- pop$ ""
- }{
- 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
- " "
- *
- seq.num #1 + 'seq.num :=
- seq.num int.to.fix
- '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 of customized bst file
-%%
-%% End of file `apsrev4-2.bst'.
diff --git a/macros/latex/contrib/revtex/bibtex/apsrmp4-1.bst b/macros/latex/contrib/revtex/bibtex/apsrmp4-1.bst
deleted file mode 100644
index 77e253c9bf..0000000000
--- a/macros/latex/contrib/revtex/bibtex/apsrmp4-1.bst
+++ /dev/null
@@ -1,3448 +0,0 @@
-%%
-%% This is file `apsrmp4-1.bst',
-%% generated with the docstrip utility.
-%%
-%% The original source files were:
-%%
-%% 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 ***
-%%
-%% 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
- %---------------------------------------------------------------------
-
-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
- #1 +
- #2 +
- #8 +
- #64 +
- 'control.author :=
- #1
- 'control.author.jnrlst :=
- #0
- 'control.author.dotless :=
- #0
- 'control.author.nospace :=
- #1
- 'control.author.initials :=
- #0
- 'control.author.nocomma :=
- #1
- 'control.author.first :=
- #1
- 'control.author.reversed :=
- #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$
- 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
- 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$ ""
- "????" *
- }{
- 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$
- {
- "empty year in " cite$ * "; set to ????" * warning$
- pop$ "????"
- }
- '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
- 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$ *
-}
-
-FUNCTION {format.chapter.pages}
-{ chapter empty$
- {
- ""
- }
- { type empty$
- {
- bbl.chapter
- capitalize
- }{
- type
- capitalize
- "type" bibinfo.check
- }
- if$
- chapter tie.or.space.prefix
- "chapter" bibinfo.check
- * *
- }
- 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$
- *
- 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$
- *
- 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
- 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
- pages empty$ {
- doi output
- } 'skip$ if$
- link.shut
- }{
- format.article.crossref output.nonnull
- 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$
- 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
- }
- 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
- 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
- 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$
- format.date.output.check date.block
-
- format.title output
- new.block.comma
-
- crossref missing$
- {
- format.in.ed.booktitle.inbook
- format.chapter.pages
- "chapter"
- output.check
- new.block.comma
- format.edition output
- new.block.comma
- format.publisher.address output
- }{
- format.chapter.pages
- "chapter"
- output.check
- new.block.comma
- format.book.crossref output.nonnull
- }
- if$
- crossref missing$
- { format.isbn.output }
- 'skip$
- if$
- 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
- format.date.output.check date.block
- article.title.produce
- crossref missing$
- {
- format.in.ed.booktitle
- format.edition output
- format.chapter.pages output
- format.publisher.address output
- format.isbn.output
- }{
- format.incoll.inproc.crossref output.nonnull
- format.chapter.pages output
- }
- if$
- 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
- format.date.output.check date.block
- article.title.produce
- crossref missing$
- {
- format.in.ed.booktitle
- format.organization.publisher.address output
- format.isbn.output
- format.issn.output
- }{
- format.incoll.inproc.crossref output.nonnull
- }
- if$
- format.chapter.pages "chapter and pages" output.check
- 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
- 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
- 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
- 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
- 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
- format.date.output
- date.block
- link.open
- format.title
- output
- link.shut
- new.block.comma
- howpublished "howpublished" bibinfo.check 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
- 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
- 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
- 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
- format.date.output.check date.block
- link.open
- 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
- format.date.output date.block
- link.open
- format.title
- "title" output.check
- link.shut
- 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
- *
-}
-
-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$
-}
-
-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$
- short.list key field.or.null = or
- {
- pop$ ""
- "????" *
- }{
- 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
- " "
- *
- type$ "book" =
- type$ "inbook" =
- or
- 'author.editor.sort
- { type$ "proceedings" =
- 'editor.sort
- 'author.sort
- if$
- }
- if$
- #1 entry.max$ substring$
- '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 of customized bst file
-%%
-%% End of file `apsrmp4-1.bst'.
diff --git a/macros/latex/contrib/revtex/bibtex/apsrmp4-2.bst b/macros/latex/contrib/revtex/bibtex/apsrmp4-2.bst
deleted file mode 100644
index d7a57cbf69..0000000000
--- a/macros/latex/contrib/revtex/bibtex/apsrmp4-2.bst
+++ /dev/null
@@ -1,3461 +0,0 @@
-%%
-%% This is file `apsrmp4-2.bst', and is a hand-edited version of apsrmp4-1.bst
- % ===============================================================
- % IMPORTANT NOTICE:
- % This 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.
- % ===============================================================
- %-------------------------------------------------------------------
- % 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
- %---------------------------------------------------------------------
-
-FUNCTION {id.bst} {"apsrmp4-2.bst 2018-12-27 (MD) hand-edited version of apsrmp4-1.bst"}
-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
- #1 +
- #2 +
- #8 +
- #64 +
- 'control.author :=
- #1
- 'control.author.jnrlst :=
- #0
- 'control.author.dotless :=
- #0
- 'control.author.nospace :=
- #1
- 'control.author.initials :=
- #0
- 'control.author.nocomma :=
- #1
- 'control.author.first :=
- #1
- 'control.author.reversed :=
- #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."}
-
-MACRO {jhep} {"J. High Energy Phys."}
-MACRO {jcap} {"J. Cosmol. Astropart. Phys."}
-MACRO {jinst} {"J. Instrum."}
-MACRO {jstat} {"J. Stat. Mech.: Theory Exp."}
-
-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}
-{
- "https://arxiv.org/abs"
-}
-
-FUNCTION {archiv.prefix.base}
-{
- "arXiv"
-}
-
-FUNCTION {eprint.command}
-{
- "\Eprint "
-}
-
-FUNCTION {format.eprint.controlled}
-{
- eprint duplicate$ empty$
- control.eprint #1 =
- 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.eprint}
-{
- eprint duplicate$ empty$
- { 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$
- names.punctuate
- t "others" =
- {
- " " *
- bbl.etal
- emphasize
- *
- } {
- bbl.and
- word.space * *
- 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
- capitalize
- *
- }
- if$
-}
-
-FUNCTION {format.isbn.output}
-{
-}
-
-FUNCTION {format.issn.output}
-{
-}
-
-FUNCTION {doi.base}
-{
- "https://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$
- }
- {
- "https://doi.org/" 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$ ""
- "????" *
- }{
- 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$
- {
- "empty year in " cite$ * "; set to ????" * warning$
- pop$ "????"
- }
- '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
- 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$ *
-}
-
-FUNCTION {format.chapter.pages}
-{ chapter empty$
- {
- ""
- }
- { type empty$
- {
- bbl.chapter
- capitalize
- }{
- type
- capitalize
- "type" bibinfo.check
- }
- if$
- chapter tie.or.space.prefix
- "chapter" bibinfo.check
- * *
- }
- 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$
- *
- 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$
- *
- 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
- 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
- pages empty$ {
- doi output
- } 'skip$ if$
- link.shut
- }{
- format.article.crossref output.nonnull
- eid.or.pages
- }
- if$
- new.block.comma
- new.sentence.comma
- format.note output
- format.eprint.controlled 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$
- 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
- }
- 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
- 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
- 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$
- format.date.output.check date.block
-
- format.title output
- new.block.comma
-
- crossref missing$
- {
- format.in.ed.booktitle.inbook
- format.chapter.pages
- "chapter"
- output.check
- new.block.comma
- format.edition output
- new.block.comma
- format.publisher.address output
- }{
- format.chapter.pages
- "chapter"
- output.check
- new.block.comma
- format.book.crossref output.nonnull
- }
- if$
- crossref missing$
- { format.isbn.output }
- 'skip$
- if$
- 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
- format.date.output.check date.block
- article.title.produce
- crossref missing$
- {
- format.in.ed.booktitle
- format.edition output
- format.chapter.pages output
- format.publisher.address output
- format.isbn.output
- }{
- format.incoll.inproc.crossref output.nonnull
- format.chapter.pages output
- }
- if$
- 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
- format.date.output.check date.block
- article.title.produce
- crossref missing$
- {
- format.in.ed.booktitle
- format.organization.publisher.address output
- format.isbn.output
- format.issn.output
- }{
- format.incoll.inproc.crossref output.nonnull
- }
- if$
- format.chapter.pages "chapter and pages" output.check
- 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
- 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
- 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
- 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
- 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
- format.date.output
- date.block
- link.open
- format.title
- output
- link.shut
- new.block.comma
- howpublished "howpublished" bibinfo.check 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
- 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
- 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
- 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
- format.date.output.check date.block
- link.open
- 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
- format.date.output date.block
- link.open
- format.title
- "title" output.check
- link.shut
- new.block.comma
- new.sentence.comma
- format.note "note" output.check
- format.eprint output
- fin.entry
-}
-
-FUNCTION {dataset}
-{
- output.bibitem
- format.authors "author" output.check
- author format.key output
- format.date.output date.block
- article.title.produce
- doi missing$
- url missing$ not and
- {
- link.open
- url "url" output.check
- link.shut
- }
- {
- link.open
- doi "doi" output.check
- link.shut
- } if$
- format.note 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
- *
-}
-
-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$
-}
-
-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$
- short.list key field.or.null = or
- {
- pop$ ""
- "????" *
- }{
- 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
- " "
- *
- type$ "book" =
- type$ "inbook" =
- or
- 'author.editor.sort
- { type$ "proceedings" =
- 'editor.sort
- 'author.sort
- if$
- }
- if$
- #1 entry.max$ substring$
- '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 of customized bst file
-%%
-%% End of file `apsrmp4-2.bst'.
diff --git a/macros/latex/contrib/revtex/source/ltxdocext.dtx b/macros/latex/contrib/revtex/ltxdocext.dtx
index bb045ed3cf..d3d8b772f5 100644
--- a/macros/latex/contrib/revtex/source/ltxdocext.dtx
+++ b/macros/latex/contrib/revtex/ltxdocext.dtx
@@ -83,7 +83,7 @@ License
\file{ltxdocext.sty}{%
\from{ltxdocext.dtx}{package,kernel}%
}%
- \file{acrofont.sty}{\from{ltxdocext.dtx}{fonts}}%
+ % \file{acrofont.sty}{\from{ltxdocext.dtx}{fonts}}%
}%
\ifToplevel{
\Msg{***********************************************************}
@@ -107,7 +107,7 @@ License
%</ignore>
% \fi
%
-% \GetFileInfo{ltxdocext.dtx}\CheckSum{955}
+% \GetFileInfo{ltxdocext.dtx}
%
% \iffalse ltxdoc klootch
%<*ltxdocext>
@@ -115,8 +115,6 @@ License
%%% filename = "ltxdocext.dtx",
%%% version = "1.0a",
%%% date = "2018/12/26",
-%%% time = "17:10:03 GMT-5",
-%%% checksum = "955",
%%% author = "Arthur Ogawa (mailto:arthur_ogawa at sbcglobal.net),
%%% commissioned by the American Physical Society.
%%% ",
@@ -134,7 +132,6 @@ License
%%% keywords = "latex, ltxdoc",
%%% supported = "yes",
%%% abstract = "extensions to the ltxdoc class",
-%%% docstring = "The checksum field above generated by ltxdoc",
%%% }
%</ltxdocext>
% \fi
@@ -218,7 +215,7 @@ License
% typeset documentation.
% \begin{macrocode}
%<version>
- [2018/12/26/17:10:03 1.0a ltxdoc extensions package]% \fileversion
+ [2018/12/26 1.0a ltxdoc extensions package]% \fileversion
% \end{macrocode}
%
%
diff --git a/macros/latex/contrib/revtex/ltxdocext.pdf b/macros/latex/contrib/revtex/ltxdocext.pdf
new file mode 100644
index 0000000000..44708b69d0
--- /dev/null
+++ b/macros/latex/contrib/revtex/ltxdocext.pdf
Binary files differ
diff --git a/macros/latex/contrib/revtex/source/ltxfront.dtx b/macros/latex/contrib/revtex/ltxfront.dtx
index 1eefb7c72c..f044c91ea1 100644
--- a/macros/latex/contrib/revtex/source/ltxfront.dtx
+++ b/macros/latex/contrib/revtex/ltxfront.dtx
@@ -108,16 +108,14 @@ License
%</ignore>
% \fi
%
-% \GetFileInfo{ltxfront.dtx}\CheckSum{2094}
+% \GetFileInfo{ltxfront.dtx}
%
% \iffalse ltxdoc klootch
%<*package>
%%% @LaTeX-file{
%%% filename = "ltxfront.dtx",
-%%% version = "4.2c",
-%%% date = "2019/01/18",
-%%% time = "14:29:48 UT-5",
-%%% checksum = "2012",
+%%% version = "4.2d",
+%%% date = "2020/09/30",
%%% author = "Arthur Ogawa (mailto:arthur_ogawa at sbcglobal.net),
%%% commissioned by the American Physical Society.
%%% ",
@@ -135,7 +133,6 @@ License
%%% 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
@@ -219,7 +216,7 @@ ltxfront%
% \begin{macrocode}
%<*doc|package|kernel>
%<version>
- [2019/01/18/14:29:48 4.2c frontmatter package (AO,DPC,MD)]% \fileversion
+ [2020/09/30 4.2d frontmatter package (AO,DPC,MD)]% \fileversion
%</doc|package|kernel>
%<kernel&!package&!doc>}%
% \end{macrocode}
diff --git a/macros/latex/contrib/revtex/ltxfront.pdf b/macros/latex/contrib/revtex/ltxfront.pdf
new file mode 100644
index 0000000000..1432761486
--- /dev/null
+++ b/macros/latex/contrib/revtex/ltxfront.pdf
Binary files differ
diff --git a/macros/latex/contrib/revtex/source/ltxgrid.dtx b/macros/latex/contrib/revtex/ltxgrid.dtx
index e391f9f2eb..d0fdeedb51 100644
--- a/macros/latex/contrib/revtex/source/ltxgrid.dtx
+++ b/macros/latex/contrib/revtex/ltxgrid.dtx
@@ -15,7 +15,8 @@
% installation, typeset this document with \LaTeX.
% Maintenance Status
% This work has the LPPL maintenance status "maintained";
-% Current Maintainer of this work is Arthur Ogawa.
+% Current Maintainer of this work is Arthur Ogawa
+% changes for version 4.2d by Phelype Oleinik.
%
% This work consists of the main source file ltxgrid.dtx
% and the derived files
@@ -108,17 +109,16 @@ License
%</ignore>
% \fi
%
-% \GetFileInfo{ltxgrid.dtx}\CheckSum{5898}
+% \GetFileInfo{ltxgrid.dtx}
%
% \iffalse ltxdoc klootch
%<*package>
%%% @LaTeX-file{
%%% filename = "ltxgrid.dtx",
-%%% version = "4.2c",
-%%% date = "2019/01/18",
-%%% time = "14:29:48 UT-5",
-%%% checksum = "5462",
+%%% version = "4.2d",
+%%% date = "2020/09/30",
%%% author = "Arthur Ogawa (mailto:arthur_ogawa at sbcglobal.net),
+%%% Phelype Oleinik (mailto:phelype.oleinik at latex-project.org),
%%% commissioned by the American Physical Society.
%%% ",
%%% copyright = "Copyright (C) 1999, 2009 Arthur Ogawa,
@@ -135,7 +135,6 @@ License
%%% 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
@@ -231,7 +230,7 @@ ltxgrid%
% \begin{macrocode}
%<*doc|package|kernel>
%<version>
- [2019/01/18/14:29:48 4.2c page grid package (portions licensed from W. E. Baxter web at superscript.com)]% \fileversion
+ [2020/09/30 4.2d page grid package (portions licensed from W. E. Baxter web at superscript.com)]% \fileversion
%</doc|package|kernel>
%<kernel&!package&!doc>}%
% \end{macrocode}
@@ -321,7 +320,7 @@ ltxgrid%
last revised \filedate.%
}%
\thanks{%
- Version \fileversion\ \copyright\ 2019 American Physical Society
+ Version \fileversion\ \copyright\ 2019--2020 American Physical Society
}%
}%
\author{%
@@ -453,7 +452,8 @@ now put a \cmd\usepackage\texttt{\{ltxgrid\}} in your document preamble!
\changes{4.1o}{2010/02/02}{(AO, 576) Allow \classname{lscape} to act on \cs{@outputbox} at the right time}%
\changes{4.1p}{2010/02/24}{(AO, 583) Provide setup code also for footnotes in a one-column document}%
\changes{4.2a}{2018/12/12}{(MD) Updated name of README file and use standard fonts when typesetting}%
-
+\changes{4.2d}{2020/09/19}{(PHO) Adapt \cs{document} and \cs{enddocument} hooks to the 2020-10-01 \LaTeX{} release.}%
+\changes{4.2d}{2020/09/30}{(PHO) Correct \cs{@normalcr} patch for \LaTeX{} 2020-02-02 and later.}%
\end{filecontents*}
% \end{macrocode}
%
@@ -5127,12 +5127,22 @@ now put a \cmd\usepackage\texttt{\{ltxgrid\}} in your document preamble!
% FIXME: it should be the job of the page grid to determine the procedure to execute at
% the start of the job. Make this a hook.
% \begin{macrocode}
-\prepdef\@begindocumenthook{%
- \open@column@one\@ne
- \set@colht
- \@floatplacement
- \@dblfloatplacement
-}%
+\rvtx@ifformat@geq{2020-10-01}%
+ {%
+ \AddToHook{begindocument}{%
+ \open@column@one\@ne
+ \set@colht
+ \@floatplacement
+ \@dblfloatplacement
+ }%
+ }{%
+ \prepdef\@begindocumenthook{%
+ \open@column@one\@ne
+ \set@colht
+ \@floatplacement
+ \@dblfloatplacement
+ }%
+ }
% \end{macrocode}
% \end{macro}
%
@@ -6206,6 +6216,14 @@ now put a \cmd\usepackage\texttt{\{ltxgrid\}} in your document preamble!
%
% Next, we provide for line-wise processing by patching the procedures associated with these same three commands.
%
+% Depending on the running version of \LaTeX, these commands use \cs{vskip} (before 2020-10-01), or
+% \cs{@vspace@calcify} to add \textsf{calc}-like support in the kernel. To avoid duplicating the tests,
+% define a macro \cs{@tempa} that takes the right form of the primitive spacing command and defines \LaTeX's
+% spacing macros accordingly.
+% \begin{macrocode}
+\def\@tempa#1{%
+% \end{macrocode}
+%
% There are exactly four core \LaTeX\ procedures that use \cmd\vadjust\ to insert vertical mode material
% into the main vertical list: \cmd\vspace, \cmd\pagebreak, \cmd\nopagebreak, and \cmd\\.
% Other commands may use \cmd\vadjust, but they are inserting an interrupt (via a penalty${}<10000$),
@@ -6217,29 +6235,32 @@ now put a \cmd\usepackage\texttt{\{ltxgrid\}} in your document preamble!
%
% The first procedure is \cmd\@vspace, here shown in original form and in the patched alternative form.
% This procedure and \cmd\@vspacer\ implement the \cmd\vspace\ command.
+%
% \begin{macrocode}
-\def\@vspace@org #1{%
+\def\@vspace@org ##1{%
\ifvmode
- \vskip #1
+ #1% \vskip #1
\vskip\z@skip
\else
\@bsphack
\vadjust{\@restorepar
- \vskip #1
+ #1% \vskip #1
\vskip\z@skip
}%
\@esphack
\fi
}%
-\def\@vspace@ltx#1{%
+\def\@vspace@ltx##1{%
\@ifvmode{%
- \vskip#1\vskip\z@skip
+ #1% \vskip #1
+ \vskip\z@skip
}{%
\@bsphack
\ex@vadjust@ltx{%
\@restorepar
\nobreak
- \vskip#1\vskip\z@skip
+ #1% \vskip #1
+ \vskip\z@skip
}%
\@esphack
}%
@@ -6248,12 +6269,12 @@ now put a \cmd\usepackage\texttt{\{ltxgrid\}} in your document preamble!
%
% The second procedure is \cmd\@vspacer.
% \begin{macrocode}
-\def\@vspacer@org#1{%
+\def\@vspacer@org##1{%
\ifvmode
\dimen@\prevdepth
\hrule \@height\z@
\nobreak
- \vskip #1
+ #1%\vskip #1
\vskip\z@skip
\prevdepth\dimen@
\else
@@ -6261,17 +6282,18 @@ now put a \cmd\usepackage\texttt{\{ltxgrid\}} in your document preamble!
\vadjust{\@restorepar
\hrule \@height\z@
\nobreak
- \vskip #1
+ #1%\vskip #1
\vskip\z@skip}%
\@esphack
\fi
}%
-\def\@vspacer@ltx#1{%
+\def\@vspacer@ltx##1{%
\@ifvmode{%
\dimen@\prevdepth
\hrule\@height\z@
\nobreak
- \vskip#1\vskip\z@skip
+ #1%\vskip#1
+ \vskip\z@skip
\prevdepth\dimen@
}{%
\@bsphack
@@ -6279,13 +6301,22 @@ now put a \cmd\usepackage\texttt{\{ltxgrid\}} in your document preamble!
\@restorepar
\hrule\@height\z@
\nobreak
- \vskip#1\vskip\z@skip
+ #1%\vskip#1
+ \vskip\z@skip
}%
\@esphack
}%
}%
% \end{macrocode}
%
+% Now define the macros above conditionally depending on the \LaTeX version.
+% \begin{macrocode}
+}
+\rvtx@ifformat@geq{2020/10/01}%
+ {\@tempa{\@vspace@calcify{#1}}}%
+ {\@tempa{\vskip #1 }}%
+% \end{macrocode}
+%
% The procedure \cmd\@no@pgbk\ implements both \cmd\pagebreak\ and \cmd\nopagebreak.
% \begin{macrocode}
\def\@no@pgbk@org #1[#2]{%
@@ -6319,8 +6350,10 @@ now put a \cmd\usepackage\texttt{\{ltxgrid\}} in your document preamble!
%
% Here is the original core \LaTeX\ definition for
% the procedure involved, along with our revised version.
+% \changes{2020/09/30}{4.2d}{Conditionally use \cs{protected} or \cs{long} to track \LaTeX{} changes.}
% \begin{macrocode}
-\long\def\end@line@org{%
+\rvtx@ifformat@geq{2020/02/02}%
+{\protected}{\long}\def\end@line@org{%
\let\reserved@e\relax
\let\reserved@f\relax
\@ifstar{%
@@ -6330,7 +6363,8 @@ now put a \cmd\usepackage\texttt{\{ltxgrid\}} in your document preamble!
}%
\@xnewline
}%
-\long\def\end@line@ltx{%
+\rvtx@ifformat@geq{2020/02/02}%
+{\protected}{\long}\def\end@line@ltx{%
\let\reserved@e\relax
\let\reserved@f\relax
\@ifstar{%
@@ -6345,14 +6379,19 @@ now put a \cmd\usepackage\texttt{\{ltxgrid\}} in your document preamble!
% An additional procedure requiring patching has the following original core \LaTeX\
% definition; we modify it correspondingly.
% \begin{macrocode}
-\def\@newline@org[#1]{%
- \let\reserved@e\vadjust
- \@gnewline{\vskip#1}%
-}%
-\def\@newline@ltx[#1]{%
- \let\reserved@e\ex@vadjust@ltx
- \@gnewline{\vskip#1}%
-}%
+\def\@tempa#1{%
+ \def\@newline@org[##1]{%
+ \let\reserved@e\vadjust
+ \@gnewline{#1}% \vskip#1
+ }%
+ \def\@newline@ltx[##1]{%
+ \let\reserved@e\ex@vadjust@ltx
+ \@gnewline{#1}% \vskip#1
+ }%
+}
+\rvtx@ifformat@geq{2020/10/01}%
+ {\@tempa{\@vspace@calcify{#1}}}%
+ {\@tempa{\vskip #1}}%
% \end{macrocode}
% We now install our patches.
% If some package overrides these macros, we will detect and complain.
@@ -6362,8 +6401,13 @@ now put a \cmd\usepackage\texttt{\{ltxgrid\}} in your document preamble!
\@ifx{\@vspacer\@vspacer@org}{%
\@ifx{\@no@pgbk\@no@pgbk@org}{%
\@ifx{\@newline\@newline@org}{%
- \expandafter\@ifx\expandafter{\csname\expandafter\@gobble\string\\ \endcsname\end@line@org}{%
- \true@sw
+ \expandafter\@ifx\expandafter{%
+ \csname\rvtx@ifformat@geq{2020/02/02}%
+ {\expandafter\@gobble\string\\}%
+ {\expandafter\@gobble\string\\ }\endcsname
+ \end@line@org
+ }{%
+ \true@sw
}{\false@sw}%
}{\false@sw}%
}{\false@sw}%
@@ -6372,7 +6416,10 @@ now put a \cmd\usepackage\texttt{\{ltxgrid\}} in your document preamble!
{%
\class@info{Overriding \string\@vspace, \string\@vspacer, \string\@no@pgbk, \string\@newline, and \string\\ }%
\let\@normalcr\end@line@ltx
- \expandafter\let\csname\expandafter\@gobble\string\\ \endcsname\@normalcr
+ \expandafter\let
+ \csname\rvtx@ifformat@geq{2020/02/02}%
+ {\expandafter\@gobble\string\\}%
+ {\expandafter\@gobble\string\\ }\endcsname\@normalcr
\let\@newline\@newline@ltx
\let\@vspace\@vspace@ltx
\let\@vspacer\@vspacer@ltx
diff --git a/macros/latex/contrib/revtex/ltxgrid.pdf b/macros/latex/contrib/revtex/ltxgrid.pdf
new file mode 100644
index 0000000000..6adb6df713
--- /dev/null
+++ b/macros/latex/contrib/revtex/ltxgrid.pdf
Binary files differ
diff --git a/macros/latex/contrib/revtex/source/ltxutil.dtx b/macros/latex/contrib/revtex/ltxutil.dtx
index 1ca98f82cc..91b3136d50 100644
--- a/macros/latex/contrib/revtex/source/ltxutil.dtx
+++ b/macros/latex/contrib/revtex/ltxutil.dtx
@@ -15,7 +15,8 @@
% installation, typeset this document with \LaTeX.
% Maintenance Status
% This work has the LPPL maintenance status "maintained";
-% Current Maintainer of this work is Arthur Ogawa.
+% Current Maintainer of this work is Arthur Ogawa
+% changes for version 4.2d by Phelype Oleinik.
%
% This work consists of the main source file ltxutil.dtx
% and the derived files
@@ -108,17 +109,16 @@ License
%</ignore>
% \fi
%
-% \GetFileInfo{ltxutil.dtx}\CheckSum{4291}
+% \GetFileInfo{ltxutil.dtx}
%
% \iffalse ltxdoc klootch
%<*package>
%%% @LaTeX-file{
%%% filename = "ltxutil.dtx",
-%%% version = "4.2c",
-%%% date = "2019/01/18",
-%%% time = "14:29:48 UT-5",
-%%% checksum = "4291",
+%%% version = "4.2d",
+%%% date = "2020/09/19",
%%% author = "Arthur Ogawa (mailto:arthur_ogawa at sbcglobal.net),
+%%% Phelype Oleinik (mailto:phelype.oleinik at latex-project.org),
%%% commissioned by the American Physical Society. Minor changes by Mark Doyle for version 4.2a-c.
%%% ",
%%% copyright = "Copyright (C) 1999, 2009 Arthur Ogawa,
@@ -135,7 +135,6 @@ License
%%% keywords = "latex, page grid, main vertical list",
%%% supported = "yes",
%%% abstract = "utilities package",
-%%% docstring = "The checksum field above generated by ltxdoc",
%%% }
%</package>
% \fi
@@ -224,7 +223,7 @@ ltxutil%
% \begin{macrocode}
%<*doc|package|kernel>
%<version>
- [2019/01/18/14:29:48 4.2c utilities package (portions licensed from W. E. Baxter web at superscript.com)]% \fileversion
+ [2020/09/19 4.2d utilities package (portions licensed from W. E. Baxter web at superscript.com)]% \fileversion
%</doc|package|kernel>
%<kernel&!package&!doc>}%
% \end{macrocode}
@@ -259,6 +258,10 @@ ltxutil%
\RequirePackage{ltxdocext}%
\let\url\undefined
\RequirePackage[colorlinks=true,linkcolor=blue]{hyperref}%
+\pdfstringdefDisableCommands{%
+ \let\file\relax
+ \let\sc\relax
+}
%\expandafter\ifx\csname package@font\endcsname\@undefined\else
% \expandafter\RequirePackage\expandafter{\csname package@font\endcsname}%
%\fi
@@ -310,7 +313,7 @@ ltxutil%
last revised \filedate.%
}%
\thanks{%
- Version \fileversion\ \copyright\ 2019 American Physical Society
+ Version \fileversion\ \copyright\ 2019--2020 American Physical Society
}%
}%
\author{%
@@ -451,6 +454,7 @@ now put a \cmd\usepackage\texttt{\{ltxutil\}} in your document preamble!
\changes{4.1p}{2010/02/24}{(AO, 582) A patch of \classname{hyperref.sty} to provide backward compatibility to \TeX Live 2007's version 6.75r}%
\changes{4.2a}{2017/11/21}{(MD) Use updated best practice to use https and doi.org}%
\changes{4.2a}{2018/12/12}{(MD) Updated name of README file and use standard fonts when typesetting}%
+\changes{4.2d}{2020/09/19}{(PHO) Adapt \cs{document} and \cs{enddocument} hooks to the 2020-10-01 \LaTeX{} release.}%
\end{filecontents*}
% \end{macrocode}
@@ -786,6 +790,22 @@ now put a \cmd\usepackage\texttt{\{ltxutil\}} in your document preamble!
% \end{macro}
% \end{macro}
%
+% \begin{macro}{\rvtx@ifformat@geq}
+% Some changes in the \LaTeX{} kernel requires us to conditionally
+% define some macros depending on the version of the kernel.
+% \cmd\rvtx@ifformat@geq{} will check if the release date of the
+% currently-running \LaTeXe{} kernel is greater or equal to the
+% argument (the argument should be in the format \texttt{yyyy-mm-dd}).
+% \changes{4.2d}{2020/09/17}{(PHO) Add \cs{rvtx@ifformat@geq}.}%
+% \begin{macrocode}
+\ifx\IfFormatAtLeastTF\undefined
+ \def\rvtx@ifformat@geq{\@ifl@t@r\fmtversion}%
+\else
+ \let\rvtx@ifformat@geq\IfFormatAtLeastTF
+\fi
+% \end{macrocode}
+% \end{macro}
+%
% \begin{macro}{\@boolean}
% \begin{macro}{\@boole@def}
% In order to define \cmd\@ifx, we first must create the
@@ -931,25 +951,35 @@ now put a \cmd\usepackage\texttt{\{ltxutil\}} in your document preamble!
% column grid command at \cmd\AtBeginDocument\ time, since the MVL has nothing in it
% at that time that would be problematical.
%
-% The facility depends on the stability of this part
-% of \LaTeX's kernel code (the first token of \cmd\document),
-% which could change, you see. But considering that \LaTeX\ is
-% at this point essentially stagnant once more, we risk it.
-%
% \begin{macro}{\document}
% We begin by installing hooks into \cmd\document\ that
% we will manage ourselves.
-% First, we do as \cmd\document\ does: end the group
-% begun by \cmd\begin. Last, we conclude our shenanigans by absorbing
+%
+% The 2020-10-01 \LaTeX{} release got a new hook management system and
+% several new hooks (several previously provided by \textsf{etoolbox}).
+% The one we want here is \texttt{begindocument/before}, the first thing
+% executed by \cmd\document{}, right after ending the group started by
+% \cmd\begin{}.
+%
+% Thus, if the \LaTeX{} kernel date is 2020-10-01 we just add to that
+% hook, otherwise resort to the old method, patching \cmd\document:
+% end the group started by \cmd\begin, apply our hook, and
+% conclude our shenanigans by absorbing
% the first token of the expansion of \cmd\document, which
-% we assume to be \cmd\endgroup.
+% we assume to be \cmd\endgroup{} (true until the aforementioned release).
% \changes{4.1a}{2008/08/12}{Get rid of \cs{set@typesize@hook} \cs{set@pica@hook} and the \cs{normalsize} directive}%
+% \changes{4.2d}{2020/09/17}{(PHO) Use \LaTeX's hook management system, if possible.}%
% \begin{macrocode}
-\prepdef\document{%
- \endgroup
- \document@inithook
- \true@sw{}%
-}%
+\rvtx@ifformat@geq{2020-10-01}%
+ {%
+ \AddToHook{begindocument/before}{\document@inithook}%
+ }{%
+ \prepdef\document{%
+ \endgroup
+ \document@inithook
+ \true@sw{}%
+ }%
+ }
% \end{macrocode}
% \end{macro}
%
@@ -996,7 +1026,15 @@ now put a \cmd\usepackage\texttt{\{ltxutil\}} in your document preamble!
% We will do this to ensure that the \cmd\@mainaux\ stream is not closed until
% the last page of the job is shipped out, and that can only be done by coordinating
% with the output routine.
+%
+% \changes{4.2d}{2020/09/17}{(PHO) Only redefine \cs{enddocument} in older versions.}%
+% This approach, however, will only be done for older versions of the
+% \LaTeX{} kernel:
% \begin{macrocode}
+\rvtx@ifformat@geq{2020-10-01}{%
+ % <definitions for newer LaTeX later>
+}{%
+ % <definitions for older LaTeX>
\def\enddocument{%
% \end{macrocode}
% \changes{4.1n}{2009/12/06}{(AO) Incorporate change to ltmiscen.dtx v1.1i 2000/05/19}%
@@ -1044,7 +1082,7 @@ now put a \cmd\usepackage\texttt{\{ltxutil\}} in your document preamble!
\@if@sw\if@tempswa\fi{%
\@latex@warning@no@line{%
Label(s) may have changed.
- Rerun to get cross-references right
+ Rerun to get cross-references right%
}%
}{}%
}{%
@@ -1052,8 +1090,86 @@ now put a \cmd\usepackage\texttt{\{ltxutil\}} in your document preamble!
}%
}{}%
}%
+}
+% \end{macrocode}
+%
+% \changes{4.2d}{2020/09/17}{(PHO) Patch \cs{enddocument} at runtime in newer versions.}%
+% \begin{macro}{\rvtx@enddocument@patch}
+% For newer \LaTeX{} we'll try to be a bit more future-proof
+% (no miracle though). The code for \cmd\enddocument{}
+% (in pre-2020-10-01 \LaTeX) is roughly:
+% \begin{verbatim}
+% \def\enddocument{%
+% <hooks and bookkeeping>
+% \clearpage
+% <read main .aux and final checks>
+% \@@end
+% }
+% \end{verbatim}
+% and the patches above replace the \cmd\clearpage{} by its own
+% \cmd\clear@document, and \verb|<read main .aux and final checks>| by
+% \cmd\do@check@aux, which it can later control the timing.
+%
+% Now we will apply the same changes, but this time without redefining
+% \cmd\enddocument: we will instead replace tokens on-the-fly, when
+% \cmd\enddocument{} is expanded. This will grant us a slightly safer
+% approach that won't depend so much on the internals of
+% \cmd\enddocument.
+%
+% This entire patch should work with the previous definition of
+% \cmd\enddocument{} as well (except it cannot be used in the hook),
+% but for now leave previous versions untouched.
+%
+% The entire patching will reside in the \texttt{enddocument} hook:
+% \begin{macrocode}
+\rvtx@ifformat@geq{2020-10-01}{%
+ \AddToHook{enddocument}{\rvtx@enddocument@patch{}}%
+}{}
+% \end{macrocode}
+%
+% This macro will be executed after \cmd\enddocument{} has expanded,
+% so all its tokens are now exposed. Here we will assume that
+% \cmd\enddocument{} contains the tokens \verb|\@checkend{document}|
+% and \cmd\endgroup, and use them as delimiters:
+% \begin{macrocode}
+\protected\long\def\rvtx@enddocument@patch#1#2\@checkend#3{%
+ \begingroup
+ \edef\x{\detokenize{#3}}%
+ \edef\y{\detokenize{document}}%
+ \expandafter\endgroup
+ \ifx\x\y
+ \expandafter\rvtx@enddocument@patch@end
+ \else
+ \expandafter\rvtx@enddocument@patch@more
+ \fi
+ {#1#2}{#3}}
+\def\rvtx@enddocument@patch@more#1#2{%
+ \rvtx@enddocument@patch{#1\@checkend{#2}}}
+% \end{macrocode}
+%
+% When the \verb|\@checkend{document}| is reached, use \cmd\clearpage{}
+% and \cmd\enddocument{} as delimiters for the
+% \verb|<read main .aux and final checks>| part, and save it in
+% \cmd\do@check@aux{}:
+% \begin{macrocode}
+\long\def\rvtx@enddocument@patch@end#1#2\clearpage#3\endgroup{%
+ \def\do@check@aux{#3\endgroup}%
+% \end{macrocode}
+% Then execute the code consumed in the previous step:
+% \begin{macrocode}
+ #1%
+ \@checkend{#2}%
+% \end{macrocode}
+% Do \cmd\clear@document{} instead of \cmd\clearpage{} and
+% \cmd\check@aux{} instead of the code grabbed.
+% \begin{macrocode}
+ \clear@document
+ \check@aux}
+\def\check@aux{\do@check@aux}%
% \end{macrocode}
% \end{macro}
+%
+% \end{macro}
% \end{macro}
% \end{macro}
%
@@ -4308,9 +4424,14 @@ now put a \cmd\usepackage\texttt{\{ltxutil\}} in your document preamble!
\endgroup
}%
\@ifx{\typeout\typeout@org}{%
- \class@info{Making \string\typeout\space \string\long}%
\let\typeout\typeout@ltx
-}{}%
+ \true@sw
+}{%
+ \rvtx@ifformat@geq{2020-10-01}%
+ {\true@sw}{\false@sw}%
+}%
+ {\class@info{Making \string\typeout\space \string\long}}%
+ {}%
% \end{macrocode}
% \end{macro}
%
diff --git a/macros/latex/contrib/revtex/ltxutil.pdf b/macros/latex/contrib/revtex/ltxutil.pdf
new file mode 100644
index 0000000000..db3ab4dc60
--- /dev/null
+++ b/macros/latex/contrib/revtex/ltxutil.pdf
Binary files differ
diff --git a/macros/latex/contrib/revtex/source/revtex4-2.dtx b/macros/latex/contrib/revtex/revtex4-2.dtx
index 844a1edad1..56afda619e 100644
--- a/macros/latex/contrib/revtex/source/revtex4-2.dtx
+++ b/macros/latex/contrib/revtex/revtex4-2.dtx
@@ -77,7 +77,10 @@ Modified by Aptara on behalf of American Physical Society and American Institute
Version (4.2b,4.2c)
Modified by Mark Doyle, American Physical Society (mailto:revtex at aps.org)
-Copyright (c) 2019 American Physical Society.
+Version (4.2d)
+Modified by Phelype Oleinik for the American Physical Society (mailto:phelype.oleinik at latex-project.org)
+
+Copyright (c) 2019--2020 American Physical Society.
https://journals.aps.org/revtex/
mailto:revtex@aps.org
@@ -128,17 +131,14 @@ See the REVTeX 4.2 README-REVTEX file for restrictions and more information.
% \fi
%
% \GetFileInfo{revtex4-2.dtx}
-% \CheckSum{6584}
%
% \StopEventually{}
% \iffalse ltxdoc klootch
%<*package>
%%% @LaTeX-file{
%%% filename = "revtex4-2.dtx",
-%%% version = "4.2c",
-%%% date = "2019/01/18",
-%%% time = "14:29:48 UT-5",
-%%% checksum = "6584",
+%%% version = "4.2d",
+%%% date = "2020/09/30",
%%% author = "Mark Doyle (mailto: revtex at aps.org), Arthur Ogawa (mailto:arthur_ogawa at sbcglobal.net),
%%% commissioned by the American Physical Society.
%%% ",
@@ -156,7 +156,6 @@ See the REVTeX 4.2 README-REVTEX file for restrictions and more information.
%%% keywords = "",
%%% supported = "yes",
%%% abstract = "",
-%%% docstring = "The checksum field above generated by ltxdoc",
%%% }
%</package>
% \fi
@@ -230,7 +229,7 @@ See the REVTeX 4.2 README-REVTEX file for restrictions and more information.
%</doc>
%<*!package&!options>
%<version>
- [2019/01/18/14:29:48 4.2c (https://journals.aps.org/revtex/ for documentation)]% \fileversion
+ [2020/09/30 4.2d (https://journals.aps.org/revtex/ for documentation)]% \fileversion
%</!package&!options>
% \end{macrocode}
% The current class name is remembered in \cmd\class@name.
@@ -651,8 +650,8 @@ The file \file{template.aps} is a boilerplate file.
mailto:revtex@aps.org^^J
Licensed under the LPPL:^^Jhttp://www.ctan.org/tex-archive/macros/latex/base/lppl.txt^^J
Arthur Ogawa <arthur_ogawa at sbcglobal dot net>^^J
- Based on work by David Carlisle <david at dcarlisle.demon.co.uk>%
- Version (4.2c): Modified by Mark Doyle^^J
+ Based on work by David Carlisle <david at dcarlisle.demon.co.uk>^^J
+ Version (4.2d): Modified by Mark Doyle and Phelype Oleinik^^J
\@gobble
}%
% \end{macrocode}
diff --git a/macros/latex/contrib/revtex/revtex4-2.pdf b/macros/latex/contrib/revtex/revtex4-2.pdf
new file mode 100644
index 0000000000..494cbdc45c
--- /dev/null
+++ b/macros/latex/contrib/revtex/revtex4-2.pdf
Binary files differ
diff --git a/macros/latex/contrib/revtex/doc/sample/aapm/aapmsamp.bib b/macros/latex/contrib/revtex/sample/aapm/aapmsamp.bib
index 31728856f2..31728856f2 100644
--- a/macros/latex/contrib/revtex/doc/sample/aapm/aapmsamp.bib
+++ b/macros/latex/contrib/revtex/sample/aapm/aapmsamp.bib
diff --git a/macros/latex/contrib/revtex/doc/sample/aapm/aapmsamp.pdf b/macros/latex/contrib/revtex/sample/aapm/aapmsamp.pdf
index b7c8908051..b7c8908051 100644
--- a/macros/latex/contrib/revtex/doc/sample/aapm/aapmsamp.pdf
+++ b/macros/latex/contrib/revtex/sample/aapm/aapmsamp.pdf
Binary files differ
diff --git a/macros/latex/contrib/revtex/doc/sample/aapm/aapmsamp.tex b/macros/latex/contrib/revtex/sample/aapm/aapmsamp.tex
index e1c5ff96d0..e1c5ff96d0 100644
--- a/macros/latex/contrib/revtex/doc/sample/aapm/aapmsamp.tex
+++ b/macros/latex/contrib/revtex/sample/aapm/aapmsamp.tex
diff --git a/macros/latex/contrib/revtex/doc/sample/aapm/aapmtemplate.tex b/macros/latex/contrib/revtex/sample/aapm/aapmtemplate.tex
index 113bd825c3..113bd825c3 100644
--- a/macros/latex/contrib/revtex/doc/sample/aapm/aapmtemplate.tex
+++ b/macros/latex/contrib/revtex/sample/aapm/aapmtemplate.tex
diff --git a/macros/latex/contrib/revtex/doc/sample/aapm/fig_1.eps b/macros/latex/contrib/revtex/sample/aapm/fig_1.eps
index 8bc5bc8a74..8bc5bc8a74 100644
--- a/macros/latex/contrib/revtex/doc/sample/aapm/fig_1.eps
+++ b/macros/latex/contrib/revtex/sample/aapm/fig_1.eps
diff --git a/macros/latex/contrib/revtex/doc/sample/aapm/fig_2.eps b/macros/latex/contrib/revtex/sample/aapm/fig_2.eps
index cda61493ce..cda61493ce 100644
--- a/macros/latex/contrib/revtex/doc/sample/aapm/fig_2.eps
+++ b/macros/latex/contrib/revtex/sample/aapm/fig_2.eps
diff --git a/macros/latex/contrib/revtex/doc/sample/aip/aipsamp.bib b/macros/latex/contrib/revtex/sample/aip/aipsamp.bib
index 458a4b7a19..458a4b7a19 100644
--- a/macros/latex/contrib/revtex/doc/sample/aip/aipsamp.bib
+++ b/macros/latex/contrib/revtex/sample/aip/aipsamp.bib
diff --git a/macros/latex/contrib/revtex/doc/sample/aip/aipsamp.pdf b/macros/latex/contrib/revtex/sample/aip/aipsamp.pdf
index 185f5c7fa1..185f5c7fa1 100644
--- a/macros/latex/contrib/revtex/doc/sample/aip/aipsamp.pdf
+++ b/macros/latex/contrib/revtex/sample/aip/aipsamp.pdf
Binary files differ
diff --git a/macros/latex/contrib/revtex/doc/sample/aip/aipsamp.tex b/macros/latex/contrib/revtex/sample/aip/aipsamp.tex
index c2416f9dae..c2416f9dae 100644
--- a/macros/latex/contrib/revtex/doc/sample/aip/aipsamp.tex
+++ b/macros/latex/contrib/revtex/sample/aip/aipsamp.tex
diff --git a/macros/latex/contrib/revtex/doc/sample/aip/aiptemplate.tex b/macros/latex/contrib/revtex/sample/aip/aiptemplate.tex
index c1d22b5863..c1d22b5863 100644
--- a/macros/latex/contrib/revtex/doc/sample/aip/aiptemplate.tex
+++ b/macros/latex/contrib/revtex/sample/aip/aiptemplate.tex
diff --git a/macros/latex/contrib/revtex/doc/sample/aip/fig_1.eps b/macros/latex/contrib/revtex/sample/aip/fig_1.eps
index 8bc5bc8a74..8bc5bc8a74 100644
--- a/macros/latex/contrib/revtex/doc/sample/aip/fig_1.eps
+++ b/macros/latex/contrib/revtex/sample/aip/fig_1.eps
diff --git a/macros/latex/contrib/revtex/doc/sample/aip/fig_2.eps b/macros/latex/contrib/revtex/sample/aip/fig_2.eps
index cda61493ce..cda61493ce 100644
--- a/macros/latex/contrib/revtex/doc/sample/aip/fig_2.eps
+++ b/macros/latex/contrib/revtex/sample/aip/fig_2.eps
diff --git a/macros/latex/contrib/revtex/doc/sample/aps/apssamp.bib b/macros/latex/contrib/revtex/sample/aps/apssamp.bib
index ff2eace3e8..ff2eace3e8 100644
--- a/macros/latex/contrib/revtex/doc/sample/aps/apssamp.bib
+++ b/macros/latex/contrib/revtex/sample/aps/apssamp.bib
diff --git a/macros/latex/contrib/revtex/doc/sample/aps/apssamp.pdf b/macros/latex/contrib/revtex/sample/aps/apssamp.pdf
index 3e11f390bc..3e11f390bc 100644
--- a/macros/latex/contrib/revtex/doc/sample/aps/apssamp.pdf
+++ b/macros/latex/contrib/revtex/sample/aps/apssamp.pdf
Binary files differ
diff --git a/macros/latex/contrib/revtex/doc/sample/aps/apssamp.tex b/macros/latex/contrib/revtex/sample/aps/apssamp.tex
index ae2eb529ff..ae2eb529ff 100644
--- a/macros/latex/contrib/revtex/doc/sample/aps/apssamp.tex
+++ b/macros/latex/contrib/revtex/sample/aps/apssamp.tex
diff --git a/macros/latex/contrib/revtex/doc/sample/aps/apstemplate.tex b/macros/latex/contrib/revtex/sample/aps/apstemplate.tex
index 84d3435306..84d3435306 100644
--- a/macros/latex/contrib/revtex/doc/sample/aps/apstemplate.tex
+++ b/macros/latex/contrib/revtex/sample/aps/apstemplate.tex
diff --git a/macros/latex/contrib/revtex/doc/sample/aps/fig_1.eps b/macros/latex/contrib/revtex/sample/aps/fig_1.eps
index 2cd607454d..2cd607454d 100644
--- a/macros/latex/contrib/revtex/doc/sample/aps/fig_1.eps
+++ b/macros/latex/contrib/revtex/sample/aps/fig_1.eps
diff --git a/macros/latex/contrib/revtex/doc/sample/aps/fig_2.eps b/macros/latex/contrib/revtex/sample/aps/fig_2.eps
index eb637e2429..eb637e2429 100644
--- a/macros/latex/contrib/revtex/doc/sample/aps/fig_2.eps
+++ b/macros/latex/contrib/revtex/sample/aps/fig_2.eps
diff --git a/macros/latex/contrib/revtex/doc/sample/aps/vid_1a.eps b/macros/latex/contrib/revtex/sample/aps/vid_1a.eps
index 2388bd4104..2388bd4104 100644
--- a/macros/latex/contrib/revtex/doc/sample/aps/vid_1a.eps
+++ b/macros/latex/contrib/revtex/sample/aps/vid_1a.eps
diff --git a/macros/latex/contrib/revtex/doc/sample/aps/vid_1b.eps b/macros/latex/contrib/revtex/sample/aps/vid_1b.eps
index a64a6dc4f0..a64a6dc4f0 100644
--- a/macros/latex/contrib/revtex/doc/sample/aps/vid_1b.eps
+++ b/macros/latex/contrib/revtex/sample/aps/vid_1b.eps
diff --git a/macros/latex/contrib/revtex/doc/sample/sor/fig_1.eps b/macros/latex/contrib/revtex/sample/sor/fig_1.eps
index 8bc5bc8a74..8bc5bc8a74 100644
--- a/macros/latex/contrib/revtex/doc/sample/sor/fig_1.eps
+++ b/macros/latex/contrib/revtex/sample/sor/fig_1.eps
diff --git a/macros/latex/contrib/revtex/doc/sample/sor/fig_2.eps b/macros/latex/contrib/revtex/sample/sor/fig_2.eps
index cda61493ce..cda61493ce 100644
--- a/macros/latex/contrib/revtex/doc/sample/sor/fig_2.eps
+++ b/macros/latex/contrib/revtex/sample/sor/fig_2.eps
diff --git a/macros/latex/contrib/revtex/doc/sample/sor/sorsamp.bib b/macros/latex/contrib/revtex/sample/sor/sorsamp.bib
index 458a4b7a19..458a4b7a19 100644
--- a/macros/latex/contrib/revtex/doc/sample/sor/sorsamp.bib
+++ b/macros/latex/contrib/revtex/sample/sor/sorsamp.bib
diff --git a/macros/latex/contrib/revtex/doc/sample/sor/sorsamp.pdf b/macros/latex/contrib/revtex/sample/sor/sorsamp.pdf
index 9df32f8ec1..9df32f8ec1 100644
--- a/macros/latex/contrib/revtex/doc/sample/sor/sorsamp.pdf
+++ b/macros/latex/contrib/revtex/sample/sor/sorsamp.pdf
Binary files differ
diff --git a/macros/latex/contrib/revtex/doc/sample/sor/sorsamp.tex b/macros/latex/contrib/revtex/sample/sor/sorsamp.tex
index e44460ee81..e44460ee81 100644
--- a/macros/latex/contrib/revtex/doc/sample/sor/sorsamp.tex
+++ b/macros/latex/contrib/revtex/sample/sor/sorsamp.tex
diff --git a/macros/latex/contrib/revtex/doc/sample/sor/sortemplate.tex b/macros/latex/contrib/revtex/sample/sor/sortemplate.tex
index 8bacf8024b..8bacf8024b 100644
--- a/macros/latex/contrib/revtex/doc/sample/sor/sortemplate.tex
+++ b/macros/latex/contrib/revtex/sample/sor/sortemplate.tex
diff --git a/macros/latex/contrib/revtex/source/aip.dtx b/macros/latex/contrib/revtex/source/aip.dtx
deleted file mode 100644
index 13c711fc82..0000000000
--- a/macros/latex/contrib/revtex/source/aip.dtx
+++ /dev/null
@@ -1,2062 +0,0 @@
-% \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}\CheckSum{1163}
-%
-% \iffalse ltxdoc klootch
-%<*package>
-%%% @LaTeX-file{
-%%% filename = "aip.dtx",
-%%% version = "4.1r",
-%%% date = "2010/07/25",
-%%% time = "20:32:00 GMT-8",
-%%% checksum = "1163",
-%%% 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",
-%%% docstring = "The checksum field above generated by ltxdoc",
-%%% }
-%</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>
- [2010/07/25 4.1r 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*}{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/macros/latex/contrib/revtex/source/reftest4-2.tex b/macros/latex/contrib/revtex/source/reftest4-2.tex
deleted file mode 100644
index 192514f478..0000000000
--- a/macros/latex/contrib/revtex/source/reftest4-2.tex
+++ /dev/null
@@ -1,205 +0,0 @@
-% ****** Start of file reftest.tex ******
-%
-% This file is part of the APS files in the REVTeX 4.2 distribution.
-% Version 4.2a of REVTeX, December, 2014.
-%
-% Copyright (c) 2014 The American Physical Society.
-%
-% See the REVTeX 4.2 README file for restrictions and more information.
-%
-\documentclass{revtex4}%
-\begin{document}%
-
-\typeout{Filename: reftest4-2.tex for revtex 4.X 2014/12/31 (AO)}
-% This document, when typeset, prompts for the name of a LaTeX auxiliary (.aux) file
-% and then processes that file, paying attention to
-% keys that have been cited (via \citation)
-% or defined (via \bibcite).
-% It then prints out diagnostics indicating
-% * any keys that were cited but never defined,
-% * any keys that were defined but never cited, and
-% * keys that were cited and defined, but not in the same order.
-%
-% BibTeX takes care of such things automatically,
-% so there is little use for such a test when using BibTeX.
-%
-% A separate question: will this file run under revtex4.cls?
-% I can see two lines in my .aux with the potential for problems:
-% \global \mathchardef \firstnote@num\z@ \relax
-% \global\NAT@numberstrue
-
-\makeatletter
-
-\def\g@bbletw@#1#2{}%
-\def\g@bble@ne#1{}%
-
-\let\bibdata\g@bble@ne
-\let\newlabel\g@bbletw@
-\let\@writefile\g@bbletw@
-\let\bibstyle\g@bble@ne
-
-\@tempcnta\z@
-\@tempcntb\z@
-
-\def\bibcite#1#2{%
- \advance\@tempcnta\@ne
- \expandafter\bib@one\csname bib#1\expandafter\endcsname\expandafter{\the\@tempcnta}{#1}%
-}
-
-\def\bib@one#1#2#3{%
- \@ifnotrelax#1{%
- \typeout{*** Tag "#3" used in more than one \string\bibitem.}%
- \typeout{\space\space\space\space You must correct this problem before continuing (Bailing out).}%
- \@@end
- }{%
- \def#1{#2}%
- \expandafter\def\csname bib@num#2\endcsname{#3}%
- }%
-}%
-
-\def\citation#1{%
- \@for\@tempa:={#1}\do{%
- \expandafter\cite@one\csname cite\@tempa\expandafter\endcsname\expandafter{\@tempa}%
- }%
-}
-
-\def\cite@one#1#2{%
- \expandafter\@ifx\expandafter{\csname cite*\endcsname#1}{%
- \@booleantrue\@cite@star@sw
- }{%
- \@ifnotrelax#1{%
- }{%
- \advance\@tempcntb\@ne
- \expandafter\cite@one@\expandafter#1\expandafter{\the\@tempcntb}{#2}%
- }%
- }%
-}%
-\expandafter\def\csname cite*\endcsname{*}%
-\@booleanfalse\@cite@star@sw
-
-\def\cite@one@#1#2#3{%
- \def#1{#2}%
- \expandafter\def\csname cite@num#2\endcsname{#3}%
-}%
-
-\def\strut{\vrule height12pt depth4pt width0pt}%
-
-\typein[\filename]{Type in file name (no extension)}%
-\expandafter\input\expandafter{\filename.aux}%
-
-\expandafter\def\expandafter\bibtotal\expandafter{\the\@tempcnta}%
-\expandafter\def\expandafter\citetotal\expandafter{\the\@tempcntb}%
-
-\def\app@undefined#1#2#3{%
- \expandafter\@ifnotrelax\csname#2#1\endcsname{}{%
- \appdef#3{#1, }%
- }
-}%
-
-\let\uncitedbibs\@empty
-\@tempcnta\z@
-\@ifnum{\bibtotal>\@tempcnta}{%
- \loopwhile{%
- \advance\@tempcnta\@ne
- \expandafter\app@undefined\csname bib@num\the\@tempcnta\endcsname{cite}\uncitedbibs
- \@ifnum{\bibtotal>\@tempcnta}%
- }%
-}%
-
-\let\undefinedcites\@empty
-\@tempcnta\z@
-\@ifnum{\citetotal>\@tempcnta}{%
- \loopwhile{%
- \advance\@tempcnta\@ne
- \expandafter\app@undefined\csname cite@num\the\@tempcnta\endcsname{bib}\undefinedcites
- \@ifnum{\citetotal>\@tempcnta}%
- }%
-}%
-
-\def\addit@bad#1#2{%
- \expandafter\@ifnotrelax\csname bib#1\endcsname{%
- \@ifx{#1#2}{%
- \addit{#1}{OK}%
- }{%
- \advance\@tempcntb\@ne
- \addit{#1}{\bf Out of order}%
- }%
- }{%
- \addit{#1}{\bf Undefined}%
- }%
-}%
-\def\ordertable{}%
-\def\table@line#1#2{%
- \hbox to\hsize{%
- \vrule
- \hbox to.5\hsize{\ #1\hss}%
- \hss\vrule\hss\strut
- \hbox to.5\hsize{\ #2\hss}%
- \vrule
- }%
- \hrule
- \vskip\z@skip
-}%
-\def\addit#1#2{%
- \appdef\ordertable{\table@line{#1}{#2}}%
-}%
-
-\@tempcnta\z@
-\@tempcntb\z@
-\@ifnum{\citetotal>\@tempcnta}{%
- \loopwhile{%
- \advance\@tempcnta\@ne
- \expandafter\addit@bad\csname cite@num\the\@tempcnta\expandafter\endcsname\csname bib@num\the\@tempcnta\endcsname
- \@ifnum{\citetotal>\@tempcnta}%
- }%
-}{}%
-\expandafter\def\expandafter\citesdisordered\expandafter{\the\@tempcntb}%
-
-Analysis of \filename.aux, according to rules of \emph{Physical Review}:
-All bibitems must occur in the bibliography in order of their first citation in the
-file, and all bibitems must be cited in the paper.
-
-\def\@tempa{\textbf{Bibitems that were not explicitly cited:} }%
-\@ifx@empty\uncitedbibs{%
- \appdef\@tempa{none.}%
-}{%
- \appdef\@tempa{\uncitedbibs\ \@cite@star@sw{were implicitly cited.}{please cite or remove bibitem(s).}}%
-}%
-\@tempa\expandafter\typeout\expandafter{\@tempa}\par
-
-\def\@tempa{\textbf{Citations not defined in bibliography:} }%
-\@ifx@empty\undefinedcites{%
- \appdef\@tempa{none.}%
-}{%
- \appdef\@tempa{\undefinedcites\space please add bibitem(s) or remove cite(s).}%
-}%
-\@tempa\expandafter\typeout\expandafter{\@tempa}\par
-
-\@ifnum{\citesdisordered=\z@}{%
- \def\@tempa{\textbf{The order of the bibitems is OK.}}%
- \@tempa\expandafter\typeout\expandafter{\@tempa}\par
-}{%
- \def\@tempa{%
- \textbf{There
- \@ifnum{\citesdisordered<\tw@}{was an error}{were \citesdisordered\ errors}
- in the order of your bibitems.}%
- }%
- \@tempa\expandafter\typeout\expandafter{\@tempa}
- \@ifx@empty\uncitedbibs{\@ifx@empty\undefinedcites{\true@sw}{\false@sw}}{\false@sw}%
- {(This is in addition to the problems noted above.) }{}%
- Please check the following table to see what the problems were.
- Status in boldface signifies that a correction is needed. \par
-}%
- \emph{NOTE:
- This table is a complete listing of all your citations, in order of their first occurrence:
- your bibitems should be in the order shown in the first column of this table.
- }\par
- \small
- \smallskip
- \hrule
- \table@line{\textbf{Citation key}}{\textbf{Status}}%
- \smallskip
- \hrule
- \ordertable
-\end{document}
-% ****** End of file reftest.tex ******
diff --git a/macros/latex/contrib/revtex/source/revtex4-1.dtx b/macros/latex/contrib/revtex/source/revtex4-1.dtx
deleted file mode 100644
index 92df750df3..0000000000
--- a/macros/latex/contrib/revtex/source/revtex4-1.dtx
+++ /dev/null
@@ -1,8297 +0,0 @@
-% \iffalse meta-comment balanced on line 122
-% revtex4-1.dtx: package to typeset APS, AIP, OSA, ASA, etc. journal articles
-% Copyright (c) 2009 The American Physical Society.
-% http://publish.aps.org/revtex4/
-% 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.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 revtex4-1.dtx
-% and the derived files
-% revtex4.cls, revtex4.pdf
-% Distribution:
-% CTAN:macros/latex/contrib/revtex/
-%
-% Unpacking:
-% tex revtex4-1.dtx
-%
-% Documentation:
-% latex revtex4-1.dtx; ...
-%
-% Programm calls to get the documentation (example):
-% pdflatex revtex4-1.dtx
-% makeindex -s gind.ist revtex4-1.idx
-% makeindex -s gglo.ist -o revtex4-1.gls revtex4-1.glo
-% pdflatex revtex4-1.dtx
-% makeindex -s gind.ist revtex4-1.idx
-% pdflatex revtex4-1.dtx
-%
-% Installation:
-% TDS:bibtex/bst/revtex/
-% TDS:doc/latex/revtex/
-% TDS:tex/latex/revtex/
-% TDS:source/latex/revtex/
-%
-% Thanks, Heiko!
-% This method of letting a single .dtx file serve as both
-% documentation (via latex) and installer (via tex) follows
-% the example of Heiko Oberdiek. Thanks!
-%<*ignore>
-\begingroup
- \def\x{LaTeX2e}%
-\expandafter\endgroup
-\ifcase
- 0\expandafter\ifx\csname processbatchFile\endcsname\relax\else1\fi\ifx\fmtname\x\else 1\fi
- \relax
-\else
- \csname fi\endcsname
-%</ignore>
-%<*install>
-%% This file will generate documentation and runtime files
-%% from revtex4-1.dtx when run through TeX.
-\input docstrip
-\preamble
-
-This file is part of the APS files in the REVTeX 4 distribution.
-For the version number, search on the string %FileInfo
-
-Original version by David Carlisle
-Modified by Arthur Ogawa (mailto:arthur_ogawa at sbcglobal dot net)
-
-Copyright (c) 2009 The American Physical Society.
-http://publish.aps.org/revtex4/
-mailto:revtex4@aps.org
-
-See the REVTeX 4 README file for restrictions and more information.
-
-\endpreamble
-\askforoverwritefalse
-\keepsilent
-\generate{%
- \file{revtex4-1.cls}{%
- \from{revtex4-1.dtx}{kernel}%
- \from{ltxutil.dtx}{kernel}%
- \from{ltxfront.dtx}{kernel}%
- \from{ltxgrid.dtx}{kernel}%
- \from{revtex4-1.dtx}{options}%
- \from{ltxutil.dtx}{options}%
- \from{ltxfront.dtx}{options}%
- \from{ltxgrid.dtx}{options}%
- \from{revtex4-1.dtx}{package}%
- }%
- \file{aps4-1.rtx}{\from{revtex4-1.dtx}{aps}}%
- \file{apsrmp4-1.rtx}{\from{revtex4-1.dtx}{rmp}}%
- \file{aps10pt4-1.rtx}{\from{revtex4-1.dtx}{10pt}}%
- \file{aps11pt4-1.rtx}{\from{revtex4-1.dtx}{11pt}}%
- \file{aps12pt4-1.rtx}{\from{revtex4-1.dtx}{12pt}}%
- \file{revsymb4-1.sty}{\from{revtex4-1.dtx}{revsymb}}%
-}%
-\ifToplevel{
-\Msg{***********************************************************}
-\Msg{*}
-\Msg{* To finish the installation, please move}
-\Msg{* *.cls, *.rtx, and *.sty }
-\Msg{* into a directory searched by TeX;}
-\Msg{* in a TDS-compliant installation:}
-\Msg{* texmf/tex/macros/latex/revtex/.}
-\Msg{*}
-\Msg{* To produce the documentation,
- run revtex4-1.dtx through LaTeX.}
-\Msg{*}
-\Msg{* Happy TeXing}
-\Msg{***********************************************************}
-}
-\endbatchfile
-%</install>
-%<*ignore>
-\fi
-%</ignore>
-% \fi
-%
-% \GetFileInfo{revtex4-1.dtx}\CheckSum{7177}
-%
-% \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",
-%%% author = "Arthur Ogawa (mailto:arthur_ogawa at sbcglobal.net),
-%%% commissioned by the American Physical Society.
-%%% ",
-%%% copyright = "Copyright (C) 1999, 2009 Arthur Ogawa,
-%%% distributed under the terms of the
-%%% LaTeX Project Public License, see
-%%% ftp://ctan.tug.org/macros/latex/base/lppl.txt
-%%% ",
-%%% address = "Arthur Ogawa,
-%%% USA",
-%%% telephone = "",
-%%% FAX = "",
-%%% email = "mailto colon arthur_ogawa at sbcglobal.net",
-%%% codetable = "ISO/ASCII",
-%%% keywords = "latex, page grid, main vertical list",
-%%% supported = "yes",
-%%% abstract = "package to change page grid, MVL",
-%%% docstring = "The checksum field above generated by ltxdoc",
-%%% }
-%</package>
-% \fi
-%
-% \iffalse ltxdoc klootch
-% The following references the \file{00readme.tex} file,
-% which contains the frontmatter for the programmer's docs.
-% The contents of this file are generated when
-% you typeset this file with LaTeX.
-% Search on "{filecontents*}{00readme.tex}" to locate it.
-% \fi\input{00readme.tex}%
-%
-% \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.dtx
-%\end{verbatim}
-%
-% \subsubsection{Generated by \texttt{tex revtex4-1.dtx}}%
-% Typesetting ths file under \TeX\ itself runs the installer,
-% which generates the package files.
-%\begin{verbatim}
-%revtex4-1.cls, revtex4.ins, revtex4.drv, aps4-1.rtx,
-%aps10pt4-1.rtx, aps11pt4-1.rtx, aps12pt4-1.rtx, revsymp.sty
-%\end{verbatim}
-%
-% \subsubsection{Generated by \texttt{pdflatex revtex4-1.dtx}}%
-% Typesetting the source file under \LaTeX\
-% generates the documentation.
-%\begin{verbatim}
-%revtex4.pdf,
-%\end{verbatim}
-%
-% \subsubsection{Auxiliary}%
-% The following are auxiliary files generated
-% in the course of running \LaTeX:
-% \begin{verbatim}
-%revtex4.aux revtex4.idx revtex4.ind revtex4.log revtex4.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}
-%<*doc|kernel|aps|rmp|revsymb>
-\NeedsTeXFormat{LaTeX2e}[1996/12/01]%
-%</doc|kernel|aps|rmp|revsymb>
-%<kernel>\ProvidesClass{revtex4-1}
-%<aps>\ProvidesFile{aps4-1}
-%<rmp>\ProvidesFile{apsrmp4-1}
-%<10pt>\ProvidesFile{aps10pt4-1}
-%<11pt>\ProvidesFile{aps11pt4-1}
-%<12pt>\ProvidesFile{aps12pt4-1}
-%<revsymb>\ProvidesPackage{revsymb4-1}
-%<*doc>
-\ProvidesFile{revtex4-1.dtx}
-%</doc>
-%<*!package&!options>
-%<version>
- [2010/07/25/20:33:00 4.1r (http://publish.aps.org/revtex4/ for documentation)]% \fileversion
-%</!package&!options>
-% \end{macrocode}
-% The current class name is remembered in \cmd\class@name.
-% This is something of a klootch, relying as it does on knowledge of the implementation of \cmd\ProvidesPackage.
-% \begin{macrocode}
-%<kernel>\let\class@name\@gtempa
-% \end{macrocode}
-%
-% \section{The driver module \texttt{driver}}
-%
-% This module, consisting of the present section,
-% typesets the programmer's documentation,
-% generating the \file{00readme.txt} and sample document as needed.
-%
-% 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}
-%<*doc>
-% \end{macrocode}
-% The driver uses packages \file{ltxdoc.sty}, \file{ltxdocext.sty},
-% \file{hyperref.sty}, and whatever font package has been selected.
-% \begin{macrocode}
-\documentclass{ltxdoc}
-\RequirePackage{ltxdocext}%
-\let\url\undefined
-\RequirePackage[colorlinks=true,linkcolor=blue]{hyperref}%
-\expandafter\ifx\csname package@font\endcsname\@undefined\else
- \expandafter\RequirePackage\expandafter{\csname package@font\endcsname}%
-\fi
-% \end{macrocode}
-% We ask for the usual indices and glossaries.
-% \begin{macrocode}
-\CodelineIndex\EnableCrossrefs % makeindex -s gind.ist revtex4
-\RecordChanges % makeindex -s gglo.ist -o revtex4.gls revtex4.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 Frontmatter File}
-% As promised above, here is the contents of the frontmatter file.
-% \begin{macrocode}
-\begin{filecontents*}{00readme.tex}
-\title{%
- The \classname{revtex4-1} document class of the American Physical Society%
- \protect\thanks{Work under hire to The American Physical Society.}%
-}%
-\author{Arthur Ogawa%
- \protect\thanks{First revision of REV\TeX4.0 (unreleased) by David Carlisle}%
-}%
-\date{Version \fileversion, dated \filedate}%
-\newcommand\revtex{REV\TeX}
-
-\maketitle
-
-This file embodies the implementation of the APS \revtex\ 4.1 document class
-for electronic submissions to journals.
-
-The distribution point for this work is
-\url{http://publish.aps.org/revtex4/},
-which contains fully unpacked, prebuilt runtime files and documentation.
-
-\tableofcontents
-
-\section{Using \protect\revtex}
-
-The file \file{README} has retrieval and installation information.
-
-User documentation is presented separately in \file{auguide.tex}.
-
-The file \file{template.aps} is a boilerplate file.
-
-\changes{4.0a}{1998/01/16}{Initial version}
-\changes{4.0a}{1998/01/31}{Move after process options, so \cs{clearpage} not in scope of twocolumn}
-\changes{4.0a}{1998/01/31}{Rearrange the ordering so numerical ones come first. AO: David, what does this mean?}
-\changes{4.0a}{1998/01/31}{use font-dependent spacing}
-\changes{4.0a}{1998/01/31}{4.0d had twoside option setting twoside switch to false}
-\changes{4.0a}{1998/01/31}{Move after process options, so the following test works}
-\changes{4.0a}{1998/01/31}{print homepage}
-\changes{4.0a}{1998/01/31}{protect against hyperref revtex kludges which are not needed now}
-\changes{4.0a}{1998/06/10}{multiple preprint commands}
-\changes{4.0a}{1998/06/10}{comma not space between email and homepage}
-\changes{4.0a}{1998/06/10}{single space footnotes}
-\changes{4.0b}{1999/06/20}{First modifications by Arthur Ogawa (mailto:arthur\_ogawa at sbcglobal dot net)}
-\changes{4.0b}{1999/06/20}{Added localization of \cs{figuresname}}
-\changes{4.0b}{1999/06/20}{Added localization of \cs{tablesname}}
-\changes{4.0b}{1999/06/20}{AO: all code for \protect\classoption{10pt} is in this module.}
-\changes{4.0b}{1999/06/20}{AO: all code for \protect\classoption{11pt} is in this module.}
-\changes{4.0b}{1999/06/20}{AO: all code for \protect\classoption{12pt} is in this module.}
-\changes{4.0b}{1999/06/20}{AO: made aps.rtx part of revtex4.dtx}
-\changes{4.0b}{1999/06/20}{AO: remove duplicates}
-\changes{4.0b}{1999/06/20}{call \cs{print@floats}}
-\changes{4.0b}{1999/06/20}{Defer assignment until \cs{AtBeginDocument} time.}
-\changes{4.0b}{1999/06/20}{Defer decision until \cs{AtBeginDocument} time}
-\changes{4.0b}{1999/06/20}{Define three separate environments, defer assignment to \cs{AtBeginDocument} time.}
-\changes{4.0b}{1999/06/20}{Frank Mittelbach, has stated in \protect\classname{multicol}: ``The kernel command \cs{@footnotetext} should not be modified.'' Thus, I have removed David Carlisle's redefinition of that command. Note, however, that later versions of \protect\classname{multicol} do not require this workaround. Belt and suspenders.}%
-\changes{4.0b}{1999/06/20}{Move this ``complex'' option to the front, where it can be overridden by ``simple'' options.}
-\changes{4.0b}{1999/06/20}{New option}
-\changes{4.0b}{1999/06/20}{One-line caption sets flush left.}
-\changes{4.0b}{1999/06/20}{only execute if appropriate}
-\changes{4.0b}{1999/06/20}{Processing delayed to \cs{AtBeginDocument} time}
-\changes{4.0b}{1999/06/20}{Removed invocation of nonexistent class option \protect\classoption{groupauthors} and all other class options that should only be invoked by the document. (Otherwise precedence of class options does not work.)}
-\changes{4.0b}{1999/06/20}{Restore all media size class option of \protect\file{classes.dtx}}
-\changes{4.0b}{1999/06/20}{Stack \cs{preprint} args flush right at right margin.}
-\changes{4.0c}{1999/11/13}{(AO, 115) If three or more preprints specified, set on single line, with commas.}
-\changes{4.0c}{1999/11/13}{(AO, 129) section* within appendix was producing appendixname}
-\changes{4.0c}{1999/11/13}{*-form mandates pagebreak}
-\changes{4.0c}{1999/11/13}{also spelled ``acknowledgements''.}
-\changes{4.0c}{1999/11/13}{Do not put by REVTeX in every page foot}
-\changes{4.0c}{1999/11/13}{grid changes via ltxgrid procedures}
-\changes{4.0c}{1999/11/13}{grid changes with ltxgrid}
-\changes{4.0c}{1999/11/13}{Insert procedure \cs{checkindate}}
-\changes{4.0c}{1999/11/13}{Lose compatability mode.}
-\changes{4.0c}{1999/11/13}{New ltxgrid-based code, other bug fixes}
-\changes{4.0c}{1999/11/13}{New option ``checkin''}
-\changes{4.0c}{1999/11/13}{Prevent an inner footnote from performing twice}
-\changes{4.0d}{2000/04/10}{Also alter how lists get indented.}
-\changes{4.0d}{2000/04/10}{eprint takes an optional argument, syntactical only in this case.}
-\changes{4.0d}{2000/04/10}{New option}
-\changes{4.0d}{2000/05/10}{More features and bug fixes: compatability with longtable and array packages. Now certainly incompatible with multicol.}
-\changes{4.0d}{2000/05/17}{make longtable trigger the head, too}
-\changes{4.0d}{2000/05/18}{But alternative spelling is deprecated.}
-\changes{4.0e}{2000/09/20}{New option showkeys}
-\changes{4.0e}{2000/11/14}{Bug fixes and minor new features: title block affiliations can have ancillary data, just like authors; clearpage processing revamped, with floats staying in order; widetext ornaments.}
-\changes{4.0e}{2000/11/21}{adornments above and below.}
-\changes{4.0f}{2001/02/13}{Last bug fixes before release.}
-\changes{4.0rc1}{2001/06/17}{Running headers always as if two-sided}
-\changes{4.0rc1}{2001/06/18}{grid changes with push and pop}
-\changes{4.0rc1}{2001/06/18}{grid changes with push and pop}
-\changes{4.0rc4}{2001/07/23}{hyperref is no longer loaded via class option: use a usepackage statement instead}
-\changes{4.1a}{2008/01/18}{(AO, 457) Endnotes to be sorted in with numerical citations.}%
-\changes{4.1a}{2008/01/18}{(AO, 451) ``Cannot have more than 256 cites in a document''}%
-\changes{4.1a}{2008/01/18}{(AO, 457) Endnotes to be sorted in with numerical citations.}%
-\changes{4.1a}{2008/01/18}{(AO, 460) ``Proper style is "FIG. 1. ..." (no colon)''}%
-\changes{4.1a}{2008/01/18}{(AO, 478) \cs{ds@letterpaper}, so that ``letterpaper really is the default''}%
-\changes{4.1a}{2008/01/18}{(AO, 488) Change processing of options to allow an unused option to specify society and journal}%
-\changes{4.1a}{2008/01/19}{(AO, 461) Change the csname revtex uses from @dotsep to ltxu@dotsep. The former is understood in mu. (What we wanted was a dimension.)}%
-\changes{4.1a}{2008/01/19}{For natbib versions before 8.21, \cs{NAT@sort} was consulted only as natbib was being read in. Now it is fully dynamic.}
-\changes{4.1b}{2008/05/29}{The csname substyle@ext is now defined without a dot (.), to be compatible with \LaTeX usage (see @clsextension and @pkgextension).}
-\changes{4.1b}{2008/06/01}{(AO) Implement bibnotes through \cs{frontmatter@footnote@produce} instead of \cs{bibnotes@sw}}%
-\changes{4.1b}{2008/06/01}{Add option reprint, opposite of preprint, and preferred alternative to twocolumn}
-\changes{4.1b}{2008/06/29}{(AO, 455) Be nice to a list within the abstract (assign \cs{@totalleftmargin}).}
-\changes{4.1b}{2008/06/30}{(AO) Structure the Abstract using the \texttt{bibliography} environment}
-\changes{4.1b}{2008/07/01}{(AO) coordinate \cs{if@twoside} with \cs{twoside@sw}}
-\changes{4.1b}{2008/07/01}{(AO) make settings at class time instead of deferring them to later.}
-\changes{4.1b}{2008/07/01}{(AO) No longer need to test \cs{chapter} as of \texttt{natbib} version 8.2}
-\changes{4.1b}{2008/07/01}{(AO) No longer use \cs{secnumarabic@sw}, instead use \cs{setup@secnums}}
-\changes{4.1b}{2008/07/01}{(AO) Provide more diagnostics when \cs{@society} is assigned.}
-\changes{4.1b}{2008/07/01}{(AO) provide option longbibliography}
-\changes{4.1b}{2008/07/01}{Add \cs{@hangfroms@section}}
-\changes{4.1b}{2008/07/01}{Break out \cs{@caption@fignum@sep}}
-\changes{4.1b}{2008/07/01}{Class option galley sets \cs{preprintsty@sw} to false}
-\changes{4.1b}{2008/07/01}{Code relating to new syntax for frontmatter has been placed in \file{ltxfront.dtx}}
-\changes{4.1b}{2008/07/01}{Package textcase is now simply a required package}
-\changes{4.1b}{2008/07/01}{Procedures \cs{@parse@class@options@society} and \cs{@parse@class@options@journal} and friends}
-\changes{4.1b}{2008/07/01}{Read in all required packages together}
-\changes{4.1b}{2008/07/01}{Remove options newabstract and oldabstract}
-\changes{4.1b}{2008/08/01}{Section numbering via procedures \cs{secnums@rtx} and \cs{secnums@arabic}.}
-\changes{4.1b}{2008/08/04}{As with author formatting, rag the right more, and assign \cs{@totalleftmargin}. Also neutralize \cs{def@after@address}.}%
-\changes{4.1b}{2008/08/04}{Rag the right even more: .8\cs{hsize}. Also, assign \cs{@totalleftmargin}.}%
-\changes{4.1b}{2008/08/04}{The \texttt{rmp} journal substyle selects \texttt{groupedaddress} by default.}%
-\changes{4.1b}{2008/08/04}{Use \cs{setup@hook} to initialize all.}
-\changes{4.1c}{2008/08/15}{Document class option longbibliography via \cs{substyle@post}}
-\changes{4.1d}{2009/03/27}{Definition of \cs{ @fnsymbol} follows fixltx2e.sty}
-\changes{4.1e}{2008/06/29}{(AO, 455) be nice to a list within the abstract}
-\changes{4.1f}{2009/07/07}{(AO, 513) Add class option linenumbers: number the lines a la \classname{lineno}}
-\changes{4.1f}{2009/07/07}{(AO, 516) Merged references are separated with a semicolon}
-\changes{4.1f}{2009/07/10}{(AO, 520) Automatically produce \cs{bibliography} command when needed}%
-\changes{4.1f}{2009/07/11}{(AO, 521) Lonely bibliography head}%
-\changes{4.1f}{2009/07/11}{(AO, 522) Warn if software is expired}%
-\changes{4.1f}{2009/07/15}{(AO, 523) Add class option nomerge, to turn off new natbib 8.3 syntax}
-\changes{4.1f}{2009/07/20}{(AO, 524) Makes no sense if citations are superscript numbers and so are footnotes}
-\changes{4.1f}{2009/10/05}{(AO, 530) \cs{@fnsymbol}: Failed to import fixltx2e.sty technology. Return to LaTeX core.}
-\changes{4.1g}{2009/10/07}{(AO, 525) Remove phantom paragraph above display math that is given in vertical mode}%
-\changes{4.1g}{2009/10/07}{(AO, 538) \cs{MakeTextUppercase} inappropriately expands the double backslash}
-\changes{4.1h}{2009/10/09}{(AO) Remove expiry code in the release software}%
-\changes{4.1i}{2009/10/23}{(AO, 541) Defer assignment of \cs{cite} until after natbib loads}
-\changes{4.1j}{2009/10/24}{(AO, 549) Repairing natbib's \cs{BibitemShut} and \cs{bibAnnote}}
-\changes{4.1j}{2009/10/25}{(AO, 545) hypertext capabilities off by default; enable with \classoption{hypertext}}
-\changes{4.1j}{2009/10/25}{(AO, 552) Repair spacing in \cs{onlinecite}}
-\changes{4.1k}{2009/11/06}{(AO, 554) give the \cs{newlabel} command syntax appropriate to the hyperref package}
-\changes{4.1n}{2009/11/06}{(AO, 565) restore 4.0 behavior: invoking class option preprint implies class option preprintnumbers}
-\changes{4.1n}{2009/11/30}{(AO, 566) restore 4.0 behavior: flush column bottoms}
-\changes{4.1n}{2009/12/05}{(AO, 569) Use of \classname{hyperref} interferes with column balancing of last page}%
-\changes{4.1n}{2009/12/09}{(AO, 569) execute the after-last-shipout procedures from within the safety of the output routine}%
-\changes{4.1n}{2010/01/02}{(AO, 571) Interface \cs{set@footnotewidth} for determining the set width of footnotes}%
-\changes{4.1n}{2010/01/02}{(AO, 572) Independent footnote counter for title block. Abstract footnote counter shared with body.}%
-\changes{4.1n}{2009/12/13}{(AO, 573) arrange to load \classname{lineno} after any other packages.}%
-\changes{4.1n}{2010/01/04}{(AO, 575) the default for journal prstper is longbibliography}%
-\changes{4.1n}{2010/01/04}{(AO, 576) In .bst files, remove support for the annote field}%
-\changes{4.1n}{2010/01/02}{(AO) fine-tune spacing above and below widetext}%
-\changes{4.1n}{2010/01/02}{(AO, 571) class file must set \cs{splittopskip}; fine tune \cs{skip}\cs{footins}; \cs{footnoterule} defined in terms of \cs{skip}\cs{footins}}%
-\changes{4.1n}{2010/01/02}{(AO, 572) \cs{@makefntext} and \cs{frontmatter@makefntext} must be defined harmoniously}%
-\changes{4.1o}{2010/02/02}{(AO, 575) Automatically incorporate the (Bib\TeX-generated) .bbl into an explicit \env{thebibliography}}%
-\changes{4.1o}{2010/02/05}{(AO, 549) Remove patch to natbib, which is now at version 8.31a}
-\changes{4.1o}{2010/02/07}{(AO, 578) accommodate the possible space character preceding \cs{BibitemShut}.}
-\changes{4.1o}{2010/02/05}{(AO, 579) Endnote shall comprise their own Bib\TeX\ entry type: @FOOTNOTE.}
-\changes{4.1o}{2010/02/10}{(AO, 580) Provide a document class option to turn off production of eprint field in bibliography.}
-\changes{4.1o}{2010/02/12}{(AO, 580) Control .bst at run time.}%
-\changes{4.1o}{2010/02/09}{(AO, 581) Handle case: merged references, with first ending in a stop character.}
-\changes{4.1p}{2010/02/24}{(AO, 583) Provide interface to \classname{ltxgrid} \cs{onecolumn@grid@setup} and \cs{twocolumn@grid@setup}}
-\changes{4.1p}{2010/02/24}{(AO, 584) Per MD, remove trailing space character from each journal abbreviation: it had caused an extraneous space in the .bbl}
-\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.}%
-
-\end{filecontents*}
-% \end{macrocode}
-%
-% \subsection{The Document Body}
-%
-% Here is the document body, containing only a
-% \cmd\DocInput\ directive---referring to this very file.
-% This very cute self-reference is a common \classname{ltxdoc} idiom.
-% \begin{macrocode}
-\begin{document}%
-\expandafter\DocInput\expandafter{\jobname.dtx}%
-\PrintChanges
-\end{document}
-% \end{macrocode}
-% And that is the end of the driver for the programmer's documentation.
-% \begin{macrocode}
-%</doc>
-% \end{macrocode}
-%
-% \section{Overview}%
-% \revtex\ is a \LaTeXe\ document class, somewhat like a hybrid of
-% the standard \LaTeX\ \classname{book} and \classname{article} classes.
-%
-% Certain packages are (should be) loaded by this class in any case:
-% \classname{amssymb}, \classname{amsmath}, \classname{bm}, \classname{natbib}.
-%
-% Certain packages are automatically loaded by this class
-% when a corresponding class option has been invoked:
-%
-% \begin{tabular}{ll}
-% \textbf{\revtex\ option}&\textbf{package}\\
-% \classoption{amsfonts}&\classname{amsfonts}\\
-% \classoption{amssymb}&\classname{amssymb}\\
-% \classoption{aps}&\classname{overcite}\\
-% \end{tabular}
-%
-% Certain other packages are to be loaded by the
-% document through explicit use of \cmd\usepackage.
-% Some mentioned in the user documentation are
-% \classname{graphicx}, \classname{longtable}, \classname{hyperref},
-% and \classname{bm}.
-%
-% Certain commonly used packages are known to be incompatible with
-% \revtex, among them \classname{multicol} and \classname{cite}.
-% If such a package is found to be loaded, \revtex\ issues an error message
-% and halts the job.
-% Halting might be considered severe punishment for loading an incompatible
-% package, but if we were to proceed, an even weirder error might be encountered
-% further down the road.
-%
-% This document class implements the substyle: a set of mutually
-% exclusive class options that, in this case, allow the
-% document class to address multiple societies.
-% It also implements a sub-substyle, giving the
-% journal of the given society.
-% Any society may create a substyle;
-% this file generates one for \classoption{aps}.
-%
-% FIXME: should always load the \classname{graphicx} package. No, allow user to load whichever graphics package is desired.
-%
-% QUERY: since \classname{amsfonts} and \classname{amssymb} extend
-% syntax, why not load them in any case?
-%
-% Certain processing occurs at the endgame for reading in \revtex, thereby establishing
-% precedence for assignments to \LaTeX's (and \revtex's) parameters:
-% \begin{enumerate}
-% \item
-% Figure out which society is operative and read in the indicated \file{.rtx} file.
-% \item
-% Figure out which journal option is operative and execute the indicated journal command. This may lead to reading in a journal substyle \file{.rtx} file.
-% \item
-% Figure out which pointsize is operative and execute the indicateded pointsize command. This may lead to reading in a pointsize \file{.rtx} file.
-% \item
-% Execute all of the document's options, in the order declared within the document.
-% \item
-% Read in all required packages (like \classname{natbib}, \classname{amsfonts}, \classname{amssymb}), that were determined by class, society, and journal.
-% \item
-% The last required package, if existing, is the document's style file, the \file{.rty} file.
-% Note that the \file{.rty} file can override the assignments of \revtex, society, journal, and required packages, and even load its own packages.
-% It can also, via appendations to \cmd\setup@hook, override the setup code itself.
-% \item
-% Execute all of the setup code accumulated. Such code can be queued by \revtex\ itself, by the society, by the journal, or by the pointsize.
-% \item
-% At this point, \revtex\ has completed the process of inputting itself,
-% and \LaTeX\ will now execute the \cmd\AtEndOfClass\ procedures.
-% \end{enumerate}
-%
-% \revtex\ will have enqueued code to execute at \cmd\AtBeginDocument\ time,
-% in two different queues.
-% \cmd\document@inithook\ executes immediately upon encountering the \cmd\begin\env{document} statement,
-% \cmd\class@documenthook\ at the end of all the code enqueued via \cmd\AtBeginDocument.
-% \begin{enumerate}
-% \item
-% Install procedures to execute at the very end of the class's
-% \cmd\AtBeginDocument\ processing, such as
-% \begin{enumerate}
-% \item
-% closing out the page grid
-% \item
-% putting out the LastPage label.
-% \item
-% issuing a \cmd\bibliographystyle\ command, based on the value set
-% by the society substyle.
-% \item
-% setting default values for parameters used in the document.
-%FIXME: differentiate between class's parameters that can wait until
-% they are used in the document, and parameters that are used at \cmd\AtBeginDocument\ time.
-% \end{enumerate}
-% \item
-% Install procedures to execute the very last at \cmd\AtEndDocument\ time,
-% such as the \cmd\clearpage\ processing.
-% \end{enumerate}
-%
-% Certain events are optionally scheduled for \cmd\AtBeginDocument\ time:
-% \begin{enumerate}
-% \item
-% Setting default values for the Booleans and for other procedures used in formatting.
-% \item
-% In response to class options options, adjusting parameters and procedures used in formatting.
-% \item
-% Implementing the \classoption{eqsecnum} option, if required.
-% \item
-% Setting the state engine for data commands.
-% \item
-% Memorizing procedures for later use.
-% \item
-% Setting type size and area, for use by later calculations.
-% \end{enumerate}
-%
-% Certain events are scheduled for \cmd\class@enddocumenthook\ time:
-% \begin{enumerate}
-% \item
-% Print out the migrated floats or the end notes, if needed.
-% \item
-% Close out the page grid.
-% \item
-% Label the last page of the document
-% \item
-% (\classname{natbib}) prepare to read in the \file{.aux} file.
-% \end{enumerate}
-%
-% \section{Writing journal-specifc extensions to \revtex}
-%
-% With this version of \revtex, we introduce a somewhat different
-% scheme for adapting \revtex\ to the needs of a specific journal.
-%
-% To create a journal substyle, you create new class options in
-% \revtex\ for the society, say \classoption{osa}, and any of that society's journals,
-% one of which is, say, \classoption{josaa},
-% using the code for the APS as a guide.
-% In particular, each of your new options should separately define \cmd\@society\
-% and \cmd\@journal. That for the former will be the same for
-% all options relating to a particular society.
-%
-% Then, for the society, you create a corresponding \file{.rtx}
-% file, in our case \file{osa.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 josaa looks like:
-% \begin{verbatim}
-% \@ifx{\@journal\journal@josaa}{%
-% <code specific to the josaa>
-% }{}%
-% \end{verbatim}
-%
-% Thus far, the scheme is similar to that used in \revtex\ 3.1.
-% However, the new scheme does differ from the old in that
-% the \file{.rtx} file should define no syntactical extensions
-% to \revtex.
-%
-% \section{The \classname{revtex4} Document Class}
-% Above, we took
-% advantage of 1) the \LaTeX\ definition of \cmd\ProvidesPackage\ and
-% 2) that the line of code immediately afterwards follows the \cmd\ProvidesClass\ statement above.
-% \begin{macrocode}
-%<*kernel>
-% \end{macrocode}
-%
-% Print a banner in the log:
-% \begin{macrocode}
-\GenericInfo{}{\space
- Copyright (c) 2009 The American Physical Society.^^J
- mailto:revtex@aps.org^^J
- Licensed under the LPPL:^^Jhttp://www.ctan.org/tex-archive/macros/latex/base/lppl.txt^^J
- Arthur Ogawa <arthur_ogawa at sbcglobal dot net>^^J
- Based on work by David Carlisle <david at dcarlisle.demon.co.uk>%
- \@gobble
-}%
-% \end{macrocode}
-%
-% \subsection{Compatibility Processing}
-%
-% If the document has \cmd\documentstyle|{revtex4}|,
-% then, instead of attempting to run in compatability mode,
-% just complain and exit.
-% \changes{4.0c}{1999/11/13}{Lose compatability mode.}
-% \begin{macrocode}
-\if@compatibility
- \edef\reserved@a{\errhelp{%
- Change your \string\documentstyle\space statement to
- \string\documentclass\space and rerun.
- }}\reserved@a
- \errmessage{You cannot run \class@name\space in compatability mode}%
- \expandafter\@@end
-\fi
-% \end{macrocode}
-%
-%
-% \section{Extensions to the \LaTeX\ Kernel}
-%
-% \begin{macrocode}
-%</kernel>
-% \end{macrocode}
-%
-% Here, we incorporate the utility, frontmatter, and page grid packages.
-% The \classname{ltxutil}, \classname{ltxfront}, and \classname{ltxgrid} source are distributed with
-% \revtex.
-%
-% Here begins the \file{options} \textsc{docstrip} module.
-% \begin{macrocode}
-%<*options>
-% \end{macrocode}
-%
-% \subsection{Hooks}
-%
-% \begin{macro}{\setup@hook}
-% The procedure
-% \cmd\setup@hook\
-% serves as the vehicle for all code that
-% gives values to the class's parameters once all the
-% society, journal, options, and packages have been processed.
-%
-% Arrange for journal substyles to set their own default values.
-% \begin{macrocode}
-\let\setup@hook\@empty
-% \end{macrocode}
-% \end{macro}
-%
-% After preamble processing is complete,
-% detect whether package \classname{longtable} has been loaded and patch it.
-% \begin{macrocode}
-\appdef\document@inithook{%
- \switch@longtable
- \let\LT@makecaption\LT@makecaption@rtx
-}%
-% \end{macrocode}
-%
-% \begin{macro}{\LT@makecaption}
-% We override the caption processing method of the \classname{longtable} package:
-% space below the caption is created via strut instead of whitespace.
-% \begin{macrocode}
-\def\LT@makecaption@rtx#1#2#3{%
- \LT@mcol\LT@cols c{%
- \hbox to\z@{%
- \hss
- \parbox[t]\LTcapwidth{%
- \sbox\@tempboxa{#1{#2: }#3\unskip\nobreak\vrule\@width\z@\@height\z@\@depth .5\baselineskip}%
- \ifdim\wd\@tempboxa>\hsize
- #1{#2: }#3\unskip\nobreak\vrule\@width\z@\@height\z@\@depth .5\baselineskip
- \else
- \hbox to\hsize{\hfil\box\@tempboxa\hfil}%
- \fi
- \endgraf
- }%
- \hss
- }%
- }%
-}%
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\robust@boldmath}
-% Robustify the \cmd\boldmath command.
-% If Team \LaTeX\ (or any package) ever gets around to fixing this problem,
-% we will bow out. (This fix relates to bug \#394.)
-% \begin{macrocode}
-\def\protectdef@boldmath{%
- \expandafter\@ifnotrelax\csname boldmath \endcsname{}{%
- \class@info{Robustifying \string\LaTeX's \string\boldmath\space command}%
- \expandafter\let\csname boldmath \endcsname\boldmath
- \expandafter\def\expandafter\boldmath\expandafter{\expandafter\protect\csname boldmath \endcsname}%
- }%
-}%
-\appdef\document@inithook{%
- \protectdef@boldmath
-}%
-% \end{macrocode}
-% \end{macro}
-%
-% \section{Compatability with the geometry package}
-%
-% The \classname{geometry} package of Hideo Umeki provides a way to
-% specify the metrics of the media and page layout.
-% We want to ensure that \revtex\ does not foreclose on the use of
-% this or any other such package, nor to interfere with
-% explicit assignments of such metric parameters within the
-% document preamble.
-%
-% The \LaTeX\ parameters (resp. \TeX\ primitives) set by \classname{geometry} are:
-% \cmd\paperwidth, \cmd\paperheight,
-% \cmd\textwidth, \cmd\textheight,
-% \cmd\topmargin, \cmd\headheight, \cmd\headsep,
-% \cmd\footskip, \cmd\skip\cmd\footins,
-% \cmd\marginparwidth, \cmd\marginparsep,
-% \cmd\oddsidemargin, \cmd\evensidemargin,
-% \cmd\columnsep,
-% \cmd\hoffset, \cmd\voffset, \cmd\mag,
-% \cmd\if@twocolumn, \cmd\if@twoside, \cmd\if@mparswitch, \cmd\if@reversemargin,
-%
-% \revtex's assignments can be overridden by
-% any package or other statement in the document preamble,
-% so it should be compatible.
-%
-%FIXME: one parameter is rendered semantically void (by \file{ltxgrid.dtx}):
-% \cmd\if@twocolumn.
-%
-% \section{Options}\label{sec:options}%
-%
-% \subsection{Define Booleans Used in Options}%
-% The following Booleans are used within the document class to
-% allow the document or the substyle to make selections
-% of formatting.
-% An explicit document class option overrides an assignment made by a substyle.
-%
-% \subsection{Declare Options}%
-%
-% \subsubsection{Checkin: for Editorial Use}%
-% A document class option declaring that the document is being processed by the
-% editorial staff.
-%
-% This option should:
-% \begin{itemize}
-% \item
-% put date in footer along with folio
-% \item
-% Have the effect of selecting the \classoption{preprint} class option.
-% \item
-% Have the effect of selecting the \classoption{showpacs} class option.
-% \item
-% specify that when a float is placed h or H, it will be allowed to break over pages.
-% (Note: be sure that if the enclosed \env{tabular} has an optional argument, you change it to [v], or remove it entirely.)
-% \end{itemize}
-% \changes{4.0c}{1999/11/13}{New option ``checkin''}
-% \begin{macrocode}
-\DeclareOption{checkin}{%
- \@booleantrue\dateinRH@sw
- \@booleantrue\preprintsty@sw
- \def\@pointsize{12}%
- \@booleantrue\showPACS@sw
- \@booleantrue\showKEYS@sw
- \def\fp@proc@h{\allow@breaking@tables}%
- \def\fp@proc@H{\allow@breaking@tables}%
-}%
-\@booleanfalse\dateinRH@sw
-\def\checkindate{\dateinRH@sw{{\tiny(\today)}}{}}%
-\def\allow@breaking@tables{%
- \def\array@default{v}% tabular can break over pages
- \@booleanfalse\floats@sw % table can break over pages
-}%
-% \end{macrocode}
-%
-% \subsubsection{Preprint Style}%
-%
-% \begin{macro}{\preprintsty@sw}
-% The boolean \cmd\preprintsty@sw\ signifies that
-% the document is to be formatted in preprint style.
-% \changes{4.0a}{1998/01/31}{Rearrange the ordering so numerical ones come first. AO: David, what does this mean?}
-% \changes{4.0a}{1998/06/10}{comma not space between email and homepage}
-% \changes{4.0b}{1999/06/20}{Move this ``complex'' option to the front, where it can be overridden by ``simple'' options.}
-% \changes{4.1b}{2008/06/01}{Add option reprint, opposite of preprint, and preferred alternative to twocolumn}
-% \begin{macrocode}
-\DeclareOption{preprint}{%
- \@booleantrue\preprintsty@sw
- \ExecuteOptions{12pt}%
-}%
-\DeclareOption{reprint}{%
- \@booleanfalse\preprintsty@sw
- \@booleantrue\twocolumn@sw
- \ExecuteOptions{10pt}%
-}%
-\DeclareOption{manuscript}{%
- \class@warn{Document class option manuscript is obsolete; use preprint instead}%
- \ExecuteOptions{preprint}%
-}%
-\@booleanfalse\preprintsty@sw
-% \end{macrocode}
-% \end{macro}
-%
-% \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.
-% \subsubsection{Showing PACS and keywords}%
-% \changes{4.0b}{1999/06/20}{New option}
-% \changes{4.0e}{2000/09/20}{New option showkeys}
-% \begin{macrocode}
-\DeclareOption{showpacs}{%
- \@booleantrue\showPACS@sw
-}%
-\DeclareOption{noshowpacs}{%
- \@booleanfalse\showPACS@sw
-}%
-\DeclareOption{showkeys}{%
- \@booleantrue\showKEYS@sw
-}%
-\DeclareOption{noshowkeys}{%
- \@booleanfalse\showKEYS@sw
-}%
-\@booleanfalse\showPACS@sw
-\@booleanfalse\showKEYS@sw
-% \end{macrocode}
-% \end{macro}
-% \end{macro}
-%
-% \subsubsection{Balance the last page when in two-column page grid}%
-%
-% \begin{macro}{\balancelastpage@sw}
-% \changes{4.1b}{2008/07/01}{(AO) make settings at class time instead of deferring them to later.}
-% If we are in a two-column page grid, we may wish to balance the columns
-% of the last page. This will be done automatically if the
-% \classoption{twocolumn} document class option is chosen.
-% This action will be turned off by the \classoption{nobalancelastpage}.
-% A complementary class option, \classoption{balancelastpage} is also provided.
-% \begin{macrocode}
-\DeclareOption{balancelastpage}{%
- \@booleantrue\balancelastpage@sw
-}%
-\DeclareOption{nobalancelastpage}{%
- \@booleanfalse\balancelastpage@sw
-}%
-\@booleantrue\balancelastpage@sw
-% \end{macrocode}
-% \end{macro}
-%
-% \subsubsection{Showing preprint numbers}%
-%
-% \begin{macro}{\preprint@sw}
-% \changes{4.0d}{2000/04/10}{New option}
-% \changes{4.1b}{2008/07/01}{(AO) make settings at class time instead of deferring them to later.}
-% \changes{4.1n}{2009/11/06}{(AO, 565) restore 4.0 behavior: default value of \cs{preprint@sw} follows \cs{preprintsty@sw}}
-% The boolean \cmd\preprint@sw\ signifies that
-% the preprints (cf. \cmd\preprint) are to be formatted (usually on the title page).
-% The option \classoption{preprintnumbers} declares to do so,
-% \classoption{nopreprintnumbers} declares not to;
-% the default is to follow \cmd\preprintsty@sw.
-% \begin{macrocode}
-\DeclareOption{nopreprintnumbers}{\@booleanfalse\preprint@sw}%
-\DeclareOption{preprintnumbers}{\@booleantrue\preprint@sw}%
-\appdef\setup@hook{%
- \@ifxundefined\preprint@sw{\let\preprint@sw\preprintsty@sw}{}%
-}%
-% \end{macrocode}
-% \end{macro}
-%
-% \subsubsection{Hypertext Option}%
-%
-% \changes{4.0a}{1998/01/31}{protect against hyperref revtex kludges which are not needed now}
-% \changes{4.0b}{1999/06/20}{Move this ``complex'' option to the front, where it can be overridden by ``simple'' options.}
-% \changes{4.0rc4}{2001/07/23}{hyperref is no longer loaded via class option: use a usepackage statement instead}
-% \begin{macrocode}
-\DeclareOption{hyperref}{%
-% \end{macrocode}
-% The following code had been commented out, it is now truly a comment:
-% \begin{verbatim}
-%\AtEndOfClass{%
-% \begingroup
-% \edef\@tempa{%
-% \let
-% \noexpand\@clsextension
-% \noexpand\@empty
-% \noexpand\RequirePackage{hyperref}%
-% \def\noexpand
-% \@clsextension{\@clsextension}%
-% }%
-% \expandafter
-% \endgroup
-% \@tempa
-%}%
-% \def\@pointsize{10}%
-% \end{verbatim}
-%
-% If you have a hyper-foo enabled browser you may prefer this format
-% which does not print the URL for the home page, but just makes the
-% name a link, but by default print it so it works on paper.
-% \changes{4.0a}{1998/01/31}{print homepage}
-%
-% \begin{macrocode}
- \class@warn{Class option "hyperref" is no longer supported.^^JEmploy \string\usepackage{hyperref} instead}%
-}%
-% \end{macrocode}
-%
-% \subsubsection{Type Size}%
-% \changes{4.1b}{2008/07/01}{(AO) make settings at class time instead of deferring them to later.}
-% Use \cmd\@pointsize|=10| rather than \cmd\@ptsize|=0| to allow easy extensions
-% to 9pt or whatever.
-% Note: the three alternatives are mutually exclusive.
-%
-% At this point, the parameter \cmd\@pointsize\ is set to \cmd\undefined:
-% a society \emph{must} give it a definition.
-% \begin{macrocode}
-\DeclareOption{10pt}{\def\@pointsize{10}}%
-\DeclareOption{11pt}{\def\@pointsize{11}}%
-\DeclareOption{12pt}{\def\@pointsize{12}}%
-\let\@pointsize\@undefined
-% \end{macrocode}
-%
-% \subsubsection{Media Size}%
-%
-% \begin{macro}{\paperheight}
-% \begin{macro}{\paperwidth}
-% \changes{4.0b}{1999/06/20}{Restore all media size class option of \protect\file{classes.dtx}}
-% \begin{macrocode}
-\DeclareOption{a4paper}{%
- \setlength\paperheight {297mm}%
- \setlength\paperwidth {210mm}%
-}%
-\DeclareOption{a5paper}{%
- \setlength\paperheight {210mm}%
- \setlength\paperwidth {148mm}%
-}%
-\DeclareOption{b5paper}{%
- \setlength\paperheight {250mm}%
- \setlength\paperwidth {176mm}%
-}%
-\DeclareOption{letterpaper}{%
- \setlength\paperheight {11in}%
- \setlength\paperwidth {8.5in}%
-}%
-\DeclareOption{legalpaper}{%
- \setlength\paperheight {14in}%
- \setlength\paperwidth {8.5in}%
-}%
-\DeclareOption{executivepaper}{%
- \setlength\paperheight {10.5in}%
- \setlength\paperwidth {7.25in}%
-}%
-\DeclareOption{landscape}{%
- \setlength\@tempdima {\paperheight}%
- \setlength\paperheight {\paperwidth}%
- \setlength\paperwidth {\@tempdima}%
-}%
-% \end{macrocode}
-%
-% \changes{4.1a}{2008/01/18}{(AO, 478) \cs{ds@letterpaper}, so that ``letterpaper really is the default''}%
-% Effectively select \classoption{letterpaper}.
-% \begin{macrocode}
-\ds@letterpaper
-% \end{macrocode}
-% \end{macro}
-% \end{macro}
-%
-% \subsubsection{Bibnotes}%
-%
-% \begin{macro}{\frontmatter@footnote@produce}
-% Frontmatter footnotes result from frontmatter commands like
-% \cmd\email, \cmd\homepage, \cmd\altaffiliation, and \cmd\thanks.
-% The default for \cmd\frontmatter@footnote@produce\ is
-% \cmd\frontmatter@footnote@produce@footnote, which formats the frontmatter footnotes
-% at the foot of the title page. The \classoption{bibnotes} class option
-% defers them to the bibliography.
-% \changes{4.1b}{2008/06/01}{(AO) Implement bibnotes through \cs{frontmatter@footnote@produce} instead of \cs{bibnotes@sw}}%
-% \begin{macrocode}
-\DeclareOption{bibnotes}{\let\frontmatter@footnote@produce\frontmatter@footnote@produce@endnote}%
-\DeclareOption{nobibnotes}{\let\frontmatter@footnote@produce\frontmatter@footnote@produce@footnote}%
-\let\frontmatter@footnote@produce\frontmatter@footnote@produce@footnote
-\appdef\class@enddocumenthook{\auto@bib}%
-% \end{macrocode}
-% \end{macro}
-%
-% \subsubsection{Footinbib}%
-%
-% \begin{macro}{\footinbib@sw}
-% The boolean \cmd\footinbib@sw\ signifies that
-% text footnotes are to be set in the bibliography, as endnotes.
-%
-% The document may set the value one way or the other via
-% the following two class options.
-% \begin{macrocode}
-\DeclareOption{footinbib}{\@booleantrue\footinbib@sw}
-\DeclareOption{nofootinbib}{\@booleanfalse\footinbib@sw}
-% \end{macrocode}
-% The default value is \cmd\false@sw, and the society or journal
-% may override the default.
-% \changes{4.1b}{2008/07/01}{(AO) make settings at class time instead of deferring them to later.}
-% \begin{macrocode}
-\@booleanfalse\footinbib@sw
-% \end{macrocode}
-% \end{macro}
-%
-% \subsubsection{altaffilletter}%
-%
-% \begin{macro}{\altaffilletter@sw}
-% \changes{4.1b}{2008/07/01}{(AO) make settings at class time instead of deferring them to later.}
-% Determine the procedure \cmd\thefootnote\ used in frontmatter:
-% the footnote symbol used in titlepage footnotes.
-% \begin{macrocode}
-\DeclareOption{altaffilletter}{\@booleantrue\altaffilletter@sw}%
-\DeclareOption{altaffilsymbol}{\@booleanfalse\altaffilletter@sw}%
-\@booleanfalse\altaffilletter@sw
-% \end{macrocode}
-% \end{macro}
-%
-% \subsubsection{superbib}%
-%
-% \begin{macro}{\place@bibnumber}
-% \changes{4.1b}{2008/07/01}{(AO) make settings at class time instead of deferring them to later.}
-% The procedure \cmd\place@bibnumber\ produces the number
-% at the head of the \cmd\bibitem, in the bibliography.
-% By default, it has the \cmd\bibnumfmt\ meaning assigned by the \classname{natbib} package.
-% It may be overridden by society, journal, or by the document options.
-%
-% \begin{macrocode}
-\DeclareOption{superbib}{%
- \let\place@bibnumber\place@bibnumber@sup
-}%
-\def\place@bibnumber{\NATx@bibnumfmt}%
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\place@bibnumber@sup}
-% \begin{macro}{\place@bibnumber@inl}
-% For producing the \cmd\bibitem\ device,
-% we define two procedures to select from.
-%
-% Note that we could have used \classname{natbib}'s \cmd\ifNAT@super\
-% switch, but it does not allow for altering the meaning of \cmd\bibnumfmt.
-% \begin{macrocode}
-\def\place@bibnumber@sup#1{\textsuperscript{#1}}%
-\def\place@bibnumber@inl#1{[#1]}%
-% \end{macrocode}
-% \end{macro}
-% \end{macro}
-%
-% \subsubsection{citeautoscript}%
-% \begin{macro}{\citeautoscript@sw}
-% This class option allows you to automatically accomodate a change from non-superscripted, numbered references
-% to superscripted, bunmbered references.
-%
-% Note: you should always mark up your document with the assumption that references are \emph{not} going to be superscripted.
-% Otherwise this option has no hope of working properly.
-%
-% \begin{macrocode}
-\DeclareOption{citeautoscript}{\@booleantrue\citeautoscript@sw}%
-\@booleanfalse\citeautoscript@sw
-% \end{macrocode}
-% \end{macro}
-%
-% \subsubsection{Variants on the Bibliography Style}%
-% \changes{4.1b}{2008/07/01}{(AO) provide option longbibliography}
-%
-% \revtex\ anticipates that a society or journal will provide two related Bib\TeX bibliography style variants,
-% designating one as the default.
-% A pair of document class options \classoption{longbibliography} and \classoption{nolongbibliography}
-% allows the user to explicitly select between them.
-% \begin{macro}{\longbibliography@sw}
-%
-% \revtex's default for \cmd\longbibliography@sw\ is \cmd\false@sw.
-%
-% \begin{macrocode}
-\DeclareOption{longbibliography}{\@booleantrue\longbibliography@sw}%
-\DeclareOption{nolongbibliography}{\@booleanfalse\longbibliography@sw}%
-\@booleanfalse\longbibliography@sw
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\eprint@enable@sw}
-% \changes{4.1o}{2010/02/10}{(AO, 580) Provide a document class option to turn off production of eprint field in bibliography.}
-%
-% The document class options \classoption{eprint} and \classoption{noeprint}
-% give the user the ability to turn off production of the \texttt{eprint} field in the bibliography.
-% \begin{macrocode}
-\DeclareOption{eprint}{\@booleantrue\eprint@enable@sw}%
-\DeclareOption{noeprint}{\@booleanfalse\eprint@enable@sw}%
-\@booleantrue\eprint@enable@sw
-% \end{macrocode}
-% \end{macro}
-%
-% \subsubsection{Simplex/Duplex Pages}%
-%
-% \begin{macro}{\twoside@sw}
-% \changes{4.1b}{2008/07/01}{(AO) coordinate \cs{if@twoside} with \cs{twoside@sw}}
-% The flag \cmd\twoside@sw\ signifies that the document is to be
-% formatted for duplex printing.
-% After the preamble is processed, we align the value
-% of the kernel \cmd\newif\ switch \cmd\if@twoside\
-% to that of \cmd\twoside@sw.
-% \cmd\if@twoside\ itself is used in the kernel's
-% \cmd\cleardoublepage\ and \cmd\@outputpage\ procedures.
-% \begin{macrocode}
-\@booleanfalse\twoside@sw
-\appdef\document@inithook{%
- \twoside@sw{\@twosidetrue}{\@twosidefalse}%
-}%
-% \end{macrocode}
-% \changes{4.0a}{1998/01/31}{4.d had twoside option setting twoside switch to false}
-% The complementary options \classoption{twoside} and \classoption{oneside}
-% assert formatting for duplex or simplex printing, respectively.
-% At the same time, we arrange for the selection of the page grid
-% with respect to the marginal column:
-% Because \cmd\if@reversemargin\ remains default (false),
-% if duplex printing, this column will always be on the (right),
-% if simplex printing, it will always be on the (outside).
-% QUERY: correct choice?
-%FIXME: assign \cmd\if@mparswitch\ later (and protect the assignment, too).
-% \begin{macrocode}
-\DeclareOption{twoside}{\@booleantrue \twoside@sw\@mparswitchfalse}%
-\DeclareOption{oneside}{\@booleanfalse\twoside@sw\@mparswitchtrue}%
-% \end{macrocode}
-% \end{macro}
-%
-% \subsubsection{Two-Column Page Grid}%
-%
-% \begin{macro}{\twocolumn@sw}
-% \changes{4.1b}{2008/07/01}{(AO) make settings at class time instead of deferring them to later.}
-% \changes{4.1p}{2010/02/24}{(AO, 583) Provide interface to \classname{ltxgrid} \cs{onecolumn@grid@setup} and \cs{twocolumn@grid@setup}}
-% The flag \cmd\twocolumn@sw\ signifies that the document is to be
-% formatted in the two-column page grid.
-%
-% If no options relating to page grid are invoked by
-% \cmd\AtBeginDcoument\ time, we set default values.
-% Up to that point, the class can check if \cmd\twocolumn@sw\
-% is \cmd\undefined\ to see if any related options have been invoked.
-%
-% \classoption{onecolumn} specifies one-column page grid.
-% The \classoption{twocolumn} class option employs the standard mechanism for
-% changing the column grid: the \classname{ltxgrid} package.
-% \begin{macrocode}
-\DeclareOption{onecolumn}{\@booleanfalse\twocolumn@sw}%
-\DeclareOption{twocolumn}{\@booleantrue \twocolumn@sw}%
-\@booleanfalse\twocolumn@sw
-% \end{macrocode}
-% The column grid is determined by the state of the switch \cmd\twocolumn@sw
-% and is effected at \cmd\class@documenthook\ time.
-% The society or journal file may re-define \cmd\select@column@grid\
-% to accomodate, e.g., more than two choices for the page grid.
-%
-% Note that \cmd\open@column@two\ adds items to the Main Vertical List,
-% so constitutes the true beginning of the document.
-%
-% Note also that if the selected column grid is a one-column grid,
-% there is nothing to do, because \classname{ltxgrid} has already
-% set that up via \cmd\@begindocumenthook.
-% \begin{macrocode}
-\def\select@column@grid{%
- \twocolumn@sw{%
- \twocolumn@grid@setup
- \open@twocolumn
- }{%
- \onecolumn@grid@setup
-% \end{macrocode}
-% \begin{verbatim}
-% \open@onecolumn
-% \end{verbatim}
-% \begin{macrocode}
- }%
-}%
-\appdef\class@documenthook{%
- \select@column@grid
-}%
-% \end{macrocode}
-%
-% \end{macro}
-%
-% \begin{macro}{\clear@document}
-% \changes{4.1n}{2009/12/05}{(AO, 569) Use of \classname{hyperref} interferes with column balancing of last page}%
-%
-% We install into \cmd\class@enddocumenthook\
-% a trap for the procedure \cmd\clearpage\ that attempts to end the current page.
-% This procedure needs to be headpatched with \cmd\close@column\ to end the current page grid.
-%
-% This procedure is executed after all typesetting is complete
-% i.e., after items like \cmd\printtables, as well as all commands queued up by \cmd\AtEndDocument.
-%
-% \begin{macrocode}
-\appdef\setup@hook{%
- \let\clearpage@ltx\clearpage
- \prepdef\clear@document{\let\clearpage\clearpage@ltx\let\clear@document\@empty\close@column}%
- \appdef\class@documenthook{%
- \appdef\class@enddocumenthook{%
- \let\clearpage\clear@document
- }%
- }%
-}%
-% \end{macrocode}
-%
-% \end{macro}
-%
-% \begin{macro}{\authoryear@sw}
-% \changes{4.1a}{2008/01/18}{(AO, 457) Endnotes to be sorted in with numerical citations.}%
-% The boolean \cmd\authoryear@sw\ signifies that we are to use author-year citations rather than numerical citations.
-%
-% The \classoption{author-year} class option selects ``'author-year'' citations;
-% \classoption{numerical} selectes ``numerical'' citations.
-% The former is the default.
-% \begin{macrocode}
-\DeclareOption{author-year}{\@booleantrue\authoryear@sw}%
-\DeclareOption{numerical}{\@booleanfalse\authoryear@sw}%
-\@booleanfalse\authoryear@sw
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\galley@sw}
-% The boolean \cmd\galley@sw\ signifies that
-% the document is to be formatted in galley style.
-%
-% Asserting both \cmd\galley@sw\ and \cmd\preprintsty@sw\
-% may produce strange formatting results, but it is not illegal.
-% However, it \emph{is} illegal to assert galley and any
-% twocolumn option.
-% \begin{macrocode}
-% \end{macrocode}
-% \classoption{galley} emulates setting the galleys of
-% a two-column journal.
-% CHANGED: this option should effectively set \cmd\preprintsty@sw\ false.
-% NOTE: it makes no sense to assert both galley and twocolumn.
-% \changes{4.1b}{2008/07/01}{Class option galley sets \cs{preprintsty@sw} to false}
-%
-% \begin{macrocode}
-\DeclareOption{galley}{%
- \ExecuteOptions{onecolumn}%
- \@booleantrue\galley@sw
- \@booleanfalse\preprintsty@sw
- \appdef\setup@hook{%
- \advance\textwidth-\columnsep
- \textwidth.5\textwidth
- }%
-}%
-\@booleanfalse\galley@sw
-% \end{macrocode}
-% \end{macro}
-%
-% \subsubsection{raggedbottom or flushbottom}%
-% \begin{macro}{\raggedcolumn@sw}
-% \changes{4.1b}{2008/07/01}{(AO) make settings at class time instead of deferring them to later.}
-% The class options \classoption{raggedbottom} and \classoption{flushbottom} determine whether the columns (page)
-% are ragged bottom or flush bottom.
-% Note that we do not select a default here; that is done by the journal substyle.
-% \begin{macrocode}
-\DeclareOption{raggedbottom}{\@booleantrue\raggedcolumn@sw}
-\DeclareOption{flushbottom}{\@booleanfalse\raggedcolumn@sw}
-\@booleanfalse\raggedcolumn@sw
-\appdef\setup@hook{%
- \raggedcolumn@sw{\raggedbottom}{\flushbottom}%
-}%
-% \end{macrocode}
-% \end{macro}
-%
-% \subsubsection{tightenlines}%
-%
-% This class option specifies that standard leading
-% is to be used to set the type.
-% If lacking, the leading will be loose.
-%
-% \begin{macro}{\tightenlines@sw}
-% \changes{4.1b}{2008/07/01}{(AO) make settings at class time instead of deferring them to later.}
-% The boolean \cmd\tightenlines@sw\ signifies that
-% the leading is to be made standard amount.
-% If false, it means that the leading is to be set extra open.
-% Has no effect on 10pt size option.
-%
-% \begin{macrocode}
-\DeclareOption{tightenlines}{\@booleantrue\tightenlines@sw}
-\@booleanfalse\tightenlines@sw
-% \end{macrocode}
-% \end{macro}
-%
-% \subsubsection{lengthcheck}%
-%
-% \begin{macro}{\lengthcheck@sw}
-% \changes{4.1b}{2008/07/01}{(AO) make settings at class time instead of deferring them to later.}
-% The flag \cmd\lengthcheck@sw\ signifies that
-% the length checking is in effect.
-% It is up to the individual journal substyle
-% to alter its formatting accordingly.
-% \begin{macrocode}
-\@booleanfalse\lengthcheck@sw
-% \end{macrocode}
-% This class option specifies that the formatted document
-% should approach as closely as possible the
-% formatting of an actual journal article
-% to facilitate the author's performance of a length check.
-%
-%FIXME: society or journal may have its own definition of this option.
-% \begin{macrocode}
-\DeclareOption{lengthcheck}{%
- \@booleantrue\lengthcheck@sw
- \ExecuteOptions{reprint}%
-}%
-% \end{macrocode}
-% In addition, if length checking is in effect, we will enable
-% the tally of text length.
-% \begin{macrocode}
-\appdef\setup@hook{%
- \lengthcheck@sw{\@booleantrue\tally@box@size@sw}{}%
-}%
-% \end{macrocode}
-% \end{macro}
-%
-% \subsubsection{Draft and Final}%
-%
-% \begin{macro}{\draft@sw}
-% \changes{4.1b}{2008/07/01}{(AO) make settings at class time instead of deferring them to later.}
-% The flag \cmd\draft@sw\ signifies that the document is to be
-% formatted in draft mode.
-%
-% \begin{macrocode}
-\appdef\setup@hook{%
- \draft@sw{\overfullrule 5\p@}{\overfullrule\z@}%
-}%
-% \end{macrocode}
-%
-% Certain packages may pay attention to the
-% class option \classoption{draft} that sets this Boolean.
-% \begin{macrocode}
-\DeclareOption{draft}{\@booleantrue\draft@sw}%
-\DeclareOption{final}{\@booleanfalse\draft@sw}%
-\@booleanfalse\draft@sw
-% \end{macrocode}
-%
-% \end{macro}
-%
-% \subsubsection{eqsecnum}%
-%
-% \begin{macro}{\eqsecnum@sw}
-% The flag \cmd\eqsecnum@sw\ signifies that equations are to be
-% numbered with the section, e.g., ``Eq. (2.13)''.
-% \begin{macrocode}
-\appdef\setup@hook{%
- \eqsecnum@sw{%
- \@addtoreset{equation}{section}%
- \def\theequation@prefix{\arabic{section}.}%
- }{}%
-}%
-% \end{macrocode}
-%
-% The \classoption{eqsecnum} class option signifies that equations are
-% to be numbered within sections.
-% \begin{macrocode}
-\DeclareOption{eqsecnum}{\@booleantrue\eqsecnum@sw}%
-\@booleanfalse\eqsecnum@sw
-% \end{macrocode}
-% \end{macro}
-%
-% \subsubsection{secnumarabic}%
-% \changes{4.1b}{2008/07/01}{(AO) No longer use \cs{secnumarabic@sw}, instead use \cs{setup@secnums}}
-% The \classoption{secnumarabic} class option signifies that sectioning commands are
-% to be numbered arabic:
-% the procedure \cmd\secnums@arabic\ is executed as the default.
-% Otherwise, the procedure \cmd\secnums@rtx\ determines things.
-% The society or journal may redefine either procedure,
-% and may change the definition of \cmd\setup@secnums\ itself,
-% thereby establishing a different default.
-% \begin{macrocode}
-\appdef\setup@hook{%
- \setup@secnums
-}%
-\DeclareOption{secnumarabic}{%
- \def\setup@secnums{\secnums@arabic}%
-}%
-\def\setup@secnums{\secnums@rtx}%
-% \end{macrocode}
-% The code that defines \cmd\secnums@rtx\ and \cmd\secnums@arabic\ appears
-% in Section~\ref{sec:secnumarabic}.
-%
-% \begin{macro}{fleqn}
-% FIXME: model fleqn after amsfonts. I no longer understand why I said this.
-% \file{fleqn.clo} is not a package, so it can simply be \cmd\input.
-% \begin{macrocode}
-\DeclareOption{fleqn}{%
- \input{fleqn.clo}%
-}%
-% \end{macrocode}
-% \end{macro}
-%
-% \subsubsection{floats/endfloats}%
-%
-% \begin{macro}{\floats@sw}
-% \begin{macro}{\floatp@sw}
-% \changes{4.1b}{2008/07/01}{(AO) make settings at class time instead of deferring them to later.}
-% The Boolean \cmd\floats@sw\ signifies that floats are to be floated;
-% if false, that floats are to be deferred to the end of the document.
-% By default, the former.
-% Note that the state of this Boolean is to be changed by
-% the document class in response to user-selected options.
-%
-% This boolean and the assignment of its default value is done by
-% the \classname{ltxutil} package.
-%
-% The Boolean \cmd\floatp@sw\ signifies that endfloats are to be set one per page;
-% if false, that endfloats are to be set with multiple floats per page permitted.
-% By default, the latter.
-% Note that the state of this Boolean is to be changed by
-% the document class in response to user-selected options.
-% The default is established here.
-%
-% These options control, via the Boolean \cmd\floats@sw,
-% whether floats are to be migrated to the end of the document.
-% \begin{macrocode}
-\DeclareOption{floats}{\@booleantrue\floats@sw\@booleanfalse\floatp@sw}
-\DeclareOption{endfloats}{\@booleanfalse\floats@sw\@booleanfalse\floatp@sw}
-\DeclareOption{endfloats*}{\@booleanfalse\floats@sw\@booleantrue\floatp@sw}
-\@booleantrue\floats@sw
-\@booleantrue\floatp@sw
-% \end{macrocode}
-% \end{macro}
-% \end{macro}
-%
-% \subsubsection{titlepage/notitlepage}%
-% These options control, via \cmd\titlepage@sw,
-% whether the title block is to be set on a separate page.
-%
-% \begin{macro}{\titlepage@sw}
-% \changes{4.1b}{2008/07/01}{(AO) make settings at class time instead of deferring them to later.}
-% The flag \cmd\titlepage@sw\ signifies that a forced
-% page break is to follow the title page: the article
-% title appears on a page by itself.
-%
-% \begin{macrocode}
-\DeclareOption{titlepage}{\@booleantrue\titlepage@sw}
-\DeclareOption{notitlepage}{\@booleanfalse\titlepage@sw}
-\@booleanfalse\titlepage@sw
-% \end{macrocode}
-% \end{macro}
-%
-% \subsubsection{Substyle and Sub-substyle}%
-%
-% \begin{macro}{\change@society}
-% \begin{macro}{\change@journal}
-% \changes{4.1b}{2008/07/01}{(AO) Provide more diagnostics when \cs{@society} is assigned.}
-% If the society or, resp., journal has already been assigned,
-% notify user whether it is being overridden.
-%
-% \begin{macrocode}
-\def\change@society#1{%
- \def\@tempa{#1}%
- \@ifxundefined\@society{%
- \class@info{Selecting society \@tempa}%
- \let\@society\@tempa
- }{%
- \@ifx{\@tempa\@society}{}{%
- \class@warn{Conflicting society \@tempa<>\@society; not selected}%
- }%
- }%
-}%
-\def\change@journal#1{%
- \def\@tempa{#1}%
- \@ifxundefined\@journal{%
- \class@info{Selecting journal \@tempa}%
- \let\@journal\@tempa
- }{%
- \@ifx{\@tempa\@journal}{}{%
- \class@warn{Conflicting journal \@tempa<>\@journal; not selected}%
- }%
- }%
-}%
-% \end{macrocode}
-% \end{macro}
-% \end{macro}
-%
-% Here had been the class options relating to the APS.
-% Now that all societies are on an equal footing, this code is in the
-% respective \file{.rtx} file.
-% \begin{macrocode}
-% \end{macrocode}
-%
-% \subsubsection{Optical Society of America}%
-% Here are the class options relating to the Optical Society of America.
-%
-% Note: as of 2008, the only OSA module being distributed by ctan is \file{osajnl.rtx}.
-% The class options declared here are, I think, unused.
-% \begin{macrocode}
-\DeclareOption{osa}{\change@society{osa}\let\@journal\@undefined}%
-\DeclareOption{osameet}{\change@society{osa}\def\@journal{osameet}}%
-\DeclareOption{opex}{\change@society{osa}\def\@journal{opex}}%
-\DeclareOption{tops}{\change@society{osa}\def\@journal{tops}}%
-\DeclareOption{josa}{\change@society{osa}\def\@journal{josa}}%
-% \end{macrocode}
-%
-% \begin{macro}{\rtx@require@packages}
-% \changes{4.1b}{2008/07/01}{Read in all required packages together}
-% The procedure \cmd\rtx@require@packages\ accumulates all \cmd\RequirePackage\ statements
-% in the course of loading the document class.
-% Carrying out these operations at that time is needed:
-% \cmd\ProcessOptions\ must be executed first.
-% \begin{macrocode}
-\let\rtx@require@packages\@empty
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\MakeUppercase}
-% \begin{macro}{\MakeLowercase}
-% \changes{4.1b}{2008/07/01}{Package textcase is now simply a required package}
-% \changes{4.1b}{2008/07/01}{Read in all required packages together}
-% \changes{4.1g}{2009/10/07}{(AO, 538) \cs{MakeTextUppercase} inappropriately expands the double backslash}
-% We load the \classname{textcase} package of David Carlisle.
-% Now that its bug of long standing has been repaired, we no longer need to doctor it up.
-% And, because its loading has been deferred until \cmd\rtx@require@packages\ time,
-% we no longer override \LaTeX\ here. Instead, the \classname{textcase} package
-% will be asked to do that.
-% \begin{macrocode}
-\appdef\rtx@require@packages{%
- \RequirePackage[overload]{textcase}%
-}%
-% \end{macrocode}
-% The following code used to
-% let the \classname{textcase} commands override those of \LaTeX:
-% \begin{verbatim}
-%\appdef\setup@hook{%
-% \expandafter
-% \let\csname MakeUppercase \expandafter\endcsname
-% \csname MakeTextUppercase \endcsname
-% \expandafter
-% \let\csname MakeLowercase \expandafter\endcsname
-% \csname MakeTextLowercase \endcsname
-% }%
-% \end{verbatim}
-% \end{macro}
-% \end{macro}
-%
-% \begin{macro}{amsfonts}
-% \changes{4.1b}{2008/07/01}{Read in all required packages together}
-% The class option \classoption{amsfonts} has the
-% same effect as if the document preamble contained
-% a \cmd\usepackage\verb${amsfonts}$ statement.
-% \begin{macrocode}
-\DeclareOption{amsfonts}{%
- \def\class@amsfonts{\RequirePackage{amsfonts}}%
-}%
-\DeclareOption{noamsfonts}{%
- \let\class@amsfonts\@empty
-}%
-\appdef\rtx@require@packages{%
- \@ifxundefined\class@amsfonts{}{\class@amsfonts}%
-}%
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{amssymb}
-% \changes{4.1b}{2008/07/01}{Read in all required packages together}
-% The class option \classoption{amssymb} has the
-% same effect as if the document preamble contained
-% a \cmd\usepackage\verb${amssymb}$ statement.
-% \begin{macrocode}
-\DeclareOption{amssymb}{%
- \def\class@amssymb{\RequirePackage{amssymb}}%
-}%
-\DeclareOption{noamssymb}{%
- \let\class@amssymb\@empty
-}%
-\appdef\rtx@require@packages{%
- \@ifxundefined\class@amssymb{}{\class@amssymb}%
-}%
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{amsmath}
-% \changes{4.1b}{2008/07/01}{Read in all required packages together}
-% The class option \classoption{amsmath} has the
-% same effect as if the document preamble contained
-% a \cmd\usepackage\verb${amsmath}$ statement.
-%
-% We require version 1.2 (datestamped 1997/03/20) or later.
-% The \expandafter\cmd\csname ver@amsmath.sty\endcsname, will
-%
-% \LaTeX\ note:
-% Certain \LaTeX\ procedures have an arbitrary and pointless restriction that they may be used only within the preamble.
-% We get around this by preserving the procedures in private \cmd\csname s.
-%
-% FIXME note: it is difficult to ensure that an error summary will be printed on the console at the very end,
-% but \classname{ltxgrid} allows accomplishing this via an interrupt, put down at \cmd\AtEndDocument\ time.
-%
-% \begin{macrocode}
-\DeclareOption{amsmath}{%
- \def\class@amsmath{\RequirePackage{amsmath}[\ver@amsmath@prefer]}%
-}%
-\DeclareOption{noamsmath}{%
- \let\class@amsmath\@empty
-}%
-\appdef\rtx@require@packages{%
- \preserve@LaTeX
- \@ifxundefined\class@amsmath{}{\class@amsmath}%
- \appdef\class@enddocumenthook{\test@amsmath@ver}%
-}%
-\appdef\preserve@LaTeX{%
- \let\@ifl@aded@LaTeX\@ifl@aded
- \let\@ifpackageloaded@LaTeX\@ifpackageloaded
- \let\@pkgextension@LaTeX\@pkgextension
- \let\@ifpackagelater@LaTeX\@ifpackagelater
- \let\@ifl@ter@LaTeX\@ifl@ter
- \let\@ifl@t@r@LaTeX\@ifl@t@r
- \let\@parse@version@LaTeX\@parse@version
-}%
-\appdef\restore@LaTeX{%
- \let\@ifl@aded\@ifl@aded@LaTeX
- \let\@ifpackageloaded\@ifpackageloaded@LaTeX
- \let\@pkgextension\@pkgextension@LaTeX
- \let\@ifpackagelater\@ifpackagelater@LaTeX
- \let\@ifl@ter\@ifl@ter@LaTeX
- \let\@ifl@t@r\@ifl@t@r@LaTeX
- \let\@parse@version\@parse@version@LaTeX
-}%
-\def\test@amsmath@ver{%
- \begingroup
- \restore@LaTeX
- \@ifpackageloaded{amsmath}{%
- \@ifpackagelater{amsmath}{\ver@amsmath@prefer}{}{%
- \class@warn{%
- You have loaded amsmath, version "\csname ver@amsmath.sty\endcsname",\MessageBreak
- but this class requires version "\ver@amsmath@prefer", or later.\MessageBreak
- Please update your LaTeX installation.
- }%
- }%
- }{%
- }%
- \endgroup
-}%
-\def\ver@amsmath@prefer{2000/01/15 v2.05 AMS math features}%
-% \end{macrocode}
-% \end{macro}
-%
-% \subsubsection{Presenting Authors and Their Affiliations}%
-% \changes{4.1b}{2008/07/01}{Code relating to new syntax for frontmatter has been placed in \file{ltxfront.dtx}}
-% Class options for presenting authors and their affiliations are now defined in
-% \file{ltxfront.dtx}.
-%
-% \begin{macrocode}
-% \end{macrocode}
-%
-% \subsubsection{Typeset by \revtex}%
-%
-% \begin{macro}{\byrevtex@sw}
-% \changes{4.1b}{2008/07/01}{(AO) make settings at class time instead of deferring them to later.}
-% The flag \cmd\byrevtex@sw\ signifies that the document should
-% bear an imprint to the effect that it was formatted by this document class.
-%
-% The class option \classoption{byrevtex} signifies that you want the
-% ``Typeset by \revtex'' byline to appear on your formatted output.
-% By default, no such byline appears.
-% \begin{macrocode}
-\DeclareOption{byrevtex}{\@booleantrue\byrevtex@sw}%
-\@booleanfalse\byrevtex@sw
-% \end{macrocode}
-% \end{macro}
-%
-% \subsection{Attempt to fix float placement failure}%
-%
-% \begin{macro}{\force@deferlist@sw}
-% \changes{4.1b}{2008/07/01}{(AO) make settings at class time instead of deferring them to later.}
-% \revtex\ uses the \classname{ltxgrid} package, which provides the ability to attempt repairs when
-% \LaTeX's float placement mechanism is about to fail, but that facility is turned off by default.
-% Users should invoke the \classoption{floatfix} document class option to enable this \LaTeX\ extension.
-% If not, a helpful message is printed in the log, indicating how to work around the difficulty.
-% \begin{macrocode}
-\DeclareOption{floatfix}{\@booleantrue\force@deferlist@sw}%
-\DeclareOption{nofloatfix}{\@booleanfalse\force@deferlist@sw}%
-\@booleanfalse\force@deferlist@sw
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\@fltovf}
-% \begin{macro}{\@fltstk}
-% The \LaTeX\ kernel error message \cmd\@fltovf\ may now be a bit more helpful to the user;
-% likewise for the \cmd\@fltstk\ message of \classname{ltxgrid}.
-% \begin{macrocode}
-\gdef\@fltovf{%
- \@latex@error{%
- Too many unprocessed floats%
- \force@deferlist@sw{}{; try class option [floatfix]}%
- }\@ehb
-}%
-\def\@fltstk{%
- \@latex@warning{%
- A float is stuck (cannot be placed)%
- \force@deferlist@sw{}{; try class option [floatfix]}%
- }%
-}%
-% \end{macrocode}
-% \end{macro}
-% \end{macro}
-%
-% \begin{macro}{\ltxgrid@info@sw}
-% \begin{macro}{\outputdebug@sw}
-% The two options \classoption{ltxgridinfo} and \classoption{outputdebug} turn on informative diagnostics within the
-% package \classname{ltxgrid}. Only people who really want to see this output will select these class options.
-% Consult documentation for the \classname{ltxgrid} package to see what output the related switches enable.
-% \begin{macrocode}
-\DeclareOption{ltxgridinfo}{%
- \@booleantrue\ltxgrid@info@sw
-%\@booleantrue\ltxgrid@foot@info@sw
-}%
-\DeclareOption{outputdebug}{%
- \@booleantrue\outputdebug@sw
- \@booleantrue\ltxgrid@info@sw
- \@booleantrue\ltxgrid@foot@info@sw
- \traceoutput
-}%
-% \end{macrocode}
-% \end{macro}
-% \end{macro}
-%
-% \subsection{Option to relax page height}%
-%
-% \begin{macro}{\textheight@sw}
-% The \classname{ltxgrid} package can set text pages to their natural height or force them to the full
-% text height; the latter is the default.
-% If setting the pages with a variable length,
-% the running foot will move up or down with the natural length of the text column.
-% While I recommend against doing so, this option will turn that switch to the latter setting.
-% \begin{macrocode}
-\DeclareOption{raggedfooter}{\@booleanfalse\textheight@sw}%
-\DeclareOption{noraggedfooter}{\@booleantrue\textheight@sw}%
-% \end{macrocode}
-% \end{macro}
-%
-% \subsection{Selecting procedure for processing abstract}%
-% \changes{4.1b}{2008/07/01}{Remove options newabstract and oldabstract}
-% Code defining options \classoption{newabstract} and \classoption{oldabstract} has been removed.
-%
-% \subsection{Option to turn on diagnostics in the frontmatter}%
-%
-% \begin{macro}{\frontmatterverbose@sw}
-% \changes{4.1b}{2008/07/01}{Code relating to new syntax for frontmatter has been placed in \file{ltxfront.dtx}}
-% A diagnostic option, not for the average enduser, which reveals
-% the workings of the frontmatter.
-% This code interfaces to that of \file{ltxfront.dtx}.
-% \begin{macrocode}
-\DeclareOption{frontmatterverbose}{\@booleantrue\frontmatterverbose@sw}%
-\@booleanfalse\frontmatterverbose@sw
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\linenumbers@sw}
-% \changes{4.1f}{2009/07/07}{(AO, 513) Add class option linenumbers: number the lines a la \classname{lineno}}
-% \changes{4.1n}{2009/12/13}{(AO, 573) arrange to load \classname{lineno} after any other packages.}%
-% An option to number the lines of type in the output in the manner of \classname{lineno}.
-%
-% At present, we use that very package to implement this functionality.
-% This means that users may modify the workings of that package per its documentation (which see).
-%
-% However, compatibility with \classname{amsmath} requires that \classname{lineno} be loaded afterwards.
-% Therefore, we defer loading of this package until after the preamble is completed.
-% \begin{macrocode}
-\DeclareOption{linenumbers}{%
- \appdef
- \class@documenthook{%
- \RequirePackage{lineno}[2005/11/02 v4.41]%
- \linenumbersep4pt\relax
- \linenumbers\relax
- }%
-}%
-% \end{macrocode}
-% By default, line numbering is off.
-% \end{macro}
-%
-% \begin{macro}{\NAT@merge}
-% \changes{4.1f}{2009/07/15}{(AO, 523) Add class option nomerge, to turn off new natbib 8.3 syntax}
-% Add class option nomerge, to turn off natbib 8.3 syntax for citation key.
-% The default value of REVTeX 4.1 for \cmd\NAT@merge is \cmd\thr@@, which turns on
-% the new syntax along with its semantics.
-% Legacy documents that would be incompatible with the new syntax can be successfully processed
-% with class option \classoption{nomerge}.
-% \begin{macrocode}
-\DeclareOption{nomerge}{%
- \appdef\setup@hook{%
- \@ifnum{\NAT@merge>\z@}{\let\NAT@merge\z@}{}%
- }%
-}%
-% \end{macrocode}
-% \end{macro}
-%
-% \subsection{Default Option, Society, Journal, and pointsize}%
-%
-% \changes{4.1a}{2008/01/18}{(AO, 488) Change processing of options to allow an unused option to specify society and journal}%
-% This change will not break OSA documents because that society is still built in to revtex4.
-%
-% \begin{macro}{\@parse@class@options@society}
-% \begin{macro}{\@parse@class@options@}
-% \changes{4.1b}{2008/07/01}{Procedures \cs{@parse@class@options@society} and \cs{@parse@class@options@journal} and friends}
-% The procedure \cmd\@parse@class@options@society\ parses the options passed to this document class
-% for the \cmd\@society.
-% It is like \cmd\ProcessOptions*\ in that it accesses
-% \cmd\@ptionlist\{\cmd\@currname.\cmd\@currext\}.
-% Any undefined option is considered: if there is a corresponding \file{.rtx} file,
-% it will change the society accordingly
-% and define a placeholder class option for the society thus found
-% (thus preventing a spurious "option not found" message).
-%
-% The procedure \cmd\@parse@class@options@\ parses the document's options
-% for any that set the \cmd\csname\ provided.
-% \begin{macrocode}
-\def\@parse@class@options@society{%
- \edef\@tempa{\@ptionlist{\@currname.\@currext}}%
- \expandafter\@for\expandafter\CurrentOption\expandafter:\expandafter=\@tempa\do{%
- \expandafter\@ifnotrelax\csname ds@\CurrentOption\endcsname{}{%
- \IfFileExists{\CurrentOption\substyle@post.\substyle@ext}{%
- \expandafter\change@society\expandafter{\CurrentOption}%
- \expandafter\let\csname ds@\CurrentOption\endcsname\@empty
- }{}%
- }%
- }%
-}%
-\def\@parse@class@options@#1{%
- \edef\@tempa{\@ptionlist{\@currname.\@currext}}%
- \expandafter\@for\expandafter\CurrentOption\expandafter:\expandafter=\@tempa\do{%
- \expandafter\@ifnotrelax\csname ds@\CurrentOption\endcsname{%
- \begingroup\csname ds@\CurrentOption\endcsname
- \@ifxundefined#1{%
- \endgroup
- }{%
- \expandafter\endgroup\expandafter\def\expandafter#1\expandafter{#1}%
- }%
- }{}%
- }%
-}%
-\def\@parse@class@options@journal{%
- \edef\@tempa{\@ptionlist{\@currname.\@currext}}%
- \expandafter\@for\expandafter\CurrentOption\expandafter:\expandafter=\@tempa\do{%
- \expandafter\@ifnotrelax\csname ds@\CurrentOption\endcsname{%
- \begingroup
- \csname ds@\CurrentOption\endcsname
- \@ifxundefined\@journal{%
- \endgroup
- }{%
- \expandafter\endgroup\expandafter\def\expandafter\@journal\expandafter{\@journal}%
- }%
- }{}%
- }%
-}%
-\def\@parse@class@options{%
- \edef\@tempa{\@ptionlist{\@currname.\@currext}}%
- \expandafter\@for\expandafter\CurrentOption\expandafter:\expandafter=\@tempa\do{%
- \expandafter\@ifnotrelax\csname ds@\CurrentOption\endcsname{%
- \begingroup
- \csname ds@\CurrentOption\endcsname
- \@ifxundefined\@pointsize{%
- \endgroup
- }{%
- \expandafter\endgroup\expandafter\def\expandafter\@pointsize\expandafter{\@pointsize}%
- }%
- }{%
- \IfFileExists{\CurrentOption\substyle@post.\substyle@ext}{%
- \expandafter\change@society\expandafter{\CurrentOption}%
- \expandafter\let\csname ds@\CurrentOption\endcsname\@empty
- }{}%
- }%
- }%
-}%
-% \end{macrocode}
-% \end{macro}
-% \end{macro}
-%
-% \changes{4.1j}{2009/10/25}{(AO, 545) hypertext capabilities off by default; enable with \classoption{hypertext}}
-% The class option \classoption{hypertext} enables the built-in hypertext capabilities,
-% which coincide with those of \classname{custom-bib}-generated BIBTeX styles
-% using the guard code \texttt{hypertext}.
-%
-% Note that APS has these capabilities turned off by default;
-% Loading the hyperref package turns them on.
-% \begin{macrocode}
-\DeclareOption{hypertext}{\hypertext@enable@ltx}%
-\appdef\document@inithook{\@ifpackageloaded{hyperref}{\hypertext@enable@ltx}{}}%
-% \end{macrocode}
-%
-% The default handling for a document class option depends upon whether the \cmd\@society\ is
-% defined.
-%
-% If not, then hunt for a \file{.rtx} file with that name.
-% If it exists, then we will take this option as the name of the society,
-% otherwise, declare the option as not used.
-%
-% (This behavior is similar to the \LaTeX2.09 handling, where
-% one looked for a \file{.sty} file, except that
-% in this case, we must provide for journal substyles that may be
-% defined in the society file, or have their own journal substyle file.)
-%
-% At the point where the class file is finished loading,
-% we then read in the society file.
-% That file can define further class options, such as the journal substyle.
-%
-% For users, this will mean that they can specify the society and journal simply
-% by specifying first the former and then the latter among their document class options.
-% The society \emph{must} have a corresponding \file{.rtx}.
-%
-% \changes{4.1b}{2008/05/29}{The csname substyle@ext is now defined without a dot (.), to be compatible with \LaTeX usage (see @clsextension and @pkgextension).}
-%
-% \begin{macrocode}
-%</options>
-% \end{macrocode}
-%
-% \begin{macrocode}
-%<*package>
-% \end{macrocode}
-%
-% \begin{macro}{\@process@society}
-% \begin{macro}{\@process@journal}
-% \begin{macro}{\@process@pointsize}
-% \begin{macrocode}
-\def\substyle@post{4-1}%
-\def\substyle@ext{rtx}%
-\DeclareOption*{\OptionNotUsed}%
-% \end{macrocode}
-% A society substyle may define its own options, via \cmd\DeclareOption.
-%
-% At the end of this document class, we process the society file,
-% using \file{aps.rtx} if none has been specified in the document.
-% \begin{macrocode}
-\def\@process@society#1{%
- \@ifxundefined\@society{%
- \class@warn{No Society specified, using default society #1}%
- \def\@society{#1}\let\@journal\@undefined
- }{}%
- \expandafter\input\expandafter{\@society\substyle@post.\substyle@ext}%
-}%
-% \end{macrocode}
-%
-% A society substyle can encompass any number of journal substyles;
-% we use the following procedure to invoke the proper one.
-% \begin{macrocode}
-\def\@process@journal#1{%
- \@ifxundefined\@journal{%
- \class@warn{No journal specified, using default #1}%
- \def\@journal{#1}%
- }{}%
- \expandafter\expandafter
- \expandafter\rtx@do@substyle
- \expandafter\expandafter
- \expandafter{\expandafter\@society\@journal}%
-}%
-\def\rtx@do@substyle#1{%
- \InputIfFileExists{#1\substyle@post.\substyle@ext}{}{\csname rtx@#1\endcsname}%
-}%
-% \end{macrocode}
-%
-% Document class options \classoption{10pt}, \classoption{11pt}, and \classoption{12pt}
-% are implemented by \revtex\ itself and determine \cmd\@pointsize.
-% These provide formatting settings appropriate to the society's journals.
-%
-% If not specified by the document, a value \cmd\@pointsize@default\ is used.
-% This default can be set by the journal. Here, the society sets its default.
-% \begin{macrocode}
-\def\@process@pointsize#1{%
- \@ifxundefined\@pointsize{%
- \def\@pointsize{#1}%
- \class@warn{No type size specified, using default \@pointsize}%
- }{}%
- \expandafter\expandafter
- \expandafter\rtx@do@substyle
- \expandafter\expandafter
- \expandafter{\expandafter\@society\@pointsize pt}%
-}%
-% \end{macrocode}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-%
-% \subsection{Class-Asserted Options}%
-% \changes{4.0b}{1999/06/20}{Removed invocation of nonexistent class option \protect\classoption{groupauthors} and all other class options that should only be invoked by the document. (Otherwise precedence of class options does not work.)}
-% Here we establish the default document class options.
-% Those of the document itself will override these.
-%
-% \section{Procedures Dependent Upon Options}
-%
-% Here we introduce \classname{classes.dtx} definitions for
-% the page styles that people will expect to be able to use.
-% \begin{macro}{\ps@headings}
-% \begin{macro}{\ps@myheadings}
-% \begin{macrocode}
- \def\ps@headings{%
- \let\@oddfoot\@empty\let\@evenfoot\@empty
- \def\@evenhead{\thepage\hfil\slshape\leftmark}%
- \def\@oddhead{{\slshape\rightmark}\hfil\thepage}%
- \let\@mkboth\markboth
- \def\sectionmark##1{%
- \markboth {\MakeUppercase{%
- \ifnum \c@secnumdepth >\z@
- \thesection\quad
- \fi
- ##1}}{}}%
- \def\subsectionmark##1{%
- \markright {%
- \ifnum \c@secnumdepth >\@ne
- \thesubsection\quad
- \fi
- ##1}}}%
-\def\ps@myheadings{%
- \let\@oddfoot\@empty\let\@evenfoot\@empty
- \def\@evenhead{\thepage\hfil\slshape\leftmark}%
- \def\@oddhead{{\slshape\rightmark}\hfil\thepage}%
- \let\@mkboth\@gobbletwo
- \let\sectionmark\@gobble
- \let\subsectionmark\@gobble
- }%
-% \end{macrocode}
-% \end{macro}
-% \end{macro}
-%
-% \begin{macro}{\ps@article}
-% \begin{macro}{\ps@article@final}
-% \begin{macro}{\ps@preprint}
-% \changes{4.0a}{1998/01/31}{Move after process options, so the following test works}
-% \changes{4.0b}{1999/06/20}{Defer decision until \cs{AtBeginDocument} time}
-% \changes{4.0c}{1999/11/13}{Insert procedure \cs{checkindate}}
-% \changes{4.0rc1}{2001/06/17}{Running headers always as if two-sided}
-% \begin{macrocode}
-\def\ps@article{%
- \def\@evenhead{\let\\\heading@cr\thepage\quad\checkindate\hfil{\leftmark}}%
- \def\@oddhead{\let\\\heading@cr{\rightmark}\hfil\checkindate\quad\thepage}%
- \def\@oddfoot{}%
- \def\@evenfoot{}%
- \let\@mkboth\markboth
- \let\sectionmark\@gobble
- \let\subsectionmark\@gobble
-}%
-\def\ps@article@final{%
- \def\@evenhead{\let\\\heading@cr\thepage\quad\checkindate\hfil{\leftmark}}%
- \def\@oddhead{\let\\\heading@cr{\rightmark}\hfil\checkindate\quad\thepage}%
- \def\@oddfoot{}%
- \def\@evenfoot{}%
- \let\@mkboth\markboth
- \def\sectionmark##1{%
- \markboth{%
- \MakeTextUppercase{%
- \@ifnum{\c@secnumdepth >\z@}{\thesection\hskip 1em\relax}{}%
- ##1%
- }%
- }{}%
- }%
- \def\subsectionmark##1{%
- \markright {%
- \@ifnum{\c@secnumdepth >\@ne}{\thesubsection\hskip 1em\relax}{}%
- ##1%
- }%
- }%
-}%
-% \end{macrocode}
-%
-% \begin{macrocode}
-\def\heading@cr{\unskip\space\ignorespaces}%
-% \end{macrocode}
-%
-% \changes{4.0c}{1999/11/13}{Do not put by REVTeX in every page foot}
-% \changes{4.0c}{1999/11/13}{Insert procedure \cs{checkindate}}
-% \begin{macrocode}
-\def\ps@preprint{%
- \def\@oddfoot{\hfil\thepage\quad\checkindate\hfil}%
- \def\@evenfoot{\hfil\thepage\quad\checkindate\hfil}%
- \def\@oddhead{}%
- \def\@evenhead{}%
- \let\@mkboth\@gobbletwo
- \let\sectionmark\@gobble
- \let\subsectionmark\@gobble
-}%
-% \end{macrocode}
-%
-% \begin{macrocode}
-\let\@oddhead\@empty
-\let\@evenhead\@empty
-\let\@oddfoot\@empty
-\let\@evenfoot\@empty
-% \end{macrocode}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-%
-% \begin{macro}{\lastpage@putlabel}
-% Support the default meaning of \cmd\@endpage.
-% \changes{4.0a}{1998/01/31}{Move after process options, so \cs{clearpage} not in scope of twocolumn}
-% \changes{4.1k}{2009/11/06}{(AO, 554) give the \cs{newlabel} command syntax appropriate to the hyperref package}
-% Name of this macro (and the \cmd\label\ key) taken from
-% \url{CTAN:/macros/latex/contrib/other/lastpage}%
-% with code optimised slightly.
-% \begin{macrocode}
-\def\lastpage@putlabel{%
- \if@filesw
- \begingroup
- \advance\c@page\m@ne
- \immediate\write\@auxout{\string\newlabel{LastPage}{{}{\thepage}{}{}{}}}%
- \endgroup
- \fi
-}%
-% \end{macrocode}
-% Install a procedure into document endgame processing that
-% labels the last page of the document.
-% This is done just before the \file{.aux} file
-% is closed, and does not require a \cmd\shipout, because it writes
-% directly to the \file{.aux} file.
-% Note that we assume no further \cmd\shipout s will be done past this point.
-% \changes{4.1n}{2009/12/09}{(AO, 569) execute the after-last-shipout procedures from within the safety of the output routine}%
-% \begin{macrocode}
-\appdef\clear@document{%
- \do@output@cclv{%
- \lastpage@putlabel
- \tally@box@size@sw{\total@text}{}%
- }%
-}%
-\providecommand\write@column@totals{}%
-% \end{macrocode}
-% \end{macro}
-%
-%
-% \section{Required Packages}
-% \url{CTAN:macros/latex/contrib/other/misc/url.sty}%
-% \begin{macrocode}
-\appdef\rtx@require@packages{%
- \RequirePackage{url}%
-}%
-% \end{macrocode}
-%
-% \section{Incompatible Packages}
-%
-% We wait until after the preamble is processed, then check for any packages
-% that might have been loaded which we know to be incompatible with \revtex.
-%
-% The \classname{multicol} package is incompatible with \classname{ltxgrid}, which replaces it.
-% The \classname{cite} package is incompatible with \classname{natbib}, which replaces its functionality.
-% The functionality of the \classname{mcite} package is provided by \classname{natbib}.
-% \begin{macrocode}
-\appdef\document@inithook{%
- \incompatible@package{cite}%
- \incompatible@package{mcite}%
- \incompatible@package{multicol}%
-}%
-% \end{macrocode}
-%
-% \section{Society- and Journal-Specific Code}
-%
-% \begin{macro}{\@journal}
-% Journal test helper, used as
-% \begin{verbatim}
-%\@ifx{\@journal\journal@pra}{%
-% <journal-specific setup>
-%\fi
-% \end{verbatim}
-% Journal code might like to further specify (if as yet undefined) or distinguish on
-% the following Booleans.
-%
-% Note: the journal substyle code should only alter the value of one of these Booleans if
-% the Boolean is \cmd\undefined. This convention is what makes the document's
-% options take precedence over the values set by the journal.
-%
-% FIXME: make this table an exhaustive listing of all the parameters set by
-% the class options.
-%
-% \begin{tabular}{ll}
-% \cmd\@pointsize &(10|11|12), depending on the type size\\
-% \cmd\footinbib@sw &true if footnotes are to be formatted in the bibliography\\
-% \cmd\preprintsty@sw &true for preprint and hyperpreprint\\
-% \cmd\eqsecnum@sw &true means that equations are numbered within sections\\
-% \cmd\groupauthors@sw &true means authors listed separately for each address\\
-% \cmd\preprint@sw &true means to produce the preprint numbers as part of the title block\\
-% \cmd\showPACS@sw &true means to produce the PACS as part of the title block\\
-% \cmd\showKEYS@sw &true means to produce the keywords as part of the title block\\
-% \cmd\@affils@sw &true means each affiliation is printed, for each author\\
-% \cmd\runinaddress@sw &true means author addresses are printed run-in\\
-% \cmd\draft@sw &true implies that PACS will be printed\\
-% \cmd\tightenlines@sw &true if preprint single spaced\\
-% \cmd\lengthcheck@sw &true if length checking is in effect\\
-% \cmd\byrevtex@sw &true means to announce ``typeset by \revtex''\\
-% \cmd\titlepage@sw &true for title is to be set on a separate page\\
-% \cmd\twocolumn@sw &true if two-column page grid\\
-% \cmd\twocolumn@sw &true if we are to automatically balance the columns of the last page\\
-% \cmd\twoside@sw &true means to format pages for duplex printing\\
-% \cmd\floats@sw &false means floats are migrated to end of document\\
-% \cmd\floatp@sw &true means endfloats are set one to a page\\
-% \cmd\class@amsfonts &if \cmd\@empty, means that \classname{amsfonts} will \emph{not} be loaded\\
-% \cmd\class@amssymb &if \cmd\@empty, means that \classname{amssymb} will \emph{not} be loaded\\
-% \cmd\frontmatter@footnote &if \cmd\undefined, means that the default (\cmd\footnote) will be used\\
-% \cmd\place@bibnumber &if \cmd\undefined, means that the default (inline) will be used\\
-% \end{tabular}
-%
-% Note: if \cmd\twocolumn@sw\ and \cmd\preprintsty@sw\ are both false,
-% then `galley' style is in effect. The \classoption{galley} option invokes
-% \classoption{onecolumn}, but does not affect the \cmd\preprintsty@sw.
-%
-% Note: \cmd\paperwidth\ and \cmd\paperheight\ are not integrated into this scheme,
-% and should be selected by the document alone.
-% \end{macro}
-%
-% \section{Body}
-%
-% \subsection{counters}
-% The following definitions are probably identical to those in
-% \file{classes.dtx}%
-% \begin{macrocode}
-\def\labelenumi{\theenumi.}
-\def\theenumi{\arabic{enumi}}
-% \end{macrocode}
-%
-% \begin{macrocode}
-\def\labelenumii{(\theenumii)}
-\def\theenumii{\alph{enumii}}
-\def\p@enumii{\theenumi}
-% \end{macrocode}
-%
-% \begin{macrocode}
-\def\labelenumiii{\theenumiii.}
-\def\theenumiii{\roman{enumiii}}
-\def\p@enumiii{\theenumi(\theenumii)}
-% \end{macrocode}
-%
-% \begin{macrocode}
-\def\labelenumiv{\theenumiv.}
-\def\theenumiv{\Alph{enumiv}}
-\def\p@enumiv{\p@enumiii\theenumiii}
-% \end{macrocode}
-%
-% \begin{macrocode}
-\def\labelitemi{\textbullet}
-\def\labelitemii{\normalfont\bfseries\textendash}
-\def\labelitemiii{\textasteriskcentered}
-\def\labelitemiv{\textperiodcentered}
-% \end{macrocode}
-%
-% \begin{macrocode}
-\pagenumbering{arabic}
-% \end{macrocode}
-%
-% \subsection{float parameters}
-%
-% from the old aps.sty. (DPC: same as article I think)
-% AO: here, \LaTeX's standard classes fail very poorly
-% (the price of backward compatability): the values for
-% \cmd\floatpagefraction\ and \cmd\dblfloatpagefraction\
-% need to be raised to avoid creating extremely short
-% float pages.
-% \begin{macrocode}
-\setcounter{topnumber}{2}
-\def\topfraction{.9}
-\setcounter{bottomnumber}{1}
-\def\bottomfraction{.9}
-\setcounter{totalnumber}{3}
-\def\textfraction{.1}
-\def\floatpagefraction{.9}
-\setcounter{dbltopnumber}{2}
-\def\dbltopfraction{.9}
-\def\dblfloatpagefraction{.9}
-% \end{macrocode}
-%
-% \subsection{List Environments}
-%
-% \begin{macrocode}
-\newenvironment{verse}{%
- \let\\=\@centercr
- \list{}{%
- \itemsep\z@ \itemindent -1.5em\listparindent \itemindent
- \rightmargin\leftmargin\advance\leftmargin 1.5em}\item[]%
-}{%
- \endlist
-}%
-% \end{macrocode}
-%
-% \begin{macrocode}
-\newenvironment{quotation}{%
- \list{}{%
- \listparindent 1.5em
- \itemindent\listparindent
- \rightmargin\leftmargin \parsep \z@ \@plus\p@}\item[]%
-}{%
- \endlist
-}%
-% \end{macrocode}
-%
-% \begin{macrocode}
-\newenvironment{quote}{%
- \list{}{%
- \rightmargin\leftmargin}\item[]%
-}{%
- \endlist
-}%
-% \end{macrocode}
-%
-% \changes{4.1b}{2008/06/30}{(AO) Structure the Abstract using the \texttt{bibliography} environment}
-% \begin{macrocode}
-\def\descriptionlabel#1{%
- \hspace\labelsep \normalfont\bfseries #1\unskip:%
-}%
-% \end{macrocode}
-%
-% \begin{macrocode}
-\newenvironment{description}{%
- \list{}{%
- \labelwidth\z@ \itemindent-\leftmargin
- \let\makelabel\descriptionlabel
- }%
-}{%
- \endlist
-}%
-% \end{macrocode}
-%
-% \subsection{Sectioning Commands\label{sec:secnumarabic}}
-%
-% \subsubsection{Sectioning Commands and Their Productions}%
-% The following counters are defined by LaTeX's standard document classes.
-% We do likewise, then assign flag values to the productions, awaiting
-% overrides.
-% \begin{macrocode}
-\newcounter{part}%
-\let\thepart\@undefined
-\newcounter{section}%
-\let\thesection\@undefined
-\newcounter{subsection}[section]%
-\let\thesubsection\@undefined
-\newcounter{subsubsection}[subsection]%
-\let\thesubsubsection\@undefined
-\newcounter{paragraph}[subsubsection]%
-\let\theparagraph\@undefined
-\newcounter{subparagraph}[paragraph]%
-\let\thesubparagraph\@undefined
-% \end{macrocode}
-% The procedure invoked by \cmd\setup@secnums\ provides meanings for these productions.
-%
-% \begin{macro}{\secnums@rtx}
-% \begin{macro}{\secnums@arabic}
-% These two procedures define the meanings of each of the productions
-% of the counters of the sectioning commands,
-% but only if nothing else has defined it.
-% \begin{macrocode}
-\def\secnums@rtx{%
- \@ifxundefined\thepart{%
- \def\thepart{\Roman{part}}%
- }{}%
- \@ifxundefined\thesection{%
- \def\thesection {\Roman{section}}%
- \def\p@section {}%
- }{}%
- \@ifxundefined\thesubsection{%
- \def\thesubsection {\Alph{subsection}}%
- \def\p@subsection {\thesection\,}%
- }{}%
- \@ifxundefined\thesubsubsection{%
- \def\thesubsubsection {\arabic{subsubsection}}%
- \def\p@subsubsection {\thesection\,\thesubsection\,}%
- }{}%
- \@ifxundefined\theparagraph{%
- \def\theparagraph {\alph{paragraph}}%
- \def\p@paragraph {\thesection\,\thesubsection\,\thesubsubsection\,}%
- }{}%
- \@ifxundefined\thesubparagraph{%
- \def\thesubparagraph {\arabic{subparagraph}}%
- \def\p@subparagraph {\thesection\,\thesubsection\,\thesubsubsection\,\theparagraph\,}%
- }{}%
-}%
-\def\secnums@arabic{%
- \@ifxundefined\thepart{%
- \def\thepart {\Roman{part}}%
- }{}%
- \@ifxundefined\thesection{%
- \def\thesection {\Roman{section}}%
- \def\p@section {}%
- }{}%
- \@ifxundefined\thesubsection{%
- \def\thesubsection {\thesection.\arabic{subsection}}%
- \def\p@subsection {}%
- }{}%
- \@ifxundefined\thesubsubsection{%
- \def\thesubsubsection {\thesubsection.\arabic{subsubsection}}%
- \def\p@subsubsection {}%
- }{}%
- \@ifxundefined\theparagraph{%
- \def\theparagraph {\thesubsubsection.\arabic{paragraph}}%
- \def\p@paragraph {}%
- }{}%
- \@ifxundefined\thesubparagraph{%
- \def\thesubparagraph {\theparagraph.\arabic{subparagraph}}%
- \def\p@subparagraph {}%
- }{}%
-}%
-% \end{macrocode}
-% \end{macro}
-% \end{macro}
-%
-% \subsubsection{The Acknowledgments Environment}%
-% This user-level markup produces a head introducing
-% the acknowledgments, and acts as a wrapper for the text.
-% In this implementation, it is an unnumbered section,
-% but appears within the toc.
-%
-% For compatiability's sake, we implement it under the alternative
-% spelling \env{acknowledgements}.
-% \changes{4.0c}{1999/11/13}{also spelled ``acknowledgements''.}
-% \changes{4.0d}{2000/05/18}{But alternative spelling is deprecated.}
-% \begin{macrocode}
-\newenvironment{acknowledgments}{%
- \acknowledgments@sw{%
- \expandafter\section\expandafter*\expandafter{\acknowledgmentsname}%
- }{%
- \par
- \phantomsection
- \addcontentsline{toc}{section}{\protect\numberline{}\acknowledgmentsname}%
- }%
-}{%
- \par
-}%
-\@booleantrue\acknowledgments@sw
-\newenvironment{acknowledgements}{%
- \replace@environment{acknowledgements}{acknowledgments}%
-}{%
- \endacknowledgments
-}%
-% \end{macrocode}
-%
-% \subsubsection{Part Opener}%
-% section setup copied verbatim from revtex3 aps/osa.
-% Does not explicitly depend on pointsize options.
-% \begin{macrocode}
-\def\part{\par
- \addvspace{4ex}%
- \@afterindentfalse
- \secdef\@part\@spart}%
-% \end{macrocode}
-%
-% \begin{macrocode}
-\def\@part[#1]#2{%
- \@ifnum{\c@secnumdepth >\m@ne}{%
- \refstepcounter{part}%
- \addcontentsline{toc}{part}{\thepart\hspace{1em}#1}%
- }{%
- \addcontentsline{toc}{part}{#1}%
- }%
- \begingroup
- \parindent \z@ \raggedright
- \interlinepenalty\@M
- \@ifnum{\c@secnumdepth >\m@ne}{%
- \Large \bf \partname~\thepart%
- \par\nobreak
- }{}%
- \huge \bf
- #2%
- \markboth{}{}\par
- \endgroup
- \nobreak
- \vskip 3ex
- \@afterheading
-}%
-% \end{macrocode}
-%
-% \begin{macrocode}
-\def\@spart#1{{\parindent \z@ \raggedright
- \interlinepenalty\@M
- \huge \bf
- #1\par}
- \nobreak
- \vskip 3ex
- \@afterheading}
-% \end{macrocode}
-%
-% \subsubsection{Stacked Heads}%
-% Here are the class default definitions for sectioning commands.
-% A society or a journal substyle will likely override these definitions.
-%
-% In doing so, you can customize the formatting for a particular level by defining,
-% e.g., \cmd\@hangfrom@section\ or \cmd\@subsectioncntformat.
-% \begin{macrocode}
-\def\section{%
- \@startsection
- {section}%
- {1}%
- {\z@}%
- {0.8cm \@plus1ex \@minus .2ex}%
- {0.5cm}%
- {\normalfont\small\bfseries}%
-}%
-% \end{macrocode}
-%
-% \begin{macrocode}
-\def\subsection{%
- \@startsection
- {subsection}%
- {2}%
- {\z@}%
- {.8cm \@plus1ex \@minus .2ex}%
- {.5cm}%
- {\normalfont\small\bfseries}%
-}%
-% \end{macrocode}
-%
-% \begin{macrocode}
-\def\subsubsection{%
- \@startsection
- {subsubsection}%
- {3}%
- {\z@}%
- {.8cm \@plus1ex \@minus .2ex}%
- {.5cm}%
- {\normalfont\small\itshape}%
-}%
-% \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}
-%
-%
-% \subsection{Math}
-%
-% \begin{macro}{\theequation}
-% We change the production of the equation counter so that
-% we can accomodate the \classoption{eqsecnum} option.
-% \begin{macrocode}
-\def\theequation{%
- \theequation@prefix\arabic{equation}%
-}%
-\def\theequation@prefix{}%
-% \end{macrocode}
-% \end{macro}
-%
-%
-% \subsection{Type Size-Dependent Settings}
-%
-% \subsection{All Point Sizes}
-% \begin{macrocode}
-\setcounter{secnumdepth}{4}
-% \end{macrocode}
-%
-% \begin{macrocode}
-\lineskip 1pt
-\normallineskip 1pt
-\def\baselinestretch{1}%
-% \end{macrocode}
-%
-% \begin{macrocode}
-\@lowpenalty 51
-\@medpenalty 151
-\@highpenalty 301
-% \end{macrocode}
-%
-% \begin{macrocode}
-\@beginparpenalty -\@lowpenalty
-\@endparpenalty -\@lowpenalty
-\@itempenalty -\@lowpenalty
-% \end{macrocode}
-%
-% \begin{macrocode}
-\arraycolsep 3pt
-\tabcolsep 2pt
-\arrayrulewidth .4pt
-\doublerulesep 2pt
-% \end{macrocode}
-%
-% \begin{macrocode}
-\skip\@mpfootins = 0pt
-% \end{macrocode}
-%
-% \begin{macrocode}
-\fboxsep = 3.0pt
-\fboxrule = 0.4pt
-% \end{macrocode}
-%
-% \subsection{Figures}
-% \changes{4.0b}{1999/06/20}{Processing delayed to \cs{AtBeginDocument} time}
-%
-% \begin{environment}{figure}
-% We define the \env{figure} environment.
-% Later, we will horse around with its meaning
-% in order to accomodate \cmd\floats@sw.
-% \begin{macrocode}
-\newenvironment{figure}
- {\@float{figure}}
- {\end@float}
-\newenvironment{figure*}
- {\@dblfloat{figure}}
- {\end@dblfloat}
-% \end{macrocode}
-% \end{environment}
-%
-% \begin{macrocode}
-\def\listoffigures{\print@toc{lof}}%
-\def\l@figure{\@dottedtocline{1}{1.5em}{2.3em}}%
-% \end{macrocode}
-%
-% \begin{macro}{\@makecaption}
-% If caption is one line long, to be centered; if lines turn, then set justified.
-% \begin{macrocode}
-\newlength\abovecaptionskip
-\newlength\belowcaptionskip
-\setlength\abovecaptionskip{10\p@}
-\setlength\belowcaptionskip{2\p@}
-% \end{macrocode}
-%
-% \changes{4.0b}{1999/06/20}{One-line caption sets flush left.}
-% \changes{4.0c}{1999/11/13}{Prevent an inner footnote from performing twice}
-% \changes{4.1a}{2008/01/18}{(AO, 460) ``Proper style is "FIG. 1. ..." (no colon)''}%
-% There is a hook \cmd\@caption@fignum@sep\ for determining
-% the separator following the float number, e.g., ``Fig.1''.
-% Formerly, we had defined it to be ``: '', now the colon has been replace by a period (full stop).
-% \begin{macrocode}
-\long\def\@makecaption#1#2{%
- \par
-% \nobreak
- \vskip\abovecaptionskip
- \begingroup
- \small\rmfamily
- \sbox\@tempboxa{%
- \let\\\heading@cr
- \@make@capt@title{#1}{#2}%
- }%
- \@ifdim{\wd\@tempboxa >\hsize}{%
- \begingroup
- \samepage
- \flushing
- \let\footnote\@footnotemark@gobble
- \@make@capt@title{#1}{#2}\par
- \endgroup
- }{%
- \global \@minipagefalse
- \hb@xt@\hsize{\hfil\unhbox\@tempboxa\hfil}%
- }%
- \endgroup
- \vskip\belowcaptionskip
-}%
-\def\@make@capt@title#1#2{%
- \@ifx@empty\float@link{\@firstofone}{\expandafter\href\expandafter{\float@link}}%
- {#1}\@caption@fignum@sep#2%
-}%
-\def\@footnotemark@gobble{%
- \@footnotemark
- \@ifnextchar[{\@gobble@opt@i}{\@gobble}%
-}%
-\def\@gobble@opt@i[#1]#2{}%
-\def\@mpmakefntext#1{%
- \flushing
- \parindent=1em
- \noindent
- \hb@xt@1em{\hss\@makefnmark}%
- #1%
-}%
-\def\@caption@fignum@sep{. }%
-\def\setfloatlink{\def\float@link}%
-\let\float@link\@empty
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\thefigure}
-% The figure counter and float placement defaults.
-% \begin{macrocode}
-\newcounter{figure}
-\renewcommand \thefigure {\@arabic\c@figure}
-% \end{macrocode}
-% Note that we give the `!' modifier by default.
-% This is an effort to avoid the syndrome wherein
-% a deferred float finds itself unqualified for
-% placement, thereby getting carried until \cmd\clearpage.
-% \begin{macrocode}
-\def\fps@figure{tbp}
-\def\ftype@figure{1}
-\def\ext@figure{lof}
-\def\fnum@figure{\figurename~\thefigure}
-% \end{macrocode}
-% We allocate a box register for use in tallying the column inches of floats of this type.
-% \begin{macrocode}
-\expandafter\newbox\csname fbox@\ftype@figure\endcsname
-\expandafter\setbox\csname fbox@\ftype@figure\endcsname\hbox{}%
-% \end{macrocode}
-% \end{macro}
-%
-% \subsubsection{Deferring \env{figure} Floats}%
-%
-% We determine if figures are to float or be deferred until \cmd\printfigures\ time.
-% If so, we open the stream that will receive the deferred document portions.
-% \begin{macrocode}
-\appdef\class@documenthook{%
- \do@if@floats{figure}{.fgx}%
-}%
-\appdef\class@enddocumenthook{%
- \printfigures\relax
-}%
-% \end{macrocode}
-%
-% \begin{macro}{\printfigures}
-% The user-level command \cmd\printfigures\ determines
-% where the figures are to appear in a document in which
-% \cmd\floats@sw\ is false.
-% If the user invokes the \classoption{endfloats} class option and fails to
-% insert a \cmd\printfigures\ command,
-% the figures will be printed at the end of the document.
-% If the command is given, but floats are not being deferred,
-% it amounts to a no-op.
-% \changes{4.0b}{1999/06/20}{call \cs{print@floats}}
-% \changes{4.0c}{1999/11/13}{*-form mandates pagebreak}
-% \begin{macrocode}
-\newcommand\printfigures{%
- \@ifstar{\true@sw}{\floatp@sw{\true@sw}{\false@sw}}%
- {%
- \print@float{figure}{\oneapage}%
- }{%
- \print@float{figure}{}%
- }%
-}%
-% \end{macrocode}
-% \end{macro}
-%
-%
-% \begin{macro}{\@xfloat@prep}
-% We patch into the procedure \cmd\@xfloat@prep.
-% This patch applies to all floats (not \env{figure} alone)
-% and makes the type center.
-% \begin{macrocode}
-\appdef\@xfloat@prep{%
- \appdef\@parboxrestore{\centering}%
-%\let\@makefnmark\@makefnmark@latex
-}%
-% \end{macrocode}
-% \end{macro}
-%
-%
-% \subsection{Tables}
-% \changes{4.0b}{1999/06/20}{Processing delayed to \cs{AtBeginDocument} time}
-%
-% DPC: More or less taken from \file{revtex2} \file{aps.sty},
-% but using dcolumn for decimal alignment.
-% \begin{environment}{table}
-% We define the \env{table} environment.
-% Later, we will horse around with its meaning
-% in order to accomodate \cmd\floats@sw.
-% \begin{macrocode}
-\newenvironment{table}
- {\@float{table}}
- {\end@float}
-\newenvironment{table*}
- {\@dblfloat{table}}
- {\end@dblfloat}
-% \end{macrocode}
-% \end{environment}
-%
-% \begin{macro}{\thetable}
-% Table counter and default float placement declarations.
-% \begin{macrocode}
-\newcounter{table}
-\renewcommand\thetable{\@Roman\c@table}
-% \end{macrocode}
-% Note that we give the `!' modifier by default.
-% This is an effort to avoid the syndrome wherein
-% a deferred float finds itself unqualified for
-% placement, thereby getting carried until \cmd\clearpage.
-% \begin{macrocode}
-\def\fps@table{tbp}
-\def\ftype@table{2}
-\def\ext@table{lot}
-\def\fnum@table{\tablename~\thetable}
-% \end{macrocode}
-% We allocate a box register for use in tallying the column inches of floats of this type.
-% \begin{macrocode}
-\expandafter\newbox\csname fbox@\ftype@table\endcsname
-\expandafter\setbox\csname fbox@\ftype@table\endcsname\hbox{}%
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macrocode}
-\def\listoftables{\print@toc{lot}}%
-\let\l@table\l@figure
-% \end{macrocode}
-%
-% \begin{macro}{\table@hook}
-% \begin{macro}{\squeezetable}
-% Assign a meaning to the hook installed into float processing.
-%
-% By default floats are \cmd\small. The \cmd\squeezetable\ declaration
-% makes them smaller (\cmd\scriptsize). In general you can locally
-% redefine \cmd\table@hook\ to be whatever you like.
-% (DPC: |\Huge\color{magenta}|\ldots?)
-% \begin{macrocode}
-\def\table@hook{\small}%
-\def\squeezetable{\def\table@hook{\scriptsize}}%
-\appdef\@floatboxreset{\table@hook}%
-% \end{macrocode}
-% \end{macro}
-% \end{macro}
-%
-% \subsubsection{Deferring \env{table} Floats}%
-%
-% After all packages are loaded, we decide
-% if tables will float or will be deferred until \cmd\printtables\ time.
-%
-% We also deal with the possibility of \env{longtable} environments.
-%
-% \begin{macrocode}
-\def\set@table@environments{%
- \floats@sw{}{%
- \let@environment{longtable@float}{longtable}%
- \let@environment{longtable}{longtable@write}%
- \let@environment{longtable*@float}{longtable*}%
- \let@environment{longtable*}{longtable*@write}%
- \let@environment{turnpage@float}{turnpage}%
- \let@environment{turnpage}{turnpage@write}%
- }%
- \do@if@floats{table}{.tbx}%
-}%
-\appdef\document@inithook{%
- \set@table@environments
-}%
-\appdef\class@enddocumenthook{%
- \printtables\relax
-}%
-\newenvironment{longtable@write}{%
- \write@@float{longtable}{table}%
-}{%
- \endwrite@float
-}%
-\newenvironment{longtable*@write}{%
- \write@@float{longtable*}{table}%
-}{%
- \endwrite@float
-}%
-\newenvironment{turnpage@write}{%
- \immediate\write\tablewrite{\string\begin{turnpage}}%
-}{%
- \immediate\write\tablewrite{\string\end{turnpage}}%
-}%
-% \end{macrocode}
-%
-% \begin{macro}{\printtables}
-% The user-level command \cmd\printtables\ determines
-% where the tables are to appear in a document in which
-% \cmd\floats@sw\ is false.
-% If the user invokes the \classoption{nofloats} and fails to
-% insert a \cmd\printtables\ command,
-% the tables will be printed at the end of the document.
-% If the command is given, but floats are not being deferred,
-% it amounts to a no-op.
-% \changes{4.0b}{1999/06/20}{only execute if appropriate}
-% \changes{4.0c}{1999/11/13}{*-form mandates pagebreak}
-% \changes{4.0d}{2000/05/17}{make longtable trigger the head, too}
-% \begin{macrocode}
-\newcommand\printtables{%
- \begingroup
- \let@environment{longtable}{longtable@float}%
- \let@environment{longtable*}{longtable*@float}%
- \let@environment{turnpage}{turnpage@anchored}%
- \prepdef\longtable{\trigger@float@par}%
- \expandafter\prepdef\csname longtable*\endcsname{\trigger@float@par}%
- \expandafter\prepdef\csname table@floats\endcsname{%
- \onecolumngrid@push
- }%
- \expandafter\appdef\csname endtable@floats\endcsname{%
- \onecolumngrid@pop
- }%
- \@ifstar{\true@sw}{\floatp@sw{\true@sw}{\false@sw}}%
- {%
- \print@float{table}{\oneapage}%
- }{%
- \print@float{table}{}%
- }%
- \endgroup
-}%
-\newenvironment{turnpage@anchored}{%
- \onecolumngrid@push
- \setbox\z@\vbox to\textwidth\bgroup
- \columnwidth\textheight
-}{%
- \vfil
- \egroup
- \rotatebox{90}{\box\z@}%
- \onecolumngrid@pop
-}%
-% \end{macrocode}
-% \end{macro}
-%
-%
-% \subsection{Videos}
-%\changes{4.1r}{2010/06/22}{(AO, 595) Provide \cs{lovname} along with other List of Videos definitions.}%
-%
-% \begin{environment}{video}
-% We define the \env{video} environment analogously to the
-% \env{figure} and \env{table} environments; it is intended to contain a video.
-%
-% \begin{macrocode}
-\newenvironment{video}
- {\@float{video}}
- {\end@float}%
-\newenvironment{video*}
- {\@dblfloat{video}}
- {\end@dblfloat}%
-% \end{macrocode}
-% \end{environment}
-%
-% \begin{macro}{\thevideo}
-% The video counter, float placement defaults, strings.
-% \begin{macrocode}
-\newcounter{video}
-\renewcommand \thevideo {\@arabic\c@video}
-% \end{macrocode}
-%
-% File extension and localizable strings.
-% \begin{macrocode}
-\def\ext@video{lov}%
-\def\fname@video{Video}%
-\def\lovname{List of Videos}%
-% \end{macrocode}
-%
-% Float type and default placement.
-% \begin{macrocode}
-\def\fps@video{tbp}%
-\def\ftype@video{4}%
-\def\fnum@video{\fname@video~\thevideo}%
-\appdef\document@inithook{%
- \@ifxundefined\c@float@type{}{%
- \global\setcounter{float@type}{8}%
- }%
-}%
-% \end{macrocode}
-% We allocate a box register for use in tallying the column inches of floats of this type.
-% \begin{macrocode}
-\expandafter\newbox\csname fbox@\ftype@video\endcsname
-\expandafter\setbox\csname fbox@\ftype@video\endcsname\hbox{}%
-% \end{macrocode}
-% The documentation for the \classname{hyperref} package, \file{hyperref.dtx} states:
-% ``classes or package which introduce new elements need to define
-% an equivalent \verb+\theH<name>+ for every \verb+\the<name>+''
-% We do accordingly here.
-% \begin{macrocode}
-\let\theHvideo\thevideo
-% \end{macrocode}
-% But \file{hyperref.dtx} goes on to say,
-% ``We do make a trap to make \verb+\theH<name>+ be the same as \verb+\arabic{<name>}+,
-% if \verb+\theH<name>+ is not defined\ldots''
-% However, it's not doing that right now (as of 6.77u),
-% and I cannot find any such code in there anymore.
-% \end{macro}
-%
-% \begin{macrocode}
-\def\listofvideos{\print@toc{lov}}%
-\let\l@video\l@figure
-% \end{macrocode}
-%
-% \subsubsection{Deferring \env{video} Floats}%
-%
-% We determine if videos are to float or be deferred until \cmd\printvideos\ time.
-% If so, we open the stream that will receive the deferred document portions.
-% \begin{macrocode}
-\appdef\class@documenthook{%
- \do@if@floats{video}{.vdx}%
-}%
-\appdef\class@enddocumenthook{%
- \printvideos\relax
-}%
-% \end{macrocode}
-%
-% \begin{macro}{\printvideos}
-% The user-level command \cmd\printvideos\ determines
-% where the videos are to appear in a document in which
-% \cmd\floats@sw\ is false.
-% If the user invokes the \classoption{endfloats} class option and fails to
-% insert a \cmd\printvideos\ command,
-% the videos will be printed at the end of the document.
-% If the command is given, but floats are not being deferred,
-% it amounts to a no-op.
-% \begin{macrocode}
-\newcommand\printvideos{%
- \@ifstar{\true@sw}{\floatp@sw{\true@sw}{\false@sw}}%
- {%
- \print@float{video}{\oneapage}%
- }{%
- \print@float{video}{}%
- }%
-}%
-% \end{macrocode}
-% \end{macro}
-%
-%
-% \section{Tabular}
-% Every APS tabular has a double (Scotch) rule above and below.
-% The column specifier ``d'' is implemented using the \classname{dcolumn}
-% package, if available.
-% FIXME: always load dcolumn!
-% \begin{macro}{\tabular@hook}
-% \begin{macro}{\endtabular@hook}
-% \begin{environment}{ruledtabular}
-% \begin{macrocode}
-\def\endtabular@hook{}%
-% \end{macrocode}
-% \begin{verbatim}
-%\RequirePackage{dcolumn}%
-% \end{verbatim}
-% \begin{macrocode}
-\appdef\document@inithook{%
- \@ifpackageloaded{dcolumn}{%
- \expandafter\@ifnotrelax\csname NC@find@d\endcsname{}{%
- \newcolumntype{d}{D{.}{.}{-1}}%
- }%
- }{}%
-}%
-\def\toprule{\hline\hline}%
-\def\colrule{\hline}%
-\def\botrule{\hline\hline}%
-\newenvironment{ruledtabular}{%
- \def\array@default{v}%
- \appdef\tabular@hook{\def\@halignto{to\hsize}}%
- \let\tableft@skip@default\tableft@skip
- \let\tableft@skip\tableft@skip@float
- \let\tabmid@skip@default\tabmid@skip
- \let\tabmid@skip\tabmid@skip@float
- \let\tabright@skip@default\tabright@skip
- \let\tabright@skip\tabright@skip@float
- \let\array@row@pre@default\array@row@pre
- \let\array@row@pre\array@row@pre@float
- \let\array@row@pst@default\array@row@pst
- \let\array@row@pst\array@row@pst@float
- \appdef\array@row@rst{%
- \let\array@row@pre\array@row@pre@default
- \let\array@row@pst\array@row@pst@default
- \let\tableft@skip\tableft@skip@default
- \let\tabmid@skip\tabmid@skip@default
- \let\tabright@skip\tabright@skip@default
- \appdef\tabular@hook{\let\@halignto\@empty}%
- }%
-}{%
-}%
-% \end{macrocode}
-% \end{environment}
-% \end{macro}
-% \end{macro}
-%
-% \section{Footnote Text}
-%
-% \changes{4.0a}{1998/06/10}{single space footnotes}
-% \changes{4.0b}{1999/06/20}{Frank Mittelbach, has stated in \protect\classname{multicol}: ``The kernel command \cs{@footnotetext} should not be modified.'' Thus, I have removed David Carlisle's redefinition of that command. Note, however, that later versions of \protect\classname{multicol} do not require this workaround. Belt and suspenders.}%
-%
-% \begin{macro}{\@makefntext}
-% \begin{macro}{\@makefnmark}
-% We customize the presentation of the footnote mark: it will not be italic.
-% \begin{macrocode}
-\def\@makefntext#1{%
- \def\baselinestretch{1}%
- \parindent1em%
- \noindent
- \hb@xt@1.8em{%
- \hss\@makefnmark
- }%
- #1%
- \par
-}%
-\def\@makefnmark{%
- \hbox{%
- \@textsuperscript{%
- \normalfont\@thefnmark
- }%
- }%
-}%
-% \end{macrocode}
-% \end{macro}
-% \end{macro}
-%
-%
-% \subsection{Citations, Bibliography, Endnotes}
-%
-% \subsubsection{Bibliography}
-%
-% Load Patrick Daly's \classname{natbib} package,
-% \url{ftp://ctan.tug.org/macros/latex/contrib/supported/natbib}
-%
-% Note that \classname{natbib} assumes that it loads
-% over a document class, such as the \classname{article} class,
-% that has already defined \env{thebibliography} and \cmd\@listi.
-%
-% Note also that \classname{natbib} also installs a command
-% \cmd\NAT@set@cites\ into \cmd\AtBeginDocument\ which presumes
-% that the proper \cmd\bibpunct\ command has been issued.
-%
-% Note that the macro \cmd\NAT@sort\ controls
-% whether citations are left alone (\cmd\NAT@sort=0), sorted (\cmd\NAT@sort=1), or sorted and compressed (\cmd\NAT@sort=2).
-% Since we give \classname{natbib} the \classoption{sort\&compress} option,
-% if you prefer \classoption{sort}, you need only \cmd\let \cmd\NAT@sort\ to be \cmd\@ne.
-% However, if you prefer the effect of having neither \classoption{sort} nor \classoption{sort\&compress},
-% you must \cmd\let \cmd\NAT@sort\ to be \cmd\z@ and you must also define
-% \cmd\let\cmd\NAT@cmprs\ to be \cmd\z@.
-%
-% As of version 8.2, \classname{natbib} now no longer binds at the point where it is read in.
-% This means that we can freely change \cmd\NAT@sort, \cmd\NAT@cmprs, and the new
-% \cmd\NAT@merge. Henceforth, we require that this later version be used.
-%
-% For other \classname{natbib} customizations, you may proceed as if you were going to use
-% the \file{natbib.cfg} file: anything that you can modify by this means is fair game.
-% Once \revtex\ is finished loading, you can assert any definitions for \classname{natbib} that you wish.
-%
-% \begin{macro}{\rev@citet}
-% \begin{macro}{\rev@citealp}
-% \begin{macro}{\rev@citealpnum}
-% We define variants on \classname{natbib}'s commands \cmd\citet, \cmd\citealp, and \cmd\citealpnum.
-% \cmd\rev@citealpnum\ uses a numerical citation.
-% \cmd\rev@citealp\ and \cmd\rev@citealpnum\ are the aliases of \cmd\onlinecite,
-% \cmd\rev@citet\ that of \cmd\textcite.
-%
-% In each case, we invoke \cmd\rtx@swap@citea\ to effect different productions between
-% multiple arguments to the \cmd\cite\ command.
-%
-% \cmd\rev@citealpnum\ provides textual citations where superscript citations are the default.
-% These should be accessible via the \cmd\citet\ command.
-%
-% Therefore we remember how to do a numerical citation
-% even when the superscript citation has been selected.
-% \begin{macrocode}
-\expandafter\DeclareRobustCommand
-\expandafter\rev@citet
-\expandafter{%
- \expandafter\begingroup
- \expandafter\rtx@swap@citea
- \expandafter\g@bblefirsttoken
- \csname citet \endcsname
-}%
-\expandafter\DeclareRobustCommand
-\expandafter\rev@citealp
-\expandafter{%
- \expandafter\begingroup
- \expandafter\rtx@swap@citea
- \expandafter\g@bblefirsttoken
- \csname citealp \endcsname
-}%
-\expandafter\DeclareRobustCommand
-\expandafter\rev@citealpnum
-\expandafter{%
- \expandafter\begingroup
- \expandafter\rtx@swap@citenum
- \expandafter\g@bblefirsttoken
- \csname citealp \endcsname
-}%
-\def\rtx@swap@citenum{%
- \rtx@swap@citea
- \let\@cite\NAT@citenum
- \let\NAT@mbox\mbox
- \let\citeyear\NAT@citeyear
- \let\NAT@space\NAT@spacechar
-}%
-\def\g@bblefirsttoken{%
- \expandafter\true@sw
- \expandafter\@empty
-}%
-% \end{macrocode}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-%
-% \begin{macro}{\rtx@citesuper}
-% We prepare to redefine \classname{natbib}'s procedure \cmd\NAT@citesuper,
-% which is executed when setting a superscript citation.
-% The \cmd\hspace\ is removed: in any case, it
-% should really be \cmd\hspace*, to prevent an unwanted pagebreak.
-% \begin{macrocode}
-\newcommand\rtx@citesuper[3]{%
- \ifNAT@swa
- \leavevmode
- \unskip
-% \hspace{1\p@}%
- \textsuperscript{\normalfont#1}%
- \if*#3*\else\ (#3)\fi
- \else
- #1%
- \fi
- \endgroup
-}%
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\@makefnmark@cite}
-% We define a procedure that will set a footnote mark the same way that
-% a citation is set. If footnotes are put in the bibliography with
-% \cmd\footinbib@sw, then the corresponding mark should look the same
-% as the result of a \cmd\cite. This is how we do it.
-% \begin{macrocode}
-\def\@makefnmark@cite{\begingroup\NAT@swatrue\@cite{{\@thefnmark}}{}{}}%
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\rtx@bibsection}
-% Prepare to override \classname{natbib}'s definition of \cmd\bibsection.
-% \begin{macrocode}
-\def\rtx@bibsection{%
- \@ifx@empty\refname{%
- \par
- }{%
-% \let\@hangfroms@section\@hang@froms
- \expandafter\section\expandafter*\expandafter{\refname}%
- \@nobreaktrue
- }%
-}%
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\rtx@swap@citea}
-% \begin{macro}{\rtx@def@citea}
-% \begin{macro}{\rtx@def@citea@close}
-% \begin{macro}{\rtx@def@citea@box}
-% The procedures |\rtx@def@citea|, |\rtx@def@citea@close|, and |\rtx@def@citea@box|
-% can take over the management of \classname{natbib}'s |\@citea| macro to effect more sophisticated
-% behavior of the punctuation between textual citations. The switch is performed by \cmd\rtx@swap@citea.
-%
-% \changes{4.1j}{2009/10/25}{(AO, 552) Repair spacing in \cs{onlinecite}}
-% In these procedures, we use \cmd\count@\ to count the number of arguments of the \cmd\cite\ command,
-% and we use \cmd\c@NAT@ctr\ to keep track of which argument we are processing.
-% The latter counter is created by \classname{natbib} and used there solely in bibliography processing,
-% where it keeps track of the reference number.
-% We take over its use in these macros, but only locally; therefore these procedures should work properly, even within the bibliography.
-%FIXME: check whether this is true!
-%
-% Because we are using a scratch counter \cmd\count@, we are vulnerable to other \TeX\ programmers
-% who patch in to \classname{natbib}'s processing and who might use that counter at the same time we are doing so.
-% This is a potential source of trouble for us.
-%FIXME: store the value of \cmd\count@\ in a private \cmd\csname!
-%
-% Note that \cmd\rtx@def@citea\ begins the same as \cmd\NAT@def@citea, which it replaces,
-% then makes further decisions based on the values of the counters.
-%
-% Note also that, in \classname{natbib}, the replacement part of \cmd\NAT@def@citea@close\ could be rewritten as
-% \cmd\NAT@def@citea\cmd\prepdef\cmd\@citea\verb+{+\cmd\NAT@@close\verb+}+, which
-% would them obviate the need for us to override its meaning.
-%
-% Note, too, the effect of \cmd\rtx@def@citea@box, which replaces \cmd\NAT@def@citea@box,
-% is almost the same as the latter, except the entire \cmd\@citea\ is given as the argument
-% of \cmd\NAT@mbox.
-%
-% Finally, bear in mind that the English (and some American editors) do not place a comma
-% before the ``and''; our procedures do (but they could be rewritten with that convention).
-% \begin{macrocode}
-\def\rtx@swap@citea{%
- \let\NAT@def@citea\rtx@def@citea
- \let\NAT@def@citea@close\rtx@def@citea@close
- \let\NAT@def@citea@box\rtx@def@citea@box
-}%
-\def\rtx@def@citea{%
- \def\@citea{\NAT@separator\NAT@space}%
- \advance\c@NAT@ctr\@ne
- \@ifnum{\count@>\tw@}{%
- \@ifnum{\c@NAT@ctr=\count@}{\appdef\@citea{\NAT@conj\NAT@space}}{}%
- }{%
- \def\@citea{\NAT@space\NAT@conj\NAT@space}%
- }%
-}%
-\def\rtx@def@citea@close{%
- \rtx@def@citea
- \prepdef\@citea{\NAT@@close}%
-}%
-\def\rtx@def@citea@box{%
- \rtx@def@citea@close
- \expandafter\def\expandafter\@citea\expandafter{\expandafter\NAT@mbox\expandafter{\@citea}}%
-}%
-\def\NAT@conj{and}%
-% \end{macrocode}
-%
-% \end{macro}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-%
-% \begin{macro}{\BibitemShut}
-% \begin{macro}{\bibAnnote}
-% \changes{4.1j}{2009/10/24}{(AO, 549) Repairing natbib's \cs{BibitemShut} and \cs{bibAnnote}}
-% \changes{4.1o}{2010/02/05}{(AO, 549) Remove patch to natbib, which is now at version 8.31a}
-% \changes{4.1o}{2010/02/07}{(AO, 578) accommodate the possible space character preceding \cs{BibitemShut}.}
-% We remember a temporary patch to \classname{natbib}'s definition of \cmd\BibitemShut.
-% \begin{macrocode}
-\def\NAT@BibitemShut#1{%
- \def\@bibstop{#1}%
- \let\bibitem@Stop\bibitemStop
- \let\bibitem@NoStop\bibitemNoStop
- \@ifx{\bibitemShut\relax}{\let\@bibitemShut\@empty}{%
- \expandafter\def\expandafter\@bibitemShut\expandafter{\bibitemShut}%
- }%
-}%
-% \end{macrocode}
-% The following is a bug fix to \classname{natbib} version 8.31b.
-% \begin{macrocode}
-\def\BibitemShut@ltx#1{%
- \unskip
- \def\@bibstop{#1}%
- \let\bibitem@Stop\bibitemStop
- \let\bibitem@NoStop\bibitemNoStop
- \@ifx{\bibitemShut\relax}{\let\@bibitemShut\@empty}{%
- \expandafter\def\expandafter\@bibitemShut\expandafter{\bibitemShut}%
- }%
-}%
-% \end{macrocode}
-%
-% \begin{verbatim}
-%\providecommand{\bibAnnote}[3]{%
-% \BibitemShut{#1}%
-% \def\@tempa{#3}\@ifx{\@tempa\@empty}{}{%
-% \begin{quotation}\noindent
-% \textsc{Key:}\ #2\\\textsc{Annotation:}\ \@tempa
-% \end{quotation}%
-% }%
-% \ignorespaces
-%}%
-%\def\@bibitemShut{}%
-% \end{verbatim}
-% \end{macro}
-% \end{macro}
-%
-%
-% \begin{macrocode}
-\newenvironment{thebibliography}{}{}%
-\let\@listi\@empty
-\appdef\rtx@require@packages{%
- \RequirePackage[sort&compress]{natbib}[2009/11/07 8.31a (PWD, AO)]%
- \let@environment{NAT@thebibliography}{thebibliography}%
- \let@environment{thebibliography}{rtx@thebibliography}%
- \let\bibliographystyle@latex\bibliographystyle
- \let\NAT@citesuper\rtx@citesuper
-% \end{macrocode}
-%
-% \begin{macro}{\NAT@bibsetnum}
-% \begin{macro}{\NAT@bibsetup}
-% \begin{macro}{\bibpreamble}
-% \begin{macro}{\newblock}
-% \begin{macro}{\bibnumfmt}
-% \begin{macro}{\NAT@merge}
-% We define the sectioning command to use when starting the bibliography
-% and gently coax \classname{natbib} into using
-% the formatting procedures that \emph{we} want it to use.
-%
-% This way of setting up \env{thebibliography}
-% automatically sets the label width based on
-% the largest number used within the bibliography.
-% This scheme will not work properly using the
-% author/year style of bib entry, though.
-%
-% We define \cmd\bibnumfmt\ to be \cmd\place@bibnumber, which is a macro
-% managed by \revtex. If the document defines \cmd\bibnumfmt, then that
-% definition will be used instead, which is what the \classname{natbib}
-% package gives as its programming interface.
-%
-% We set \cmd\NAT@merge\ to \cmd\tw@, which turns on \classname{natbib}'s
-% \classname{mcite} capabilities. This is the default setting.
-% If numerical citations are not to be used, then \cmd\NAT@merge\
-% should be set to \cmd\@ne\ (syntax is still enabled, but semantics are turned off).
-% \begin{macrocode}
-\let\bibsection\rtx@bibsection
-\let\NATx@bibsetnum\NAT@bibsetnum
-\def\NAT@bibsetnum#1{%
- \setlength{\topsep}{\z@}%
- \NATx@bibsetnum{\ref{LastBibItem}}%
-}%
-\let\NATx@bibsetup\NAT@bibsetup
-\def\NAT@bibsetup{%
- \setlength{\labelwidth}{\z@}%
- \setlength{\labelsep}{\z@}%
- \setlength{\itemindent}{\z@}%
- \setlength{\listparindent}{\z@}%
- \setlength{\topsep}{\z@}%
- \setlength{\parsep}{\z@}%
- \NATx@bibsetup
-}%
-\let\bibpreamble\@empty
-\def\newblock{\ }%
-\let\NATx@bibnumfmt\bibnumfmt
-\def\bibnumfmt{\place@bibnumber}%
-\let\NAT@merge\thr@@
-\let\NAT@citeyear\citeyear
-\let\onlinecite\rev@citealp
-\let\textcite\rev@citet
-% \end{macrocode}
-% The following is needed until \classname{natbib} is at 8.31b.
-% \begin{macrocode}
-\@ifx{\BibitemShut\NAT@BibitemShut}{%
- \class@info{Repairing natbib's \string\BibitemShut}%
- \let\BibitemShut\BibitemShut@ltx
-}{}%
-% \end{macrocode}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-%
-% \begin{macro}{\bibliographystyle}
-% \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.}%
-% We arrange for the selection of bibliography style
-% to occur either due to the document's explicit
-% \cmd\bibliographystyle\ statement or
-% via the journal substyle.
-%
-% Note that \revtex\ is incompatible with
-% any package that patches \cmd\bibliographystyle.
-% Since \classname{natbib} does this, we need a fix.
-%
-% The Boolean \cmd\bibliographystyle@sw\ signifies that the document contains explicit
-% \cmd\bibliographystyle\ markup. If, on the contrary, the bibliography style is set by
-% the the society or the journal, then no explicit \cmd\bibliographystyle\ command appears in the document instance.
-% In this case \cmd\bibliographystyle@sw\ will be \cmd\false@sw.
-% \begin{macrocode}
-\let\bibliographystyle@latex\bibliographystyle
-\def\bibliographystyle{\@booleantrue\bibliographystyle@sw\def\@bibstyle}%
-\@booleanfalse\bibliographystyle@sw
-% \end{macrocode}
-% \end{macro}
-%
-% \changes{4.1j}{2009/11/03}{(AO, 551) Punctuation at end of reference when optional arguments to the cite key are given.}
-% The following had been bug fixes to \classname{natbib} version 8.31a.
-% \begin{verbatim}
-%\def\bibitemStop{\@bibitemShut}%
-%\def\NAT@bibitem@cont{%
-% \let\bibitem@Stop\bibitemContinue
-% \let\bibitem@NoStop\bibitemContinue
-%}%
-% \end{verbatim}
-% The following are alterations to \classname{natbib} version 8.31a to
-% accommodate the possible space character preceding \cmd\BibitemShut,
-% and to handle the case of merged references, where the first ends with a stop character.
-% \changes{4.1o}{2010/02/07}{(AO, 578) accommodate the possible space character preceding \cs{BibitemShut}.}
-% \changes{4.1o}{2010/02/09}{(AO, 581) Handle case: merged references, with first ending in a stop character.}
-% \begin{macrocode}
-\def\NAT@bibitem@cont{%
- \let\bibitem@Stop\bibitemContinue@Stop
- \let\bibitem@NoStop\bibitemContinue
-}%
-% \end{macrocode}
-% \begin{macrocode}
-\def\bibitemNoStop{%
- \@ifx@empty\@bibitemShut{.\spacefactor\@mmm\space}{\@bibitemShut}%
-}%
-% \end{macrocode}
-% \begin{macrocode}
-\def\bibitemContinue{%
- \@ifx@empty\@bibitemShut{;\spacefactor\@mmm\space}{\@bibitemShut}%
-}%
-% \end{macrocode}
-% \begin{macrocode}
-\def\bibitemContinue@Stop{%
- \@ifx@empty\@bibitemShut{\spacefactor\@mmm\space}{\@bibitemShut}%
-}%
-% \end{macrocode}
-%
-% \changes{4.1k}{2009/11/11}{(AO, 561) remove dead code relating to \cs{bibitemContinue}}
-% We used to customize one of the productions of \classname{natbib}, but no longer.
-% \begin{verbatim}
-%\let\bibitemContinue\bibitemContinue@rtx
-% \end{verbatim}
-%
-% Here ends the code to be executed at \cmd\rtx@require@packages\ time.
-% \begin{macrocode}
-}%
-% \end{macrocode}
-% \changes{4.1f}{2009/07/07}{(AO, 516) Merged references are separated with a semicolon}
-% Redefine a macro of \classname{natbib} so that merged references are separated with a semicolon.
-% \changes{4.1k}{2009/11/11}{(AO, 561) remove dead code relating to \cs{bibitemContinue}}
-% \begin{verbatim}
-% \def\bibitemContinue@rtx{;\spacefactor\@mmm\space}%
-% \end{verbatim}
-%
-% \begin{macro}{\onlinecite}
-% \begin{macro}{\textcite}
-% We extend \classname{natbib}'s syntax with two commands to set a citation
-% on the baseline (as opposed to superscripted) and as text (rather than parenthetical), respectively.
-% A journal substyle that makes citations be superscripted or parenthetical as the case may be, should ensure
-% that the author has continued access to these two styles.
-%
-% Note that the society or journal substyle override the meanings of \cmd\@onlinecite\ or
-% \cmd\@textcite\ given here.
-%
-% \begin{macrocode}
-\DeclareRobustCommand\onlinecite{\@onlinecite}%
-\DeclareRobustCommand\textcite{\@textcite}%
-% \end{macrocode}
-% \end{macro}
-% \end{macro}
-%
-% \begin{macro}{\bibliography}
-% \changes{4.1a}{2008/01/18}{(AO, 457) Endnotes to be sorted in with numerical citations.}%
-% Provide a hook for supplying Bib\TeX\ a bibliographic database that may contain, say,
-% footnotes.
-%
-% Note that Bib\TeX\ chokes if the argument of the \cmd\bibdata\ command has null fields,
-% hence these tests.
-% \begin{macrocode}
-\let\bibliography@latex\bibliography
-\def\bibliography#1{%
- \auto@bib@empty
- \begingroup
- \let\auto@bib@innerbib\@empty
- \@ifx@empty{\pre@bibdata}{%
- \bibliography@latex{#1}%
- }{%
- \@if@empty{#1}{%
- \expandafter\bibliography@latex\expandafter{\pre@bibdata}%
- }{%
- \expandafter\bibliography@latex\expandafter{\pre@bibdata,#1}%
- }%
- }%
- \endgroup
-}%
-\let\pre@bibdata\@empty
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{environment}{rtx@thebibliography}%
-% \begin{macro}{\present@bibnote}%
-% \changes{4.1f}{2009/07/11}{(AO, 521) Lonely bibliography head}%
-% \changes{4.1n}{2010/01/02}{(AO, 572) Independent footnote counter for title block. Abstract footnote counter shared with body.}%
-% \changes{4.1o}{2010/02/02}{(AO, 575) Automatically incorporate the (Bib\TeX-generated) .bbl into an explicit \env{thebibliography}}%
-% \changes{4.1q}{2010/04/01}{(AO, 586) When .bbl is pasted into the document, prevent automatic bibliography inclusion.}%
-% We put a tail patch into \cmd\thebibliogrphy\ and
-% a headpatch into \cmd\endthebibliography.
-%
-% Here we provide a default treatment for frontmatter notes
-% deferred to the bibliography; a journal substyle
-% might want to override the definition of \cmd\present@bibnote.
-%
-% We make provisions for the case where there are no \cmd\bibitem s
-% for the bibliography: we produce no bibliography head at all.
-%
-% \begin{macrocode}
-\newenvironment{rtx@thebibliography}[1]{%
- \NAT@thebibliography{#1}%
- \let\@TBN@opr\present@bibnote
- \@FMN@list
-}{%
-% \end{macrocode}
-% The following line was commented out:
-% \begin{verbatim}
-%\@endnotesinbib
-% \end{verbatim}
-% The \cmd\auto@bib@innerbib\ directive has been moved from the begin processing to the end processing.
-% This means that the content of the \env{thebibliography} environment can itself prevent the
-% automatic reading in of the .bbl file. This would be needed when the user has pasted in the
-% content of the .bbl file into the document itself, something required by APS and AIP editorial direction.
-% \begin{macrocode}
- \auto@bib@innerbib
- \edef\@currentlabel{\arabic{NAT@ctr}}%
- \label{LastBibItem}%
- \endNAT@thebibliography
- \aftergroup\auto@bib@empty
-}%
-\def\present@bibnote#1#2{%
- \item[%
- \textsuperscript{%
- \normalfont
- \Hy@raisedlink{\hyper@anchorstart{frontmatter.#1}\hyper@anchorend}%
- \begingroup
- \csname c@\@mpfn\endcsname#1\relax
- \frontmatter@thefootnote
- \endgroup
- }%
- ]#2\par
-% \end{macrocode}
-% The following line was commented out:
-% \begin{verbatim}
-%\global\let\NAT@bibitem@first@sw\@secondoftwo
-% \end{verbatim}
-% \begin{macrocode}
-}%
-% \end{macrocode}
-% \end{macro}
-% \end{environment}
-%
-% \begin{macro}{write@bibliographystyle}
-% \changes{4.1q}{2010/04/13}{(AO, 588) Only write \revtex-specific BibTeX .bib data if the .bst style is set by REVTeX.}%
-% We wish to delay committing the \cmd\bibliographystyle\ until as late as possible.
-% The journal substyle will define a default bibliography style, and
-% the document's explicit \cmd\bibliographystyle\ command, if any, will override that default.
-%
-% The \cmd\bibstyle\ command is allowed appear quite late in the \file{.aux} file.
-% We now delay the automatic writing of the \cmd\bibstyle\ command to the end of the job.
-%
-% The procedure \cmd\write@bibliographystyle\ tests whether a \cmd\bibliographystyle\ command has
-% already been given.
-% If not, it effectively executes the needed \cmd\bibliographystyle\ command, then neutralizes itself
-% (we only need to do this once per job).
-%
-% If the document lacks explicit \cmd\bibliographystyle\ markup, we execute
-% \cmd\@bibdataout@rev, a hook for \revtex-aware processing.
-% \begin{macrocode}
-\def\write@bibliographystyle{%
- \@ifxundefined\@bibstyle{}{%
- \expandafter\bibliographystyle@latex\expandafter{\@bibstyle}%
- \bibliographystyle@sw{}{\@bibdataout@rev}%
- }%
- \global\let\write@bibliographystyle\relax
-}%
-\AtEndDocument{\write@bibliographystyle}%
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\rtx@@citetp}
-% \begin{macro}{\rtx@citex}
-% \begin{macro}{\super@cite@let}
-% \begin{macro}{\super@cite@end}
-% \begin{macro}{\super@cite@swap}
-% We wish to extend \classname{natbib} to move spaces and citations around
-% a superscript-style citation, imitating Donald Arseneau's \classname{cite} package
-% with the \classoption{super}.
-%
-% The \cmd\rtx@@citetp\ procedure is substituted for \cmd\NAT@@citetp;
-% it then calls the \cmd\rtx@citex\ procedure and implements the features of the
-% \classoption{citeautoscript} class option.
-% In the end, \cmd\@citex\ is called with its customary parameters.
-%
-% The document should be marked up as if citations were \emph{not} superscripted,
-% and then if you select a journal substyle that has superscripted citations, \revtex\ will do its best
-% to alter the formatting of the \cmd\cite s to accomodate superscript style.
-%
-% Only citations set as superscript are affected by this procedure,
-% because we check \cmd\@cite\ against \cmd\NAT@citesuper.
-%
-% Here's a subtle point: when is the argument of \cmd\super@cite@swap\ not the same as the token \cmd\@let@token?
-% Answer: when the latter is \cmd\@sptoken! This case has to be handled separately.
-%
-% Note that whether a punctuation is movable is determined by the definition
-% of a particular control sequence name.
-% A society or journal can alter things: to remove a character from the set,
-% do, say, \cmd\expandafter \cmd\let \cmd\csname \texttt{rtx@automove;} \cmd\endcsname \cmd\relax.
-% To add a character to the set, do, say, \cmd\expandafter \cmd\let \cmd\csname \texttt{rtx@automove;} \cmd\endcsname \cmd\@empty.
-%
-% Implementation note: due to a \TeX\ peculiarity, we have to check for the case
-% where \cmd\@let@token\ is a space token \emph{before} we parse forward.
-% At issue is the corner case where an end of file is at hand. If we
-% were to let \cmd\super@cite@swap\ parse forward, we would encounter a \TeX\ end-of-file
-% error. Note that the test will be true in many distinct cases:
-% the file ends, the next character is a line terminator, the next character is a space.
-% \begin{macrocode}
-\def\rtx@@citetp[#1]{\@ifnextchar[{\rtx@citex[#1]}{\rtx@citex[][#1]}}%
-\def\rtx@citex[#1][#2]#3{%
- \begingroup
- \def\@tempa{[#1][#2]{#3}}%
- \@ifx{\@cite\NAT@citesuper}{%
- \leavevmode
- \skip@\lastskip
- \unskip
- \super@cite@let
- }{%
- \super@cite@end
- }%
-}%
-\def\super@cite@let{%
- \futurelet\@let@token\super@cite@check
-}%
-\def\super@cite@end{%
- \aftergroup\@citex\expandafter\endgroup\@tempa
-}%
-\def\super@cite@check{%
- \@ifx{\@let@token\@sptoken}{%
- \super@cite@end
- }{%
- \super@cite@swap
- }%
-}%
-\long\def\super@cite@swap#1{%
- \expandafter\@ifx\expandafter{\csname rtx@automove#1\endcsname\@empty}{%
- #1%
- \super@cite@let
- }{%
- \super@cite@end
- #1%
- }%
-}%
-\expandafter\let\csname rtx@automove.\endcsname\@empty
-\expandafter\let\csname rtx@automove,\endcsname\@empty
-\expandafter\let\csname rtx@automove:\endcsname\@empty
-\expandafter\let\csname rtx@automove;\endcsname\@empty
-% \end{macrocode}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-%
-% The following must execute only after \classname{natbib} is loaded and has set
-% up its parameters (which it does at \cmd\AtBeginDocument\ time).
-% If superscript citations have been selected, and
-% if the \classoption{citeautoscript} class option has been selected,
-% we patch into \classname{natbib}'s mechanism to migrate punctuation around the
-% citation, as in class \classname{cite} with the \classoption{superscript} option.
-% \begin{macrocode}
-\appdef\class@documenthook{%
- \citeautoscript@sw{%
- \@ifx{\@cite\NAT@citesuper}{%
- \let\NAT@@citetp\rtx@@citetp
- }{}%
- }{}%
-}%
-% \end{macrocode}
-%
-% Resolve an incompatability between \classname{natbib} and \classname{listings}.
-% The latter package tests \cmd\chapter (which has now been \cmd\let\ to \cmd\relax\ as a side effect \classname{natbib}'s use of \LaTeX's \cmd\@ifundefined).
-%
-% We couch our fix in such terms that will not be disruptive if \cmd\chapter\ is actually defined at this point.
-%
-% \changes{4.1b}{2008/07/01}{(AO) No longer need to test \cs{chapter} as of \texttt{natbib} version 8.2}
-% \begin{verbatim}
-%\@ifx{\chapter\relax}{\let\chapter\@undefined}{}%
-% \end{verbatim}
-%
-%
-% \subsubsection{\cs{endnote}s and \cs{rtx@bibnote}s}
-%
-% \begin{macro}{\mini@note}
-% \begin{macro}{\save@note}
-% \changes{4.1n}{2010/01/02}{(AO, 572) Independent footnote counter for title block. Abstract footnote counter shared with body.}%
-% QUERY: how do footnotes get thrown to the bibliography. \cmd\footinbib@sw\ appears to be irrelevant.
-% \begin{macrocode}
-\def\mini@note{\save@note\mini@notes}%Implicit #2
-\def\save@note#1#2{%
- \stepcounter\@mpfn
- \protected@xdef\@thefnmark{\thempfn}%
- \@footnotemark
- \expandafter\g@addto@macro
- \expandafter#1%
- \expandafter{%
- \expandafter \@@footnotetext
- \expandafter {\@thefnmark}{#2}%
- }%
-}%
-\long\def\@@footnotetext#1{\def\@thefnmark{#1}\@footnotetext}%
-\let\mini@notes\@empty
-% \end{macrocode}
-% \end{macro}
-% \end{macro}
-%
-% \begin{macro}{\endnote}
-% A version of footnote that appears in the bibliography, or where \cmd\printendnotes\ appears.
-% \begin{verbatim}
-%\def\@endnote{%
-% \begingroup
-% \aftergroup\@footnotemark
-% \aftergroup\@endnotetext
-% \@ifnextchar[{%
-% \@xendnote
-% }{%
-% \stepcounter{footnote}%
-% \protected@xdef\@tempa{\thefootnote}%
-% \expandafter\@xendnote\expandafter[\the\c@footnote]%
-% }%
-%}%
-% \end{verbatim}
-% \end{macro}
-%
-% \begin{macro}{\@xendnote}
-% \changes{4.1a}{2008/01/18}{(AO, 457) Endnotes to be sorted in with numerical citations.}%
-% \begin{verbatim}
-%\def\unused@xendnote[#1]{%
-% \begingroup
-% \c@footnote#1\relax
-% \end{macrocode}
-% New for 4.1
-% \begin{macrocode}
-% \unrestored@protected@xdef\@endnotelabel{Note\thefootnote}%
-% \authoryear@sw{%
-% \unrestored@protected@xdef\@thefnmark{\noexpand\ref{\@endnotelabel}}%
-% }{%
-% \unrestored@protected@xdef\@thefnmark{\@endnotelabel}%
-% }%
-% \end{macrocode}
-% Was:
-% \unrestored@protected@xdef\@thefnmark{endnote\thefootnote}%
-% End 4.1 changes
-% \begin{macrocode}
-% \endgroup
-% \endgroup
-%}%
-%\def\@endnotemark{%
-% \expandafter\cite\expandafter{\@thefnmark}%
-%}%
-% \end{verbatim}
-% \begin{macrocode}
-\def\rev@citemark#1{%
- \expandafter\cite\expandafter{\@thefnmark}%
-}%
-\def\rev@endtext#1{%
- \let\@endnotelabel\@thefnmark
- \@endnotetext
-}%
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\endnote@ext}
-% \begin{macro}{\bibdata@app}
-% \begin{macro}{\bibdata@ext}
-% The macro \cmd\endnote@ext\ is the file extension for the auxiliary file holding footnotes.
-% The \cmd\bibdata@app\ and \cmd\bibdata@ext\ macros are used to form the name of a
-% Bib\TeX\ database file holding footnotes.
-% \begin{macrocode}
-\def\endnote@ext{.end}%
-\def\bibdata@app{Notes}%
-\def\bibdata@ext{bib}%
-% \end{macrocode}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-%
-% \begin{macro}{\@endnotetext}
-% \changes{4.1a}{2008/01/18}{(AO, 457) Endnotes to be sorted in with numerical citations.}%
-% The procedure \cmd\@endnotetext\ writes a Bib\TeX\ .bib file for the purpose
-% of insering a footnote into the (numbered, unsorted) bibliography.
-%
-% We need to define \cmd\pre@bibdata\ to be
-% \cmd\jobname\cmd\endnote@ext, and we probably should define \cmd\endnote@ext\ to
-% be something like ``Notes.bib''.
-%
-% In each case, the material to be written out requires robustification, provided by \cmd\endnote@relax.
-% The commands \cmd\label, \cmd\index, and \cmd\glossary,
-% which are robustified for \cmd\markright\ and \cmd\addcontentsline,
-% are likewise robustified here.
-%
-% Procedure \cmd\@endnotetext@note\ is the alias for \cmd\@endnotetext\ when the endnotes are to be
-% processed separately from the bibliography (generally true when citations are not sorted).
-% \begin{verbatim}
-%\long\def\unused@endnotetext@note#1{%
-% \@ifxundefined\@endnoteout{%
-% \newwrite\@endnoteout
-% \gdef\endnote@stream{\jobname\endnote@ext}%
-% \immediate\openout\@endnoteout\endnote@stream\relax
-% }{}%
-% \begingroup
-% \endnote@relax
-% \immediate\write\@endnoteout{\string\@doendnote{\@endnotelabel}{#1}}%
-% \endgroup
-%}%
-% \end{verbatim}
-%
-% \cmd\@doendnote\ is obsolete.
-% \begin{verbatim}
-%\def\@doendnote#1#2{\bibitem{#1}#2}%
-% \end{verbatim}
-%
-% \changes{4.1o}{2010/02/05}{(AO, 579) Endnote shall comprise their own Bib\TeX\ entry type: @FOOTNOTE.}
-% Procedure \cmd\@endnotetext\ is the operative procedure\ when the endnotes are to be
-% collated in with the other references, typically true when numerical citations are being used.
-% The technique involves writing a .bib file (\cmd\@bibdataout) with each endnote typed as
-% a \texttt{@FOOTNOTE} entry.
-%
-% Timing note: doing \cmd\openout\ should be deferred until the beginning of the document,
-% as is done here. This allows one to make a format (\filename{.fmt}) file out of this class.
-% \begin{macrocode}
-\long\def\@endnotetext#1{%
- \begingroup
- \endnote@relax
- \immediate\write\@bibdataout{%
- @FOOTNOTE{%
- \@endnotelabel,%
-% \end{macrocode}
-% The \texttt{key} field is recommended in cases where there is no author (see \filename{btxdoc}).
-% \begin{macrocode}
- key="\@endnotelabel",%
-% \end{macrocode}
-% The \texttt{note} field is simply the content of the footnote.
-% \begin{macrocode}
- note="#1"%
- }%
- }%
- \endgroup
-}%
-\newwrite\@bibdataout
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\endnote@relax}
-% At \cmd\AtBeginDocument\ time, we open the job's \filename{.bib} file.
-%
-% Procedure \cmd\endnote@relax\ robustifies commands that ought not to be expanded when
-% the endnote is written out.
-% Note the similarity between \cmd\endnote@relax\ and \cmd\protected@write.
-% \begin{macrocode}
-\def\endnote@relax{%
- \let\label\relax \let\index\relax \let\glossary\relax
- \let\cite \relax \let\ref \relax \let\pageref \relax
- \let\( \relax \let\) \relax \let\\ \relax
- \let~\relax
-% \end{macrocode}
-% \begin{verbatim}
-%\let\protect\noexpand
-% \end{verbatim}
-% \begin{macrocode}
- \let \protect \@unexpandable@protect
- \newlinechar`\^^M%
-% \end{macrocode}
-% \begin{verbatim}
-%\newlinechar`\ %
-% \end{verbatim}
-% \begin{macrocode}
- \let\begin\relax \let\end\relax
-}%
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\@bibdataout@init}
-% \begin{macro}{\@bibdataout@aps}
-% \changes{4.1o}{2010/02/10}{(AO, 580) Provide a document class option to turn off production of eprint field in bibliography.}
-% \changes{4.1o}{2010/02/12}{(AO, 580) Control .bst at run time.}%
-% \changes{4.1q}{2010/04/13}{(AO, 588) Only write \revtex-specific BibTeX .bib data if the .bst style is set by REVTeX.}%
-% At \cmd\AtBeginDocument\ time, we open the job's \filename{.bib} file.
-% The hook is available for use by a society to place its own @CONTROL record in the \cmd\@bibdataout\ stream.
-% \begin{macrocode}
-\appdef\class@documenthook{\@bibdataout@init}%
-\def\@bibdataout@init{%
- \immediate\openout\@bibdataout\pre@bibdata.\bibdata@ext\relax
-}%
-\def\@bibdataout@rev{%
- \immediate\write\@bibdataout{%
-% \end{macrocode}
-% The entry that controls processing of the \filename{.bst} file has entry type \texttt{@CONTROL}.
-% The citation key (REVTEX41Control) is effectively a version number,
-% which the \filename{.bst} can use to interpret the bib entry.
-% \begin{macrocode}
- @CONTROL{%
- REVTEX41Control%
-% \end{macrocode}
-% Say if we want the \texttt{eprint} field disabled. Otherwise accept the default of the \filename{.bst}.
-% \begin{macrocode}
- \eprint@enable@sw{}{,eprint=""}%
- }%
- }%
-% \end{macrocode}
-% Place a \cmd\citation\ into the auxiliary file corresponding to this entry.
-% \begin{macrocode}
- \if@filesw
- \immediate\write\@auxout{\string\citation{REVTEX41Control}}%
- \fi
-}%
-% \end{macrocode}
-% \end{macro}
-% \end{macro}
-%
-% \begin{macro}{\printendnotes}
-% \changes{4.1f}{2009/07/10}{(AO, 520) Automatically produce \cs{bibliography} command when needed}%
-% We have removed the endnotes facility from REVTeX, so the \cmd\printendnotes\ command now does nothing.
-%
-% Moving footnotes to the bibliogrphy is now accomplished through
-% the automatic generation of a job BiB\TeX\ database (called \cmd\pre@bibdata) containing the footnotes.
-% \begin{macrocode}
-\def\printendnotes{%
- \class@warn{The \string\printendnotes\space command no longer serves any function. Please remove it from your document.}%
-}%
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\@endnotesinbib}
-% \begin{macro}{\@endnotesinbibliography}
-% \changes{4.1a}{2008/01/18}{(AO, 457) Endnotes to be sorted in with numerical citations.}%
-% We define a function \cmd\@endnotesinbib,
-% and a variant \cmd\@endnotesinbibliography.
-% The former is invoked at the start of
-% the end processing for \enve{thebibliography};
-% the latter is a synonym.
-%
-% The procedure typesets the footnotes that are to
-% appear in the bibliography; the default is to
-% simply arrange for the footnote counter to be
-% reset at the start of the document.
-%
-% Note that this code make the assumption that
-% the counter used in \env{thebibliography} is \cmd\c@NAT@ctr.
-% \changes{4.1f}{2009/07/10}{(AO, 520) Automatically produce \cs{bibliography} command when needed}%
-%
-% Here is the sole place where \cmd\footinbib@sw\ has an effect, other code simple assigning its value.
-% If it is false, or \cmd\authoryear@sw\ is true, then footnotes are handled by the default mechanism.
-% \begin{macrocode}
-\def\make@footnote@endnote{%
- \footinbib@sw{%
- \authoryear@sw{}{%
- \ltx@footnote@push
- \def\thempfn{Note\thefootnote}%
- \let\ltx@footmark\rev@citemark
- \let\ltx@foottext\rev@endtext
-% \end{macrocode}
-% The endnotes facility has been removed.
-% Also, there is no need to queue up \cmd\auto@bib\ here, since it is always queued up elsewhere.
-% \changes{4.1f}{2009/07/10}{(AO, 520) Automatically produce \cs{bibliography} command when needed}%
-% \begin{verbatim}
-% \appdef\class@enddocumenthook{\auto@bib}%
-% \let\printendnotes\relax
-% \end{verbatim}
-% \begin{macrocode}
- }%
- }{}%
-}%
-% \end{macrocode}
-%
-% \begin{macrocode}
-\def\ltx@footnote@push{%
- \let\ltx@footmark@latex\ltx@footmark
- \let\ltx@foottext@latex\ltx@foottext
- \let\thempfn@latex\thempfn
- \def\ltx@footnote@pop{%
- \let\ltx@footmark\ltx@footmark@latex
- \let\ltx@foottext\ltx@foottext@latex
- \let\thempfn\thempfn@latex
- }%
-}%
-% \end{macrocode}
-%
-% The switchover to setting footnotes in the bibliography
-% changes the meaning of \cmd\footnote\ and
-% substitutes the synonym for \cmd\@endnotesinbib.
-%
-% We arrange for the procedure \cmd\make@footnote@endnote\ to be executed
-% at \cmd\class@documenthook\ time (we mustn't do this earlier because
-% the meaning of \cmd\@footnotemark\ must not be changed before then,
-% for the sake of \file{ltxutil.dtx}).
-% \begin{macrocode}
-\appdef\class@documenthook{%
- \make@footnote@endnote
-}%
-% \end{macrocode}
-% \end{macro}
-% \end{macro}
-%
-% \begin{macro}{\auto@bib}
-% \begin{macro}{\auto@bib@empty}
-% \begin{macro}{\test@bbl@sw}
-% \begin{macro}{\bibitem@set}
-% \begin{macro}{\auto@bib@innerbib}
-% \begin{macro}{\thebibliography@nogroup}
-% \changes{4.1f}{2009/07/10}{(AO, 520) Automatically produce \cs{bibliography} command when needed}%
-% \changes{4.1n}{2010/01/02}{(AO, 572) Independent footnote counter for title block. Abstract footnote counter shared with body.}%
-% \changes{4.1o}{2010/02/02}{(AO, 575) Automatically incorporate the (Bib\TeX-generated) .bbl into an explicit \env{thebibliography}}%
-% Under some circumstances, we must typeset the bibliography automatically.
-% If the document requires footnotes to be set in the bibliography (effectively, class option \texttt{footinbib}),
-% or that frontmatter footnotes be set in the bibliography (effectively, class option \texttt{bibnotes}),
-% but contains no explicit \cmd\bibliography\ statement.
-%
-% Note that this facility is not able to work more than once per document.
-% If multiple bibliographys are required (e.g., per article), it will be the responsibility of the journal style
-% to restore \cmd\auto@bib\ to its original meaning so it can be re-invoked.
-%
-% In procedure \cmd\auto@bib, we first test for the presence of frontmatter footnotes deferred to the bibliography.
-% If none, we further test for the presence of \cmd\bibitem\ commands in the job's \filename{.bbl} file.
-% If either condition is met, we ask for a bibliography.
-% We know that the document itself lacks a \cmd\bibliography\ statement,
-% so we know the argument of the \cmd\bibliography\ that we will issue.
-% \begin{macrocode}
-\def\auto@bib{%
- \@ifx@empty\@FMN@list{%
- \footinbib@sw{%
- \@ifnum{\csname c@\@mpfn\endcsname>\z@}{%
- \true@sw
- }{%
- \test@bbl@sw
- }%
- }{%
- \test@bbl@sw
- }%
- }{%
- \true@sw
- }%
- {%
- \bibliography{}%
- }{}%
-}%
-\def\auto@bib@empty{%
- \let\auto@bib\@empty
-}%
-% \end{macrocode}
-% Testing the \filename{.bbl} file involves defanging all expected commands
-% and processing that file inside a box register (that will be simply discarded).
-% We provide a new meaning for the \cmd\bibitem\ command: it queues a Boolean.
-% \begin{macrocode}
-\def\test@bbl@sw{%
- \setbox\z@\vbox\bgroup
- \let\providecommand\providecommand@j@nk
- \let\bibfield\@gobbletwo
- \let\bibinfo\@gobbletwo
- \let\translation\@gobble
- \let\BibitemOpen\@empty
- \let\bibitemStop\@empty
- \let\bibitemNoStop\@empty
- \let\EOS\@empty
- \let\BibitemShut\@gobble
- \let\bibAnnoteFile\@gobbletwo
- \let\bibAnnote\@gobblethree
- \let\textbf\@gobble
- \let\emph\@gobble
- \@booleanfalse\bibitem@sw
- \let\bibitem\bibitem@set
- \auto@bib@innerbib
- \bibitem@sw{\aftergroup\true@sw}{\aftergroup\false@sw}%
- \egroup
-}%
-% \end{macrocode}
-% The \cmd\bibitem@set\ is an alias for \cmd\bibitem\ for the purpose of detecting a non-trivial bibliography.
-% \begin{macrocode}
-\newcommand\bibitem@set[1][]{%
- \bibitem@sw{}{%
- \@booleantrue\bibitem@sw
- \aftergroup\@booleantrue\aftergroup\bibitem@sw
- }%
-}%
-% \end{macrocode}
-% The \cmd\auto@bib@innerbib\ procedure reads in the \filename{.bbl} file (if it exists)
-% within a context where its \env{thebibliography} environment does nothing, not even establishing a group.
-% \begin{macrocode}
-\def\auto@bib@innerbib{%
- \begingroup
- \let@environment{thebibliography}{thebibliography@nogroup}%
- \bibliography{}%
- \endgroup
-}%
-% \end{macrocode}
-% Environment \env{thebibliography@nogroup} is an alias of the \env{thebibliography} environment that cancels itself.
-% It assumes that it is called within a \env{thebibliography} environment.
-% \begin{macrocode}
-\def\thebibliography@nogroup#1{%
- \endgroup
- \def\@currenvir{thebibliography}%
-}%
-\def\endthebibliography@nogroup{\begingroup}%
-% \end{macrocode}
-% The following should be part of \filename{ltxutil}.
-% \begin{macrocode}
-\long\def \@gobblethree #1#2#3{}%
-\def\providecommand@j@nk#1[#2]{%
- \@ifnum{#2=\z@}{\def\j@nk}{%
- \@ifnum{#2=\@ne}{\def\j@nk##1}{%
- \@ifnum{#2=\tw@}{\def\j@nk##1##2}{%
- \@ifnum{#2=\thr@@}{\def\j@nk##1##2##3}{%
- }%
- }%
- }%
- }%
-}%
-% \end{macrocode}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-%
-% \section{Initial setup}
-%
-% The standard LaTeX document classes execute certain commands
-% that are best deferred until \cmd\class@documenthook\ time.
-% Here, we effectively split \cmd\pagenumbering\ into two halves,
-% with a default definition for \cmd\thepage
-% and an initialization of \cmd\c@page\ at \cmd\class@documenthook\ time.
-%
-% The meaning of \cmd\thepage\ can be overridden by society, journal, or
-% anywhere within the document pramble, and the counter itself will be
-% preset at the beginning of the document.
-% \begin{macrocode}
-\def\thepage{\@arabic\c@page}%
-% \end{macrocode}
-% \changes{4.0b}{1999/06/20}{Defer assignment until \cs{AtBeginDocument} time.}
-% Note that this code is executed at \cmd\setup@hook\ time
-% to allow for the possibility of overrides by packages like \classname{geometry}.
-% \begin{macrocode}
-\appdef\setup@hook{%
- \tabbingsep \labelsep
- \leftmargin\leftmargini
- \labelwidth\leftmargin\advance\labelwidth-\labelsep
- \let\@listi\@listI
- \@listi
-}%
-% \begin{macrocode}
-%
-% We ensure that the ``environment'' component mark (implemented by \file{ltxgrid.dtx})
-% is initialized properly (via a hook, itself defined via \file{ltxutil.dtx}).
-% \begin{macrocode}
-\appdef\class@documenthook{%
- \global\c@page\@ne
- \def\curr@envir{document}%
- \mark@envir{\curr@envir}%
-}%
-% \end{macrocode}
-%
-% \begin{macro}{\open@onecolumn}%
-% \begin{macro}{\open@column@two}%
-% \changes{4.0c}{1999/11/13}{Grid changes with ltxgrid}
-% \changes{4.0d}{2000/04/10}{Also alter how lists get indented.}
-% When setting the column grid, we have to override the procedure
-% for formatting lists.
-% Because \cmd\twocolumngrid\ requires rebalancing columns at some points,
-% typesetting must employ only the manipulation of
-% \cmd\leftskip\ and \cmd\rightskip, and must avoid the use of
-% \cmd\moveleft, \cmd\moveright, and \cmd\parshape.
-%
-% It is one of the stranger features of \TeX\ that these two separate
-% mechanisms exist. The latter three have the effect of adding things to the
-% Main Vertical List that cannot be removed and later added back with all their
-% properties intact.
-%
-% In detail, \cmd\moveleft, say, adds a box to the MVL with
-% its reference point shifted horizontally by some amount relative to the
-% reference point of the enclosing list. If that box is removed from the
-% MVL (via a \cmd\lastbox\ operation in the output routine), and later
-% thrown back to the MVL, the shift of the box will have been ``forgotten'' by \TeX.
-% This is a bug, but not one ``acceptible to D. E. Knuth'', so it will never be fixed.
-%
-% \begin{macrocode}
-\def\open@onecolumn{%
- \open@column@one\@ne
- \set@colht
- \@floatplacement
- \@dblfloatplacement
-}%
-\def\open@twocolumn{%
- \open@column@mlt\tw@
- \set@colht
- \@floatplacement
- \@dblfloatplacement
- \sloppy
- \let\set@listindent\set@listindent@
-}%
-% \end{macrocode}
-% \end{macro}
-% \end{macro}
-%
-% \section{\cs{appendix}}
-%
-% \begin{macrocode}
-%\newif\ifappendixon
-% \end{macrocode}
-% Note that, within appendices,
-% equations are numbered within sections (appendices).
-% \begin{macrocode}
-\def\appendix{%
- \par
-%\appendixontrue
- \setcounter{section}\z@
- \setcounter{subsection}\z@
- \setcounter{subsubsection}\z@
- \def\thesubsection{\arabic{subsection}}%
- \def\thesubsubsection{\alph{subsubsection}}%
- \@addtoreset{equation}{section}%
- \def\theequation@prefix{\thesection}%
- \addtocontents{toc}{\protect\appendix}%
- \@ifstar{%
- \def\thesection{\unskip}%
- \def\theequation@prefix{A.}%
- }{%
- \def\thesection{\Alph{section}}%
- }%
-}%
-% \end{macrocode}
-%
-% \section{Changing the page grid}
-% \changes{4.0b}{1999/06/20}{Define three separate environments, defer assignment to \cs{AtBeginDocument} time.}
-%
-% \subsection{Avoiding Grid Changes}%
-%
-% In preprint styles, ``wide text'' is a no-op, and the title page
-% processing involves no grid change.
-%
-% \begin{macro}{\title@column}%
-% \begin{macro}{\close@column}%
-% Provide default meanings for \cmd\title@column\ and \cmd\close@column,
-% in case they were never defined.
-% Note that the society or journal substyle may define
-% \cmd\title@column\ or \cmd\close@column: this code will not override.
-% \begin{macrocode}
-\def\title@column#1{%
- \minipagefootnote@init
- #1%
- \minipagefootnote@foot
-}%
-\def\close@column{%
- \newpage
-}%
-% \end{macrocode}
-% \end{macro}
-% \end{macro}
-%
-%
-% \subsection{Galley Style: Margin Changes}%
-% A variant of preprint processing. Emulate journal appearance somewhat.
-%
-% \begin{environment}{widetext@galley}
-% DPC: We're in galley style so do a lob sided display environment.
-%
-% QUERY: How can we be sure that we are in galley style?
-% ANSWER: as noted elsewhere, require that both \cmd\twocolumn@sw\ and \cmd\preprintsty@sw\ be false.
-% \begin{macrocode}
-\def\galley@outdent{\rightmargin-\columnwidth\advance\rightmargin-\columnsep}%
-\let\widetext@outdent\@empty
-\newenvironment{widetext@galley}{%
- \list{}{%
- \topsep \z@skip
- \listparindent \parindent
- \itemindent \parindent
- \leftmargin \z@
- \parsep \z@\@plus\p@
- \widetext@outdent
- \relax
- }%
- \item\relax
-}{
- \endlist
-}%
-% \end{macrocode}
-% \end{environment}
-%
-%
-% \subsection{Grid Changing Via \classname{ltxgrid}}%
-%
-% In case \classoption{twocolumngrid} has been invoked,
-% switch column grid using the column grid-changing commands.
-% Supply stub definitions of those commands here.
-% \changes{4.0c}{1999/11/13}{grid changes with ltxgrid}
-%
-% \begin{macro}{\title@column@grid}%
-% \begin{macro}{\close@column@grid}%
-% The title block always starts at the top of a new page.
-% \changes{4.0c}{1999/11/13}{grid changes with ltxgrid}
-%
-% Note that, for the procedure \cmd\close@column@grid,
-% we balance columns by switching to the one-column page grid.
-% \begin{macrocode}
-\def\title@column@grid#1{%
- \minipagefootnote@init
- \onecolumngrid
- \begingroup
- \let\@footnotetext\frontmatter@footnotetext
-%<ignore> \let\set@footnotewidth\set@footnotewidth@two
- \ltx@no@footnote
- #1%
- \endgroup
- \twocolumngrid
- \minipagefootnote@foot
-}%
-\def\close@column@grid{%
- \balancelastpage@sw{%
- \onecolumngrid
-%<ignore> \twocolumngrid
- }{}%
-}%
-% \end{macrocode}
-% \end{macro}
-% \end{macro}
-%
-% \begin{environment}{widetext@grid}
-% \changes{4.0c}{1999/11/13}{grid changes via ltxgrid procedures}
-% \changes{4.0e}{2000/11/21}{adornments above and below.}
-% \changes{4.1g}{2009/10/07}{(AO, 525) Remove phantom paragraph above display math that is given in vertical mode}%
-% We slip into the one-column page grid
-% within the scope of this environment.
-%
-% Note that we set adornments above and below the \env{widettext}.
-% These are set as leaders, so they will disappear at a page break.
-% \changes{4.1n}{2010/01/02}{(AO) fine-tune spacing above and below widetext}%
-% \begin{macrocode}
-\newenvironment{widetext@grid}{%
- \par\ignorespaces
- \setbox\widetext@top\vbox{%
-%<ignore> \vskip15\p@
- \hb@xt@\hsize{%
- \leaders\hrule\hfil
- \vrule\@height6\p@
- }%
-%<ignore> \vskip6\p@
- }%
- \setbox\widetext@bot\hb@xt@\hsize{%
- \vrule\@depth6\p@
- \leaders\hrule\hfil
- }%
- \onecolumngrid
- \vskip10\p@
- \dimen@\ht\widetext@top\advance\dimen@\dp\widetext@top
- \cleaders\box\widetext@top\vskip\dimen@
-%<ignore> \let\set@footnotewidth\set@footnotewidth@two
- \vskip6\p@
- \prep@math@patch
-}{%
- \par
- \vskip6\p@
- \setbox\widetext@bot\vbox{%
- \hb@xt@\hsize{\hfil\box\widetext@bot}%
-%<ignore> \vskip14\p@
- }%
- \dimen@\ht\widetext@bot\advance\dimen@\dp\widetext@bot
- \cleaders\box\widetext@bot\vskip\dimen@
- \vskip8.5\p@
- \twocolumngrid\global\@ignoretrue
- \@endpetrue
-}%
-\newbox\widetext@top
-\newbox\widetext@bot
-% \end{macrocode}
-% \end{environment}
-%
-%
-% Decide, finally, how the page grid is to be manipulated.
-% \begin{macrocode}
-\def\set@page@grid{%
- \twocolumn@sw{%
-% \end{macrocode}
-% The following two assignments determine what procedures are to be executed when
-% the footnote set width is calculated, and how footnotes are to be composed at the bottom of the page.
-% A society or journal wishing to do otherwise will override this code.
-% \begin{macrocode}
- \let\set@footnotewidth\set@footnotewidth@two
- \let\compose@footnotes\compose@footnotes@two
- \let@environment{widetext}{widetext@grid}%
- \let\title@column\title@column@grid
- \let\close@column\close@column@grid
- }{%
- \let@environment{widetext}{widetext@galley}%
- \preprintsty@sw{%
-% \end{macrocode}
-% Change the page grid not at all.
-% \begin{macrocode}
- }{%
-% \end{macrocode}
-% If we are galley style, change the page margin only.
-% \begin{macrocode}
- \galley@sw{%
- \let\widetext@outdent\galley@outdent
- }{}%
- }%
- }%
-}%
-\appdef\setup@hook{\set@page@grid}%
-% \end{macrocode}
-%
-% \section{Old font commands}
-%
-% \begin{macrocode}
-\DeclareOldFontCommand{\rm}{\normalfont\rmfamily}{\mathrm}
-\DeclareOldFontCommand{\sf}{\normalfont\sffamily}{\mathsf}
-\DeclareOldFontCommand{\tt}{\normalfont\ttfamily}{\mathtt}
-\DeclareOldFontCommand{\bf}{\normalfont\bfseries}{\mathbf}
-\DeclareOldFontCommand{\it}{\normalfont\itshape}{\mathit}
-\DeclareOldFontCommand{\sl}{\normalfont\slshape}{\@nomath\sl}
-\DeclareOldFontCommand{\sc}{\normalfont\scshape}{\@nomath\sc}
-\DeclareRobustCommand*\cal{\@fontswitch\relax\mathcal}
-\DeclareRobustCommand*\mit{\@fontswitch\relax\mathnormal}
-% \end{macrocode}
-%
-% \section{English-Language Texts}
-% As this class is just for English language journals, we
-% could hardwire these texts,
-% but to make it easier to use this as a
-% basis for the code for similar journal styles, separate out all the
-% fixed text strings into babel-style macros of the form
-% |\|\ldots|name|
-%
-% Note: for babel compatability, use version 1999/05/05 v3.6x or later.
-%
-% Some of these might need changing in the society-specific code.
-%
-% \begin{macro}{\today}
-% Procedure \cmd\today\ is used in the article class, but not in
-% this document class.
-% \begin{macrocode}
-\def\today{\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\day, \number\year}
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\notesname}
-% Text entity \cmd\notesname\ had been used in \cmd\printendnotes.
-% \changes{4.1f}{2009/07/10}{(AO, 520) Automatically produce \cs{bibliography} command when needed}%
-% However, we have removed the endnotes facility from REVTeX.
-%
-% \begin{verbatim}
-%\def\notesname{Notes}
-% \end{verbatim}
-% \end{macro}
-%
-% \begin{macro}{\partname}
-% Text entity \cmd\partname\ is used in \cmd\@part.
-% \begin{macrocode}
-\def\partname{Part}
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\tocname}
-% Text entity \cmd\tocname\ is used in \cmd\tableofcontents,
-% as defined in the standard \LaTeX\ book class.
-% \begin{macrocode}
-\def\tocname{Contents}
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\lofname}
-% Text entity \cmd\lofname\ is used in \cmd\listoffigures,
-% as defined in the standard \LaTeX\ book class.
-% \begin{macrocode}
-\def\lofname{List of Figures}
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\lotname}
-% Text entity \cmd\lotname\ is used in \cmd\listoftables,
-% as defined in the standard \LaTeX\ book class.
-% \begin{macrocode}
-\def\lotname{List of Tables}
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\refname}
-% Text entity \cmd\refname\ is used in \env{thebibliography}.
-% \begin{macrocode}
-\def\refname{References}
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\indexname}
-% Text entity \cmd\indexname\ is used in \env{theindex},
-% as defined in the standard \LaTeX\ book class.
-% \begin{macrocode}
-\def\indexname{Index}
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\figurename}
-% \changes{4.0b}{1999/06/20}{Added localization of \cs{figuresname}}
-% Text entity \cmd\figurename\ is used in \env{figure},
-% \cmd\figuresname\ in \cmd\printfigures.
-% \begin{macrocode}
-\def\figurename{FIG.}
-\def\figuresname{Figures}%
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\tablename}
-% \changes{4.0b}{1999/06/20}{Added localization of \cs{tablesname}}
-% Text entity \cmd\tablename\ is used in \env{table},
-% \cmd\tablesname\ in \cmd\printtables.
-% \begin{macrocode}
-\def\tablename{TABLE}
-\def\tablesname{Tables}%
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\abstractname}
-% Text entity \cmd\abstractname\ is used in \env{abstract}.
-% \begin{macrocode}
-\def\abstractname{Abstract}
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\appendixesname}
-% \begin{macro}{\appendixname}
-% Text entity \cmd\appendixesname\ is used in TOC.
-% \begin{macrocode}
-\def\appendixesname{Appendixes}%
-\def\appendixname{Appendix}%
-% \end{macrocode}
-% \end{macro}
-% \end{macro}
-%
-% \begin{macro}{\acknowledgmentsname}
-% Text entity \cmd\acknowledgmentsname\ is used in \env{acknowledgments}.
-% \begin{macrocode}
-\def\acknowledgmentsname{Acknowledgments}
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\journalname}
-% This should be set by the society journal options, eg `pra'.
-% \begin{macrocode}
-\def\journalname{??}
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\copyrightname}
-% Default layout does not assign copyright, but a journal that wants
-% to might use this.
-% \begin{macrocode}
-\def\copyrightname{??}
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\andname}
-% The text string ``and'' for use in author lists.
-% \begin{macrocode}
-\def\andname{and}
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\@pacs@name}
-% \begin{macro}{\@keys@name}
-% The text string prepended to PACS numbers, resp. to keywords.
-% \begin{macrocode}
-\def\@pacs@name{PACS numbers: }%
-\def\@keys@name{Keywords: }%
-% \end{macrocode}
-% \end{macro}
-% \end{macro}
-%
-% \begin{macro}{\ppname}
-% The text string ``pp'' for use in page ranges.
-% \begin{macrocode}
-\def\ppname{pp}
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\numbername}
-% The text string ``number'' for use in article reference.
-% \begin{macrocode}
-\def\numbername{number}
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\volumename}
-% The text string ``volume'' for use in article reference.
-% \begin{macrocode}
-\def\volumename{volume}
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\Dated@name}
-% \begin{macro}{\Received@name}
-% \begin{macro}{\Revised@name}
-% \begin{macro}{\Accepted@name}
-% \begin{macro}{\Published@name}
-% These texts are used in the \cmd\date, et al. commands.
-% \begin{macrocode}
-\def\Dated@name{Dated: }%
-\def\Received@name{Received }%
-\def\Revised@name{Revised }%
-\def\Accepted@name{Accepted }%
-\def\Published@name{Published }%
-% \end{macrocode}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-%
-% \section{Legacy Commands}
-% We define some commands left over from version 3.1, or give default meanings.
-% Some definitions can be overridden
-% in the document preamble or in included packages.
-%
-% Note on the namespace: command names like \cmd\REV@\emph{name} are used here,
-% because it is not clear that any of this code is generally useful.
-% \begin{macrocode}
-\def\address{\replace@command\address\affiliation}%
-\def\altaddress{\replace@command\altaddress\altaffiliation}%
-\newenvironment{references}{%
- \class@warn@end{The references environment is not supported; use thebibliography instead.}
- \gdef\references{\thebibliography{}}\references
-}{%
- \endthebibliography
-}%
-\def\draft{%
- \class@warn@end{Command \string\draft\space is obsolete;^^JInvoke option draft instead.}%
- \@booleantrue\draft@sw
-}%
-\def\tighten{%
- \class@warn@end{Command \string\tighten\space is obsolete;^^JInvoke option tightenlines instead.}%
- \@booleantrue\tightenlines@sw
-}%
-\def\tableline{%
- \noalign{%
- \class@warn@end{Command \string\tableline\space is obsolete;^^JUse \string\colrule\space instead.}%
- \global\let\tableline\colrule
- }%
- \tableline
-}%
-\def\case{\replace@command\case\frac}%
-\def\slantfrac{\replace@command\slantfrac\frac}%
-\def\tablenote{\replace@command\tablenote\footnote}%
-\def\tablenotemark{\replace@command\tablenotemark\footnotemark}%
-\def\tablenotetext{\replace@command\tablenotetext\footnotetext}%
-% Lose the following definition:
-\DeclareRobustCommand\REV@text[1]{%
- \relax
- \ifmmode
- \mathchoice
- {\hbox{{\everymath{\displaystyle }#1}}}%
- {\hbox{{\everymath{\textstyle }#1}}}%
- {\hbox{{\everymath{\scriptstyle }\let\f@size\sf@size\selectfont#1}}}%
- {\hbox{{\everymath{\scriptscriptstyle}\let\f@size\ssf@size\selectfont#1}}}%
- \glb@settings
- \else
- \mbox{#1}%
- \fi
-}%
-% Lose the following definition:
-\DeclareRobustCommand\REV@bbox[1]{%
- \relax
- \ifmmode
- \mathchoice
- {\hbox{{\everymath{\displaystyle }\boldmath$#1$}}}%
- {\hbox{{\everymath{\textstyle }\boldmath$#1$}}}%
- {\hbox{{\everymath{\scriptstyle }\boldmath$#1$}}}%
- {\hbox{{\everymath{\scriptscriptstyle}\boldmath$#1$}}}%
- \glb@settings
- \else
- \mbox{#1}%
- \fi
-}%
-\DeclareRobustCommand\REV@bm[1]{%
- \class@warn@end{To use \string\bm, please load the bm package!}%
- \global\let\bm\relax
-}%
-\def\FL{\obsolete@command\FL}%
-\def\FR{\obsolete@command\FR}%
-\def\narrowtext{\obsolete@command\narrowtext}%
-\def\mediumtext{\obsolete@command\mediumtext}%
-\newenvironment{quasitable}{%
- \let@environment{tabular}{longtable}%
-}{%
-}%
-% \end{macrocode}
-%
-% \begin{macro}{\text}
-% \begin{macro}{\bm}
-% \begin{macro}{\bibinfo}
-% \begin{macro}{\eprint}
-% \begin{macro}{\url}
-%
-% If not otherwise defined, give default meanings to certain commands.
-% \changes{4.0d}{2000/04/10}{eprint takes an optional argument, syntactical only in this case.}
-%FIXME: \cmd\bibinfo?
-% \begin{macrocode}
-\let\text\REV@text
-\let\bm\REV@bm
-\appdef\setup@hook{%
- \providecommand\bibinfo[2]{#2}%
- \providecommand\eprint[2][]{#2}%
-%\providecommand\url[1]{#1}%
-}%
-% \end{macrocode}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-%
-% \begin{macro}{\bbox}
-%
-% \begin{macrocode}
-\def\bbox#1{%
- \class@warn@end{\string\bbox\space is obsolete,^^Jload the bm package and use \string\bm\space instead.}%
- \global\let\bbox\relax
-}%
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\mathletters}
-%
-% \begin{macrocode}
-\newenvironment{mathletters}{%
- \class@warn@end{Environment {mathletters} is obsolete;^^Jload the amsmath package and use {subequations}!}%
- \global\let\mathletters\@empty
-}{%
-}%
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\eqnum}
-%
-% \begin{macrocode}
-\def\eqnum#1{%
- \class@warn@end{\string\eqnum\space is obsolete, load the amsmath package and use \string\tag!}%
- \global\let\eqnum\@gobble
-}%
-% \end{macrocode}
-% \end{macro}
-%
-% We read in the symbol definitions.
-% \begin{macrocode}
-\appdef\rtx@require@packages{%
- \RequirePackage{revsymb4-1}%
-}%
-\appdef\class@documenthook{\revsymb@inithook}%
-% \end{macrocode}
-%
-% \section{Patches for lineno.sty}
-%
-% The \classname{lineno} package detects the case where the package has been loaded
-% and the document invokes \cmd\linelabel, but the \cmd\linenumbers\ command has not been
-% issued: it treats this case as an error.
-%
-% It is wrong for validity of document syntax to be dependent upon package semantics:
-% we make the condition a warning rather than an error.
-%
-% \begin{macrocode}
-\def\@LN@LLerror@org{%
- \PackageError{lineno}{%
- \string\linelabel\space without \string\linenumbers
- }{%
- Just see documentation. (New feature v4.11)%
- }%
- \@gobble
-}%
-\def\@LN@LLerror@ltx{%
- \PackageWarning{lineno}{%
- To make the \string\linelabel\space command work, you must issue the \string\linenumbers\ command
- }%
- \@gobble
-}%
-% \end{macrocode}
-%
-% If appropriate, enable line numbering within the abstract.
-%
-% This mechanism applies generally:
-% Create the box in a context in which the meaning of \cmd\par\ has been patched by \classname{lineno},
-% then \cmd\unvbox\ the box in a context where \cmd\set@linepenalties\ has been executed, and
-% follow up with \cmd\@linenumberpar, which forces a visit to the output routine just there.
-% Note that here, we have to de-fang \cmd\@LN@parpgbrk, which would otherwise causes the appearance
-% of a box with depth -1000 points. Go figure.
-% \begin{macrocode}
-\appdef\class@documenthook{%
- \@ifx{\@LN@LLerror\@LN@LLerror@org}{%
- \class@info{Overriding \string\@LN@LLerror}%
- \let\@LN@LLerror\@LN@LLerror@ltx
- }{}%
- \@ifpackageloaded{lineno}{%
- \@ifxundefined{\set@linepenalties}{}{%
- \def\prep@absbox{\set@linepenalties}%
- \def\post@absbox{\let\@LN@parpgbrk\@empty\@linenumberpar}%
- }%
- }{}%
-}%
-% \end{macrocode}
-%
-% One may well ask: how to obtain line numbering within an alignment in a float?
-% This objective, along with line numbering within footnotes, would require extraordinary measures.
-% The float would have to be thrown onto the MVL in order to acquire its line numbers, but
-% that fragment of MVL would then have to be protected from being shipped out.
-% The question of how to coordinate those lines' numbers with those of lines in the MVL would
-% also require dealing with.
-%
-% \section{Endgame for the Document Class}
-%
-% We provide for a ``job macro package'' that can override
-% definitions and assignments made by the class or any other packages it loads.
-%
-% \subsection{Job Macro Package}
-% You can create a ``job macro package'' for your document
-% that will be read in automatically every time
-% your document is processed.
-% Thus, if your job is a file called \file{myarticle.tex},
-% then the file \file{myarticle.rty} will be read in
-% just the same as if you had placed a
-% \cmd\usepackage|{myarticle.rty}| statement
-% immediately following your \cmd\documentclass\ statement.
-%
-% Within your \file{.rty} file,
-% you can define and use control sequence names that use the |@| character
-% and you can override any of the definitions or assignments made
-% by the \revtex\ document class or the selected journal substyle.
-% That is, you have the power to really mess things up badly.
-%
-% If you choose to have a job macro package, you are well
-% advised to read the \LaTeX\ guide to document classes,
-% \file{clsguide.tex} or read up on the subject
-% in a book like the \LaTeX\ Companion.
-%
-% The file \file{template.rty} contains a template for
-% creating your own job macro package.
-%
-% \begin{macrocode}
-\appdef\rtx@require@packages{%
- \InputIfFileExists{\jobname.rty}{}{}%
-}%
-% \end{macrocode}
-%
-% \subsection{Endgame Processing for the Document Class}
-%
-% The remaining steps in processing the document class involve
-% determining the needed society, journal, and pointsize from
-% the document's class options and inputting the needed files or
-% executing the indicated procedures.
-%
-% Note that the society file is expected to declare options that will
-% allow us to determine the journal involved, and the society and journal
-% themselves determine the which pointsize options are declared, along with
-% their meanings.
-%
-% Note also that required packages are read in only after the document options
-% have been processed, because the latter can affect the former.
-%
-% Finally, the setup code is executed: this is code that depends on the
-% meanings of the switches we define and on the code within the packages we load.
-%
-% Note that there are other hooks in use: \cmd\document@inithook, which is
-% executed right at the beginning of the document, and \cmd\class@documenthook,
-% which serves as a vehicle for any \cmd\AtBeginDocument\ code we might wish to
-% execute.
-%
-%FIXME: use \cmd\class@documenthook\ only for things that bear on the MVL;
-% use \cmd\document@inithook\ for all patches to procedures defined within the preamble.
-%
-% Remember that \classname{natbib} changes its state at \cmd\AtBeginDocument\ time,
-% so we have to install our own code at a later point in the processing.
-%
-% We determine the proper \cmd\@society\ by examining the document's class options.
-% \begin{macrocode}
-\@parse@class@options@society
-% \end{macrocode}
-%
-% Then, we input the society's substyle
-% (which may in turn lead to loading a journal substyle or a pointsize substyle).
-% The substyle should not assume the value of any class option:
-% instead, it should install code into \cmd\setup@hook.
-% \begin{macrocode}
-\@process@society{aps}%
-% \end{macrocode}
-%
-% Now that the society has defined the class options relating to journals,
-% and has defined \cmd\@journal@default, we can process the journal substyle.
-% We parse the options for one that sets \cmd\@journal.
-% \begin{macrocode}
-\@parse@class@options@\@journal
-% \end{macrocode}
-% And we process the journal.
-% Note that \emph{it is an error} for a society file to fail to define
-% \cmd\@journal@default.
-%
-% \begin{macrocode}
-\expandafter\@process@journal\expandafter{\@journal@default}%
-% \end{macrocode}
-%
-% Now that the society and journal have finished defining any options relating to
-% point size, we process the class options for any that set \cmd\@pointsize.
-% \begin{macrocode}
-\@parse@class@options@\@pointsize
-% \end{macrocode}
-% And we process the pointsize.
-% Note that it is an error for the society and journal to leave \cmd\@pointsize@default\
-% undefined at this point, however, the journal may have overriden the assignment of the society.
-%
-% \begin{macrocode}
-\expandafter\@process@pointsize\expandafter{\@pointsize@default}%
-% \end{macrocode}
-%
-% Next, we process the class options for once and all.
-% Doing so sets values for some of the Booleans that were introduced along with
-% the \cmd\DeclareOption\ statements above.
-%
-%CHANGE: We process the options in the order declared in the document; this
-% gives the document greater control.
-%
-% \begin{macrocode}
-\@options
-% \end{macrocode}
-%
-% Now that the class options have been processed, we can load all the
-% packages that we know need loading.
-% \begin{macrocode}
-\rtx@require@packages
-% \end{macrocode}
-%
-% At this point, the society substyle, the journal substyle, and the
-% pointsize have all been processed, along with the document class options.
-% Some of these have left things for later; we do these now.
-%
-% \begin{macro}{\setup@hook}
-%
-% This portion of the code for this class file
-% \emph{must} appear at the very end:
-% The procedure
-% \cmd\setup@hook\
-% should be executed at the very end of the class file.
-% Any code that relies on the value of any of the \texttt{@sw} switches
-% or will patch the code of one of the required packages
-% should be executed here.
-%
-% \begin{macrocode}
-\setup@hook
-% \end{macrocode}
-% \end{macro}
-%
-%
-% Warn if past maturation date. This code to be enabled only in beta software.
-% \changes{4.1f}{2009/07/11}{(AO, 522) Warn if software is expired}%
-% \changes{4.1h}{2009/10/09}{(AO) Remove expiry code in the release software}%
-% \begin{macrocode}
-%<*ignore>
- \def\rtx@fin@year{2010}%
- \def\rtx@fin@month{01}%
- \def\rtx@fin@day{01}%
- \def\rtx@fin@warn{%
- \@ifnum{\rtx@fin@year>\the\year\relax}{\true@sw}{%
- \@ifnum{\rtx@fin@month>\the\month\relax}{\true@sw}{%
- \@ifnum{\rtx@fin@day>\the\day\relax}{\true@sw}{%
- \false@sw
- }%
- }%
- }%
- {%
- \class@info{Beta software expires \rtx@fin@year-\rtx@fin@month-\rtx@fin@day; updates available at http://publish.aps.org/revtex4/}%
- }{%
- \class@warn{Outdated software expired \rtx@fin@year-\rtx@fin@month-\rtx@fin@day; please retrieve an update at http://publish.aps.org/revtex4/}%
- }%
- }%
-%</ignore>
-% \end{macrocode}
-% In shipping (non-beta) software, the following line should be commented out.
-% \changes{4.1f}{2009/07/11}{(AO, 522) Warn if software is expired}%
-% \begin{verbatim}
-%\appdef\class@enddocumenthook{\rtx@fin@warn}%
-% \end{verbatim}
-%
-% End of the class file.
-% \begin{macrocode}
-%</package>
-% \end{macrocode}
-%
-%
-% \section{Symbols: the \texttt{revsymb} module}
-% We immediately define a utility command: this module's warning.
-% \begin{macrocode}
-%<*revsymb>
-\def\REVSYMB@warn#1{\PackageWarningNoLine{revsymb}{#1}}%
-% \end{macrocode}
-%
-% \begin{macro}{\lambdabar}
-% \begin{macrocode}
-\DeclareRobustCommand\lambdabar{%
- \bgroup
- \def\@tempa{%
- \hbox{%
- \raise.73\ht\z@
- \hb@xt@\z@{%
- \kern.25\wd\z@
- \vrule \@width.5\wd\z@\@height.1\p@\@depth.1\p@
- \hss
- }%
- \box\z@
- }%
- }%
- \mathchoice
- {\setbox\z@\hbox{$\displaystyle \lambda$}\@tempa}%
- {\setbox\z@\hbox{$\textstyle \lambda$}\@tempa}%
- {\setbox\z@\hbox{$\scriptstyle \lambda$}\@tempa}%
- {\setbox\z@\hbox{$\scriptscriptstyle\lambda$}\@tempa}%
- \egroup
-}%
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\openone}
-% DPC: Really should use a font that includes this glyph.
-% Unfortunately not in AMS ones, but is in bbold, cmbb.
-% (I think, must check),
-% \changes{4.0a}{1998/01/31}{use font-dependent spacing}
-% FIXME: check for bbold.
-% \begin{macrocode}
-\DeclareRobustCommand\openone{\leavevmode\hbox{\small1\normalsize\kern-.33em1}}%
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\corresponds}
-% \begin{macro}{\overdots}
-% \begin{macro}{\overcirc}
-% J\"org Knappen suggests the replacements:
-% replace \cmd\corresponds\ with \cmd\triangleq, source \classname{amssymb};
-% replace \cmd\overcirc\ with \cmd\mathring, source \classname{latex2e};
-% replace \cmd\overdots\ with \cmd\dddot, source \classname{amsmath}.
-%
-% Any use of any of these commands will result in a warning message at the end
-% of the log file. If the corresponding package is not loaded, a
-% definition will quietly be provided.
-% \begin{macrocode}
-\DeclareRobustCommand\corresponds{\replace@command\corresponds\triangleq}%
-\DeclareRobustCommand\overcirc{\replace@command\overcirc\mathring}%
-\DeclareRobustCommand\overdots{\replace@command\overdots\dddot}%
-\DeclareRobustCommand\REV@triangleq{%
- {\lower.2ex\hbox{=}}{\kern-.75em^\triangle}%
-}%
-\DeclareRobustCommand\REV@dddot[1]{%
- \@ontopof{#1}{\cdots}{1.0}\mathord{\box2}%
-}%
-% \end{macrocode}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-%
-% \begin{macro}{\succsim}
-% \begin{macro}{\precsim}
-% \begin{macro}{\lesssim}
-% \begin{macro}{\gtrsim}
-% \begin{macro}{\alt}
-% \begin{macro}{\agt}
-% These version 3.1 commands are always supplied,
-% but the definitions in \classname{amssymb} are preferred.
-% \begin{macrocode}
-\DeclareRobustCommand\altsuccsim{\succ\kern-.9em_\sim\kern.3em}%
-\DeclareRobustCommand\altprecsim{\prec\kern-1em_\sim\kern.3em}%
-\let\REV@succsim\altsuccsim
-\let\REV@precsim\altprecsim
-\DeclareRobustCommand\REV@lesssim{\mathrel{\mathpalette\vereq{<}}}%
-\DeclareRobustCommand\REV@gtrsim{\mathrel{\mathpalette\vereq{>}}}%
-\DeclareRobustCommand\alt{\lesssim}
-\DeclareRobustCommand\agt{\gtrsim}
-\def\vereq#1#2{%
- \lower3\p@\vbox{%
- \baselineskip1.5\p@
- \lineskip1.5\p@
- \ialign{$\m@th#1\hfill##\hfil$\crcr#2\crcr\sim\crcr}%
- }%
-}%
-% \end{macrocode}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-%
-% \begin{macro}{\tensor}
-% \begin{macro}{\overstar}
-% \begin{macro}{\loarrow}
-% \begin{macro}{\roarrow}
-% \changes{4.0b}{1999/06/20}{AO: remove duplicates}
-% \begin{macrocode}
-\DeclareRobustCommand\tensor[1]{\@ontopof{#1}{\leftrightarrow}{1.15}\mathord{\box2}}
-\DeclareRobustCommand\overstar[1]{\@ontopof{#1}{\ast}{1.15}\mathord{\box2}}
-\DeclareRobustCommand\loarrow[1]{\@ontopof{#1}{\leftarrow}{1.15}\mathord{\box2}}
-\DeclareRobustCommand\roarrow[1]{\@ontopof{#1}{\rightarrow}{1.15}\mathord{\box2}}
-% \end{macrocode}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-%
-% \begin{macro}{\@ontopof}
-% \begin{macrocode}
-\def\@ontopof#1#2#3{%
- {%
- \mathchoice
- {\@@ontopof{#1}{#2}{#3}\displaystyle \scriptstyle }%
- {\@@ontopof{#1}{#2}{#3}\textstyle \scriptstyle }%
- {\@@ontopof{#1}{#2}{#3}\scriptstyle \scriptscriptstyle}%
- {\@@ontopof{#1}{#2}{#3}\scriptscriptstyle\scriptscriptstyle}%
- }%
-}%
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\@@ontopof}
-% Same as \revtex3, more or less.
-% \begin{macrocode}
-\def\@@ontopof#1#2#3#4#5{%
- \setbox\z@\hbox{$#4#1$}%
- \setbox\f@ur\hbox{$#5#2$}%
- \setbox\tw@\null\ht\tw@\ht\z@ \dp\tw@\dp\z@
- \@ifdim{\wd\z@>\wd\f@ur}{%
- \setbox\f@ur\hb@xt@\wd\z@{\hss\box\f@ur\hss}%
- \mathord{\rlap{\raise#3\ht\z@\box\f@ur}\box\z@}%
- }{%
- \setbox\f@ur\hb@xt@.9\wd\f@ur{\hss\box\f@ur\hss}%
- \setbox\z@\hb@xt@\wd\f@ur{\hss$#4\relax#1$\hss}%
- \mathord{\rlap{\copy\z@}\raise#3\ht\z@\box\f@ur}%
- }%
-}%
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\frak}
-% Deal with legacy \cmd\frak:
-% if \classname{amsfonts} not loaded, defined in such a way as to ask for that package.
-% Also, says to use \cmd\mathfrak\ instead.
-% \begin{macrocode}
-\DeclareRobustCommand\frak{%
- \REVSYMB@warn{%
- Command \string\frak\space unsupported:^^J%
- please use \string\mathfrak\space instead.%
- }%
- \global\let\frak\mathfrak
- \frak
-}%
-\DeclareRobustCommand\REV@mathfrak{%
- \REVSYMB@warn{%
- Command \string\mathfrak\space undefined:^^J%
- please specify the amsfonts or amssymb option!%
- }%
- \global\let\mathfrak\@firstofone
- \mathfrak
-}%
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\Bbb}
-% Deal with legacy \cmd\Bbb:
-% if \classname{amsfonts} not loaded, defined in such a way as to ask for that package.
-% Also, says to use \cmd\mathbb\ instead.
-% \begin{macrocode}
-\DeclareRobustCommand\Bbb{%
- \REVSYMB@warn{%
- Command \string\Bbb\space unsupported:^^J%
- please use \string\mathbb\space instead.%
- }%
- \global\let\Bbb\mathbb
- \Bbb
-}%
-\DeclareRobustCommand\REV@mathfrak{%
- \REVSYMB@warn{%
- Command \string\mathbb\space undefined:^^J%
- please specify the amsfonts or amssymb option!%
- }%
- \global\let\mathbb\@firstofone
- \mathbb
-}%
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\Bigglb}
-% Deal with legacy bold delimiters.
-% Each of the following takes an implicit argument consisting of
-% the delimiter to be made big and bold.
-% FIXME: \cmd\DeclareBoldMathCommand\ is not the right tool!
-% \begin{macrocode}
-\def\Bigglb{\REV@boldopen \Bigg}%
-\def\Biglb {\REV@boldopen \Big }%
-\def\bigglb{\REV@boldopen \bigg}%
-\def\biglb {\REV@boldopen \big }%
-\def\Biggrb{\REV@boldclose\Bigg}%
-\def\Bigrb {\REV@boldclose\Big }%
-\def\biggrb{\REV@boldclose\bigg}%
-\def\bigrb {\REV@boldclose\big }%
-\def\REV@pmb#1{%
- \hbox{%
- \setbox\z@=\hbox{#1}%
- \kern-.02em\copy\z@\kern-\wd\z@
- \kern .04em\copy\z@\kern-\wd\z@
- \kern-.02em
- \raise.04em\copy\z@
- }%
-}%
-\def\REV@boldopen #1#2{\mathopen {\REV@pmb{$#1#2$}}}%
-\def\REV@boldclose#1#2{\mathclose{\REV@pmb{$#1#2$}}}%
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\revsymb@inithook}
-% \changes{4.1b}{2008/07/01}{(AO) make settings at class time instead of deferring them to later.}
-% Package dependencies are taken care of at \cmd\setup@hook\ time.
-% \begin{macrocode}
-\def\revsymb@inithook{%
- \@ifxundefined\dddot{\let\dddot\REV@dddot}{}%
- \@ifxundefined\triangleq{\let\triangleq\REV@triangleq}{}%
- \@ifxundefined\succsim{\let\succsim\altsuccsim}{}%
- \@ifxundefined\precsim{\let\precsim\altprecsim}{}%
- \@ifxundefined\lesssim{\let\lesssim\REV@lesssim}{}%
- \@ifxundefined\gtrsim {\let\gtrsim \REV@gtrsim }{}%
- \@ifxundefined\mathfrak{\let\mathfrak\REV@mathfrak}{}%
- \@ifxundefined\mathbb{\let\mathbb\REV@mathbb}{}%
-}%
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macrocode}
-%</revsymb>
-% \end{macrocode}
-%
-% \section{The \classoption{10pt} class option: the \texttt{10pt} module}
-% \changes{4.0b}{1999/06/20}{AO: all code for \protect\classoption{10pt} is in this module.}
-% The file \file{aps10pt.rtx} is read in by the \classname{revtex4} document class
-% if \cmd\@pointsize\ has the value 10.
-%
-% \begin{macrocode}
-%<*10pt>
-% \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 pointsize 10pt selected}%
-% \end{macrocode}
-%
-% \begin{macrocode}
-\def\normalsize{%
- \@setfontsize\normalsize\@xpt{11.5}%
- \abovedisplayskip 10\p@ \@plus2\p@ \@minus5\p@
- \belowdisplayskip \abovedisplayskip
- \abovedisplayshortskip \abovedisplayskip
- \belowdisplayshortskip \abovedisplayskip
- \let\@listi\@listI
-}%
-% \end{macrocode}
-%
-% \begin{macrocode}
-\def\small{%
- \@setfontsize\small\@ixpt{10.5}%
- \abovedisplayskip 8.5\p@ \@plus3\p@ \@minus4\p@
- \belowdisplayskip \abovedisplayskip
- \abovedisplayshortskip \z@ \@plus2\p@
- \belowdisplayshortskip 4\p@ \@plus2\p@ \@minus2\p@
- \def\@listi{%
- \leftmargin\leftmargini
- \topsep 4\p@ \@plus2\p@ \@minus2\p@
- \parsep 2\p@ \@plus\p@ \@minus\p@
- \itemsep \parsep
- }%
-}%
-% \end{macrocode}
-%
-% \begin{macrocode}
-\def\footnotesize{%
- \@setfontsize\footnotesize\@viiipt{9.5pt}%
- \abovedisplayskip 6\p@ \@plus2\p@ \@minus4\p@
- \belowdisplayskip \abovedisplayskip
- \abovedisplayshortskip \z@ \@plus\p@
- \belowdisplayshortskip 3\p@ \@plus\p@ \@minus2\p@
- \def\@listi{%
- \leftmargin\leftmargini
- \topsep 3\p@ \@plus\p@ \@minus\p@
- \parsep 2\p@ \@plus\p@ \@minus\p@
- \itemsep \parsep
- }%
-}%
-% \end{macrocode}
-%
-% \begin{macrocode}
-\def\scriptsize{%
- \@setfontsize\scriptsize\@viipt\@viiipt
-}%
-\def\tiny{%
- \@setfontsize\tiny\@vpt\@vipt
-}%
-\def\large{%
- \@setfontsize\large\@xiipt{14pt}%
-}%
-\def\Large{%
- \@setfontsize\Large\@xivpt{18pt}%
-}%
-\def\LARGE{%
- \@setfontsize\LARGE\@xviipt{22pt}%
-}%
-\def\huge{%
- \@setfontsize\huge\@xxpt{25pt}%
-}%
-\def\Huge{%
- \@setfontsize\Huge\@xxvpt{30pt}%
-}%
-% \end{macrocode}
-%
-% The values of these margin parameters are dependent upon
-% \cmd\twoside@sw; any society or journal that
-% has its own preferences should override these assignments
-% by doing \cmd\appdef\cmd\setup@hook.
-% \begin{macrocode}
-\appdef\setup@hook{%
- \twoside@sw{%
-% \oddsidemargin -.1in
-% \evensidemargin -.4in
- \oddsidemargin -20pt
- \evensidemargin -20pt
- \marginparwidth 107pt
- }{%
- \oddsidemargin -.25in
- \evensidemargin -.25in
- \marginparwidth 30pt
- }%
-}%
-% \end{macrocode}
-%
-% \begin{macrocode}
-\marginparsep 6pt
-% \end{macrocode}
-%
-% \begin{macrocode}
-\topmargin -61pt
-% \end{macrocode}
-%
-% \begin{macrocode}
-\headheight 25pt
-\headsep 16pt
-% \end{macrocode}
-%
-% \changes{4.1n}{2010/01/02}{(AO, 571) class file must set \cs{splittopskip}; fine tune \cs{skip}\cs{footins}; \cs{footnoterule} defined in terms of \cs{skip}\cs{footins}}%
-% \begin{macrocode}
-\topskip 10pt
-\splittopskip\topskip
-% \end{macrocode}
-%
-% \begin{macrocode}
-\footskip 30pt
-% \end{macrocode}
-%
-% \begin{macrocode}
- \textheight = 56pc
-% \end{macrocode}
-%
-% \begin{macrocode}
-\textwidth42.5pc
-% \end{macrocode}
-%
-% \begin{macrocode}
-\columnsep 1.5pc
-\columnseprule 0pt
-% \end{macrocode}
-%
-% \changes{4.1n}{2010/01/02}{(AO, 571) class file must set \cs{splittopskip}; fine tune \cs{skip}\cs{footins}; \cs{footnoterule} defined in terms of \cs{skip}\cs{footins}}%
-% \begin{macrocode}
-\footnotesep 1pt
-\skip\footins 39pt plus 4pt minus 12pt
-\def\footnoterule{%
- \dimen@\skip\footins\divide\dimen@\tw@
- \kern-\dimen@\hrule width.5in\kern\dimen@
-}%
-% \end{macrocode}
-%
-% \begin{macrocode}
-\floatsep 12pt plus 2pt minus 2pt
-\textfloatsep 20pt plus 2pt minus 4pt
-\intextsep 12pt plus 2pt minus 2pt
-% \end{macrocode}
-%
-% \begin{macrocode}
-\dblfloatsep 12pt plus 2pt minus 2pt
-\dbltextfloatsep 20pt plus 2pt minus 4pt
-% \end{macrocode}
-%
-% \begin{macrocode}
-\@fptop 0pt plus 1fil
-\@fpsep 8pt plus 2fil
-\@fpbot 0pt plus 1fil
-\@dblfptop 0pt plus 1fil
-\@dblfpsep 8pt plus 2fil
-\@dblfpbot 0pt plus 1fil
-% \end{macrocode}
-%
-% \begin{macrocode}
-\marginparpush 5pt
-% \end{macrocode}
-%
-% \begin{macrocode}
-\parskip 0pt plus 1pt
-\parindent 10pt
-\emergencystretch8\p@
-% \end{macrocode}
-%
-% \begin{macrocode}
-\partopsep 2pt plus 1pt minus 1pt
-% \end{macrocode}
-%
-% \begin{macrocode}
-\leftmargini 25pt
-\leftmarginii 22pt
-\leftmarginiii 18.7pt
-\leftmarginiv 17pt
-\leftmarginv 10pt
-\leftmarginvi 10pt
-% \end{macrocode}
-%
-% \begin{macrocode}
-\def\@listI{%
- \leftmargin\leftmargini
- \parsep 4\p@ plus2\p@ minus\p@
- \topsep 8\p@ plus2\p@ minus4\p@
- \itemsep 4\p@ plus2\p@ minus\p@
-}%
-% \end{macrocode}
-%
-% \begin{macrocode}
-\labelsep 4pt
-% \end{macrocode}
-%
-% \begin{macrocode}
-\def\@listii{%
- \leftmargin\leftmarginii
- \labelwidth\leftmarginii
- \advance\labelwidth-\labelsep
- \topsep 4\p@ plus2\p@ minus\p@
- \parsep 2\p@ plus\p@ minus\p@
- \itemsep \parsep
-}%
-% \end{macrocode}
-%
-% \begin{macrocode}
-\def\@listiii{%
- \leftmargin\leftmarginiii
- \labelwidth\leftmarginiii
- \advance\labelwidth-\labelsep
- \topsep 2\p@ plus\p@ minus\p@
- \parsep \z@
- \partopsep \p@ plus\z@ minus\p@
- \itemsep \topsep
-}%
-% \end{macrocode}
-%
-% \begin{macrocode}
-\def\@listiv{%
- \leftmargin\leftmarginiv
- \labelwidth\leftmarginiv
- \advance\labelwidth-\labelsep
-}%
-% \end{macrocode}
-%
-% \begin{macrocode}
-\def\@listv{%
- \leftmargin\leftmarginv
- \labelwidth\leftmarginv
- \advance\labelwidth-\labelsep
-}%
-% \end{macrocode}
-%
-% \begin{macrocode}
-\def\@listvi{%
- \leftmargin\leftmarginvi
- \labelwidth\leftmarginvi
- \advance\labelwidth-\labelsep
-}%
-% \end{macrocode}
-%
-% \begin{macrocode}
-%</10pt>
-% \end{macrocode}
-%
-% \section{The \classoption{11pt} class option: the \texttt{11pt} module}
-% \changes{4.0b}{1999/06/20}{AO: all code for \protect\classoption{11pt} is in this module.}
-% The file \file{11pt.rtx} is read in by the \classname{revtex4} document class
-% if \cmd\@pointsize\ has the value 11.
-%
-% \begin{macrocode}
-%<*11pt>
-% \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 pointsize 11pt selected}%
-% \end{macrocode}
-%
-% \begin{macrocode}
-\def\normalsize{%
- \@setfontsize\normalsize\@xipt{13.6}%
- \abovedisplayskip 11\p@ \@plus3\p@ \@minus6\p@
- \belowdisplayskip \abovedisplayskip
- \abovedisplayshortskip \abovedisplayskip
- \belowdisplayshortskip \abovedisplayskip
- \let\@listi\@listI
-}%
-% \end{macrocode}
-%
-% \begin{macrocode}
-\def\small{%
- \@setfontsize\small\@xpt\@xiipt
- \abovedisplayskip 10\p@ \@plus2\p@ \@minus5\p@
- \abovedisplayshortskip \z@ \@plus3\p@
- \belowdisplayshortskip 6\p@ \@plus3\p@ \@minus3\p@
- \def\@listi{\leftmargin\leftmargini
- \topsep 6\p@ \@plus2\p@ \@minus2\p@
- \parsep 3\p@ \@plus2\p@ \@minus\p@
- \itemsep \parsep
- }%
- \belowdisplayskip \abovedisplayskip
-}%
-% \end{macrocode}
-%
-% \begin{macrocode}
-\def\footnotesize{%
- \@setfontsize\footnotesize\@ixpt{11}%
- \abovedisplayskip 8\p@ \@plus2\p@ \@minus4\p@
- \abovedisplayshortskip \z@ \@plus\p@
- \belowdisplayshortskip 4\p@ \@plus2\p@ \@minus2\p@
- \def\@listi{\leftmargin\leftmargini
- \topsep 4\p@ \@plus2\p@ \@minus2\p@
- \parsep 2\p@ \@plus\p@ \@minus\p@
- \itemsep \parsep
- }%
- \belowdisplayskip \abovedisplayskip
-}%
-% \end{macrocode}
-%
-% \begin{macrocode}
-\def\scriptsize{%
- \@setfontsize\scriptsize\@viiipt{9.5}%
-}%
-\def\tiny{%
- \@setfontsize\tiny\@vipt\@viipt
-}%
-\def\large{%
- \@setfontsize\large\@xiipt{14}%
-}%
-\def\Large{%
- \@setfontsize\Large\@xivpt{18}%
-}%
-\def\LARGE{%
- \@setfontsize\LARGE\@xviipt{22}%
-}%
-\def\huge{%
- \@setfontsize\huge\@xxpt{25pt}%
-}%
-\def\Huge{%
- \@setfontsize\Huge\@xxvpt{30pt}%
-}%
-% \end{macrocode}
-%
-% \begin{macrocode}
-%</11pt>
-% \end{macrocode}
-%
-% \section{The \classoption{12pt} class option: the \texttt{12pt} module}
-% \changes{4.0b}{1999/06/20}{AO: all code for \protect\classoption{12pt} is in this module.}
-% The file \file{12pt.rtx} is read in by the \classname{revtex4} document class
-% if \cmd\@pointsize\ has the value 12.
-%
-% \begin{macrocode}
-%<*12pt>
-% \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 pointsize 12pt selected}%
-% \end{macrocode}
-%
-% \begin{macrocode}
-\def\normalsize{%
- \@setfontsize\normalsize\@xiipt{14pt}%
- \abovedisplayskip 12\p@ \@plus3\p@ \@minus7\p@
- \belowdisplayskip \abovedisplayskip
- \abovedisplayshortskip \z@ plus3\p@
- \belowdisplayshortskip 6.5\p@ \@plus3.5\p@ \@minus3\p@
- \let\@listi\@listI
-}%
-% \end{macrocode}
-%
-% \begin{macrocode}
- \def\small{%
- \@setfontsize\small\@xipt{14.5pt}%
- \abovedisplayskip 8\p@ \@plus3\p@ \@minus6\p@
- \belowdisplayskip \abovedisplayskip
- \abovedisplayshortskip \z@ \@plus3\p@
- \belowdisplayshortskip 6.5\p@ \@plus3.5\p@ \@minus3\p@
- \def\@listi{%
- \leftmargin\leftmargini
- \topsep 9\p@ \@plus3\p@ \@minus5\p@
- \parsep 4.5\p@ \@plus2\p@ \@minus\p@
- \itemsep \parsep
- }%
-}%
-% \end{macrocode}
-%
-% Same baselineskip as \cmd\small\ ?
-% \begin{macrocode}
- \def\footnotesize{%
- \@setfontsize\footnotesize\@xpt{14.5pt}%
- \abovedisplayskip 10\p@ \@plus2\p@ \@minus5\p@
- \belowdisplayskip \abovedisplayskip
- \abovedisplayshortskip \z@ \@plus3\p@
- \belowdisplayshortskip 6\p@ \@plus3\p@ \@minus3\p@
- \def\@listi{%
- \leftmargin\leftmargini
- \topsep 6\p@ \@plus2\p@ \@minus2\p@
- \parsep 3\p@ \@plus2\p@ \@minus\p@
- \itemsep \parsep
- }%
-}%
-% \end{macrocode}
-%
-% \begin{macrocode}
-\def\scriptsize{%
- \@setfontsize\scriptsize\@viiipt{9.5pt}%
-}%
-\def\tiny{%
- \@setfontsize\tiny\@vipt{7pt}%
-}%
-\def\large{%
- \@setfontsize\large\@xivpt{18pt}%
-}%
-\def\Large{%
- \@setfontsize\Large\@xviipt{22pt}%
-}%
-\def\LARGE{%
- \@setfontsize\LARGE\@xxpt{25pt}%
-}%
-\def\huge{%
- \@setfontsize\huge\@xxvpt{30pt}%
-}%
-\let\Huge=\huge
-% \end{macrocode}
-%
-% \begin{macrocode}
-%</12pt>
-% \end{macrocode}
-%
-% \section{Page parameters}%
-% This code is common to both \classoption{11pt} and \classoption{12pt}.
-%
-% \begin{macrocode}
-%<*11pt|12pt>
-% \end{macrocode}
-%
-% \begin{macrocode}
-\appdef\setup@hook{%
- \twoside@sw{%
- \oddsidemargin 0pt
- \evensidemargin 0pt
- \marginparwidth 60pt
- }{%
- \oddsidemargin 0pt
- \evensidemargin 0pt
- \marginparwidth 44pt
- }%
-}%
-% \end{macrocode}
-%
-% \begin{macrocode}
-\marginparsep 10pt
-% \end{macrocode}
-%
-% \begin{macrocode}
-\topmargin -37pt
-% \end{macrocode}
-%
-% \begin{macrocode}
-\headheight 12pt
-\headsep 25pt
-% \end{macrocode}
-%
-% \changes{4.1n}{2010/01/02}{(AO, 571) class file must set \cs{splittopskip}; fine tune \cs{skip}\cs{footins}; \cs{footnoterule} defined in terms of \cs{skip}\cs{footins}}%
-% \begin{macrocode}
-\topskip 10pt
-\splittopskip\topskip
-% \end{macrocode}
-%
-% \begin{macrocode}
-\footskip 30pt
-% \end{macrocode}
-%
-% \begin{macrocode}
-\textheight=665.5\p@
-% \end{macrocode}
-%
-% \begin{macrocode}
-\appdef\setup@hook{%
- \tightenlines@sw{%
- \def\baselinestretch{1}%
- }{%
- \def\baselinestretch{1.5}%
- }%
-}%
-% \end{macrocode}
-%
-% \begin{macrocode}
-\textwidth 468pt
-% \end{macrocode}
-%
-% \begin{macrocode}
-\columnsep 10pt
-\columnseprule 0pt
-% \end{macrocode}
-%
-% \changes{4.1n}{2010/01/02}{(AO, 571) class file must set \cs{splittopskip}; fine tune \cs{skip}\cs{footins}; \cs{footnoterule} defined in terms of \cs{skip}\cs{footins}}%
-% \begin{macrocode}
-\footnotesep 1pt
-\skip\footins 25.25pt plus 4pt minus 12pt
-\def\footnoterule{%
- \dimen@\skip\footins\divide\dimen@\f@ur
- \kern-\dimen@\hrule width.5in\kern\dimen@
-}%
-% \end{macrocode}
-%
-% \begin{macrocode}
-\floatsep 14pt plus 2pt minus 4pt
-\textfloatsep 20pt plus 2pt minus 4pt
-\intextsep 14pt plus 4pt minus 4pt
-% \end{macrocode}
-%
-% \begin{macrocode}
-\dblfloatsep 14pt plus 2pt minus 4pt
-\dbltextfloatsep 20pt plus 2pt minus 4pt
-% \end{macrocode}
-%
-% \begin{macrocode}
-\@fptop 0pt plus 1fil
-\@fpsep 10pt plus 2fil
-\@fpbot 0pt plus 1fil
-\@dblfptop 0pt plus 1fil
-\@dblfpsep 10pt plus 2fil%
-\@dblfpbot 0pt plus 1fil
-% \end{macrocode}
-%
-% \begin{macrocode}
-\marginparpush 7pt
-% \end{macrocode}
-%
-% \begin{macrocode}
-\parskip 0pt plus 1pt
-\parindent 15pt
-\emergencystretch8\p@
-\partopsep 3pt plus 2pt minus 2pt
-% \end{macrocode}
-%
-% \begin{macrocode}
-\leftmargini 30pt
-\leftmarginii 26pt
-\leftmarginiii 22pt
-\leftmarginiv 20pt
-\leftmarginv 12pt
-\leftmarginvi 12pt
-% \end{macrocode}
-%
-% \begin{macrocode}
-\def\@listI{\leftmargin\leftmargini \parsep 5\p@ plus2.5\p@ minus\p@
- \topsep 10\p@ plus4\p@ minus6\p@
- \itemsep 5\p@ plus2.5\p@ minus\p@
-}%
-% \end{macrocode}
-%
-% \begin{macrocode}
-\labelsep 6pt
-% \end{macrocode}
-%
-% \begin{macrocode}
-\def\@listii{\leftmargin\leftmarginii
- \labelwidth\leftmarginii\advance\labelwidth-\labelsep
- \topsep 5\p@ plus2.5\p@ minus\p@
- \parsep 2.5\p@ plus\p@ minus\p@
- \itemsep \parsep
-}%
-% \end{macrocode}
-%
-% \begin{macrocode}
-\def\@listiii{\leftmargin\leftmarginiii
- \labelwidth\leftmarginiii\advance\labelwidth-\labelsep
- \topsep 2.5\p@ plus\p@ minus\p@
- \parsep \z@ \partopsep \p@ plus\z@ minus\p@
- \itemsep \topsep
-}%
-% \end{macrocode}
-%
-% \begin{macrocode}
-\def\@listiv{\leftmargin\leftmarginiv
- \labelwidth\leftmarginiv\advance\labelwidth-\labelsep
-}%
-% \end{macrocode}
-%
-% \begin{macrocode}
-\def\@listv{\leftmargin\leftmarginv
- \labelwidth\leftmarginv\advance\labelwidth-\labelsep
-}%
-% \end{macrocode}
-%
-% \begin{macrocode}
-\def\@listvi{\leftmargin\leftmarginvi
- \labelwidth\leftmarginvi\advance\labelwidth-\labelsep
-}%
-% \end{macrocode}
-%
-% \begin{macrocode}
-%</11pt|12pt>
-% \end{macrocode}
-%
-% \section{The \classoption{aps} class extension: the \texttt{aps} module}
-% \changes{4.0b}{1999/06/20}{AO: made aps.rtx part of revtex4.dtx}
-% The file \file{aps.rtx} is read in by the \classname{revtex4} document class
-% if \cmd\@society\ has the value \classoption{aps}.
-%
-% Here, code specific to APS journals is separated out from the \revtex\ document class.
-% (Other societies can customize \revtex\ by supplying their own \file{.rtx} file.)
-%
-% This class extension file is a model for a class extension you might write yourself.
-%
-% First, incorporate a \cmd\ProvidesFile\ command with an optional argument giving
-% the version information, e.g.,
-% \begin{verbatim}
-% \ProvidesFile{foo}[2001/09/11 v1.1 Docinfo]%
-% \end{verbatim}
-%
-% Within the society substyle, there are two things we must do as well:
-% define the default journal,
-% \begin{verbatim}
-% \def\@journal@default{pra}%
-% \end{verbatim}
-% And do likewise for the point size:
-% \begin{verbatim}
-% \def\@pointsize@default{10}%
-% \end{verbatim}
-%
-% We first define some text entities (amounting to journal abbreviations),
-% then some APS-specific initialisations,
-% then code for particular APS journals.
-% In the latter case, the choice is
-% keyed off the macro \cmd\@journal.
-%
-% \begin{macrocode}
-%<*aps>
-% \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 APS selected}%
-% \end{macrocode}
-%
-% Here are the class options relating to the APS:
-% \begin{macrocode}
-\DeclareOption{pra}{\change@journal{pra}}%
-\DeclareOption{prb}{\change@journal{prb}}%
-\DeclareOption{prc}{\change@journal{prc}}%
-\DeclareOption{prd}{\change@journal{prd}}%
-\DeclareOption{pre}{\change@journal{pre}}%
-\DeclareOption{prl}{\change@journal{prl}}%
-\DeclareOption{prstab}{\change@journal{prstab}}%
-\DeclareOption{prstper}{\change@journal{prstper}}%
-\DeclareOption{rmp}{\change@journal{rmp}}%
-% \end{macrocode}
-%
-% \subsection{Abbreviations}%
-% \changes{4.1p}{2010/02/24}{(AO, 584) Per MD, remove trailing space character from each journal abbreviation: it had caused an extraneous space in the .bbl}
-% The following macros constitute typing shortcuts for
-% certain journal names.
-% \begin{macrocode}
-\def\ao{Appl.\ Opt.}%
-\def\ap{Appl.\ Phys.}%
-\def\apl{Appl.\ Phys.\ Lett.}%
-\def\apj{Astrophys.\ J.}%
-\def\bell{Bell Syst.\ Tech.\ J.}%
-\def\jqe{IEEE J.\ Quantum Electron.}%
-\def\assp{IEEE Trans.\ Acoust.\ Speech Signal Process.}%
-\def\aprop{IEEE Trans.\ Antennas Propag.}%
-\def\mtt{IEEE Trans.\ Microwave Theory Tech.}%
-\def\iovs{Invest.\ Ophthalmol.\ Vis.\ Sci.}%
-\def\jcp{J.\ Chem.\ Phys.}%
-\def\jmo{J.\ Mod.\ Opt.}%
-\def\josa{J.\ Opt.\ Soc.\ Am.}%
-\def\josaa{J.\ Opt.\ Soc.\ Am.\ A}%
-\def\josab{J.\ Opt.\ Soc.\ Am.\ B}%
-\def\jpp{J.\ Phys.\ (Paris)}%
-\def\nat{Nature (London)}%
-\def\oc{Opt.\ Commun.}%
-\def\ol{Opt.\ Lett.}%
-\def\pl{Phys.\ Lett.}%
-\def\pra{Phys.\ Rev.\ A}%
-\def\prb{Phys.\ Rev.\ B}%
-\def\prc{Phys.\ Rev.\ C}%
-\def\prd{Phys.\ Rev.\ D}%
-\def\pre{Phys.\ Rev.\ E}%
-\def\prl{Phys.\ Rev.\ Lett.}%
-\def\rmp{Rev.\ Mod.\ Phys.}%
-\def\pspie{Proc.\ Soc.\ Photo-Opt.\ Instrum.\ Eng.}%
-\def\sjqe{Sov.\ J.\ Quantum Electron.}%
-\def\vr{Vision Res.}%
-% \end{macrocode}
-%
-% \subsection{APS Setup}%
-% Here we define the default procedures for APS journals.
-% Individual APS journals may override these definitions.
-%
-% \subsubsection{Title block}%
-%
-% The specifics of the title block.
-% Apply to all APS journals; individual journals may override these settings.
-%
-% \begin{macro}{\@fnsymbol}
-% The \LaTeX\ kernel definition of \cmd\@fnsymbol\ is overridden.
-% The definition in \filename{fixltx2e.sty} serves as a guide to the new way to symbol,
-% working in both text- and math modes.
-%
-% \filename{fixltx2e.sty} duplicates some features of \filename{ltxgrid} and \filename{ltxutil},
-% however, so it may be incompatible with \revtex.
-% In case it is not loaded, we must provide a meaning for \cmd\TextOrMath,
-% which that package makes robust.
-% I believe that it is \cmd\@fnsymbol\ itself that ought to be robustified.
-% e\TeX\ further complicates matters; we do not especially accomodate it.
-%
-% \changes{4.1d}{2009/03/27}{Definition of \cs{ @fnsymbol} follows fixltx2e.sty}
-%
-% Not! \cmd\TextOrMath\ must be made robust in any case (Bug 530). I return things to follow
-% core \LaTeXe\ (\filename{latex.ltx}).
-% \changes{4.1f}{2009/10/05}{(AO, 530) \cs{@fnsymbol}: Failed to import fixltx2e.sty technology. Return to LaTeX core.}
-% \begin{macrocode}
-\def\@fnsymbol#1{%
- \ensuremath{%
- \ifcase#1\or
- *\or
- \dagger\or
- \ddagger\or
- \mathsection\or
- \mathparagraph\or
-% \|\or
- **\or
- \dagger\dagger\or
- \ddagger\ddagger\else
- \mathsection\mathsection\or
- \mathparagraph\mathparagraph\or
- ***\or
- \dagger\dagger\dagger\or
- \ddagger\ddagger\ddagger\else
- \mathsection\mathsection\mathsection\or
- \mathparagraph\mathparagraph\mathparagraph\or
-%
- \@ctrerr
- \fi
- }%
-}%
-\appdef\document@inithook{%
- \@ifxundefined\TextOrMath{%
- \DeclareRobustCommand\TextOrMath{\@ifmmode{\false@sw}{\true@sw}}%
- }{}%
-}%
-\let\thefootnote@latex\thefootnote
-% \end{macrocode}
-% \end{macro}
-%
-% We assign the default titlepage style for APS; a journal or document instance
-% may override by invoking one of the other \cmd\clo@... procedures defined in \revtex.
-% \begin{macrocode}
-\clo@groupedaddress
-% \end{macrocode}
-%
-% \begin{macro}{\titlepage}
-% \begin{macrocode}
-\renewenvironment{titlepage}{%
- \let\wastwocol@sw\twocolumn@sw
- \onecolumngrid
- \newpage
- \thispagestyle{titlepage}%
- \c@page\z@
-% \end{macrocode}
-% A comment: ``article.cls sets this to one not zero?''
-% \begin{macrocode}
-}{%
- \wastwocol@sw{\twocolumngrid}{\newpage}%
-}%
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\frontmatter@abstractheading}
-% APS Journals all set the abstract head the same way, with no head.
-% However, if the user has specified the \classoption{preprint} class option,
-% then the abstract will have a head.
-% \begin{macrocode}
-\def\frontmatter@abstractheading{%
- \preprintsty@sw{%
- \begingroup
- \centering\large
- \abstractname
- \par
- \endgroup
- }{}%
-}%
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\frontmatter@abstractwidth}
-% All APS journals set the abstract to the same width.
-% \begin{macrocode}
-\def\frontmatter@abstractwidth{400\p@}%
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\frontmatter@abstractfont}
-% All APS journals set the abstract body the same way.
-% \changes{4.0c}{1999/11/13}{(AO, 123) add parskip to the abstract.}
-% \changes{4.1e}{2008/06/29}{(AO, 455) be nice to a list within the abstract}
-% \begin{macrocode}
-\def\frontmatter@abstractfont{%
- \small
- \parindent1em\relax
- \adjust@abstractwidth
-}%
-\def\adjust@abstractwidth{%
- \dimen@\textwidth\advance\dimen@-\frontmatter@abstractwidth
- \divide\dimen@\tw@
- \galley@sw{%
- \advance\rightskip\tw@\dimen@
- }{%
- \advance\leftskip\dimen@
- \advance\rightskip\dimen@
- }%
- \@totalleftmargin\leftskip
-}%
-% \end{macrocode}
-% \end{macro}
-%
-% All APS journal preprints use separate titlepage and full-width abstract.
-%
-% In effect, we establish a society default value for \cmd\preprintsty@sw,
-% and for \cmd\titlepage@sw.
-% \begin{macrocode}
-\@booleanfalse\preprintsty@sw
-\@booleantrue\titlepage@sw
-% \end{macrocode}
-%
-% We choose the page style for all APS journals.
-% The journal may override by inserting its own code in \cmd\setup@hook.
-% Users wishing to customize their documents will be able to invoke a \cmd\pagestyle\
-% command anywhere in the preamble; it will override the assignments here.
-%
-% Here is the big switch for APS preprints. Note that \cmd\preprintsty@sw
-% is also consulted in various procedures, but we assume its value does
-% not change after \cmd\setup@hook\ time.
-% \begin{macrocode}
-\appdef\setup@hook{%
- \preprintsty@sw{%
- \ps@preprint
- \def\frontmatter@abstractwidth{\textwidth}%
- \def\frontmatter@affiliationfont{\it}%
- \let\section\section@preprintsty
-% \end{macrocode}
-% The following line of code had been commented out at this point.
-% \begin{verbatim}
-% \let\@hangfrom@section\@hangfrom@section@preprintsty
-% \end{verbatim}
-% \begin{macrocode}
- \let\subsection\subsection@preprintsty
- \let\subsubsection\subsubsection@preprintsty
- }{%
- \ps@article
- }%
-}%
-% \end{macrocode}
-%
-% \begin{macro}{\frontmatter@authorformat}
-% All APS 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@authorformat{%
- \skip@\@flushglue
- \@flushglue\z@ plus.3\hsize\relax
- \centering
- \advance\baselineskip\p@
- \parskip11.5\p@\relax
- \@flushglue\skip@
-% \end{macrocode}
-% The following line of code had been commented out at this point.
-% \begin{verbatim}
-%\preprintsty@sw{}{%
-% \addvspace{0\p@}%
-%}%
-% \end{verbatim}
-% \begin{macrocode}
-}%
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\frontmatter@above@affilgroup}
-% The default amount of space above affiliation.
-% APS Journals have 24 points b-b above an affiliation group.
-% \begin{macrocode}
-\def\frontmatter@above@affilgroup{%
-% \end{macrocode}
-% The following line of code had been commented out at this point.
-% \begin{verbatim}
-%\preprintsty@sw{}{%
-% \addvspace{11\p@}%
-%}%
-% \end{verbatim}
-% \begin{macrocode}
-}%
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\frontmatter@above@affiliation}
-% \begin{macro}{\frontmatter@above@affiliation@script}
-% The default amount of space above affiliation.
-% APS Journals have no extra space between author group down to common affiliation.
-% \begin{macrocode}
-\def\frontmatter@above@affiliation@script{%
- \skip@\@flushglue
- \@flushglue\z@ plus.3\hsize\relax
- \centering
- \@flushglue\skip@
- \addvspace{3.5\p@}%
-}%
-\def\frontmatter@above@affiliation{%
- \preprintsty@sw{}{%
-% \end{macrocode}
-% The following line of code had been commented out at this point.
-% \begin{verbatim}
-% \addvspace{12\p@}%
-% \end{verbatim}
-% \begin{macrocode}
- }%
-}%
-% \end{macrocode}
-% \end{macro}
-% \end{macro}
-%
-% \begin{macro}{\frontmatter@affiliationfont}
-% All APS journals set the affiliation the same.
-% \begin{macrocode}
-\def\frontmatter@affiliationfont{%
- \small\it
-}%
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\frontmatter@collaboration@above}
-% PRL: 1.5 points extra: 13 points base-to-base above.
-% \begin{macrocode}
-\def\frontmatter@collaboration@above{%
- \preprintsty@sw{%
- }{%
- \parskip1.5\p@\relax
- }%
-}%
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\frontmatter@setup}
-% All APS 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 APS journals set the article title the same.
-%
-% Note: Spacing from title to author is 23 points base-to-base.
-% \begin{macrocode}
-\def\frontmatter@title@above{\addvspace{6\p@}}%
-\def\frontmatter@title@format{\large\bfseries\centering\parskip\z@skip}%
-\def\frontmatter@title@below{}%
-% \end{macrocode}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-%
-% \begin{macro}{\frontmatter@makefnmark}
-% All APS journals share this procedure for setting the titlepage footnote text.
-% \begin{macrocode}
-\def\@author@parskip{3\p@}%
-\def\frontmatter@makefnmark{%
- \@textsuperscript{%
- \normalfont\@thefnmark
- }%
-}%
-\def\frontmatter@authorbelow{%
- \addvspace{3\p@}%
-}%
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\frontmatter@RRAP@format}
-% All APS 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{%
- \small
- \centering
-% \end{macrocode}
-% The following line of code had been commented out at this point.
-% \begin{verbatim}
-% \preprintsty@sw{}{\parskip.5ex\relax}%
-% \end{verbatim}
-% \begin{macrocode}
- \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
- \parindent\z@
- \parskip\z@skip
- \samepage
-}%
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\frontmatter@keys@format}
-%
-% \begin{macrocode}
-\def\frontmatter@keys@format{%
- \footnotesize
- \adjust@abstractwidth
- \parindent\z@
- \samepage
-}%
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\ps@titlepage}
-% \changes{4.0a}{1998/06/10}{multiple preprint commands}
-% \changes{4.0b}{1999/06/20}{Stack \cs{preprint} args flush right at right margin.}
-% Title page style. Currently empty except for preprint header,
-% which consists of all the \cmd\preprint\ arguments,
-% stacked flush right at the right margin.
-% \changes{4.0c}{1999/11/13}{Insert procedure \cs{checkindate}}
-% \begin{macrocode}
-\def\ps@titlepage{%
- \def\@oddhead{%
- \hfill
- \preprint@sw{%
- \expandafter\produce@preprints\expandafter{\@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}{}}%
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\produce@preprints}
-% \changes{4.0c}{1999/11/13}{(AO, 115) If three or more preprints specified, set on single line, with commas.}
-% \begin{macrocode}
-\def\produce@preprints#1{%
- \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{Stacked Heads}%
-% All APS 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\bfseries
- \centering
- }%
-}%
-\def\@hangfrom@section#1#2#3{\@hangfrom{#1#2}\MakeTextUppercase{#3}}%
-\def\@hangfroms@section#1#2{#1\MakeTextUppercase{#2}}%
-% \end{macrocode}
-%
-% \begin{macrocode}
-\def\subsection{%
- \@startsection
- {subsection}%
- {2}%
- {\z@}%
- {.8cm \@plus1ex \@minus .2ex}%
- {.5cm}%
- {%
- \normalfont\small\bfseries
- \centering
- }%
-}%
-% \end{macrocode}
-%
-% \begin{macrocode}
-\def\subsubsection{%
- \@startsection
- {subsubsection}%
- {3}%
- {\z@}%
- {.8cm \@plus1ex \@minus .2ex}%
- {.5cm}%
- {%
- \normalfont\small\itshape
- \centering
- }%
-}%
-% \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\small\bfseries
-% \centering
- }%
-}%
-%\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\small\bfseries
-% \centering
- }%
-}%
-% \end{macrocode}
-% \begin{macrocode}
-\def\subsubsection@preprintsty{%
- \@startsection
- {subsubsection}%
- {3}%
- {\z@}%
- {.8cm \@plus1ex \@minus .2ex}%
- {.5cm}%
- {%
- \normalfont\small\itshape
-% \centering
- }%
-}%
-% \end{macrocode}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-%
-% By default, APS journals set titlepage notes as footnotes.
-% \begin{verbatim}
-\let\frontmatter@footnote@produce\frontmatter@footnote@produce@footnote
-% \end{verbatim}
-%
-% \subsubsection{Table of Contents}%
-% The toc will itself make an entry in the toc,
-% but we temporarily turn off toc formatting for the duration.
-% \changes{4.1a}{2008/01/19}{(AO, 461) Change the csname revtex uses from @dotsep to ltxu@dotsep. The former is understood in mu. (What we wanted was a dimension.)}%
-% \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}
-%
-% The following definition of \cmd\l@part\ is a variant on
-% the definition of \cmd\l@@sections\ in \file{ltxutil.dtx}.
-% \begin{macrocode}
-\def\l@part#1#2{\addpenalty{\@secpenalty}%
- \begingroup
- \set@tocdim@pagenum\@tempboxa{#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\@tempboxa}\hskip-\rightskip\hskip\z@skip
- \par
- \nobreak %
- \endgroup
-}%
-% \end{macrocode}
-%
-% \begin{macro}{\l@section}
-% Determine which TOC elements are automatically indented.
-%
-% We set the TOC to the standard of RMP.
-% If APS has its own specification, we will code it, and RMP must override.
-% \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}
-%
-% \subsubsection{Default column bottom}%
-% All APS journal styles have flush bottoms.
-%\changes{4.1n}{2009/11/30}{(AO, 566) restore 4.0 behavior: flush column 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 APS 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}%
-% \changes{4.1n}{2010/01/02}{(AO, 572) \cs{@makefntext} and \cs{frontmatter@makefntext} must be defined harmoniously}%
-% We customize the formatting of footnotes for all APS journals.
-% \begin{macro}{\@makefntext}
-% \begin{macrocode}
-\long\def\@makefntext#1{%
- \def\baselinestretch{1}%
- \leftskip1em%
- \parindent1em%
- \noindent
- \nobreak\hskip-\leftskip
- \hb@xt@\leftskip{%
- \hss\@makefnmark\ %
- }%
- #1%
- \par
-}%
-% \end{macrocode}
-% \end{macro}
-% \begin{macro}{\frontmatter@makefntext}
-% We ensure that frontmatter footnotes format similarly to body footnotes.
-% But we provide our own hypertext anchor, otherwise not provided.
-% \changes{4.1n}{2010/01/02}{(AO, 572) Independent footnote counter for title block. Abstract footnote counter shared with body.}%
-% \begin{macrocode}
-\long\def\frontmatter@makefntext#1{%
- \def\baselinestretch{1}%
- \leftskip1em%
- \parindent1em%
- \noindent
- \nobreak\hskip-\leftskip
- \Hy@raisedlink{\hyper@anchorstart{frontmatter.\expandafter\the\csname c@\@mpfn\endcsname}\hyper@anchorend}%
- \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}
-% \changes{4.0c}{1999/11/13}{(AO, 129) section* within appendix was producing appendixname}
-% \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}%
-% \changes{4.1n}{2010/01/04}{(AO, 576) In .bst files, remove support for the annote field}%
-%
-% Customize \revtex\ for the journal substyle;
-% this task requires three components:
-% the \BibTeX\ \file{apsrev.bst} and \file{apsrmp.bst} style files, and
-% customizations of the \env{thebibliography} environment.
-%
-% \begin{macro}{\@bibstyle}
-% Define the argument of the \cmd\bibliographystyle\ command
-% (if the document does not do so).
-% 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.
-%
-% To generate \file{apsrev.bst}, 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:
-%
-% \def\QandA#1#2#3{\item#1: \textbf{#2}: \texttt{#3}---}%
-% \def\CandE#1{\item\relax\texttt{#1}---}%
-% \begin{enumerate}
-% \QandA{LANGUAGE FIELD}{l}{lang}Use language field to switch hyphenation patterns for title
-% \QandA{PRESENTATIONS}{b}{pres,pres-bf}Presentation, speaker bold face
-% \QandA{ORDERING OF REFERENCES}{c}{seq-no}Citation order (unsorted, like unsrt.bst)
-% \QandA{ORDER ON VON PART}{x}{vonx}Sort without von part (de la Maire after Mahone)
-% \QandA{AUTHOR NAMES}{i}{nm-init,ed-au}Initials + surname (J. F. Smith)
-% \QandA{POSITION OF JUNIOR}{*}{jnrlst}Junior comes last as Smith, John, Jr.
-% \QandA{TYPEFACE FOR AUTHORS IN LIST OF REFERENCES}{u}{nmft,nmft-def}User defined author font (\cmd\bibnamefont)
-% \QandA{FONT FOR FIRST NAMES}{u}{fnm-def}First names in user defined font (\cmd\bibfnamefont)
-% \QandA{EDITOR NAMES IN INCOLLECTION ETC}{a}{nmfted}Editors incollection like authors font
-% \QandA{FONT FOR `AND' IN LIST}{r}{nmand-rm}`And' in normal font (JONES and JAMES)
-% \QandA{FONT OF CITATION LABELS IN TEXT}{u}{lab,lab-def}User defined citation font (\cmd\citenamefont)
-% \QandA{FONT FOR `AND' IN CITATIONS}{r}{and-rm}Cited `and' in normal font
-% \QandA{DATE FORMAT}{*}{yr-par}Date in parentheses as (May 1993)
-% \QandA{DATE EMPTY}{-}{date-nil-x}If date is empty, then do not produce the surrounding punctuation (parens, brackets, colon, comma)
-% \QandA{TITLE OF ARTICLE}{d}{tit-qq}Title and punctuation in double quotes (``Title,'' ..)
-% \QandA{INPROCEEDINGS CHAPTER AND PAGES, LIKE INBOOK}{-}{inproceedings-chapter}produce pages after chapter, just as in InBook
-% \QandA{TITLE PRESENT IN ARTICLE, INCOLLECTION, AND INPROCEEDINGS}{x}{jtit-x}Title is ignored
-% \QandA{INPROCEEDINGS CHAPTER AND PAGES, LIKE INBOOK}{y}{inproceedings-chapter}produce pages after chapter, just as in InBook
-% \QandA{ARTICLE BOOKTITLE PRESENT}{}{article-booktitle}format booktitle
-% \QandA{ARTICLE SERIES PRESENT}{}{article-series}article can has series
-% \QandA{JOURNAL NAME FONT}{r}{jttl-rm}Journal name normal font
-% \QandA{JOURNAL NAME WITH ADDRESS}{y}{journal-address}Include address field (in parentheses) along with journal name
-% \QandA{BOOK TITLE FIELDS}{y}{book-bt}Field `booktitle', or if absent field `title', is book title
-% \QandA{THESIS TITLE OPTIONAL}{}{thesis-title-o}Title is optional: no warning issued if empty
-% \QandA{TECHNICAL REPORT TITLE}{b}{trtit-b}Tech. report title like books
-% \QandA{TECHNICAL REPORT INSTITUTION}{}{techreport-institution-par}format tech report institution like book publisher
-% \QandA{JOURNAL VOLUME}{b}{vol-bf}Volume bold as {\bf vol}(num)
-% \QandA{JOURNAL VOL AND NUMBER}{x}{vnum-x}Journal vol, without number as 34
-% \QandA{VOLUME PUNCTUATION}{c}{volp-com}Volume with comma as vol(num), ppp
-% \QandA{PAGE NUMBERS}{f}{jpg-1}Only start page number
-% \QandA{BOOK EDITOR W/O AUTHOR}{}{book-editor-booktitle}Book permits empty author, produces title before editor in this case
-% \QandA{INBOOK PERMITS TITLE, BOOKTITLE, AUTHOR, EDITOR}{a}{inbook-editor-booktitle}Allow using both title/booktitle, both author/editor
-% \QandA{CONFERENCE ADDRESS FOR BOOK, INBOOK, INCOLLECTION, INPROCEEDINGS, PROCEEDINGS}{a}{bookaddress}Italic booktitle followed by bookaddress in roman
-% \QandA{NUMBER AND SERIES FOR BOOK, INBOOK, INCOLLECTION, INPROCEEDINGS, PROCEEDINGS}{*}{num-xser}Allows number without series and suppresses word "number"
-% \QandA{WORD NUMBER CAPITALIZED FOR NUMBER AND SERIES}{c}{number-cap}Capitalize word `number' as: "Number 123"
-% \QandA{WORD CHAPTER CAPITALIZED}{c}{chapter-cap}Capitalize word `chapter' as: `Chapter 42'
-% \QandA{COMBINING NUMBER AND SERIES}{x}{series-number}Series number as: `Springer Lecture Notes No. 125'
-% \QandA{POSITION OF NUMBER AND SERIES}{b}{numser-booktitle}After book title and conference address, and before editors
-% \QandA{VOLUME AND SERIES FOR BOOKS/COLLECTIONS}{s}{ser-vol}Series, vol. 23
-% \QandA{VOLUME AND SERIES FORMATTING}{y}{ser-rm}format series roman , even when used with volume
-% \QandA{WORD VOLUME CAPITALIZED FOR VOLUME AND SERIES}{y}{volume-cap}Capitalize word `volume', as: `Volume 7 in Lecture Series'
-% \QandA{POSITION OF VOLUME AND SERIES FOR INCOLLECTION, INBOOK, AND INPROCEEDINGS}{e}{ser-ed}Series and volume after booktitle and before editors
-% \QandA{JOURNAL NAME PUNCTUATION}{x}{jnm-x}Space after journal name
-% \QandA{PAGES IN BOOK}{*}{pg-bk,book-chapter-pages}As chapter and page: chapter 42, page 345
-% \QandA{PUBLISHER IN PARENTHESES}{d}{pub-date}Publisher with address and date in parentheses (Oxford, 1994)
-% \QandA{EMPTY PUBLISHER PARENTHESES}{y}{ay-empty-pub-parens-x}eliminate parentheses altogether if nothing inside
-% \QandA{PUBLISHER POSITION}{}{pre-pub}Publisher before volume, chapter, pages
-% \QandA{}{}{pre-edn}Edition before publisher
-% \QandA{}{p}{pre-pub,pre-edn}Edition, publisher, volume, chapter, pages
-% \QandA{ISBN NUMBER}{*}{isbn}Include ISBN for books, booklets, etc.
-% \QandA{ISSN NUMBER}{*}{issn}Include ISSN for periodicals
-% \QandA{DOI NUMBER}{a}{doi-link,doi}Doi forms a link to the publication, anchored to the volume or title
-% \QandA{EDITOR IN COLLECTIONS}{b}{edby}In booktitle, edited by .. (where .. is names)
-% \QandA{PUNCTUATION BETWEEN SECTIONS (BLOCKS)}{c}{blk-com}Comma between blocks
-% \QandA{FINAL PUNCTUATION}{c}{fin-endbibitem}Command at end instead of period
-% \QandA{ABBREVIATE WORD `PAGES'}{a}{pp}`Page' abbreviated as p. or pp.
-% \QandA{ABBREVIATE WORD `EDITORS'}{a}{ed}`Editor' abbreviated as ed. or eds.
-% \QandA{OTHER ABBREVIATIONS}{a}{abr}Abbreviations of such words
-% \QandA{ABBREVIATION FOR `EDITION'}{a}{ednx}`Edition' abbreviated as `ed'
-% \QandA{EDITION NUMBERS}{n}{ord}Numerical editions as 1st, 2nd, 3rd, etc
-% \QandA{STORED JOURNAL NAMES}{a}{jabr}Abbreviated journal names
-% \QandA{FONT OF `ET AL'}{i}{etal-it}Italic et al
-% \QandA{ADDITIONAL REVTeX DATA FIELDS}{r}{revdata,eprint,url,url-blk,translation}Include REVTeX data fields collaboration, eid, eprint, archive, url, translation
-% \QandA{SLACcitation FIELD}{}{SLACcitation}Produce SLACcitation field
-% \QandA{NUMPAGES DATA FIELD}{*}{numpages-x}Do not include numpages field
-% \QandA{URL ADDRESS}{*}{url,url-prefix-x}URL without prefix (default: `URL ')
-% \QandA{REFERENCE COMPONENT TAGS}{b}{bibinfo}Reference component tags like \cmd\bibinfo in the content of \cmd\bibitem
-% \QandA{ELEMENT TAGS}{b}{bibfield}Element tags like \cmd\bibfield in the content of \cmd\bibitem
-% \QandA{COMPATIBILITY WITH PLAIN TEX}{*}{nfss}Use LaTeX commands which may not work with Plain TeX
-% \end{enumerate}
-%
-% A file \file{apsrev.dbj} file equivalent to the following should result:
-% \begin{verbatim}
-%\input docstrip
-%\preamble
-%----------------------------------------
-%*** REVTeX-compatible Phys Rev 2010-02-12 ***
-%\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{%
-% ay,%: Author-year with some non-standard interface
-% nat,%: Natbib for use with natbib v5.3 or later
-% lang,%: Use language field to switch hyphenation patterns for title
-% pres,pres-bf,%: Presentation, speaker bold face
-% seq-no,%: Citation order (unsorted, only meaningful for numericals)
-% vonx,%: Sort without von part (de la Maire after Mahone)
-% nm-init,ed-au,%: Initials + surname (J. F. Smith)
-% jnrlst,%: Junior comes last as Smith, John, Jr.
-% 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
-% keyxyr,%: Year blank when KEY replaces missing author (for natbib 7.0)
-% blkyear,%: Missing date left blank
-% yr-par,%: Year in parentheses as (1993)
-% dtrev,%: Date as year month
-% 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
-% trtit-b,%: Tech. report title like books
-% 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,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{apsrev4-1.bst}{\MBopts}}
-%\endbatchfile
-% \end{verbatim}
-%
-% \subsubsection{Comparing apsrev.bst and apsrmp.bst}\label{sec:CompRevRmp}
-% These two bibliographic styles differ as follows:
-% \file{apsrev.dbj} has the following guard codes, which \file{apsrmp.dbj} does not:
-% \begin{itemize}
-% \CandE{seq-no}%
-% Citation order (unsorted, like unsrt.bst)
-% \CandE{nm-init,ed-au}%
-% Initials + surname (J. F. Smith)
-% \CandE{blkyear}%
-% Missing date left blank
-% \CandE{date-nil-x}%
-% If date is empty, then do not produce the surrounding punctuation (parens, brackets, colon, comma)
-% \CandE{inproceedings-chapter}%
-% produce pages after chapter, just as in InBook
-% \CandE{techreport-institution-par}%
-% format tech report institution like book publisher
-% \CandE{vnum-x}%
-% Journal vol, without number as `34'
-% \CandE{pub-date}%
-% Publisher with address and date in parentheses (Oxford, 1994)
-% \CandE{pre-pub}%
-% Edition, publisher, volume, chapter, pages. Note that both use guard code pre-edn.
-% \end{itemize}
-%
-% \file{apsrmp.dbj} has the following guard codes, which \file{apsrev.dbj} does not:
-% \begin{itemize}
-% \CandE{nm-rev1}%
-% Only first name reversed, initials (AGU style: Smith, J. F., H. K. Jones)
-% \CandE{dt-beg}%
-% Date after authors
-% \CandE{vnum-sp}%
-% Journal vol (num) as `34 (2)'
-% \CandE{pp-last}%
-% Pages at end, but before any notes
-% \CandE{pub-par}%
-% Publisher in parentheses
-% \CandE{school-par}%
-% School/address in parens: `(school, address)'
-% \CandE{bkedcap}%
-% `Name Editor,' as above, editor upper case
-% \CandE{and-com}%
-% Comma even with 2 authors as `Tom, and Harry'
-%
-% \end{itemize}
-%
-% We ensure that the journal substyle has the first word
-% in the matter by installing the (default) APS code
-% later on (see Section~\ref{sec:aps-defaults}).
-% \end{macro}
-%
-% \begin{macro}{\authoryear@sw}
-% \changes{4.1a}{2008/01/18}{(AO, 457) Endnotes to be sorted in with numerical citations.}%
-% Numerical citations: default value of \cmd\authoryear@sw\ is false.
-% \begin{macrocode}
-\@booleanfalse\authoryear@sw
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\bibpunct}
-% The following commands effectively establish the style in which \cmd\cite\ commands are
-% formatted.
-% You can think of them as the second needed component for the bibliography.
-%
-% Set up for APS numerical citations (once the packages are loaded).
-% The journal substyle can override these choices.
-%
-% Note that, prior to \classname{natbib} version 8.21, changing \cmd\NAT@sort\ at this late hour would not be totally effective;
-% you would have to give \classname{natbib} the relevant options at load time.
-% From version 8.21 on, \cmd\NAT@sort\ and \cmd\NAT@cmprs\ are not bound at all.
-% \changes{4.1a}{2008/01/19}{For natbib versions before 8.21, \cs{NAT@sort} was consulted only as natbib was being read in. Now it is fully dynamic.}
-% \begin{macrocode}
-\appdef\setup@hook{%
- \bibpunct{[}{]}{,}{n}{}{,}%
-}%
-% \end{macrocode}
-% \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.
-%
-% \changes{4.0rc1}{2001/06/18}{grid changes with push and pop}
-% \begin{macrocode}
-\appdef\setup@hook{%
- \def\bibsection{%
- \par
- \onecolumngrid@push
- \begingroup
- \baselineskip26\p@
- \bib@device{\textwidth}{245.5\p@}%
- \endgroup
- \nobreak\@nobreaktrue
- \addvspace{19\p@}%
- \par
- \onecolumngrid@pop
- }%
-}%
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\bib@device}
-% \begin{macro}{\bibpreamble}
-% \begin{macro}{\bibsep}
-% \begin{macro}{\newblock}
-% We define the sectioning command to use when starting the bibliography.
-% \begin{macrocode}
-\def\bib@device#1#2{%
- \hb@xt@\z@{%
- \hb@xt@#1{%
- \hfil
- \phantomsection
- \addcontentsline {toc}{section}{\protect\numberline{}\refname}%
-% \hyper@anchorstart {\@currentHref }%
- \hb@xt@#2{%
- \skip@\z@\@plus-1fil\relax
- \leaders\hrule height.25 \p@ depth.25 \p@ \hskip\z@\@plus1fil
- \hskip\skip@
- \hskip\z@\@plus0.125fil\leaders\hrule height.375\p@ depth.375\p@ \hskip\z@\@plus0.75fil \hskip\z@\@plus0.125fil
- \hskip\skip@
- \hskip\z@\@plus0.25 fil\leaders\hrule height.5 \p@ depth.5 \p@ \hskip\z@\@plus0.5 fil \hskip\z@\@plus0.25 fil
- \hskip\skip@
- \hskip\z@\@plus0.375fil\leaders\hrule height.625\p@ depth.625\p@ \hskip\z@\@plus0.25fil \hskip\z@\@plus0.375fil
- % \hskip\skip@
- % \hfil
- }%
-% \hyper@anchorend
- \hfil
- }%
- \hss
- }%
-}%
-\appdef\setup@hook{%
- \let\bibpreamble\@empty
- \bibsep\z@\relax
- \def\newblock{\ }%
-}%
-% \end{macrocode}
-% \end{macro}
-% \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{%
- \small
- \@clubpenalty\clubpenalty
- }%
-}%
-% \end{macrocode}
-% \end{macro}
-%
-%
-% \subsubsection{Index}%
-% FIXME: the following call to \cmd\twocolumn\ appears wrong if we were in two-column grid.
-% \changes{4.0c}{1999/11/13}{grid changes with ltxgrid}
-% \changes{4.0rc1}{2001/06/18}{grid changes with push and pop}
-% \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
-}{%
-%\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}
-%
-%
-% \subsection{Journal- and Pointsize-Specific Code}%
-%
-% After this substyle is read in, we will execute the code specific to the selected
-% journal: execute the society/journal \file{.rtx} file if it exists, or
-% execute the society/journal macro (if the latter is not defined, it will \cmd\relax\ out).
-% Here we define the default journal.
-% \begin{macrocode}
-\def\@journal@default{pra}%
-% \end{macrocode}
-%
-% \subsection{Typesize-Specific Code}%
-%
-% After this society file is read in, we will process the \cmd\@pointsize-specific
-% code. Here we define the default.
-% \begin{macrocode}
-\def\@pointsize@default{10}%
-% \end{macrocode}
-%
-% Note: the convention in \revtex\ and its substyles is that
-% the substyle must not override any explicit class options
-% declared by the document.
-% This means that the various Booleans of Section~\ref{sec:options}
-% may be assigned here only if they are still undefined at this point.
-%
-% For the APS, we supply code specific to journals PRA, PRB, PRC, PRD, PRE, PRL, and RMP.
-% At present, they are identical,
-% with the exception of PRB and RMP.
-%
-% For most all of the APS journals, the journal-dependent
-% code is relatively meager and is therefore embedded in this file.
-% However, the RMP code is sufficiently extensive that
-% splitting it out into a separate file is more convenient.
-%
-% \subsubsection{\classoption{pra}}%
-% There is no code specific to \classoption{pra}.
-% \begin{macrocode}
-\def\rtx@apspra{%
- \class@info{APS journal PRA selected}%
-}%
-% \end{macrocode}
-%
-% \subsubsection{\classoption{prb}}%
-% We define a \cmd\citealp-like procedure that uses a numerical citation; it is for use in
-% the PRB journal.
-% \begin{macrocode}
-\def\rtx@apsprb{%
- \class@info{APS journal PRB selected}%
-% \end{macrocode}
-% PRB requires superscript citations.
-% We use Patrick Daly's \classname{natbib} package,
-% and hyperref and other packages are already set up to cope with this.
-%
-% \begin{macro}{\bibpunct}
-% By default, PRB selects the \classoption{bibnotes} option.
-% We also set up for numerical citations.
-% \begin{macrocode}
- \let\frontmatter@footnote@produce\frontmatter@footnote@produce@endnote
- \appdef\setup@hook{%
- \bibpunct{}{}{,}{s}{}{\textsuperscript{,}}%
- \let\onlinecite\rev@citealpnum
- }%
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\pre@bibdata}
-% \begin{macro}{\@endnotetext}
-% \changes{4.1a}{2008/01/18}{(AO, 457) Endnotes to be sorted in with numerical citations.}%
-%
-% 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}
-% \end{macro}
-%
-% Invoke \classoption{superbib} option.
-% If the document makes a selection of its own, it will override this assignment.
-% \begin{macrocode}
- \let\place@bibnumber\place@bibnumber@sup
-% \end{macrocode}
-%
-% End of \classoption{prb} code.
-% \begin{macrocode}
-}%
-% \end{macrocode}
-%
-% \subsubsection{\classoption{prc}}%
-% There is no code specific to \classoption{prc}.
-% \begin{macrocode}
-\def\rtx@apsprc{%
- \class@info{APS journal PRC selected}%
-}%
-% \end{macrocode}
-%
-% \subsubsection{\classoption{prd}}%
-% There is no code specific to \classoption{prd}.
-% \begin{macrocode}
-\def\rtx@apsprd{%
- \class@info{APS journal PRD selected}%
-}%
-% \end{macrocode}
-%
-% \subsubsection{\classoption{pre}}%
-% There is no code specific to \classoption{pre}.
-% \begin{macrocode}
-\def\rtx@apspre{%
- \class@info{APS journal PRE selected}%
-}%
-% \end{macrocode}
-%
-% \subsubsection{\classoption{prl}}%
-% \begin{macrocode}
-\def\rtx@apsprl{%
- \class@info{APS journal PRL selected}%
-% \end{macrocode}
-% In PRL, the default is the \classoption{bibnotes} option,
-% and the Acknowledgments section has no head.
-%
-% The References head is a device that may be described as a lozenge centered on the baseline,
-% 71 points wide by 2 points thick, with the ends tapering to a half point in thickness.
-% Space above 26 points base to base, below 31 base to base.
-%FIXME: this code may confound \classname{geometry}
-% \begin{macrocode}
- \let\frontmatter@footnote@produce\frontmatter@footnote@produce@endnote
- \@booleanfalse\acknowledgments@sw
- \appdef\setup@hook{%
- \def\bibsection{%
- \par
- \begingroup
- \baselineskip26\p@
- \bib@device{\hsize}{72\p@}%
- \endgroup
- \nobreak\@nobreaktrue
- \addvspace{19\p@}%
- }%
- }%
-% \end{macrocode}
-% Implement length checking.
-% Use the \classname{times} and \classname{mathtime} packages,
-% plus whatever other processing is required
-% to make the formatted output be true
-% to the metrics of the journal.
-%
-% \begin{macrocode}
-\appdef\setup@hook{%
- \lengthcheck@sw{%
- \RequirePackage{times}%
-% \end{macrocode}
-% Wait. Do not use mathtime after all. APS has their own way of doing math pi, involving
-% Adobe Mathematical Pi and other fonts.
-% \begin{verbatim}
-% \RequirePackage{mathtime}%
-% \end{verbatim}
-% \begin{macrocode}
- }{}%
-}%
-% \end{macrocode}
-% A PRL does not have numbered sections.
-% \begin{macrocode}
- \c@secnumdepth=-\maxdimen
-% \end{macrocode}
-% Note: we defer this code until after type size file is read in.
-% \begin{macrocode}
- \appdef\setup@hook{%
- \@ifnum{\@pointsize=10\relax}{%
- \lengthcheck@sw{%
- \def\large{%
- \@setfontsize\large{12.5}{14\p@}%
- }%
- \def\normalsize{%
- \@setfontsize\normalsize{10.5}\@xiipt
- \abovedisplayskip 6\p@ \@plus6\p@ \@minus5\p@
- \belowdisplayskip \abovedisplayskip
- \abovedisplayshortskip \abovedisplayskip
- \belowdisplayshortskip \abovedisplayskip
- \let\@listi\@listI
- }%
- \def\small{%
- \@setfontsize\small{9.5}\@xipt
- \abovedisplayskip 5\p@ \@plus5\p@ \@minus4\p@
- \belowdisplayskip \abovedisplayskip
- \abovedisplayshortskip \abovedisplayskip
- \belowdisplayshortskip \abovedisplayskip
- \let\@listi\@listI
- }%
- \DeclareMathSizes{12.5}{12.5}{9}{6}%
- \DeclareMathSizes{10.5}{10.5}{7.5}{5}%
- \DeclareMathSizes{9.5}{9.5}{7.0}{5}%
- }{%
- \def\normalsize{%
- \@setfontsize\normalsize\@xpt\@xiipt
- \abovedisplayskip 10\p@ \@plus2\p@ \@minus5\p@
- \belowdisplayskip \abovedisplayskip
- \abovedisplayshortskip \abovedisplayskip
- \belowdisplayshortskip \abovedisplayskip
- \let\@listi\@listI
- }%
- }%
- }{}%
- }%
- \textheight = 694.0\p@
-% \end{macrocode}
-%
-% End of \classoption{prl} code.
-% \begin{macrocode}
-}%
-% \end{macrocode}
-%
-% \subsubsection{\classoption{per}}%
-% Here is code specific to \classoption{per}.
-% \begin{macrocode}
-\def\rtx@apsprstper{%
- \class@info{APS journal PRST-PER selected}%
-% \end{macrocode}
-% To first order, PER is the same as PRB, with superscript citations.
-%
-% \begin{macrocode}
- \rtx@apsprb
-% \end{macrocode}
-% Per Mark Doyle (2009-12-22), the default is longbibliography.
-% \changes{4.1n}{2010/01/04}{(AO, 575) the default for journal prstper is longbibliography}%
-% \begin{macrocode}
- \@booleantrue\longbibliography@sw
-% \end{macrocode}
-%
-% ``Section heads are bold, centered (Roman numeral, Latin letter)''
-%
-% Article titles do not have surrounding double-quotes!
-%
-% End of \classoption{prb} code.
-% \begin{macrocode}
-}%
-% \end{macrocode}
-%
-% \subsubsection{\classoption{prstab}}%
-% There is no code specific to \classoption{prstab}.
-% \begin{macrocode}
-\def\rtx@apsprstab{%
- \class@info{APS journal PRSTAB selected}%
-}%
-% \end{macrocode}
-%
-% \subsubsection{\classoption{rmp}}%
-% If this option has been selected, we will read in the needed code from the file \file{apsrmp.rtx}.
-%
-% \subsection{Establish APS Defaults}\label{sec:aps-defaults}
-%
-% \begin{macro}{\footinbib@sw}
-% All APS journals except RMP effectively invoke the \classoption{footinbib} option.
-% We rely on the RMP-specific code to override this assignment.
-% \begin{macrocode}
-\@booleantrue\footinbib@sw
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\@bibdataout@init}
-% \begin{macro}{\@bibdataout@aps}
-% \changes{4.1o}{2010/02/12}{(AO, 580) Control .bst at run time.}%
-% Procedure \cmd\@bibdataout@aps\ 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 (APS) and journal.
-% For all but RMP, we select the Physical Review style.
-% For the latter case, we change the meaning, per the code in \file{apsrmp.rtx}.
-%
-% \begin{macrocode}
-\appdef\@bibdataout@rev{\@bibdataout@aps}%
-\def\@bibdataout@aps{%
- \immediate\write\@bibdataout{%
-% \end{macrocode}
-% An entry that controls processing of the \filename{.bst} file has entry type \texttt{@CONTROL}.
-% \begin{macrocode}
- @CONTROL{%
- apsrev41Control%
-% \end{macrocode}
-% Say whether we want long bibliography style (the default), or the abbreviated style.
-% \begin{macrocode}
- \longbibliography@sw{%
- ,author="00",editor="1",pages="1",title="0",year="0"%
- }{%
- ,author="08",editor="1",pages="0",title="",year="1"%
- }%
- }%
- }%
-% \end{macrocode}
-% Place a \cmd\citation\ into the auxiliary file corresponding to this entry.
-% \begin{macrocode}
- \if@filesw
- \immediate\write\@auxout{\string\citation{apsrev41Control}}%
- \fi
-}%
-% \end{macrocode}
-% \end{macro}
-% \end{macro}
-%
-% \begin{macro}{\place@bibnumber}
-% \begin{macro}{\@bibstyle}
-% We install code that will select the presentation for \cmd\bibitem s
-% and govern the \BibTeX\ processing.
-% \begin{macrocode}
-\let\place@bibnumber\place@bibnumber@inl
-\def\@bibstyle{apsrev\substyle@post}%
-% \end{macrocode}
-% \begin{verbatim}
-%\appdef\setup@hook{%
-% \longbibliography@sw{%
-% \appdef\@bibstyle{long}%
-% }{}%
-%}%
-% \end{verbatim}
-% \end{macro}
-% \end{macro}
-%
-% \subsection{APS Sanity Checking}\label{sec:aps-sanity}
-% \changes{4.1f}{2009/07/20}{(AO, 524) Makes no sense if citations are superscript numbers and so are footnotes}
-%
-% Rule: if \cmd\place@bibnumber\ is \cmd\place@bibnumber@sup\
-% (citations are numbered and set superscript),
-% then it makes no sense for \cmd\footinbib@sw\ to be \cmd\false@sw\
-% (footnotes set in the bibliography, as endnotes).
-% If both conditions prevailed, then the document would have footnotes
-% and citations both as superscript arabic numbers, but independently numbered,
-% which would be confusing.
-%
-% Any society that provides for both superscript numbered citations as well as for
-% numbered footnotes should check for this same condition, and deal with it.
-%
-% Note: an alternative would be for footnotes to use the same sequence of footnote devices
-% that are used by the frontmatter footnotes
-% (\cmd\frontmatter@thefootnote\ instead of arabic numbers).
-%
-% In this case, we would want to refrain from resetting \cmd\c@footnote\ at the end of
-% the title page formatting.
-% We would also want to treat body footnotes identically to frontmatter footnotes:
-% the assignments in \cmd\titleblock@produce\ would persist throughout the document.
-%
-% But APS do not choose to go that route.
-% \begin{macrocode}
-\appdef\setup@hook{%
- \@ifx{\place@bibnumber\place@bibnumber@sup}{%
- \footinbib@sw{}{%
- \class@warn{Citations are superscript numbers: footnotes must be endnotes; changing to that configuration}%
- \@booleantrue\footinbib@sw
- }%
- }{}%
-}%
-% \end{macrocode}
-%
-% Here ends the substyle for society APS.
-% \begin{macrocode}
-%</aps>
-% \end{macrocode}
-%
-%
-% \section{The \classoption{rmp} journal substyle: the \texttt{rmp} module}
-%
-% The file \file{apsrmp.rtx} is read in by the \classname{revtex4} document class
-% if \cmd\@society\ has the value \classoption{aps}
-% and \cmd\@journal\ has the value \classoption{rmp}.
-%
-% It is read at the end of the \file{aps.rtx}, so all definitions
-% and assignments in that file are operative unless overridden here.
-%
-%
-% \begin{macrocode}
-%<*rmp>
-% \end{macrocode}
-%
-% 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
-% \end{macrocode}
-%
-% Protect this file from being read in as a society instead of a journal.
-% In such a case, \cmd\@journal\ will be undefined.
-% \begin{macrocode}
-\@ifxundefined\@journal{%
-% \end{macrocode}
-% One alternative: abort the document.
-% Another alternative: try to recover: force load the aps society file
-% \begin{macrocode}
- \class@warn{Please specify the REVTeX options [aps,rmp]!}%
- \@@end
-}{}%
-% \end{macrocode}
-% Log the journal substyle.
-% \begin{macrocode}
- \class@info{APS journal RMP selected}%
-% \end{macrocode}
-%
-% \subsection{Frontmatter}%
-%
-% We assign the titlepage style for RMP; a document instance
-% may override by invoking one of the class options of \revtex.
-% \begin{macrocode}
-\clo@groupedaddress
-% \end{macrocode}
-%
-% \begin{macro}{\frontmatter@setup}
-%
-% \begin{macrocode}
-\def\frontmatter@setup{%
- \normalfont\sffamily\raggedright
-}%
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\PACS@warn}
-% Per Mark Doyle, RMP never displays the PACS, so they don't want the `use showpacs' warning spit out.
-% \begin{macrocode}
-\def\PACS@warn{RMP documents do not display PACS. Your \string\pacs\space will be ignored}%
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\frontmatter@title@above}
-% \begin{macro}{\frontmatter@title@format}
-% \begin{macro}{\frontmatter@title@below}
-%
-% \begin{macrocode}
-\def\frontmatter@title@above{}%
-\def\frontmatter@title@format{\Large\bfseries\raggedright}% HelveticaNeue-Medium(Italic) 14pt.
-\def\frontmatter@title@below{\addvspace{12\p@}}% 24pt b-b down to first author
-% \end{macrocode}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-%
-% \begin{macro}{\frontmatter@authorformat}
-% \changes{4.1b}{2008/08/04}{Rag the right even more: .8\cs{hsize}. Also, assign \cs{@totalleftmargin}.}%
-% \changes{4.1b}{2008/06/29}{(AO, 455) Be nice to a list within the abstract (assign \cs{@totalleftmargin}).}
-% Set the rag to a milder value, because we want to do true ragged right
-% typesetting, as opposed to the \LaTeX\ default, which gives very poor results.
-%
-% Note: author font is 9.8bp. 19.2bp/14.3bp above/below.
-% \begin{macrocode}
-\def\frontmatter@authorformat{%
- \preprintsty@sw{\vskip0.5pc\relax}{}%
- \@tempskipa\@flushglue
- \@flushglue\z@ plus.8\hsize
- \raggedright\advance\leftskip.5in\relax
- \@flushglue\@tempskipa
- \parskip\z@skip
- \@totalleftmargin\leftskip
-}%
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\frontmatter@affiliationfont}
-% \changes{4.1b}{2008/08/04}{As with author formatting, rag the right more, and assign \cs{@totalleftmargin}. Also neutralize \cs{def@after@address}.}%
-% \changes{4.1b}{2008/06/29}{(AO, 455) Be nice to a list within the abstract (assign \cs{@totalleftmargin}).}
-% The hook \cmd\frontmatter@affiliationfont\ controls the formatting of affiliations and affiliation groups.
-% The hook \cmd\frontmatter@above@affilgroup\ is invoked just before proceeding with author/affiliation processing.
-% The \cmd\frontmatter@above@affiliation\ is the amount of space above affiliations in the \classoption{groupedaddress} style,
-% and \cmd\frontmatter@above@affiliation@script\ is that for \classoption{superscriptaddress}.
-%
-% Note: affiliation font is 9.03/10.4bp, 14.3bp/19.2bp b-b above/below
-% \begin{macrocode}
-\def\frontmatter@affiliationfont{% Helvetica 9/10.2
- \small\slshape\selectfont\baselineskip10.5\p@\relax
- \@tempskipa\@flushglue
- \@flushglue\z@ plus.8\hsize
- \raggedright\advance\leftskip.5in\relax
- \@flushglue\@tempskipa
- \@totalleftmargin\leftskip
- \let\def@after@address\def@after@address@empty
-}%
-\def\frontmatter@above@affilgroup{\addvspace{7.2\p@}}% additional leading above an author
-\def\frontmatter@above@affiliation{\addvspace{5.3\p@}}%
-\def\frontmatter@above@affiliation@script{}%
-% \end{macrocode}
-% \end{macro}
-%
-% Set up the default RMP style for title block authors and affiliations.
-% We assign the titlepage style for RMP; a document instance
-% may override by invoking one of the class options of \revtex.
-% \changes{4.1b}{2008/08/04}{The \texttt{rmp} journal substyle selects \texttt{groupedaddress} by default.}%
-% \changes{4.1b}{2008/07/01}{(AO) make settings at class time instead of deferring them to later.}
-%
-% This command should override the effect of the
-% corresponding command in the society substyle,
-% and any document class option bearing on same will in turn override.
-% \begin{macrocode}
-\clo@groupedaddress
-% \end{macrocode}
-%
-% \begin{macro}{\frontmatter@RRAP@format}
-% \changes{4.1b}{2008/06/29}{(AO, 455) Be nice to a list within the abstract (assign \cs{@totalleftmargin}).}
-% Note: in RMP, if we are not in preprint mode, the date will not be produced.
-%
-% Note: Helvetica C/lc, 8.98bp, space above: 16.3bp b-b.
-% \begin{macrocode}
-\def\frontmatter@RRAP@format{%
- \addvspace{7.3\p@}%
- \small
- \raggedright\advance\leftskip.5in\relax
- \@totalleftmargin\leftskip
-}%
-\def\produce@RRAP#1{%
- \@if@empty{#1}{}{%
- \@ifvmode{\leavevmode}{}%
- \unskip(\ignorespaces#1\unskip)\quad
- }%
-}%
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\frontmatter@abstractheading}
-% Space above 21.8bp b-b.
-% \begin{macrocode}
-\def\frontmatter@abstractheading{%
- \preprintsty@sw{%
- \begingroup
- \centering\large
- \abstractname
- \par
- \endgroup
- \vspace{.5pc}%
- }{}%
-}%
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\frontmatter@abstractfont}
-% TimesTen 8.93bp/9.6bp X 360bp, indented 36bp, with 21.9/37.6bp b-b above/below
-% \changes{4.1b}{2008/06/29}{(AO, 455) Be nice to a list within the abstract (assign \cs{@totalleftmargin}).}
-% \begin{macrocode}
-\def\frontmatter@abstractfont{%
- \footnotesize
- \hsize360\p@
- \leftskip=0.5in
- \parindent\z@
- \@totalleftmargin\leftskip
-}%
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\frontmatter@preabstractspace}
-% \begin{macro}{\frontmatter@postabstractspace}
-% Space above and space below abstract in title block.
-% Should be 22/36 points base-to-base.
-% \begin{macrocode}
-\def\frontmatter@preabstractspace{7.7\p@}%
-\def\frontmatter@postabstractspace{24.6\p@}%
-% \end{macrocode}
-% \end{macro}
-% \end{macro}
-%
-% FIXME: Not done: PACS.
-% FIXME: TOC: Head is same as \section: HelveticaNeue 8.98. 32/22bp b-b above/below,
-% Body: TimesTen 8/10.5.
-%
-% \subsection{General Text}%
-%
-% \changes{4.1b}{2008/07/01}{(AO) make settings at class time instead of deferring them to later.}
-% If not in preprint mode, RMP sets the type size to 10/12 point. Note: s/b 11.6bp leading
-%FIXME: define \cmd\normalsize\ only if nobody else has done so.
-% \begin{macrocode}
- \appdef\setup@hook{%
- \preprintsty@sw{}{%
- \def\normalsize{%
- \@setsize\normalsize{12pt}\xpt\@xpt
- \abovedisplayskip 10\p@ plus2\p@ minus5\p@
- \belowdisplayskip \abovedisplayskip
- \abovedisplayshortskip \abovedisplayskip
- \belowdisplayshortskip \abovedisplayskip
- \let\@listi\@listI
- }%
- }%
- }%
-% \end{macrocode}
-%
-% Footnote mods:
-% \changes{4.1n}{2010/01/02}{(AO, 571) class file must set \cs{splittopskip}; fine tune \cs{skip}\cs{footins}; \cs{footnoterule} defined in terms of \cs{skip}\cs{footins}}%
-% \begin{macrocode}
- \footnotesep 9.25pt
- \skip\footins 36pt plus 4pt minus 12pt
- \def\footnoterule{%
- \dimen@\skip\footins\divide\dimen@\thr@@
- \kern-\dimen@\hrule width.5in\kern\dimen@
- }%
-% \end{macrocode}
-%
-%
-% \subsection{Sectioning}
-% \changes{4.1b}{2008/08/04}{Use \cs{setup@hook} to initialize all.}
-% \changes{4.1b}{2008/08/01}{Section numbering via procedures \cs{secnums@rtx} and \cs{secnums@arabic}.}
-%
-% We override the meaning of \cmd\secnums@rtx.
-% The class option \classoption{secnumarabic} will continue to work.
-% \begin{macrocode}
-\def\secnums@rtx{%
- \@ifxundefined\thepart{%
- \def\thepart{\Roman{part}}%
- }{}%
- \@ifxundefined\thesection{%
- \def\thesection {\Roman{section}}%
- \def\p@section {}%
- }{}%
- \@ifxundefined\thesubsection{%
- \def\thesubsection {\Alph{subsection}}%
- \def\p@subsection {\thesection.}%
- }{}%
- \@ifxundefined\thesubsubsection{%
- \def\thesubsubsection {\arabic{subsubsection}}%
- \def\p@subsubsection {\thesection.\thesubsection.}%
- }{}%
- \@ifxundefined\theparagraph{%
- \def\theparagraph {\alph{paragraph}}%
- \def\p@paragraph {\thesection.\thesubsection.\thesubsubsection.}%
- }{}%
- \@ifxundefined\thesubparagraph{%
- \def\thesubparagraph {\arabic{subparagraph}}%
- \def\p@subparagraph {\thesection.\thesubsection.\thesubsubsection.\theparagraph.}%
- }{}%
-}%
-% \end{macrocode}
-%
-% In RMP, put a period (.), followed by `nut space', after the section number.
-% Also, hang the section number (the \LaTeX\ default).
-% \begin{macrocode}
-\def\@seccntformat#1{\csname the#1\endcsname.\hskip0.5em\relax}%
-% \end{macrocode}
-%
-% Note that 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.
-% \changes{4.1b}{2008/07/01}{Add \cs{@hangfroms@section}}
-% \begin{macrocode}
- \def\section{%
- \@startsection{section}{1}{\z@}{0.8cm plus1ex minus.2ex}{0.4cm}%
- {%
- \small\sffamily\bfseries\selectfont
- \raggedright
- \parindent\z@
- }%
- }%
- \def\@hangfrom@section#1#2#3{\@hangfrom{#1#2}\MakeTextUppercase{#3}}%
- \def\@hangfroms@section#1#2{#1\MakeTextUppercase{#2}}%
- \def\subsection{%
- \@startsection{subsection}{2}{\z@}{0.8cm plus1ex minus.2ex}{0.4cm}%
- {%
- \small\sffamily\bfseries
- \raggedright
- \parindent\z@
- }%
- }%
- \def\subsubsection{%
- \@startsection{subsubsection}{3}{\z@}{.8cm plus1ex minus.2ex}{0.4cm}%
- {%
- \small\sffamily\selectfont
- \raggedright
- \parindent\z@
- }%
- }%
- \def\paragraph{%
- \@startsection{paragraph}{4}{\z@}{.8cm plus1ex minus.2ex}{-1em}%
- {%
- \small\slshape\selectfont
- \raggedright
- \parindent\z@
- }%
- }%
- \def\subparagraph{%
- \@startsection{subparagraph}{4}{\parindent}{3.25ex plus1ex minus.2ex}{-1em}%
- {\normalsize\bfseries\selectfont}%
- }%
-%
- \setcounter{tocdepth}{4}% FIXME: has no effect
-% \end{macrocode}
-%
-% \begin{macro}{\appendix}
-% \begin{macro}{\@hangfrom@appendix}
-% \begin{macro}{\@hangfroms@appendix}
-% \begin{macro}{\@appendixcntformat}
-% \changes{4.1b}{2008/07/01}{Add \cs{@hangfroms@section}}
-% \begin{macrocode}
-\appdef\appendix{%
- \let\@hangfrom@section\@hangfrom@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\appendixname\@if@empty{#2}{}{:\ #2}%
-}%
-\def\@appendixcntformat#1{\appendixname\ \csname the#1\endcsname}%
-% \end{macrocode}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-%
-%
-% \subsection{Figure and Table Caption Formatting}
-% \begin{macro}{\@makecaption}
-% \changes{4.1b}{2008/07/01}{Break out \cs{@caption@fignum@sep}}
-%
-% \begin{macrocode}
-\setlength\belowcaptionskip{2\p@}
-\long\def\@makecaption#1#2{%
- \vskip\abovecaptionskip
- \vbox{%
- \flushing
- \small\rmfamily
- \noindent
- #1\@caption@fignum@sep#2\par
- }%
- \vskip\belowcaptionskip
-}%
-\def\@caption@fignum@sep{\nobreak\hskip.5em plus.2em\ignorespaces}%
-% \end{macrocode}
-% \end{macro}
-%
-% \subsection{Citations and Bibliography}%
-%
-% Customize \revtex\ for the journal substyle;
-% this task requires three components:
-% a \BibTeX\ \file{.bst} style file,
-% customizing code for \file{natbib}, and
-% customizations of the \env{thebibliography} environment.
-%
-% \begin{macro}{\@bibstyle}
-% Define the argument of the \cmd\bibliographystyle\ command
-% (if the document does not do so).
-%
-% 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.
-%
-% To generate \file{apsrmp.bst}, use \classname{custom-bib} version 3.89d1 or later.
-% Run the \file{.bst} generator, \file{makebst.tex}, with the following options:
-%
-% \def\QandA#1#2#3{\item#1: \textbf{#2}: \texttt{#3}---}%
-% \def\CandE#1{\item\relax\texttt{#1}---}%
-% \begin{enumerate}
-% \QandA{STYLE OF CITATIONS}{a}{ay}Author-year with some non-standard interface
-% \QandA{AUTHOR}{*}{nat}Natbib for use with natbib v5.3 or later
-% \QandA{LANGUAGE FIELD}{l}{lang}Use language field to switch hyphenation patterns for title
-% \QandA{PRESENTATIONS}{b}{pres,pres-bf}Presentation, speaker bold face
-% \QandA{ORDER ON VON PART }{x}{vonx}Sort without von part (de la Maire after Mahone)
-% \QandA{AUTHOR NAMES}{a}{nm-rev1}Only first name reversed, initials (AGU style: Smith, J. F., H. K. Jones)
-% \QandA{POSITION OF JUNIOR }{*}{jnrlst}Junior comes last as Smith, John, Jr.
-% \QandA{TYPEFACE FOR AUTHORS IN LIST OF REFERENCES}{u}{nmft,nmft-def}User defined author font (\cmd\bibnamefont)
-% \QandA{FONT FOR FIRST NAMES }{u}{fnm-def}First names in user defined font (\cmd\bibfnamefont)
-% \QandA{EDITOR NAMES IN INCOLLECTION ETC}{a}{nmfted}Editors incollection like authors font
-% \QandA{FONT FOR `AND' IN LIST}{r}{nmand-rm}`And' in normal font (JONES and JAMES)
-% \QandA{FONT OF CITATION LABELS IN TEXT }{u}{lab,lab-def}User defined citation font (\cmd\citenamefont)
-% \QandA{FONT FOR `AND' IN CITATIONS }{r}{and-rm}Cited `and' in normal font
-% \QandA{LABEL WHEN AUTHORS MISSING }{*}{keyxyr}Year blank when KEY replaces missing author (for natbib 7.0)
-% \QandA{DATE POSITION}{b}{dt-beg}Date after authors
-% \QandA{DATE FORMAT }{m}{yr-com}Date preceded by comma as `, 1993'
-% \QandA{INCLUDE MONTHS}{m}{aymth}Include month in date
-% \QandA{REVERSED DATE }{r}{dtrev}Date as year month
-% \QandA{TRUNCATE YEAR }{*}{note-yr}Year text full as 1990--1993 or `in press'
-% \QandA{TITLE OF ARTICLE}{d}{tit-qq}Title and punctuation in double quotes (``Title,'' ..)
-% \QandA{TITLE PRESENT IN ARTICLE, INCOLLECTION, AND INPROCEEDINGS}{x}{jtit-x}Title is ignored
-% \QandA{INPROCEEDINGS CHAPTER AND PAGES, LIKE INBOOK}{y}{inproceedings-chapter}produce pages after chapter just as in InBook
-% \QandA{ARTICLE BOOKTITLE PRESENT}{?}{article-booktitle}format booktitle
-% \QandA{ARTICLE SERIES PRESENT}{?}{article-series}article can has series
-% \QandA{JOURNAL NAME FONT}{r}{jttl-rm}Journal name normal font
-% \QandA{JOURNAL NAME WITH ADDRESS}{y}{journal-address}Include address field (in parentheses) along with journal name
-% \QandA{BOOK TITLE FIELDS}{y}{book-bt}Field `booktitle', or if absent field `title', is book title
-% \QandA{THESIS TITLE OPTIONAL}{?}{thesis-title-o}Title is optional: no warning issued if empty
-% \QandA{TECHNICAL REPORT TITLE}{b}{trtit-b}Tech. report title like books
-% \QandA{JOURNAL VOLUME}{b}{vol-bf}Volume bold as {\bf vol}(num)
-% \QandA{JOURNAL VOL AND NUMBER}{s}{vnum-sp}Journal vol (num) as 34 (2)
-% \QandA{VOLUME PUNCTUATION}{c}{volp-com}Volume with comma as vol(num), ppp
-% \QandA{PAGE NUMBERS}{f}{jpg-1}Only start page number
-% \QandA{POSITION OF PAGES}{e}{pp-last}Pages at end but before any notes
-% \QandA{BOOK EDITOR W/O AUTHOR}{}{book-editor-booktitle}Book permits empty author, produces title before editor in this case
-% \QandA{INBOOK PERMITS TITLE, BOOKTITLE, AUTHOR, EDITOR}{a}{inbook-editor-booktitle}Allow using both title/booktitle, both author/editor
-% \QandA{CONFERENCE ADDRESS FOR BOOK, INBOOK, INCOLLECTION, INPROCEEDINGS, PROCEEDINGS}{a}{bookaddress}Italic booktitle followed by bookaddress in roman
-% \QandA{NUMBER AND SERIES FOR BOOK, INBOOK, INCOLLECTION, INPROCEEDINGS, PROCEEDINGS}{*}{num-xser}Allows number without series and suppresses word "number"
-% \QandA{WORD NUMBER CAPITALIZED FOR NUMBER AND SERIES}{c}{number-cap}Capitalize word `number' as: "Number 123"
-% \QandA{WORD CHAPTER CAPITALIZED}{c}{chapter-cap}Capitalize word `chapter' as: `Chapter 42'
-% \QandA{COMBINING NUMBER AND SERIES}{x}{series-number}Series number as: `Springer Lecture Notes No. 125'
-% \QandA{POSITION OF NUMBER AND SERIES}{b}{numser-booktitle}After book title and conference address, and before editors
-% \QandA{VOLUME AND SERIES FOR BOOKS}{s}{ser-vol}Series, vol. 23
-% \QandA{VOLUME AND SERIES FORMATTING}{y}{ser-rm}format series roman , even when used with volume
-% \QandA{WORD VOLUME CAPITALIZED FOR VOLUME AND SERIES}{y}{volume-cap}Capitalize word `volume', as: `Volume 7 in Lecture Series'
-% \QandA{POSITION OF VOLUME AND SERIES FOR INCOLLECTION, INBOOK, AND INPROCEEDINGS}{e}{ser-ed}Series and volume after booktitle and before editors
-% \QandA{JOURNAL NAME PUNCTUATION}{x}{jnm-x}Space after journal name
-% \QandA{PAGES IN BOOK}{*}{pg-bk,book-chapter-pages}As chapter and page: chapter 42, page 345
-% \QandA{PUBLISHER IN PARENTHESES}{p}{pub-par}Publisher in parentheses
-% \QandA{EMPTY PUBLISHER PARENTHESES}{y}{ay-empty-pub-parens-x}eliminate parentheses altogether if nothing inside
-% \QandA{PUBLISHER POSITION}{e}{pre-edn}Edition before publisher
-% \QandA{SCHOOL}{p}{school-par}school/address in parens: `(school, address)'
-% \QandA{ISBN NUMBER}{*}{isbn}Include ISBN for books, booklets, etc.
-% \QandA{ISSN NUMBER}{*}{issn}Include ISSN for periodicals
-% \QandA{DOI NUMBER}{a}{doi-link,doi}Doi forms a link to the publication, anchored to the volume or title
-% \QandA{`EDITOR' AFTER NAMES}{a}{bkedcap}`Name Editor,' as above, editor upper case
-% \QandA{EDITOR IN COLLECTIONS}{b}{edby}In booktitle, edited by .. (where .. is names)
-% \QandA{PUNCTUATION BETWEEN SECTIONS }{c}{blk-com}Comma between blocks
-% \QandA{FINAL PUNCTUATION}{c}{fin-endbibitem}Command at end instead of period
-% \QandA{ABBREVIATE WORD `PAGES' }{a}{pp}`Page' abbreviated as p. or pp.
-% \QandA{ABBREVIATE WORD `EDITORS'}{a}{ed}`Editor' abbreviated as ed. or eds.
-% \QandA{OTHER ABBREVIATIONS}{a}{abr}Abbreviations of such words
-% \QandA{ABBREVIATION FOR `EDITION' }{a}{ednx}`Edition' abbreviated as `ed'
-% \QandA{EDITION NUMBERS}{n}{ord}Numerical editions as 1st, 2nd, 3rd, etc
-% \QandA{STORED JOURNAL NAMES}{a}{jabr}Abbreviated journal names
-% \QandA{COMMA BEFORE `AND'}{c}{and-com}Comma even with 2 authors as `Tom, and Harry'
-% \QandA{FONT OF `ET AL'}{i}{etal-it}Italic et al
-% \QandA{ADDITIONAL REVTeX DATA FIELDS}{r}{revdata,eprint,url,url-blk,translation}Include REVTeX data fields collaboration, eid, eprint, archive, url, translation
-% \QandA{SLACcitation FIELD}{?}{SLACcitation}Produce SLACcitation field
-% \QandA{NUMPAGES DATA FIELD}{*}{numpages-x}Do not include numpages field
-% \QandA{REFERENCE COMPONENT TAGS}{b}{bibinfo}Reference component tags like \cmd\bibinfo\ in the content of \cmd\bibitem
-% \QandA{ELEMENT TAGS}{b}{bibfield}Element tags like \cmd\bibfield\ in the content of \cmd\bibitem
-% \QandA{COMPATIBILITY WITH PLAIN TEX}{*}{nfss}Use LaTeX commands which may not work with Plain TeX
-% \end{enumerate}
-%
-% A file \file{apsrmp.dbj} file equivalent to the following should result:
-% \begin{verbatim}
-%\input docstrip
-%\preamble
-%----------------------------------------
-%*** REVTeX-compatible RMP 2010-02-12 ***
-%\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{%
-% ay,%: Author-year with some non-standard interface
-% nat,%: Natbib for use with natbib v5.3 or later
-% lang,%: Use language field to switch hyphenation patterns for title
-% pres,pres-bf,%: Presentation, speaker bold face
-% vonx,%: Sort without von part (de la Maire after Mahone)
-% nm-rev1,%: Only first name reversed, initials (AGU style: Smith, J. F., H. K. Jones)
-% jnrlst,%: Junior comes last as Smith, John, Jr.
-% 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
-% keyxyr,%: Year blank when KEY replaces missing author (for natbib 7.0)
-% dt-beg,%: Date after authors
-% yr-par,%: Year in parentheses as (1993)
-% dtrev,%: Date as year month
-% 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
-% trtit-b,%: Tech. report title like books
-% techreport-institution-par,%: format tech report institution like book publisher
-% vol-bf,%: Volume bold as {\bf vol}(num)
-% vnum-sp,%: Journal vol (num) as 34 (2)
-% volp-com,%: Volume with comma as vol(num), ppp
-% jpg-1,%: Only start page number
-% pp-last,%: Pages at end but before any notes
-% 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-par,%: Publisher in parentheses
-% ay-empty-pub-parens-x,%: eliminate parentheses altogether if nothing inside
-% pre-edn,%: Edition before publisher
-% school-par,%: school/address in parens: `(school, address)'
-% 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
-% bkedcap,%: `Name Editor,' as above, editor upper case
-% 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
-% and-com,%: Comma even with 2 authors as `Tom, and Harry'
-% 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{apsrmp4-1.bst}{\MBopts}}
-%\endbatchfile
-% \end{verbatim}
-%
-% For a comparison between apsrmp.bst and apsrev.bst, see Section~\ref{sec:CompRevRmp}.
-%
-% \changes{4.1c}{2008/08/15}{Document class option longbibliography via \cs{substyle@post}}
-% \begin{macrocode}
-\def\@bibstyle{apsrmp\substyle@post}%
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\authoryear@sw}
-% \changes{4.1a}{2008/01/18}{(AO, 457) Endnotes to be sorted in with numerical citations.}%
-% Author-year citations: default value of \cmd\authoryear@sw\ is true.
-% \begin{macrocode}
-\@booleantrue\authoryear@sw
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\@bibdataout@rmp}
-% \changes{4.1o}{2010/02/12}{(AO, 580) Control .bst at run time.}%
-% When the journal is RMP, the meaning of the procedure \cmd\@bibdataout@aps\ needs to be different
-% because of the way the author names are formatted. In other respects, it is the same.
-% \begin{macrocode}
-\def\@bibdataout@aps{%
- \immediate\write\@bibdataout{%
-% \end{macrocode}
-% An entry that controls processing of the \filename{.bst} file has entry type \texttt{@CONTROL}.
-% This entry's cite key is \texttt{apsrmp41Control}, which serves as a version number.
-% \begin{macrocode}
- @CONTROL{%
- apsrmp41Control%
-% \end{macrocode}
-% Say whether we want long bibliography style (the default), or the abbreviated style.
-% \begin{macrocode}
- \longbibliography@sw{%
- ,author="03",editor="0",pages="1",title="0",year="0"%
- }{%
- ,author="0B",editor="0",pages="0",title="",year="1"%
- }%
- }%
- }%
-% \end{macrocode}
-% Place a \cmd\citation\ into the auxiliary file corresponding to this entry.
-% \begin{macrocode}
- \if@filesw
- \immediate\write\@auxout{\string\citation{apsrmp41Control}}%
- \fi
-}%
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\bibpunct}
-% \begin{macro}{\bibsection}
-% \begin{macro}{\bibpreamble}
-% \begin{macro}{\newblock}
-% \begin{macro}{\bibhang}
-% \begin{macro}{\bibsep}
-% \begin{macro}{\cite}
-% The following commands effectively establish the style in which \cmd\cite\ commands are
-% formatted.
-% You can think of them as the second needed component for the bibliography.
-%
-% Set up for author-year citations:
-% when \cmd\NAT@set@cites\ executes (at \envb{document} time), the \cmd\@biblabel\ will
-% be set to \cmd\NAT@biblabel.
-%
-% Per Karie Friedman (friedman@phys.washington.edu), multiple citations are separated by semicolons, e.g.,
-% (Jones, 1999; Abbott and Smith, 2000; Wortley, 2001a),
-% and
-% multiple citations by the same author by commas, e.g.,
-% Abela et al. (1995, 1997a, 1997b).
-% The third argument of \cmd\bibpunct\ handles the former.
-%
-% The fifth argument puts a comma after the author when the year is not in parens:
-% (Lee et al., 1996).
-%
-% Incidently, this \cmd\bibpunct\ command specifies the \classname{natbib} default values.
-%
-% We define the sectioning command to use when starting the bibliography.
-%
-% We change \classname{natbib}'s \cmd\NAT@def@citea\ procedure to effect more elaborate
-% punctuation for RMP: see item 473:
-% \cmd\cite\ order punctuation: ``If possible, \cmd\textcite should put the word 'and' between two citations and before the last citation in a list of 3 or more.''
-%
-% \begin{macrocode}
-\appdef\setup@hook{%
-% \end{macrocode}
-%
-% We define the punctuation to use in the \cmd\cite\ command's production.
-%
-% \begin{macrocode}
- \bibpunct{(%)
- }{%(
- )}{;}{a}{,}{,}%
-% \end{macrocode}
-%
-% We define the sectioning command to use when starting the bibliography.
-%
-% \begin{macrocode}
- \def\bibsection{%
- \expandafter\section\expandafter*\expandafter{\refname}%
- \@nobreaktrue
- }%
- \let\bibpreamble\@empty
- \def\newblock{\ }%
- \bibhang10\p@
- \bibsep\z@
-% \end{macrocode}
-%
-% Per Mark Doyle, \cmd\cite\ is mapped to \cmd\citep\ in RMP.
-% \changes{4.1i}{2009/10/23}{(AO, 541) Defer assignment of \cs{cite} until after natbib loads}
-% \begin{macrocode}
- \let\cite\citep
-% \end{macrocode}
-%
-% End of code to be delayed until after \classname{natbib} loads.
-% \begin{macrocode}
-}%
-% \end{macrocode}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-%
-% \begin{macro}{\footinbib@sw}
-% Footnotes in bibliography are consistent only with numbered citations,
-% and are particularly nasty under \classname{natbib}:
-% the packcage will automatically change to numbered references if
-% any \cmd\bibitem\ commands lack the optional argument.
-% Therefore, we must uninvoke it now, even if invoked by the document.
-% The same is quietly done with
-% \classname{natbib}'s \classoption{mcite} and \classoption{compress} options.
-%
-% \changes{4.1f}{2009/07/15}{(AO, 523) Add class option nomerge, to turn off new natbib 8.3 syntax}
-% (AO 523) I changed the code that alters \cmd\NAT@merge\ so that it will not override
-% when \cmd\NAT@merge\ has been set to \cmd\z@.
-% \begin{macrocode}
-\@booleanfalse\footinbib@sw
-\appdef\setup@hook{%
- \footinbib@sw{%
- \class@warn{%
- Footnotes in bibliography are incompatible with RMP.^^J%
- Undoing the footinbib option.
- }%
- \@booleanfalse\footinbib@sw
- }{}%
- \@ifnum{\NAT@merge>\@ne}{\let\NAT@merge\@ne}{}%
- \def\NAT@cmprs{\z@}%
-}%
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\eprint}
-% RMP requires the \cmd\eprint\ field in the bib entry to be set off with the word ``eprint''.
-% \begin{macrocode}
-\def\eprint#1{eprint #1}%
-% \end{macrocode}
-% \end{macro}
-%
-% \subsection{Table of Contents}
-%
-% We set up for auto-sizing of certain TOC elements.
-%
-% To do this, we override the definitions for
-% the default TOC font (\cmd\toc@@font),
-% and define
-% formatting for the needed elements (\cmd\l@\dots).
-% Finally, we activate the autosizing by
-% assigning \cmd\toc@pre\ and \cmd\toc@post.
-%
-% \begin{macro}{\toc@@font}
-% \changes{4.1a}{2008/01/19}{(AO, 461) Change the csname revtex uses from @dotsep to ltxu@dotsep. The former is understood in mu. (What we wanted was a dimension.)}%
-% Set the formatting characteristics of the auto-indenting part
-% of the TOC.
-% \begin{macrocode}
-\def\toc@@font{%
- \footnotesize\rmfamily
- \def\\{\space\ignorespaces}%
-}%
-\def\ltxu@dotsep{5.5pt}%
-% \end{macrocode}
-% \end{macro}
-%
-% \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@subsection{%
- \l@@sections{section}{subsection}% Implicit #3#4
-}%
-\def\l@subsubsection{%
- \l@@sections{subsection}{subsubsection}% Implicit #3#4
-}%
-%\def\l@subsubsection#1#2{}%
-\def\l@paragraph#1#2{}%
-\def\l@subparagraph#1#2{}%
-% \end{macrocode}
-% \end{macro}
-%
-% Activate the TOC processing.
-% \begin{macrocode}
-\let\toc@pre\toc@pre@auto
-\let\toc@post\toc@post@auto
-% \end{macrocode}
-%
-%
-% \begin{macrocode}
-%</rmp>
-% \end{macrocode}
-%
-%
-% \Finale
-% %Here ends the programmer's documentation.
-% \endinput
-%
-\endinput