summaryrefslogtreecommitdiff
path: root/Master
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2020-10-07 21:52:43 +0000
committerKarl Berry <karl@freefriends.org>2020-10-07 21:52:43 +0000
commita48050f58f08e3e3587a95252fd35700aa99f948 (patch)
tree18cf0f5f5752058fcfe51be2622546ca5dd3c678 /Master
parent1ed1a12256c378e02918c39480cae9c0dca54f2e (diff)
revtex4 from phelype .tds.zip
git-svn-id: svn://tug.org/texlive/trunk@56589 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master')
-rw-r--r--Master/texmf-dist/bibtex/bst/revtex4/apsrev.bst312
-rw-r--r--Master/texmf-dist/bibtex/bst/revtex4/apsrmp.bst313
-rw-r--r--Master/texmf-dist/doc/latex/revtex4/apssamp.bib (renamed from Master/texmf-dist/bibtex/bib/revtex4/apssamp.bib)0
-rw-r--r--Master/texmf-dist/doc/latex/revtex4/apssamp.end1
-rw-r--r--Master/texmf-dist/doc/latex/revtex4/ltxdocext.pdfbin58403 -> 265679 bytes
-rw-r--r--Master/texmf-dist/doc/latex/revtex4/ltxgrid.pdfbin562853 -> 455830 bytes
-rw-r--r--Master/texmf-dist/doc/latex/revtex4/ltxutil.pdfbin246194 -> 385483 bytes
-rw-r--r--Master/texmf-dist/doc/latex/revtex4/revtex4.pdfbin608101 -> 558355 bytes
-rw-r--r--Master/texmf-dist/source/latex/revtex4/ltxdocext.dtx12
-rw-r--r--Master/texmf-dist/source/latex/revtex4/ltxgrid.dtx46
-rw-r--r--Master/texmf-dist/source/latex/revtex4/ltxutil.dtx175
-rw-r--r--Master/texmf-dist/source/latex/revtex4/revtex4-bst.dtx2487
-rw-r--r--Master/texmf-dist/source/latex/revtex4/revtex4.dtx4
-rw-r--r--Master/texmf-dist/source/latex/revtex4/textcase.dtx1
-rw-r--r--Master/texmf-dist/tex/latex/revtex4/10pt.rtx2
-rw-r--r--Master/texmf-dist/tex/latex/revtex4/11pt.rtx2
-rw-r--r--Master/texmf-dist/tex/latex/revtex4/12pt.rtx2
-rw-r--r--Master/texmf-dist/tex/latex/revtex4/aps.rtx2
-rw-r--r--Master/texmf-dist/tex/latex/revtex4/revsymb.sty2
-rw-r--r--Master/texmf-dist/tex/latex/revtex4/revtex4.cls88
-rw-r--r--Master/texmf-dist/tex/latex/revtex4/rmp.rtx2
21 files changed, 2744 insertions, 707 deletions
diff --git a/Master/texmf-dist/bibtex/bst/revtex4/apsrev.bst b/Master/texmf-dist/bibtex/bst/revtex4/apsrev.bst
index 0d887568901..1551ee46939 100644
--- a/Master/texmf-dist/bibtex/bst/revtex4/apsrev.bst
+++ b/Master/texmf-dist/bibtex/bst/revtex4/apsrev.bst
@@ -11,7 +11,7 @@
%% merlin.mbs (with options: `tail,ay,nat,seq-no,nm-init,ed-au,nmlm,x10,x0,m10,m0,nmft,nmft-def,fnm-def,nmfted,lab,lab-def,keyxyr,yr-par,note-yr,tit-it,jtit-x,jttl-rm,thtit-x,trtit-x,vol-bf,vnum-x,volp-com,jpg-1,num-xser,jnm-x,pub-date,pre-pub,isbn,issn,edby,blk-com,pp,ed,abr,ednx,ord,jabr,revdata,eprint,url,url-blk,misc-simple,bibinfo,nfss,{}')
%% ----------------------------------------
%% *** REVTeX-compatible apsrev.bst 1702 ***
-%%
+%%
%% Copyright 1994-2000 Patrick W Daly
% ===============================================================
% IMPORTANT NOTICE:
@@ -362,181 +362,18 @@ FUNCTION {eng.ord}
if$
}
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
%-------------------------------------------------------------------
% Begin module:
-
% \ProvidesFile{physjour.mbs}[1999/10/05 2.1 (PWD)]
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
MACRO {aa}{"Astron. \& Astrophys."}
-
MACRO {aasup}{"Astron. \& Astrophys. Suppl. Ser."}
-
MACRO {aj} {"Astron. J."}
-
MACRO {aph} {"Acta Phys."}
MACRO {advp} {"Adv. Phys."}
@@ -563,19 +400,14 @@ 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."}
@@ -640,8 +472,6 @@ MACRO {nat} {"Nature"}
MACRO {nature} {"Nature"}
-
-
MACRO {nedf} {"Nucl. Eng. \& Design/Fusion"}
MACRO {nf} {"Nucl. Fusion"}
@@ -710,7 +540,6 @@ MACRO {rsi} {"Rev. Sci. Inst."}
MACRO {science} {"Science"}
-
MACRO {sciam} {"Sci. Am."}
MACRO {sam} {"Stud. Appl. Math."}
@@ -725,14 +554,8 @@ MACRO {spu} {"Sov. Phys.--Uspeki"}
MACRO {st} {"Sky and Telesc."}
-
-
-
-
% End module: physjour.mbs
-
-
%-------------------------------------------------------------------
% Begin module:
% \ProvidesFile{geojour.mbs}[1999/11/16 2.0g (PWD)]
@@ -848,140 +671,12 @@ 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."}
@@ -1038,13 +733,8 @@ MACRO {ASSL} {"Adv. Sol.-State Lasers"}
MACRO {OSA} {"OSA"}
-
-
-
% End module: photjour.mbs
-
-
%% Copyright 1994-2000 Patrick W Daly
MACRO {acmcs} {"ACM Comput. Surv."}
diff --git a/Master/texmf-dist/bibtex/bst/revtex4/apsrmp.bst b/Master/texmf-dist/bibtex/bst/revtex4/apsrmp.bst
index b603eadcb50..3f660f389b2 100644
--- a/Master/texmf-dist/bibtex/bst/revtex4/apsrmp.bst
+++ b/Master/texmf-dist/bibtex/bst/revtex4/apsrmp.bst
@@ -11,7 +11,7 @@
%% merlin.mbs (with options: `tail,ay,nat,vonx,nm-rev1,jnrlst,nmlm,x10,x2,m10,m2,nmft,nmft-def,fnm-def,nmfted,nmand-rm,lab,lab-def,keyxyr,dt-beg,xmth,yr-com,note-yr,jtit-x,jttl-rm,trtit-b,vol-bf,volp-com,jpg-1,pp-last,num-xser,jnm-x,pub-par,pre-pub,isbn,issn,edpar,edby,blk-com,pp,ed,xedn,jabr,and-com,etal-it,revdata,eprint,url,url-blk,pub-over-eprint,bibinfo,nfss,{}')
%% ----------------------------------------
%% *** REVTeX-compatible apsrmp.bst 1702 ***
-%%
+%%
%% Copyright 1994-2000 Patrick W Daly
% ===============================================================
% IMPORTANT NOTICE:
@@ -314,181 +314,18 @@ MACRO {nov} {"November"}
MACRO {dec} {"December"}
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
%-------------------------------------------------------------------
% Begin module:
-
% \ProvidesFile{physjour.mbs}[1999/10/05 2.1 (PWD)]
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
MACRO {aa}{"Astron. \& Astrophys."}
-
MACRO {aasup}{"Astron. \& Astrophys. Suppl. Ser."}
-
MACRO {aj} {"Astron. J."}
-
MACRO {aph} {"Acta Phys."}
MACRO {advp} {"Adv. Phys."}
@@ -515,19 +352,14 @@ 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."}
@@ -592,8 +424,6 @@ MACRO {nat} {"Nature"}
MACRO {nature} {"Nature"}
-
-
MACRO {nedf} {"Nucl. Eng. \& Design/Fusion"}
MACRO {nf} {"Nucl. Fusion"}
@@ -662,7 +492,6 @@ MACRO {rsi} {"Rev. Sci. Inst."}
MACRO {science} {"Science"}
-
MACRO {sciam} {"Sci. Am."}
MACRO {sam} {"Stud. Appl. Math."}
@@ -677,14 +506,8 @@ MACRO {spu} {"Sov. Phys.--Uspeki"}
MACRO {st} {"Sky and Telesc."}
-
-
-
-
% End module: physjour.mbs
-
-
%-------------------------------------------------------------------
% Begin module:
% \ProvidesFile{geojour.mbs}[1999/11/16 2.0g (PWD)]
@@ -800,140 +623,12 @@ 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."}
@@ -990,13 +685,8 @@ MACRO {ASSL} {"Adv. Sol.-State Lasers"}
MACRO {OSA} {"OSA"}
-
-
-
% End module: photjour.mbs
-
-
%% Copyright 1994-2000 Patrick W Daly
MACRO {acmcs} {"ACM Comput. Surv."}
@@ -1207,7 +897,6 @@ FUNCTION {format.names.ed}
if$
t "others" =
{
-
" " * bbl.etal emphasize *
}
{
diff --git a/Master/texmf-dist/bibtex/bib/revtex4/apssamp.bib b/Master/texmf-dist/doc/latex/revtex4/apssamp.bib
index f1725960b52..f1725960b52 100644
--- a/Master/texmf-dist/bibtex/bib/revtex4/apssamp.bib
+++ b/Master/texmf-dist/doc/latex/revtex4/apssamp.bib
diff --git a/Master/texmf-dist/doc/latex/revtex4/apssamp.end b/Master/texmf-dist/doc/latex/revtex4/apssamp.end
deleted file mode 100644
index aa7d4d34610..00000000000
--- a/Master/texmf-dist/doc/latex/revtex4/apssamp.end
+++ /dev/null
@@ -1 +0,0 @@
-\@doendnote{endnote4}{This may be improved in future versions of REVT\kern -.1667em\lower .5ex\hbox {E}\kern -.125emX\spacefactor \@m .}
diff --git a/Master/texmf-dist/doc/latex/revtex4/ltxdocext.pdf b/Master/texmf-dist/doc/latex/revtex4/ltxdocext.pdf
index 666ac756d47..aeb4dec80a0 100644
--- a/Master/texmf-dist/doc/latex/revtex4/ltxdocext.pdf
+++ b/Master/texmf-dist/doc/latex/revtex4/ltxdocext.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/revtex4/ltxgrid.pdf b/Master/texmf-dist/doc/latex/revtex4/ltxgrid.pdf
index 4f895d9d71e..f81fd442db7 100644
--- a/Master/texmf-dist/doc/latex/revtex4/ltxgrid.pdf
+++ b/Master/texmf-dist/doc/latex/revtex4/ltxgrid.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/revtex4/ltxutil.pdf b/Master/texmf-dist/doc/latex/revtex4/ltxutil.pdf
index 9ba6815b863..0bf8301b287 100644
--- a/Master/texmf-dist/doc/latex/revtex4/ltxutil.pdf
+++ b/Master/texmf-dist/doc/latex/revtex4/ltxutil.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/revtex4/revtex4.pdf b/Master/texmf-dist/doc/latex/revtex4/revtex4.pdf
index cea52fde3d7..0ebb0e48527 100644
--- a/Master/texmf-dist/doc/latex/revtex4/revtex4.pdf
+++ b/Master/texmf-dist/doc/latex/revtex4/revtex4.pdf
Binary files differ
diff --git a/Master/texmf-dist/source/latex/revtex4/ltxdocext.dtx b/Master/texmf-dist/source/latex/revtex4/ltxdocext.dtx
index ee9d71c9c04..67b0c9aa303 100644
--- a/Master/texmf-dist/source/latex/revtex4/ltxdocext.dtx
+++ b/Master/texmf-dist/source/latex/revtex4/ltxdocext.dtx
@@ -10,7 +10,6 @@
% For the documentation and more detailed instructions for
% installation, typeset this document with \LaTeX.
% \fi
-% \CheckSum{938}
%% \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
@@ -30,10 +29,8 @@
% \iffalse ltxdoc klootch
%%% @LaTeX-file{
%%% filename = "ltxdocext.dtx",
-%%% version = "0.0a0",
-%%% date = "1999/06/04",
-%%% time = "11:23:00 GMT",
-%%% checksum = "929",
+%%% version = "0.1",
+%%% date = "2020/09/30",
%%% author = "Arthur Ogawa (mailto:ogawa@teleport.com)",
%%% copyright = "Copyright (C) 1999 Arthur Ogawa,
%%% all rights reserved. Copying of this file is
@@ -51,7 +48,6 @@
%%% keywords = "latex, ltxdoc",
%%% supported = "yes",
%%% abstract = "extensions to the ltxdoc class",
-%%% docstring = "The checksum field above generated by ltxdoc",
%%% }
% \fi
%
@@ -134,7 +130,7 @@
% consistently in all generated files and in the
% typeset documentation.
% \begin{macrocode}
- [1999/06/04 0.0a0 ltxdoc extensions package]% \fileversion
+ [2020/09/30 0.1 ltxdoc extensions package]% \fileversion
% \end{macrocode}
%
%
@@ -173,7 +169,7 @@
\begin{filecontents}{ltxdocext.sty}
% Stub version of ltxdocext.sty
\end{filecontents}
-\begin{filecontents}{acrofont.sty}
+\begin{filecontents}[overwrite]{acrofont.sty}
% Stub version of acrofont.sty
\end{filecontents}
% \end{macrocode}
diff --git a/Master/texmf-dist/source/latex/revtex4/ltxgrid.dtx b/Master/texmf-dist/source/latex/revtex4/ltxgrid.dtx
index ab0209ed098..c2ab9e24435 100644
--- a/Master/texmf-dist/source/latex/revtex4/ltxgrid.dtx
+++ b/Master/texmf-dist/source/latex/revtex4/ltxgrid.dtx
@@ -10,17 +10,16 @@
% For the documentation and more detailed instructions for
% installation, typeset this document with \LaTeX.
% \fi
-% \GetFileInfo{ltxgrid.dtx}\CheckSum{4234}
+% \GetFileInfo{ltxgrid.dtx}
%
% \iffalse ltxdoc klootch
%<*ltxgrid>
%%% @LaTeX-file{
%%% filename = "ltxgrid.dtx",
-%%% version = "1.0rc5",
-%%% date = "2001/07/26",
-%%% time = "12:23:00 GMT+8",
-%%% checksum = "4234",
+%%% version = "1.0d",
+%%% date = "2020/09/30",
%%% author = "Arthur Ogawa (mailto:ogawa@teleport.com),
+%%% Phelype Oleinik (mailto:phelype.oleinik at latex-project.org),
%%% commissioned by the American Physical Society.
%%% ",
%%% copyright = "Copyright (C) 1999, 2000 Arthur Ogawa,
@@ -37,7 +36,6 @@
%%% keywords = "latex, page grid, main vertical list",
%%% supported = "yes",
%%% abstract = "package to change page grid, MVL",
-%%% docstring = "The checksum field above generated by ltxdoc",
%%% }
%</ltxgrid>
% \fi
@@ -121,7 +119,7 @@
% typeset documentation.
% \begin{macrocode}
%<*doc|ltxgrid>
- [2001/07/26 1.0rc5 page grid package]% \fileversion
+ [2020/09/30 1.0d page grid package]% \fileversion
%</doc|ltxgrid>
% \end{macrocode}
%
@@ -154,14 +152,10 @@
\documentclass{ltxdoc}
\RequirePackage{ltxdocext}%
\RequirePackage[colorlinks=true,linkcolor=blue]{hyperref}%
-\ifx\package@font\@undefined\else
- \expandafter\expandafter
- \expandafter\RequirePackage
- \expandafter\expandafter
- \expandafter{%
- \csname package@font\endcsname
- }%
-\fi
+\makeatletter
+\@ifundefined{package@font}{}%
+ {\expandafter\RequirePackage\expandafter{\csname package@font\endcsname}}
+\makeatother
\CodelineIndex\EnableCrossrefs
% \end{macrocode}
%
@@ -4037,12 +4031,22 @@ in your filesystem where they will be found by \LaTeX.
% 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}
%
diff --git a/Master/texmf-dist/source/latex/revtex4/ltxutil.dtx b/Master/texmf-dist/source/latex/revtex4/ltxutil.dtx
index 5553e3a863e..02947a6a944 100644
--- a/Master/texmf-dist/source/latex/revtex4/ltxutil.dtx
+++ b/Master/texmf-dist/source/latex/revtex4/ltxutil.dtx
@@ -10,17 +10,16 @@
% For the documentation and more detailed instructions for
% installation, typeset this document with \LaTeX.
% \fi
-% \GetFileInfo{ltxutil.dtx}\CheckSum{3641}
+% \GetFileInfo{ltxutil.dtx}
%
% \iffalse ltxdoc klootch
%<*ltxutil>
%%% @LaTeX-file{
%%% filename = "ltxutil.dtx",
-%%% version = "1.0rc5b",
-%%% date = "2001/07/31",
-%%% time = "12:23:00 GMT+8",
-%%% checksum = "3641",
+%%% version = "1.0d",
+%%% date = "2020/09/30",
%%% author = "Arthur Ogawa (mailto:ogawa@teleport.com),
+%%% Phelype Oleinik (mailto:phelype.oleinik at latex-project.org),
%%% commissioned by the American Physical Society.
%%% ",
%%% copyright = "Copyright (C) 1999 Arthur Ogawa,
@@ -37,7 +36,6 @@
%%% keywords = "latex, utility, kernel",
%%% supported = "yes",
%%% abstract = "package to add utilties to LaTeX",
-%%% docstring = "The checksum field above generated by ltxdoc",
%%% }
%</ltxutil>
% \fi
@@ -121,7 +119,7 @@
% typeset documentation.
% \begin{macrocode}
%<*doc|ltxutil>
- [2001/07/31 1.0rc5b utilities package]% \fileversion
+ [2020/09/30 1.0d utilities package]% \fileversion
%</doc|ltxutil>
% \end{macrocode}
%
@@ -155,9 +153,14 @@
\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
+\pdfstringdefDisableCommands{%
+ \let\file\relax
+ \let\sc\relax
+}
+\makeatletter
+\@ifundefined{package@font}{}%
+ {\expandafter\RequirePackage\expandafter{\csname package@font\endcsname}}
+\makeatother
\CodelineIndex\EnableCrossrefs
% \end{macrocode}
%
@@ -679,6 +682,22 @@ in your filesystem where they will be found by \LaTeX.
% \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} (from 4.2).}%
+% \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
@@ -820,27 +839,42 @@ in your filesystem where they will be found by \LaTeX.
% for deferring the decision about the page grid until \cmd\AtBeginDocument\ time.
% We fix things by prepending a hook at the very beginning of \cmd\document.
%
-% The price we pay for this facility is to depend 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.
-% \begin{macrocode}
-\prepdef\document{%
- \endgroup
- \init@documenthook
- \set@typesize@hook
- \normalsize
- \set@pica@hook
- \true@sw{}%
-}%
+% we assume to be \cmd\endgroup{} (true until the aforementioned release).
+% \changes{4.2d}{2020/09/17}{(PHO) Use \LaTeX's hook management system, if possible (from 4.2).}%
+% \begin{macrocode}
+\rvtx@ifformat@geq{2020-10-01}%
+ {%
+ \AddToHook{begindocument/before}{%
+ \init@documenthook
+ \set@typesize@hook
+ \normalsize
+ \set@pica@hook
+ }%
+ }{%
+ \prepdef\document{%
+ \endgroup
+ \init@documenthook
+ \set@typesize@hook
+ \normalsize
+ \set@pica@hook
+ \true@sw{}%
+ }%
+ }
% \end{macrocode}
% \end{macro}
%
@@ -890,7 +924,15 @@ in your filesystem where they will be found by \LaTeX.
% 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{%
\@enddocumenthook
\@checkend{document}%
@@ -924,7 +966,7 @@ in your filesystem where they will be found by \LaTeX.
\@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%
}%
}{}%
}{%
@@ -932,11 +974,88 @@ in your filesystem where they will be found by \LaTeX.
}%
}{}%
}%
+}
% \end{macrocode}
% \end{macro}
% \end{macro}
% \end{macro}
%
+% \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}%
+\def\clear@document{\clearpage}%
+% \end{macrocode}
+% \end{macro}
%
% \subsection{Type Tools}%
%
diff --git a/Master/texmf-dist/source/latex/revtex4/revtex4-bst.dtx b/Master/texmf-dist/source/latex/revtex4/revtex4-bst.dtx
new file mode 100644
index 00000000000..63d709e1f98
--- /dev/null
+++ b/Master/texmf-dist/source/latex/revtex4/revtex4-bst.dtx
@@ -0,0 +1,2487 @@
+% \iffalse meta-comment balanced on line 122
+% revtex-bst.dtx: Package to extract .bst files for RevTeX
+% Copyright (c) 2020 American Physical Society.
+% https://journals.aps.org/revtex/
+% mailto:revtex@aps.org
+%
+% Disclaimer
+% This file is distributed WITHOUT ANY WARRANTY;
+% without even the implied warranty of
+% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+% License
+% You may distribute this file under the conditions of the
+% LaTeX Project Public License 1.3c or later
+% (http://www.latex-project.org/lppl.txt).
+% ReadMe
+% For the documentation and more detailed instructions for
+% installation, typeset this document with \LaTeX.
+% Maintenance Status
+% This work has the LPPL maintenance status "maintained";
+% Current Maintainer of this work is Phelype Oleinik.
+%
+% This work consists of the main source file revtex4-bst.dtx
+% and the derived files
+% apsrev.bst, apsrmp.bst
+% Distribution:
+% CTAN:macros/latex/contrib/revtex4/
+%
+% Unpacking:
+% tex revtex-bst.dtx
+%
+% Installation:
+% TDS:bibtex/bst/revtex/
+%
+%<*ignore>
+\begingroup
+ \def\x{LaTeX2e}%
+\expandafter\endgroup
+\ifcase
+ 0\expandafter\ifx\csname processbatchFile\endcsname\relax\else1\fi\ifx\fmtname\x\else 1\fi
+ \relax
+\else
+ \csname fi\endcsname
+%</ignore>
+%<*install>
+%% This file will generate documentation and runtime files
+%% from revtex4-2.dtx when run through TeX.
+\input docstrip
+\nopreamble
+\edef\defaultpostamble{%
+ \MetaPrefix\space End of customized bst file^^J%
+ \MetaPrefix ^^J%
+ \MetaPrefix\space End of file `\outFileName'.%
+}
+\askforoverwritefalse
+\keepsilent
+\generate{%
+ \file{apsrev.bst}{\from{revtex4-bst.dtx}{apsrev}}%
+ \file{apsrmp.bst}{\from{revtex4-bst.dtx}{apsrmp}}%
+}%
+\ifToplevel{
+\Msg{***********************************************************}
+\Msg{*}
+\Msg{* To finish the installation, please move}
+\Msg{* *.bst }
+\Msg{* into a directory searched by TeX;}
+\Msg{* in a TDS-compliant installation:}
+\Msg{* texmf/bibtex/bst/revtex4/.}
+\Msg{*}
+\Msg{* Happy BibTeXing}
+\Msg{***********************************************************}
+}
+\endbatchfile
+%</install>
+%<*ignore>
+\fi
+%</ignore>
+% \fi
+%
+% \GetFileInfo{revtex-bst.dtx}
+%
+% \StopEventually{}
+% \iffalse ltxdoc klootch
+%<*package>
+%%% @LaTeX-file{
+%%% filename = "revtex-bst.dtx",
+%%% version = "4.0a",
+%%% date = "2020/10/06",
+%%% author = "Phelype Oleinik (mailto: phelype.oleinik at latex-project.org),
+%%% commissioned by the American Physical Society.
+%%% ",
+%%% copyright = "Copyright (C) 2020 American Physical Society
+%%% distributed under the terms of the
+%%% LaTeX Project Public License 1.3c, see
+%%% ftp://ctan.tug.org/macros/latex/base/lppl.txt
+%%% ",
+%%% email = "mailto colon revtex at aps.org",
+%%% codetable = "ISO/ASCII",
+%%% keywords = "",
+%%% supported = "yes",
+%%% abstract = "",
+%%% }
+%</package>
+% \fi
+%
+% \subsection{Bill of Materials}
+%
+% Following is a list of the files in this distribution arranged
+% according to provenance.
+%
+% \subsubsection{Primary Source}%
+% One single file generates all.
+%\begin{verbatim}
+%revtex-bst.dtx
+%\end{verbatim}
+%
+% \subsubsection{Generated by \texttt{tex revtex4-bst.dtx}}%
+% Typesetting ths file under \TeX\ itself runs the installer,
+% which generates the bibliography style files.
+%\begin{verbatim}
+%apsrev.bst, apsrmp.bst
+%\end{verbatim}
+%
+% \section{Code common to all modules}%
+%
+% \begin{macrocode}
+%<*apsrev|apsrmp>
+%%
+%<apsrev>%% This is file `apsrev.bst',
+%<apsrmp>%% This is file `apsrmp.bst',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%<*apsrev>
+%% merlin.mbs (with options: `head,ay,nat,seq-no,nm-init,ed-au,nmlm,x10,x0,m10,m0,nmft,nmft-def,fnm-def,nmfted,lab,lab-def,keyxyr,yr-par,note-yr,tit-it,jtit-x,jttl-rm,thtit-x,trtit-x,vol-bf,vnum-x,volp-com,jpg-1,num-xser,jnm-x,pub-date,pre-pub,isbn,issn,edby,blk-com,pp,ed,abr,ednx,ord,jabr,revdata,eprint,url,url-blk,misc-simple,bibinfo,nfss,{}')
+%% physjour.mbs (with options: `ay,nat,seq-no,nm-init,ed-au,nmlm,x10,x0,m10,m0,nmft,nmft-def,fnm-def,nmfted,lab,lab-def,keyxyr,yr-par,note-yr,tit-it,jtit-x,jttl-rm,thtit-x,trtit-x,vol-bf,vnum-x,volp-com,jpg-1,num-xser,jnm-x,pub-date,pre-pub,isbn,issn,edby,blk-com,pp,ed,abr,ednx,ord,jabr,revdata,eprint,url,url-blk,misc-simple,bibinfo,nfss,{}')
+%% geojour.mbs (with options: `ay,nat,seq-no,nm-init,ed-au,nmlm,x10,x0,m10,m0,nmft,nmft-def,fnm-def,nmfted,lab,lab-def,keyxyr,yr-par,note-yr,tit-it,jtit-x,jttl-rm,thtit-x,trtit-x,vol-bf,vnum-x,volp-com,jpg-1,num-xser,jnm-x,pub-date,pre-pub,isbn,issn,edby,blk-com,pp,ed,abr,ednx,ord,jabr,revdata,eprint,url,url-blk,misc-simple,bibinfo,nfss,{}')
+%% photjour.mbs (with options: `ay,nat,seq-no,nm-init,ed-au,nmlm,x10,x0,m10,m0,nmft,nmft-def,fnm-def,nmfted,lab,lab-def,keyxyr,yr-par,note-yr,tit-it,jtit-x,jttl-rm,thtit-x,trtit-x,vol-bf,vnum-x,volp-com,jpg-1,num-xser,jnm-x,pub-date,pre-pub,isbn,issn,edby,blk-com,pp,ed,abr,ednx,ord,jabr,revdata,eprint,url,url-blk,misc-simple,bibinfo,nfss,{}')
+%% merlin.mbs (with options: `tail,ay,nat,seq-no,nm-init,ed-au,nmlm,x10,x0,m10,m0,nmft,nmft-def,fnm-def,nmfted,lab,lab-def,keyxyr,yr-par,note-yr,tit-it,jtit-x,jttl-rm,thtit-x,trtit-x,vol-bf,vnum-x,volp-com,jpg-1,num-xser,jnm-x,pub-date,pre-pub,isbn,issn,edby,blk-com,pp,ed,abr,ednx,ord,jabr,revdata,eprint,url,url-blk,misc-simple,bibinfo,nfss,{}')
+%</apsrev>
+%<*apsrmp>
+%% merlin.mbs (with options: `head,ay,nat,vonx,nm-rev1,jnrlst,nmlm,x10,x2,m10,m2,nmft,nmft-def,fnm-def,nmfted,nmand-rm,lab,lab-def,keyxyr,dt-beg,xmth,yr-com,note-yr,jtit-x,jttl-rm,trtit-b,vol-bf,volp-com,jpg-1,pp-last,num-xser,jnm-x,pub-par,pre-pub,isbn,issn,edpar,edby,blk-com,pp,ed,xedn,jabr,and-com,etal-it,revdata,eprint,url,url-blk,pub-over-eprint,bibinfo,nfss,{}')
+%% physjour.mbs (with options: `ay,nat,vonx,nm-rev1,jnrlst,nmlm,x10,x2,m10,m2,nmft,nmft-def,fnm-def,nmfted,nmand-rm,lab,lab-def,keyxyr,dt-beg,xmth,yr-com,note-yr,jtit-x,jttl-rm,trtit-b,vol-bf,volp-com,jpg-1,pp-last,num-xser,jnm-x,pub-par,pre-pub,isbn,issn,edpar,edby,blk-com,pp,ed,xedn,jabr,and-com,etal-it,revdata,eprint,url,url-blk,pub-over-eprint,bibinfo,nfss,{}')
+%% geojour.mbs (with options: `ay,nat,vonx,nm-rev1,jnrlst,nmlm,x10,x2,m10,m2,nmft,nmft-def,fnm-def,nmfted,nmand-rm,lab,lab-def,keyxyr,dt-beg,xmth,yr-com,note-yr,jtit-x,jttl-rm,trtit-b,vol-bf,volp-com,jpg-1,pp-last,num-xser,jnm-x,pub-par,pre-pub,isbn,issn,edpar,edby,blk-com,pp,ed,xedn,jabr,and-com,etal-it,revdata,eprint,url,url-blk,pub-over-eprint,bibinfo,nfss,{}')
+%% photjour.mbs (with options: `ay,nat,vonx,nm-rev1,jnrlst,nmlm,x10,x2,m10,m2,nmft,nmft-def,fnm-def,nmfted,nmand-rm,lab,lab-def,keyxyr,dt-beg,xmth,yr-com,note-yr,jtit-x,jttl-rm,trtit-b,vol-bf,volp-com,jpg-1,pp-last,num-xser,jnm-x,pub-par,pre-pub,isbn,issn,edpar,edby,blk-com,pp,ed,xedn,jabr,and-com,etal-it,revdata,eprint,url,url-blk,pub-over-eprint,bibinfo,nfss,{}')
+%% merlin.mbs (with options: `tail,ay,nat,vonx,nm-rev1,jnrlst,nmlm,x10,x2,m10,m2,nmft,nmft-def,fnm-def,nmfted,nmand-rm,lab,lab-def,keyxyr,dt-beg,xmth,yr-com,note-yr,jtit-x,jttl-rm,trtit-b,vol-bf,volp-com,jpg-1,pp-last,num-xser,jnm-x,pub-par,pre-pub,isbn,issn,edpar,edby,blk-com,pp,ed,xedn,jabr,and-com,etal-it,revdata,eprint,url,url-blk,pub-over-eprint,bibinfo,nfss,{}')
+%</apsrmp>
+%% ----------------------------------------
+%<apsrev>%% *** REVTeX-compatible apsrev.bst 1702 ***
+%<apsrmp>%% *** REVTeX-compatible apsrmp.bst 1702 ***
+%%
+%% Copyright 1994-2000 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:
+ % \ProvidesFile{merlin.mbs}[2000/05/04 4.01 (PWD, AO, DPC)]
+ % 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
+ %---------------------------------------------------------------------
+%</apsrev|apsrmp>
+%
+% \subsection{The Frontmatter File}
+% As promised above, here is the contents of the frontmatter file.
+% This file doesn't have any documentation, so just stop early.
+% \begin{macrocode}
+%<*ignore>
+\stop
+\changes{4.0a}{2020/10/06}{(PHO) Initial version---Put all .bst files in a single .dtx}
+%</ignore>
+% \end{macrocode}
+%
+% \begin{macrocode}
+%<*apsrev|apsrmp>
+% \end{macrocode}
+%
+% \begin{macrocode}
+
+ENTRY
+ { address
+ archive
+ author
+ booktitle
+ chapter
+ collaboration
+ edition
+ editor
+ eid
+ eprint
+ howpublished
+ institution
+ isbn
+ issn
+ journal
+ key
+ month
+ note
+ number
+ numpages
+ organization
+ pages
+ publisher
+ school
+ series
+ title
+ type
+ url
+ volume
+ year
+ }
+ {}
+ { label extra.label sort.label short.list }
+INTEGERS { output.state before.all mid.sentence after.sentence after.block }
+FUNCTION {init.state.consts}
+{ #0 'before.all :=
+ #1 'mid.sentence :=
+ #2 'after.sentence :=
+ #3 'after.block :=
+}
+STRINGS { s t}
+FUNCTION {output.nonnull}
+{ 's :=
+ output.state mid.sentence =
+ { ", " * write$ }
+ { output.state after.block =
+ { add.period$ write$
+ newline$
+ "\newblock " write$
+ }
+ { output.state before.all =
+ 'write$
+ { add.period$ " " * write$ }
+ if$
+ }
+ if$
+ mid.sentence 'output.state :=
+ }
+ if$
+ s
+}
+FUNCTION {output}
+{ duplicate$ empty$
+ 'pop$
+ 'output.nonnull
+ if$
+}
+FUNCTION {output.check}
+{ 't :=
+ duplicate$ empty$
+ { pop$ "empty " t * " in " * cite$ * warning$ }
+ 'output.nonnull
+ if$
+}
+FUNCTION {fin.entry}
+{ add.period$
+ write$
+ newline$
+}
+
+FUNCTION {new.block}
+{ output.state before.all =
+ 'skip$
+ { after.block 'output.state := }
+ if$
+}
+FUNCTION {new.sentence}
+{ output.state after.block =
+ 'skip$
+ { output.state before.all =
+ 'skip$
+ { after.sentence 'output.state := }
+ if$
+ }
+ if$
+}
+FUNCTION {add.blank}
+{ " " * before.all 'output.state :=
+}
+
+FUNCTION {date.block}
+{
+ skip$
+}
+
+FUNCTION {not}
+{ { #0 }
+ { #1 }
+ if$
+}
+FUNCTION {and}
+{ 'skip$
+ { pop$ #0 }
+ if$
+}
+FUNCTION {or}
+{ { pop$ #1 }
+ '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 <
+ { "~" }
+ { " " }
+ if$
+ swap$
+}
+
+FUNCTION {capitalize}
+{ "u" change.case$ "t" change.case$ }
+
+FUNCTION {space.word}
+{ " " swap$ * " " * }
+ % 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}
+%<apsrev>{ "ed." }
+%<apsrmp>{ "edition" }
+
+FUNCTION {bbl.volume}
+%<apsrev>{ "vol." }
+%<apsrmp>{ "volume" }
+
+FUNCTION {bbl.of}
+{ "of" }
+
+FUNCTION {bbl.number}
+%<apsrev>{ "no." }
+%<apsrmp>{ "number" }
+
+FUNCTION {bbl.nr}
+{ "no." }
+
+FUNCTION {bbl.in}
+{ "in" }
+
+FUNCTION {bbl.pages}
+{ "pp." }
+
+FUNCTION {bbl.page}
+{ "p." }
+
+FUNCTION {bbl.eidpp}
+{ "pages" }
+
+FUNCTION {bbl.chapter}
+%<apsrev>{ "chap." }
+%<apsrmp>{ "chapter" }
+
+FUNCTION {bbl.techrep}
+%<apsrev>{ "Tech. Rep." }
+%<apsrmp>{ "Technical Report" }
+
+FUNCTION {bbl.mthesis}
+{ "Master's thesis" }
+
+FUNCTION {bbl.phdthesis}
+{ "Ph.D. thesis" }
+
+%<*apsrev>
+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 {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$
+}
+%</apsrev>
+%<*apsrmp>
+MACRO {jan} {"January"}
+
+MACRO {feb} {"February"}
+
+MACRO {mar} {"March"}
+
+MACRO {apr} {"April"}
+
+MACRO {may} {"May"}
+
+MACRO {jun} {"June"}
+
+MACRO {jul} {"July"}
+
+MACRO {aug} {"August"}
+
+MACRO {sep} {"September"}
+
+MACRO {oct} {"October"}
+
+MACRO {nov} {"November"}
+
+MACRO {dec} {"December"}
+%</apsrmp>
+
+ %-------------------------------------------------------------------
+
+ % Begin module:
+
+ % \ProvidesFile{physjour.mbs}[1999/10/05 2.1 (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}[1999/11/16 2.0g (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 {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-2000 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.check}
+{ swap$
+ duplicate$ missing$
+ {
+ pop$ pop$
+ ""
+ }
+ { duplicate$ empty$
+ {
+ swap$ pop$
+ }
+ { swap$
+ "\bibinfo{" 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{" swap$ * "}{" * swap$ * "}" *
+ }
+ if$
+ }
+ if$
+}
+FUNCTION {format.eprint}
+{ eprint duplicate$ empty$
+ 'skip$
+ { "\eprint"
+ archive empty$
+ 'skip$
+ { "[" * archive * "]" * }
+ if$
+ "{" * swap$ * "}" *
+ }
+ if$
+}
+FUNCTION {format.url}
+{ url empty$
+ { "" }
+ { "\urlprefix\url{" url * "}" * }
+ if$
+}
+
+STRINGS { bibinfo}
+INTEGERS { nameptr namesleft numnames }
+
+FUNCTION {format.names}
+{ 'bibinfo :=
+ duplicate$ empty$ 'skip$ {
+ 's :=
+ "" 't :=
+ #1 'nameptr :=
+ s num.names$ 'numnames :=
+ numnames 'namesleft :=
+ { namesleft #0 > }
+ { s nameptr
+%<*apsrev>
+ "{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$
+%</apsrev>
+%<*apsrmp>
+ nameptr #1 >
+ { "{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$
+ }
+ { "{vv~}{ll}" format.name$ bib.name.font
+ s nameptr
+ "{f.}{, jj}"
+ format.name$ duplicate$ empty$ 'skip$
+ { bib.fname.font ", " swap$ * }
+ if$
+ }
+ if$
+%</apsrmp>
+ *
+ bibinfo bibinfo.check
+ 't :=
+ nameptr #1 >
+ {
+%<apsrev> nameptr #0
+%<apsrmp> nameptr #2
+ #10 +
+ #1 + =
+%<apsrev> numnames #0
+%<apsrmp> numnames #2
+ #10 +
+ > and
+ { "others" 't :=
+ #1 'namesleft := }
+ 'skip$
+ if$
+ namesleft #1 >
+ { ", " * t * }
+ {
+%<*apsrev>
+ numnames #2 >
+ { "," * }
+ 'skip$
+ if$
+%</apsrev>
+%<*apsrmp>
+ "," *
+%</apsrmp>
+ s nameptr "{ll}" format.name$ duplicate$ "others" =
+ { 't := }
+ { pop$ }
+ if$
+ t "others" =
+ {
+%<apsrev> " " * bbl.etal bib.name.font *
+%<apsrmp> " " * bbl.etal emphasize *
+ }
+ {
+ bbl.and
+%<apsrev> bib.name.font
+ space.word * t *
+ }
+ if$
+ }
+ if$
+ }
+ 't
+ if$
+ nameptr #1 + 'nameptr :=
+ namesleft #1 - 'namesleft :=
+ }
+ while$
+ } if$
+}
+%<*apsrev>
+FUNCTION {format.names.ed}
+{
+ format.names
+}
+%</apsrev>
+%<*apsrmp>
+FUNCTION {format.names.ed}
+{
+ 'bibinfo :=
+ duplicate$ empty$ 'skip$ {
+ 's :=
+ "" 't :=
+ #1 'nameptr :=
+ s num.names$ 'numnames :=
+ numnames 'namesleft :=
+ { namesleft #0 > }
+ { 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$
+ *
+ bibinfo bibinfo.check
+ 't :=
+ nameptr #1 >
+ {
+ namesleft #1 >
+ { ", " * t * }
+ {
+ numnames #2 >
+ { "," * }
+ 'skip$
+ if$
+ s nameptr "{ll}" format.name$ duplicate$ "others" =
+ { 't := }
+ { pop$ }
+ if$
+ t "others" =
+ {
+ " " * bbl.etal emphasize *
+ }
+ {
+ bbl.and
+ space.word * t *
+ }
+ if$
+ }
+ if$
+ }
+ 't
+ if$
+ nameptr #1 + 'nameptr :=
+ namesleft #1 - 'namesleft :=
+ }
+ while$
+ } if$
+}
+%</apsrmp>
+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$
+}
+FUNCTION {get.bbl.editor}
+{ editor num.names$ #1 > 'bbl.editors 'bbl.editor if$ }
+
+FUNCTION {format.editors}
+{ editor "editor" format.names duplicate$ empty$ 'skip$
+ {
+%<*apsrev>
+ "," *
+ " " *
+ get.bbl.editor
+%</apsrev>
+%<*apsrmp>
+ " " *
+ get.bbl.editor
+ "(" swap$ * ")" *
+%</apsrmp>
+ *
+ }
+ if$
+}
+FUNCTION {format.isbn}
+{ isbn "isbn" bibinfo.check
+ duplicate$ empty$ 'skip$
+ {
+ "ISBN " swap$ *
+ }
+ if$
+}
+
+FUNCTION {format.issn}
+{ issn "issn" bibinfo.check
+ duplicate$ empty$ 'skip$
+ {
+ "ISSN " swap$ *
+ }
+ if$
+}
+
+FUNCTION {format.note}
+{
+ note empty$
+ { "" }
+ { note #1 #1 substring$
+ duplicate$ "{" =
+ 'skip$
+ { output.state mid.sentence =
+ { "l" }
+ { "u" }
+ if$
+ change.case$
+ }
+ if$
+ note #2 global.max$ substring$ * "note" bibinfo.check
+ }
+ if$
+}
+
+FUNCTION {format.title}
+{ title
+ duplicate$ empty$
+ { skip$ }
+ { "t" change.case$ }
+ if$
+ "title" bibinfo.check
+%<*apsrev>
+ duplicate$ empty$ 'skip$
+ {
+ emphasize
+ }
+ if$
+%</apsrev>
+}
+
+FUNCTION {format.full.names}
+{'s :=
+ "" 't :=
+ #1 'nameptr :=
+ s num.names$ 'numnames :=
+ numnames 'namesleft :=
+ { namesleft #0 > }
+ { s nameptr
+ "{vv~}{ll}" format.name$
+ 't :=
+ nameptr #1 >
+ {
+%<apsrev> nameptr #0
+%<apsrmp> nameptr #2
+ #10 +
+ #1 + =
+%<apsrev> numnames #0
+%<apsrmp> numnames #2
+ #10 +
+ > and
+ { "others" 't :=
+ #1 'namesleft := }
+ 'skip$
+ if$
+ namesleft #1 >
+ { ", " * t * }
+ {
+ s nameptr "{ll}" format.name$ duplicate$ "others" =
+ { 't := }
+ { pop$ }
+ if$
+ t "others" =
+ {
+%<apsrev> " " * bbl.etal *
+ cite.name.font
+%<apsrmp> " " * bbl.etal emphasize *
+ }
+ {
+ numnames #2 >
+ { "," * }
+ 'skip$
+ if$
+ bbl.and
+ space.word * t *
+ }
+ if$
+ }
+ if$
+ }
+ 't
+ if$
+ nameptr #1 + 'nameptr :=
+ namesleft #1 - 'namesleft :=
+ }
+ while$
+ t "others" =
+ 'skip$
+ { cite.name.font }
+ if$
+}
+
+FUNCTION {author.editor.key.full}
+{ author empty$
+ { editor empty$
+ { key empty$
+ { cite$ #1 #3 substring$ }
+ 'key
+ if$
+ }
+ { editor format.full.names }
+ if$
+ }
+ { author format.full.names }
+ if$
+}
+
+FUNCTION {author.key.full}
+{ author empty$
+ { key empty$
+ { cite$ #1 #3 substring$ }
+ 'key
+ if$
+ }
+ { author format.full.names }
+ if$
+}
+
+FUNCTION {editor.key.full}
+{ editor empty$
+ { key empty$
+ { cite$ #1 #3 substring$ }
+ 'key
+ if$
+ }
+ { editor format.full.names }
+ if$
+}
+
+FUNCTION {make.full.names}
+{ type$ "book" =
+ type$ "inbook" =
+ or
+ 'author.editor.key.full
+ { type$ "proceedings" =
+ 'editor.key.full
+ 'author.key.full
+ if$
+ }
+ if$
+}
+
+FUNCTION {output.bibitem}
+{ newline$
+ "\bibitem[{" write$
+ label write$
+ ")" make.full.names duplicate$ short.list =
+ { pop$ }
+ { * }
+ if$
+ "}]{" * write$
+ cite$ write$
+ "}" write$
+ newline$
+ ""
+ before.all 'output.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
+ " " * }
+
+FUNCTION {format.date}
+{ year "year" bibinfo.check duplicate$ empty$
+ {
+ "empty year in " cite$ * "; set to ????" * warning$
+ pop$ "????"
+ }
+ 'skip$
+ if$
+ extra.label *
+ before.all 'output.state :=
+%<apsrev> " (" swap$ * ")" *
+%<apsrmp> ", " swap$ *
+}
+FUNCTION {format.date.misc}
+{
+%<apsrev> year empty$ 'skip$ {
+ format.date "year" output.check
+%<apsrev> } if$
+}
+FUNCTION {format.btitle}
+{ title "title" bibinfo.check
+ duplicate$ empty$ 'skip$
+ {
+ emphasize
+ }
+ if$
+}
+FUNCTION {either.or.check}
+{ empty$
+ 'pop$
+ { "can't use both " swap$ * " fields in " * cite$ * warning$ }
+ if$
+}
+FUNCTION {format.bvolume}
+{ volume empty$
+ { "" }
+ { bbl.volume volume tie.or.space.prefix
+ "volume" bibinfo.check * *
+ series "series" bibinfo.check
+ duplicate$ empty$ 'pop$
+ { swap$ bbl.of space.word * swap$
+ emphasize * }
+ if$
+ "volume and number" number either.or.check
+ }
+ if$
+}
+FUNCTION {format.number.series}
+{ volume empty$
+ { number empty$
+ { series field.or.null }
+ { series empty$
+ { number "number" bibinfo.check }
+ { output.state mid.sentence =
+ { bbl.number }
+ { bbl.number capitalize }
+ if$
+ number tie.or.space.prefix "number" bibinfo.check * *
+ bbl.in space.word *
+ series "series" bibinfo.check *
+ }
+ if$
+ }
+ if$
+ }
+ { "" }
+ if$
+}
+%<*apsrev>
+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
+}
+%</apsrev>
+
+FUNCTION {format.edition}
+{ edition duplicate$ empty$ 'skip$
+ {
+%<apsrev> convert.edition
+ output.state mid.sentence =
+ { "l" }
+ { "t" }
+ if$ change.case$
+ "edition" bibinfo.check
+ " " * 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.journal.pages}
+{ pages duplicate$ empty$ 'pop$
+ { swap$ duplicate$ empty$
+ { pop$ pop$ format.pages }
+ {
+ ", " *
+ swap$
+ first.page
+ "pages" bibinfo.check
+ *
+ }
+ if$
+ }
+ if$
+}
+FUNCTION {format.journal.eid}
+{ eid "eid" bibinfo.check
+ duplicate$ empty$ 'skip$
+ { swap$ duplicate$ empty$ 'skip$
+ {
+ ", " *
+ }
+ if$
+ swap$
+ numpages empty$ 'skip$
+ { bbl.eidpp numpages tie.or.space.prefix
+ "numpages" bibinfo.check * *
+ " (" swap$ * ")" * *
+ }
+ if$
+ }
+ if$ *
+}
+FUNCTION {format.vol.num.pages}
+{ volume field.or.null
+ duplicate$ empty$ 'skip$
+ {
+ "volume" bibinfo.check
+ }
+ if$
+ bolden
+%<*apsrev>
+ eid empty$
+ { format.journal.pages }
+ { format.journal.eid }
+ if$
+%</apsrev>
+%<*apsrmp>
+ number "number" bibinfo.check duplicate$ empty$ 'skip$
+ {
+ swap$ duplicate$ empty$
+ { "there's a number but no volume in " cite$ * warning$ }
+ 'skip$
+ if$
+ swap$
+ "(" swap$ * ")" *
+ }
+ if$ *
+%</apsrmp>
+}
+
+FUNCTION {format.chapter.pages}
+{ chapter empty$
+%<apsrev> 'format.pages
+%<apsrmp> { "" }
+ { type empty$
+ { bbl.chapter }
+ { type "l" change.case$
+ "type" bibinfo.check
+ }
+ if$
+ chapter tie.or.space.prefix
+ "chapter" bibinfo.check
+ * *
+%<*apsrev>
+ pages empty$
+ 'skip$
+ { ", " * format.pages * }
+ if$
+%</apsrev>
+ }
+ if$
+}
+
+FUNCTION {format.booktitle}
+{
+ booktitle "booktitle" bibinfo.check
+ emphasize
+}
+FUNCTION {format.in.ed.booktitle}
+{ format.booktitle duplicate$ empty$ 'skip$
+ {
+ editor "editor" format.names.ed duplicate$ empty$ 'pop$
+ {
+ bbl.edby
+ " " * swap$ *
+ swap$
+ "," *
+ " " * swap$
+ * }
+ if$
+ word.in swap$ *
+ }
+ 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 :=
+ ""
+%<*apsrmp>
+ address empty$ t empty$ and
+ 'skip$
+ {
+%</apsrmp>
+ add.blank "(" *
+ t empty$
+ { address "address" bibinfo.check *
+ }
+ { t *
+ address empty$
+ 'skip$
+ { ", " * address "address" bibinfo.check * }
+ if$
+ }
+ if$
+%<*apsrev>
+ year duplicate$ empty$
+ { "empty year in " cite$ * "; set to ????" * warning$
+ pop$ "????" }
+ { "year" bibinfo.check extra.label * }
+ if$
+ t empty$ address empty$ and
+ { * }
+ { ", " swap$ * * }
+ if$
+%</apsrev>
+ ")" *
+%<*apsrmp>
+ }
+ if$
+%</apsrmp>
+}
+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 {article}
+{ output.bibitem
+ format.authors "author" output.check
+ author format.key output
+%<*apsrmp>
+ format.date "year" output.check
+ date.block
+%</apsrmp>
+ crossref missing$
+ {
+ ""
+ journal
+ duplicate$ empty$
+ { pop$ pop$ } {
+ "journal" bibinfo.check
+ * "journal" output.check
+ add.blank
+ } if$
+ format.vol.num.pages output
+%<apsrev> format.date "year" output.check
+ }
+ { format.article.crossref output.nonnull
+%<apsrev> format.pages output
+ }
+ if$
+%<*apsrmp>
+ eid empty$
+ { format.journal.pages }
+ { format.journal.eid }
+ if$
+%</apsrmp>
+ format.issn output
+ format.note output
+%<apsrmp> journal empty$ volume empty$ or {
+ format.eprint output
+%<apsrmp> } {} if$
+ format.url 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$
+ { "author and editor" editor either.or.check }
+ 'skip$
+ if$
+ }
+ if$
+%<*apsrmp>
+ format.date "year" output.check
+ date.block
+%</apsrmp>
+ format.btitle "title" output.check
+ crossref missing$
+ { format.bvolume output
+ format.number.series output
+ format.publisher.address output
+ }
+ {
+ format.book.crossref output.nonnull
+%<apsrev> format.date "year" output.check
+ }
+ if$
+ format.edition output
+ format.isbn output
+ format.note output
+ format.eprint output
+ format.url output
+ fin.entry
+}
+FUNCTION {booklet}
+{ output.bibitem
+ format.authors output
+ author format.key output
+%<*apsrmp>
+ format.date "year" output.check
+ date.block
+%</apsrmp>
+ format.title "title" output.check
+ howpublished "howpublished" bibinfo.check output
+ address "address" bibinfo.check output
+%<apsrev> format.date "year" output.check
+ format.isbn output
+ format.note output
+ format.eprint output
+ format.url output
+ fin.entry
+}
+
+FUNCTION {inbook}
+{ output.bibitem
+ author empty$
+ { format.editors "author and editor" output.check
+ editor format.key output
+ }
+ { format.authors output.nonnull
+ crossref missing$
+ { "author and editor" editor either.or.check }
+ 'skip$
+ if$
+ }
+ if$
+%<*apsrmp>
+ format.date "year" output.check
+ date.block
+%</apsrmp>
+ format.btitle "title" output.check
+ crossref missing$
+ {
+ format.publisher.address output
+ format.bvolume output
+ format.chapter.pages "chapter and pages" output.check
+ format.number.series output
+ }
+ {
+ format.chapter.pages "chapter and pages" output.check
+ format.book.crossref output.nonnull
+%<apsrev> format.date "year" output.check
+ }
+ if$
+ format.edition output
+ crossref missing$
+ { format.isbn output }
+ 'skip$
+ if$
+%<apsrmp> format.pages "pages" output.check
+ format.note output
+ format.eprint output
+ format.url output
+ fin.entry
+}
+
+FUNCTION {incollection}
+{ output.bibitem
+ format.authors "author" output.check
+ author format.key output
+%<*apsrmp>
+ format.date "year" output.check
+ date.block
+%</apsrmp>
+ crossref missing$
+ { format.in.ed.booktitle "booktitle" output.check
+ format.publisher.address output
+ format.bvolume output
+ format.number.series output
+ format.chapter.pages output
+ format.edition output
+ format.isbn output
+ }
+ { format.incoll.inproc.crossref output.nonnull
+ format.chapter.pages output
+ }
+ if$
+%<apsrmp> format.pages "pages" output.check
+ format.note output
+ format.eprint output
+ format.url output
+ fin.entry
+}
+FUNCTION {inproceedings}
+{ output.bibitem
+ format.authors "author" output.check
+ author format.key output
+%<*apsrmp>
+ format.date "year" output.check
+ date.block
+%</apsrmp>
+ crossref missing$
+ { format.in.ed.booktitle "booktitle" output.check
+ publisher empty$
+ { format.organization.address output }
+ { organization "organization" bibinfo.check output
+ format.publisher.address output
+ }
+ if$
+ format.bvolume output
+ format.number.series output
+ format.pages output
+ format.isbn output
+ format.issn output
+ }
+ { format.incoll.inproc.crossref output.nonnull
+ format.pages output
+ }
+ if$
+ format.note output
+ format.eprint output
+ format.url output
+ fin.entry
+}
+FUNCTION {conference} { inproceedings }
+FUNCTION {manual}
+{ output.bibitem
+ format.authors output
+ author format.key output
+%<*apsrmp>
+ format.date "year" output.check
+ date.block
+%</apsrmp>
+ format.btitle "title" output.check
+ organization "organization" bibinfo.check output
+ address "address" bibinfo.check output
+ format.edition output
+%<apsrev> format.date "year" output.check
+ format.note output
+ format.eprint output
+ format.url output
+ fin.entry
+}
+
+FUNCTION {mastersthesis}
+{ output.bibitem
+ format.authors "author" output.check
+ author format.key output
+%<*apsrmp>
+ format.date "year" output.check
+ date.block
+ format.btitle
+ "title" output.check
+%</apsrmp>
+ bbl.mthesis format.thesis.type output.nonnull
+ school "school" bibinfo.warn output
+ address "address" bibinfo.check output
+%<apsrev> format.date "year" output.check
+ format.note output
+ format.eprint output
+ format.url output
+ fin.entry
+}
+
+FUNCTION {misc}
+{ output.bibitem
+ format.authors output
+ author format.key output
+%<*apsrmp>
+ format.date.misc
+ date.block
+%</apsrmp>
+ format.title output
+ howpublished "howpublished" bibinfo.check output
+%<apsrev> format.date.misc
+ format.note output
+ format.eprint output
+ format.url output
+ fin.entry
+}
+FUNCTION {phdthesis}
+{ output.bibitem
+ format.authors "author" output.check
+ author format.key output
+%<*apsrmp>
+ format.date "year" output.check
+ date.block
+ format.btitle
+ "title" output.check
+%</apsrmp>
+ bbl.phdthesis format.thesis.type output.nonnull
+ school "school" bibinfo.warn output
+ address "address" bibinfo.check output
+%<apsrev> format.date "year" output.check
+ format.note output
+ format.eprint output
+ format.url output
+ fin.entry
+}
+
+FUNCTION {proceedings}
+{ output.bibitem
+ format.editors output
+ editor format.key output
+%<*apsrmp>
+ format.date "year" output.check
+ date.block
+%</apsrmp>
+ format.btitle "title" output.check
+ format.bvolume output
+ format.number.series output
+ publisher empty$
+ { format.organization.address output }
+ { organization "organization" bibinfo.check output
+ format.publisher.address output
+ }
+ if$
+ format.isbn output
+ format.issn output
+ format.note output
+ format.eprint output
+ format.url output
+ fin.entry
+}
+
+FUNCTION {techreport}
+{ output.bibitem
+ format.authors "author" output.check
+ author format.key output
+%<*apsrmp>
+ format.date "year" output.check
+ date.block
+ format.btitle
+ "title" output.check
+%</apsrmp>
+ format.tr.number output.nonnull
+ institution "institution" bibinfo.warn output
+ address "address" bibinfo.check output
+%<apsrev> format.date "year" output.check
+ format.note output
+ format.eprint output
+ format.url output
+ fin.entry
+}
+
+FUNCTION {unpublished}
+{ output.bibitem
+ format.authors "author" output.check
+ author format.key output
+%<*apsrmp>
+ format.date "year" output.check
+ date.block
+ format.title "title" output.check
+%</apsrmp>
+%<apsrev> format.date.misc
+ format.note "note" output.check
+ format.eprint output
+ format.url output
+ fin.entry
+}
+
+FUNCTION {default.type} { misc }
+READ
+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 {format.lab.names}
+{ 's :=
+ "" 't :=
+ s #1 "{vv~}{ll}" format.name$
+ s num.names$ duplicate$
+ #2 >
+ { pop$
+%<apsrev> " " * bbl.etal *
+ cite.name.font
+%<apsrmp> " " * bbl.etal emphasize *
+ "others" 't :=
+ }
+ { #2 <
+ 'skip$
+ { s #2 "{ff }{vv }{ll}{ jj}" format.name$ "others" =
+ {
+%<apsrev> " " * bbl.etal *
+%<apsrev> cite.name.font
+%<apsrmp> " " * bbl.etal emphasize *
+ "others" 't :=
+ }
+ { bbl.and space.word * s #2 "{vv~}{ll}" format.name$
+ * }
+ if$
+ }
+ if$
+ }
+ if$
+ t "others" =
+ 'skip$
+ { cite.name.font }
+ 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$ "" }
+ 'skip$
+ if$
+ *
+ 'label :=
+}
+
+FUNCTION {sort.format.names}
+{ 's :=
+ #1 'nameptr :=
+ ""
+ s num.names$ 'numnames :=
+ numnames 'namesleft :=
+ { namesleft #0 > }
+ { s nameptr
+%<apsrev> "{vv{ } }{ll{ }}{ f{ }}{ jj{ }}"
+%<apsrmp> "{ll{ }}{ f{ }}{ jj{ }}"
+ format.name$ 't :=
+ nameptr #1 >
+ {
+%<apsrev> nameptr #0
+%<apsrmp> nameptr #2
+ #10 +
+ #1 + =
+%<apsrev> numnames #0
+%<apsrmp> numnames #2
+ #10 +
+ > and
+ { "others" 't :=
+ #1 'namesleft := }
+ 'skip$
+ if$
+ " " *
+ 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 {editor.sort}
+{ editor empty$
+ { key empty$
+ { "to sort, need editor or key in " cite$ * warning$
+ ""
+ }
+ { key sortify }
+ if$
+ }
+ { editor sort.format.names }
+ if$
+}
+%<*apsrev>
+INTEGERS { seq.num }
+FUNCTION {init.seq}
+{ #0 'seq.num :=}
+EXECUTE {init.seq}
+FUNCTION {int.to.fix}
+{ "000000000" swap$ int.to.str$ *
+ #-1 #10 substring$
+}
+%</apsrev>
+FUNCTION {presort}
+{ calc.label
+ label sortify
+ " "
+ *
+%<*apsrev>
+ seq.num #1 + 'seq.num :=
+ seq.num int.to.fix
+%</apsrev>
+%<*apsrmp>
+ type$ "book" =
+ type$ "inbook" =
+ or
+ 'author.editor.sort
+ { type$ "proceedings" =
+ 'editor.sort
+ 'author.sort
+ if$
+ }
+ if$
+ #1 entry.max$ substring$
+%</apsrmp>
+ 'sort.label :=
+ sort.label
+ *
+ " "
+ *
+ title field.or.null
+ sort.format.title
+ *
+ #1 entry.max$ substring$
+ 'sort.key$ :=
+}
+
+ITERATE {presort}
+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 {forward.pass}
+{ 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 {reverse.pass}
+{ 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}
+ITERATE {forward.pass}
+REVERSE {reverse.pass}
+FUNCTION {bib.sort.order}
+{ sort.label
+ " "
+ *
+ year field.or.null sortify
+ *
+ " "
+ *
+ title field.or.null
+ sort.format.title
+ *
+ #1 entry.max$ substring$
+ 'sort.key$ :=
+}
+ITERATE {bib.sort.order}
+SORT
+FUNCTION {begin.bib}
+{ preamble$ empty$
+ 'skip$
+ { preamble$ write$ newline$ }
+ if$
+ "\begin{thebibliography}{" number.label int.to.str$ * "}" *
+ write$ newline$
+ "\expandafter\ifx\csname natexlab\endcsname\relax\def\natexlab#1{#1}\fi"
+ write$ newline$
+ "\expandafter\ifx\csname bibnamefont\endcsname\relax"
+ write$ newline$
+ " \def\bibnamefont#1{#1}\fi"
+ write$ newline$
+ "\expandafter\ifx\csname bibfnamefont\endcsname\relax"
+ write$ newline$
+ " \def\bibfnamefont#1{#1}\fi"
+ write$ newline$
+ "\expandafter\ifx\csname citenamefont\endcsname\relax"
+ write$ newline$
+ " \def\citenamefont#1{#1}\fi"
+ write$ newline$
+ "\expandafter\ifx\csname url\endcsname\relax"
+ write$ newline$
+ " \def\url#1{\texttt{#1}}\fi"
+ write$ newline$
+ "\expandafter\ifx\csname urlprefix\endcsname\relax\def\urlprefix{URL }\fi"
+ write$ newline$
+ "\providecommand{\bibinfo}[2]{#2}"
+ write$ newline$
+ "\providecommand{\eprint}[2][]{\url{#2}}"
+ write$ newline$
+}
+EXECUTE {begin.bib}
+EXECUTE {init.state.consts}
+ITERATE {call.type$}
+FUNCTION {end.bib}
+{ newline$
+ "\end{thebibliography}" write$ newline$
+}
+EXECUTE {end.bib}
+% \end{macrocode}
+%
+% \begin{macrocode}
+%</apsrev|apsrmp>
+% \end{macrocode}
+%
+% \endinput
+%
+% \Finale
diff --git a/Master/texmf-dist/source/latex/revtex4/revtex4.dtx b/Master/texmf-dist/source/latex/revtex4/revtex4.dtx
index 693747ef47f..417e2e2d8b2 100644
--- a/Master/texmf-dist/source/latex/revtex4/revtex4.dtx
+++ b/Master/texmf-dist/source/latex/revtex4/revtex4.dtx
@@ -28,7 +28,7 @@
%<revsymb&!class-pre>\ProvidesPackage{revsymb}
%<driver>\ProvidesFile{revtex.drv}
%<*!class-pst>
- [2001/08/02 v4.0 (http://publish.aps.org/revtex4/ for documentation)]%FileInfo
+ [2020/09/30 v4.0a (http://publish.aps.org/revtex4/ for documentation)]%FileInfo
%</!class-pst>
%<*driver>
\listfiles
@@ -51,7 +51,7 @@
%</driver>
% \fi
%
-% \GetFileInfo{revtex4.dtx}\CheckSum{7177}
+% \GetFileInfo{revtex4.dtx}
%
% \title{The \classname{revtex4} document class of the American Physical Society}
% \author{Arthur Ogawa%
diff --git a/Master/texmf-dist/source/latex/revtex4/textcase.dtx b/Master/texmf-dist/source/latex/revtex4/textcase.dtx
index 60010e5ee67..9ff5de536b1 100644
--- a/Master/texmf-dist/source/latex/revtex4/textcase.dtx
+++ b/Master/texmf-dist/source/latex/revtex4/textcase.dtx
@@ -26,7 +26,6 @@
% \fi
%
% \GetFileInfo{textcase.dtx}
-% \CheckSum{110}
%
% \changes{v0.01}{1997/09/28}
% {Posted to c.t.t}
diff --git a/Master/texmf-dist/tex/latex/revtex4/10pt.rtx b/Master/texmf-dist/tex/latex/revtex4/10pt.rtx
index 73557631c48..1ab958dfee8 100644
--- a/Master/texmf-dist/tex/latex/revtex4/10pt.rtx
+++ b/Master/texmf-dist/tex/latex/revtex4/10pt.rtx
@@ -18,7 +18,7 @@
%% See the REVTeX 4 README file for restrictions and more information.
%%
\ProvidesFile{10pt.rtx}
- [2001/08/02 v4.0 (http://publish.aps.org/revtex4/ for documentation)]%FileInfo
+ [2020/09/30 v4.0a (http://publish.aps.org/revtex4/ for documentation)]%FileInfo
\def\normalsize{%
\@setfontsize\normalsize\@xpt{11.5}%
\abovedisplayskip 10\p@ \@plus2\p@ \@minus5\p@
diff --git a/Master/texmf-dist/tex/latex/revtex4/11pt.rtx b/Master/texmf-dist/tex/latex/revtex4/11pt.rtx
index d80c3857bc6..43e11a9770c 100644
--- a/Master/texmf-dist/tex/latex/revtex4/11pt.rtx
+++ b/Master/texmf-dist/tex/latex/revtex4/11pt.rtx
@@ -18,7 +18,7 @@
%% See the REVTeX 4 README file for restrictions and more information.
%%
\ProvidesFile{11pt.rtx}
- [2001/08/02 v4.0 (http://publish.aps.org/revtex4/ for documentation)]%FileInfo
+ [2020/09/30 v4.0a (http://publish.aps.org/revtex4/ for documentation)]%FileInfo
\def\normalsize{%
\@setfontsize\normalsize\@xipt{13.6}%
\abovedisplayskip 11\p@ \@plus3\p@ \@minus6\p@
diff --git a/Master/texmf-dist/tex/latex/revtex4/12pt.rtx b/Master/texmf-dist/tex/latex/revtex4/12pt.rtx
index b33c2797e20..a4e4de4eb56 100644
--- a/Master/texmf-dist/tex/latex/revtex4/12pt.rtx
+++ b/Master/texmf-dist/tex/latex/revtex4/12pt.rtx
@@ -18,7 +18,7 @@
%% See the REVTeX 4 README file for restrictions and more information.
%%
\ProvidesFile{12pt.rtx}
- [2001/08/02 v4.0 (http://publish.aps.org/revtex4/ for documentation)]%FileInfo
+ [2020/09/30 v4.0a (http://publish.aps.org/revtex4/ for documentation)]%FileInfo
\def\normalsize{%
\@setfontsize\normalsize\@xiipt{14pt}%
\abovedisplayskip 12\p@ \@plus3\p@ \@minus7\p@
diff --git a/Master/texmf-dist/tex/latex/revtex4/aps.rtx b/Master/texmf-dist/tex/latex/revtex4/aps.rtx
index d594319714b..becd1f74e89 100644
--- a/Master/texmf-dist/tex/latex/revtex4/aps.rtx
+++ b/Master/texmf-dist/tex/latex/revtex4/aps.rtx
@@ -19,7 +19,7 @@
%%
\NeedsTeXFormat{LaTeX2e}[1996/12/01]
\ProvidesFile{aps.rtx}
- [2001/08/02 v4.0 (http://publish.aps.org/revtex4/ for documentation)]%FileInfo
+ [2020/09/30 v4.0a (http://publish.aps.org/revtex4/ for documentation)]%FileInfo
\ifx\undefined\substyle@ext
\def\@tempa{%
\endinput
diff --git a/Master/texmf-dist/tex/latex/revtex4/revsymb.sty b/Master/texmf-dist/tex/latex/revtex4/revsymb.sty
index b60cbb46b3b..c4eb1a01586 100644
--- a/Master/texmf-dist/tex/latex/revtex4/revsymb.sty
+++ b/Master/texmf-dist/tex/latex/revtex4/revsymb.sty
@@ -18,7 +18,7 @@
%% See the REVTeX 4 README file for restrictions and more information.
%%
\ProvidesPackage{revsymb}
- [2001/08/02 v4.0 (http://publish.aps.org/revtex4/ for documentation)]%FileInfo
+ [2020/09/30 v4.0a (http://publish.aps.org/revtex4/ for documentation)]%FileInfo
\def\REVSYMB@warn#1{\PackageWarningNoLine{revsymb}{#1}}%
\DeclareRobustCommand\lambdabar{%
\bgroup
diff --git a/Master/texmf-dist/tex/latex/revtex4/revtex4.cls b/Master/texmf-dist/tex/latex/revtex4/revtex4.cls
index 854db7169ae..069e7fd9fdf 100644
--- a/Master/texmf-dist/tex/latex/revtex4/revtex4.cls
+++ b/Master/texmf-dist/tex/latex/revtex4/revtex4.cls
@@ -23,7 +23,7 @@
%%
\NeedsTeXFormat{LaTeX2e}[1996/12/01]
\ProvidesClass{revtex4}
- [2001/08/02 v4.0 (http://publish.aps.org/revtex4/ for documentation)]%FileInfo
+ [2020/09/30 v4.0a (http://publish.aps.org/revtex4/ for documentation)]%FileInfo
\def\class@name{revtex4}%
\GenericInfo{}{\space
Copyright (c) 2001 The American Physical Society.^^J
@@ -33,7 +33,7 @@
Based on work by David Carlisle <david@dcarlisle.demon.co.uk>%
\@gobble
}%
-\if@compatibility
+\if@compatibility
\edef\reserved@a{\errhelp{%
Change your \string\documentstyle\space statement to
\string\documentclass\space and rerun.
@@ -151,6 +151,11 @@
\long\def\@argswap#1#2{#2#1}%
\long\def\@argswap@val#1#2{#2{#1}}%
\def\@ifxundefined@cs#1{\expandafter\@ifx\expandafter{\csname#1\endcsname\relax}}%
+\ifx\IfFormatAtLeastTF\undefined
+ \def\rvtx@ifformat@geq{\@ifl@t@r\fmtversion}%
+\else
+ \let\rvtx@ifformat@geq\IfFormatAtLeastTF
+\fi
\def\@boolean#1#2{%
\long\def#1{%
#2% \if<something>
@@ -186,14 +191,24 @@
\@ifx{\undefined#1}{\true@sw}{\@ifx{\relax#1}{\true@sw}{\false@sw}}%
{\def#1}{\def\j@nk}%
}%
-\prepdef\document{%
- \endgroup
- \init@documenthook
- \set@typesize@hook
- \normalsize
- \set@pica@hook
- \true@sw{}%
-}%
+\rvtx@ifformat@geq{2020-10-01}%
+ {%
+ \AddToHook{begindocument/before}{%
+ \init@documenthook
+ \set@typesize@hook
+ \normalsize
+ \set@pica@hook
+ }%
+ }{%
+ \prepdef\document{%
+ \endgroup
+ \init@documenthook
+ \set@typesize@hook
+ \normalsize
+ \set@pica@hook
+ \true@sw{}%
+ }%
+ }
\def\init@documenthook{}%
\AtBeginDocument{%
\class@documenthook
@@ -205,6 +220,10 @@
\def\class@enddocumenthook{}%
\def\set@typesize@hook{}%
\def\set@pica@hook{}%
+\rvtx@ifformat@geq{2020-10-01}{%
+ % <definitions for newer LaTeX later>
+}{%
+ % <definitions for older LaTeX>
\def\enddocument{%
\@enddocumenthook
\@checkend{document}%
@@ -238,7 +257,7 @@
\@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%
}%
}{}%
}{%
@@ -246,6 +265,31 @@
}%
}{}%
}%
+}
+\rvtx@ifformat@geq{2020-10-01}{%
+ \AddToHook{enddocument}{\rvtx@enddocument@patch{}}%
+}{}
+\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}}}
+\long\def\rvtx@enddocument@patch@end#1#2\clearpage#3\endgroup{%
+ \def\do@check@aux{#3\endgroup}%
+ #1%
+ \@checkend{#2}%
+ \clear@document
+ \check@aux}
+\def\check@aux{\do@check@aux}%
+\def\clear@document{\clearpage}%
\def\flushing{%
\let\\\@normalcr
\leftskip\z@skip
@@ -3230,12 +3274,22 @@
}{}%
\outputdebug@sw{{\tracingall\scrollmode\showbox\footbox}}{}%
}%
-\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
+ }%
+ }
\def\longtable@longtable{%
\par
\ifx\multicols\@undefined\else\ifnum\col@number>\@ne\@twocolumntrue\fi\fi
diff --git a/Master/texmf-dist/tex/latex/revtex4/rmp.rtx b/Master/texmf-dist/tex/latex/revtex4/rmp.rtx
index fef6a4785e0..d45ef714f2a 100644
--- a/Master/texmf-dist/tex/latex/revtex4/rmp.rtx
+++ b/Master/texmf-dist/tex/latex/revtex4/rmp.rtx
@@ -19,7 +19,7 @@
%%
\NeedsTeXFormat{LaTeX2e}[1996/12/01]
\ProvidesFile{rmp.rtx}
- [2001/08/02 v4.0 (http://publish.aps.org/revtex4/ for documentation)]%FileInfo
+ [2020/09/30 v4.0a (http://publish.aps.org/revtex4/ for documentation)]%FileInfo
\ifx\undefined\substyle@ext
\def\@tempa{%
\endinput