texlive[56589] Master/texmf-dist: revtex4 from phelype .tds.zip

commits+karl at tug.org commits+karl at tug.org
Wed Oct 7 23:52:43 CEST 2020


Revision: 56589
          http://tug.org/svn/texlive?view=revision&revision=56589
Author:   karl
Date:     2020-10-07 23:52:43 +0200 (Wed, 07 Oct 2020)
Log Message:
-----------
revtex4 from phelype .tds.zip

Modified Paths:
--------------
    trunk/Master/texmf-dist/bibtex/bst/revtex4/apsrev.bst
    trunk/Master/texmf-dist/bibtex/bst/revtex4/apsrmp.bst
    trunk/Master/texmf-dist/doc/latex/revtex4/ltxdocext.pdf
    trunk/Master/texmf-dist/doc/latex/revtex4/ltxgrid.pdf
    trunk/Master/texmf-dist/doc/latex/revtex4/ltxutil.pdf
    trunk/Master/texmf-dist/doc/latex/revtex4/revtex4.pdf
    trunk/Master/texmf-dist/source/latex/revtex4/ltxdocext.dtx
    trunk/Master/texmf-dist/source/latex/revtex4/ltxgrid.dtx
    trunk/Master/texmf-dist/source/latex/revtex4/ltxutil.dtx
    trunk/Master/texmf-dist/source/latex/revtex4/revtex4.dtx
    trunk/Master/texmf-dist/source/latex/revtex4/textcase.dtx
    trunk/Master/texmf-dist/tex/latex/revtex4/10pt.rtx
    trunk/Master/texmf-dist/tex/latex/revtex4/11pt.rtx
    trunk/Master/texmf-dist/tex/latex/revtex4/12pt.rtx
    trunk/Master/texmf-dist/tex/latex/revtex4/aps.rtx
    trunk/Master/texmf-dist/tex/latex/revtex4/revsymb.sty
    trunk/Master/texmf-dist/tex/latex/revtex4/revtex4.cls
    trunk/Master/texmf-dist/tex/latex/revtex4/rmp.rtx

Added Paths:
-----------
    trunk/Master/texmf-dist/doc/latex/revtex4/apssamp.bib
    trunk/Master/texmf-dist/source/latex/revtex4/revtex4-bst.dtx

Removed Paths:
-------------
    trunk/Master/texmf-dist/bibtex/bib/revtex4/apssamp.bib
    trunk/Master/texmf-dist/doc/latex/revtex4/apssamp.end

Deleted: trunk/Master/texmf-dist/bibtex/bib/revtex4/apssamp.bib
===================================================================
--- trunk/Master/texmf-dist/bibtex/bib/revtex4/apssamp.bib	2020-10-07 21:18:41 UTC (rev 56588)
+++ trunk/Master/texmf-dist/bibtex/bib/revtex4/apssamp.bib	2020-10-07 21:52:43 UTC (rev 56589)
@@ -1,21 +0,0 @@
- at ARTICLE{feyn54,
-   author = "R. P. Feynman",
-   year = "1954",
-   journal = "Phys.\ Rev.",
-   volume = "94",
-   pages = "262"
-}
-
- at ARTICLE{epr,
-   author = "A. Einstein and B. Podolsky and N. Rosen",
-   year = "1935",
-   journal = "Phys.\ Rev.",
-   volume = "47",
-   pages = "777"
-}
-
- at MISC{witten2001,
-   author = "Edward Witten",
-   eprint = "hep-th/0106109"
-}
-

Modified: trunk/Master/texmf-dist/bibtex/bst/revtex4/apsrev.bst
===================================================================
--- trunk/Master/texmf-dist/bibtex/bst/revtex4/apsrev.bst	2020-10-07 21:18:41 UTC (rev 56588)
+++ trunk/Master/texmf-dist/bibtex/bst/revtex4/apsrev.bst	2020-10-07 21:52:43 UTC (rev 56589)
@@ -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 @@
    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 {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 {nature} {"Nature"}
 
-
-
 MACRO {nedf} {"Nucl. Eng. \& Design/Fusion"}
 
 MACRO {nf} {"Nucl. Fusion"}
@@ -710,7 +540,6 @@
 
 MACRO {science} {"Science"}
 
-
 MACRO {sciam} {"Sci. Am."}
 
 MACRO {sam} {"Stud. Appl. Math."}
@@ -725,14 +554,8 @@
 
 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 {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 {OSA}  {"OSA"}
 
-
-
-
  % End module: photjour.mbs
 
-
-
 %% Copyright 1994-2000 Patrick W Daly
 MACRO {acmcs} {"ACM Comput. Surv."}
 

Modified: trunk/Master/texmf-dist/bibtex/bst/revtex4/apsrmp.bst
===================================================================
--- trunk/Master/texmf-dist/bibtex/bst/revtex4/apsrmp.bst	2020-10-07 21:18:41 UTC (rev 56588)
+++ trunk/Master/texmf-dist/bibtex/bst/revtex4/apsrmp.bst	2020-10-07 21:52:43 UTC (rev 56589)
@@ -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 {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 {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 {nature} {"Nature"}
 
-
-
 MACRO {nedf} {"Nucl. Eng. \& Design/Fusion"}
 
 MACRO {nf} {"Nucl. Fusion"}
@@ -662,7 +492,6 @@
 
 MACRO {science} {"Science"}
 
-
 MACRO {sciam} {"Sci. Am."}
 
 MACRO {sam} {"Stud. Appl. Math."}
@@ -677,14 +506,8 @@
 
 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 {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 {OSA}  {"OSA"}
 
-
-
-
  % End module: photjour.mbs
 
-
-
 %% Copyright 1994-2000 Patrick W Daly
 MACRO {acmcs} {"ACM Comput. Surv."}
 
@@ -1207,7 +897,6 @@
               if$
               t "others" =
                 {
-
                   " " * bbl.etal emphasize *
                 }
                 {

Added: trunk/Master/texmf-dist/doc/latex/revtex4/apssamp.bib
===================================================================
--- trunk/Master/texmf-dist/doc/latex/revtex4/apssamp.bib	                        (rev 0)
+++ trunk/Master/texmf-dist/doc/latex/revtex4/apssamp.bib	2020-10-07 21:52:43 UTC (rev 56589)
@@ -0,0 +1,21 @@
+ at ARTICLE{feyn54,
+   author = "R. P. Feynman",
+   year = "1954",
+   journal = "Phys.\ Rev.",
+   volume = "94",
+   pages = "262"
+}
+
+ at ARTICLE{epr,
+   author = "A. Einstein and B. Podolsky and N. Rosen",
+   year = "1935",
+   journal = "Phys.\ Rev.",
+   volume = "47",
+   pages = "777"
+}
+
+ at MISC{witten2001,
+   author = "Edward Witten",
+   eprint = "hep-th/0106109"
+}
+


Property changes on: trunk/Master/texmf-dist/doc/latex/revtex4/apssamp.bib
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Deleted: trunk/Master/texmf-dist/doc/latex/revtex4/apssamp.end
===================================================================
--- trunk/Master/texmf-dist/doc/latex/revtex4/apssamp.end	2020-10-07 21:18:41 UTC (rev 56588)
+++ trunk/Master/texmf-dist/doc/latex/revtex4/apssamp.end	2020-10-07 21:52:43 UTC (rev 56589)
@@ -1 +0,0 @@
-\@doendnote{endnote4}{This may be improved in future versions of REVT\kern -.1667em\lower .5ex\hbox {E}\kern -.125emX\spacefactor \@m .}

Modified: trunk/Master/texmf-dist/doc/latex/revtex4/ltxdocext.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/revtex4/ltxgrid.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/revtex4/ltxutil.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/revtex4/revtex4.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/source/latex/revtex4/ltxdocext.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/revtex4/ltxdocext.dtx	2020-10-07 21:18:41 UTC (rev 56588)
+++ trunk/Master/texmf-dist/source/latex/revtex4/ltxdocext.dtx	2020-10-07 21:52:43 UTC (rev 56589)
@@ -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 at 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}

Modified: trunk/Master/texmf-dist/source/latex/revtex4/ltxgrid.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/revtex4/ltxgrid.dtx	2020-10-07 21:18:41 UTC (rev 56588)
+++ trunk/Master/texmf-dist/source/latex/revtex4/ltxgrid.dtx	2020-10-07 21:52:43 UTC (rev 56589)
@@ -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 at 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 at font\@undefined\else
- \expandafter\expandafter
- \expandafter\RequirePackage
- \expandafter\expandafter
- \expandafter{%
-              \csname package at font\endcsname
-             }%
-\fi
+\makeatletter
+\@ifundefined{package at font}{}%
+  {\expandafter\RequirePackage\expandafter{\csname package at font\endcsname}}
+\makeatother
 \CodelineIndex\EnableCrossrefs
 %    \end{macrocode}
 %
@@ -4037,12 +4031,22 @@
 % 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 at column@one\@ne
- \set at colht
- \@floatplacement
- \@dblfloatplacement
-}%
+\rvtx at ifformat@geq{2020-10-01}%
+  {%
+    \AddToHook{begindocument}{%
+      \open at column@one\@ne
+      \set at colht
+      \@floatplacement
+      \@dblfloatplacement
+    }%
+  }{%
+    \prepdef\@begindocumenthook{%
+     \open at column@one\@ne
+     \set at colht
+     \@floatplacement
+     \@dblfloatplacement
+    }%
+  }
 %    \end{macrocode}
 % \end{macro}
 %

Modified: trunk/Master/texmf-dist/source/latex/revtex4/ltxutil.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/revtex4/ltxutil.dtx	2020-10-07 21:18:41 UTC (rev 56588)
+++ trunk/Master/texmf-dist/source/latex/revtex4/ltxutil.dtx	2020-10-07 21:52:43 UTC (rev 56589)
@@ -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 at 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 at font\endcsname\@undefined\else
- \expandafter\RequirePackage\expandafter{\csname package at font\endcsname}%
-\fi
+\pdfstringdefDisableCommands{%
+  \let\file\relax
+  \let\sc\relax
+}
+\makeatletter
+\@ifundefined{package at font}{}%
+  {\expandafter\RequirePackage\expandafter{\csname package at font\endcsname}}
+\makeatother
 \CodelineIndex\EnableCrossrefs
 %    \end{macrocode}
 %
@@ -679,6 +682,22 @@
 % \end{macro}
 % \end{macro}
 %
+% \begin{macro}{\rvtx at ifformat@geq}
+%   Some changes in the \LaTeX{} kernel requires us to conditionally
+%   define some macros depending on the version of the kernel.
+%   \cmd\rvtx at 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 at ifformat@geq} (from 4.2).}%
+%    \begin{macrocode}
+\ifx\IfFormatAtLeastTF\undefined
+  \def\rvtx at ifformat@geq{\@ifl at t@r\fmtversion}%
+\else
+  \let\rvtx at ifformat@geq\IfFormatAtLeastTF
+\fi
+%    \end{macrocode}
+% \end{macro}
+%
 % \begin{macro}{\@boolean}
 % \begin{macro}{\@boole at def}
 % In order to define \cmd\@ifx, we first must create the
@@ -820,27 +839,42 @@
 % 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.
+% 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}
-\prepdef\document{%
- \endgroup
- \init at documenthook
- \set at typesize@hook
- \normalsize
- \set at pica@hook
- \true at sw{}%
-}%
+\rvtx at ifformat@geq{2020-10-01}%
+  {%
+    \AddToHook{begindocument/before}{%
+      \init at documenthook
+      \set at typesize@hook
+      \normalsize
+      \set at pica@hook
+    }%
+  }{%
+    \prepdef\document{%
+     \endgroup
+     \init at documenthook
+     \set at typesize@hook
+     \normalsize
+     \set at pica@hook
+     \true at sw{}%
+    }%
+  }
 %    \end{macrocode}
 % \end{macro}
 %
@@ -890,7 +924,15 @@
 % 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 at ifformat@geq{2020-10-01}{%
+  % <definitions for newer LaTeX later>
+}{%
+  % <definitions for older LaTeX>
 \def\enddocument{%
  \@enddocumenthook
  \@checkend{document}%
@@ -924,7 +966,7 @@
    \@if at sw\if at tempswa\fi{%
     \@latex at warning@no at line{%
      Label(s) may have changed.
-     Rerun to get cross-references right
+     Rerun to get cross-references right%
     }%
    }{}%
   }{%
@@ -932,12 +974,89 @@
   }%
  }{}%
 }%
+}
 %    \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 at 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 at document, and \verb|<read main .aux and final checks>| by
+%   \cmd\do at 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 at ifformat@geq{2020-10-01}{%
+  \AddToHook{enddocument}{\rvtx at 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 at enddocument@patch#1#2\@checkend#3{%
+  \begingroup
+    \edef\x{\detokenize{#3}}%
+    \edef\y{\detokenize{document}}%
+  \expandafter\endgroup
+  \ifx\x\y
+    \expandafter\rvtx at enddocument@patch at end
+  \else
+    \expandafter\rvtx at enddocument@patch at more
+  \fi
+    {#1#2}{#3}}
+\def\rvtx at enddocument@patch at more#1#2{%
+  \rvtx at 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 at check@aux{}:
+%    \begin{macrocode}
+\long\def\rvtx at enddocument@patch at end#1#2\clearpage#3\endgroup{%
+  \def\do at 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 at document{} instead of \cmd\clearpage{} and
+%   \cmd\check at aux{} instead of the code grabbed.
+%    \begin{macrocode}
+  \clear at document
+  \check at aux}
+\def\check at aux{\do at check@aux}%
+\def\clear at document{\clearpage}%
+%    \end{macrocode}
+% \end{macro}
+%
 % \subsection{Type Tools}%
 %
 % \begin{macro}{\flushing}

Added: trunk/Master/texmf-dist/source/latex/revtex4/revtex4-bst.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/revtex4/revtex4-bst.dtx	                        (rev 0)
+++ trunk/Master/texmf-dist/source/latex/revtex4/revtex4-bst.dtx	2020-10-07 21:52:43 UTC (rev 56589)
@@ -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 at 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


Property changes on: trunk/Master/texmf-dist/source/latex/revtex4/revtex4-bst.dtx
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Modified: trunk/Master/texmf-dist/source/latex/revtex4/revtex4.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/revtex4/revtex4.dtx	2020-10-07 21:18:41 UTC (rev 56588)
+++ trunk/Master/texmf-dist/source/latex/revtex4/revtex4.dtx	2020-10-07 21:52:43 UTC (rev 56589)
@@ -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%

Modified: trunk/Master/texmf-dist/source/latex/revtex4/textcase.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/revtex4/textcase.dtx	2020-10-07 21:18:41 UTC (rev 56588)
+++ trunk/Master/texmf-dist/source/latex/revtex4/textcase.dtx	2020-10-07 21:52:43 UTC (rev 56589)
@@ -26,7 +26,6 @@
 % \fi
 %
 % \GetFileInfo{textcase.dtx}
-% \CheckSum{110}
 %
 % \changes{v0.01}{1997/09/28}
 %    {Posted to c.t.t}

Modified: trunk/Master/texmf-dist/tex/latex/revtex4/10pt.rtx
===================================================================
--- trunk/Master/texmf-dist/tex/latex/revtex4/10pt.rtx	2020-10-07 21:18:41 UTC (rev 56588)
+++ trunk/Master/texmf-dist/tex/latex/revtex4/10pt.rtx	2020-10-07 21:52:43 UTC (rev 56589)
@@ -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@

Modified: trunk/Master/texmf-dist/tex/latex/revtex4/11pt.rtx
===================================================================
--- trunk/Master/texmf-dist/tex/latex/revtex4/11pt.rtx	2020-10-07 21:18:41 UTC (rev 56588)
+++ trunk/Master/texmf-dist/tex/latex/revtex4/11pt.rtx	2020-10-07 21:52:43 UTC (rev 56589)
@@ -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@

Modified: trunk/Master/texmf-dist/tex/latex/revtex4/12pt.rtx
===================================================================
--- trunk/Master/texmf-dist/tex/latex/revtex4/12pt.rtx	2020-10-07 21:18:41 UTC (rev 56588)
+++ trunk/Master/texmf-dist/tex/latex/revtex4/12pt.rtx	2020-10-07 21:52:43 UTC (rev 56589)
@@ -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@

Modified: trunk/Master/texmf-dist/tex/latex/revtex4/aps.rtx
===================================================================
--- trunk/Master/texmf-dist/tex/latex/revtex4/aps.rtx	2020-10-07 21:18:41 UTC (rev 56588)
+++ trunk/Master/texmf-dist/tex/latex/revtex4/aps.rtx	2020-10-07 21:52:43 UTC (rev 56589)
@@ -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 at ext
  \def\@tempa{%
   \endinput

Modified: trunk/Master/texmf-dist/tex/latex/revtex4/revsymb.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex/revtex4/revsymb.sty	2020-10-07 21:18:41 UTC (rev 56588)
+++ trunk/Master/texmf-dist/tex/latex/revtex4/revsymb.sty	2020-10-07 21:52:43 UTC (rev 56589)
@@ -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 at warn#1{\PackageWarningNoLine{revsymb}{#1}}%
 \DeclareRobustCommand\lambdabar{%
   \bgroup

Modified: trunk/Master/texmf-dist/tex/latex/revtex4/revtex4.cls
===================================================================
--- trunk/Master/texmf-dist/tex/latex/revtex4/revtex4.cls	2020-10-07 21:18:41 UTC (rev 56588)
+++ trunk/Master/texmf-dist/tex/latex/revtex4/revtex4.cls	2020-10-07 21:52:43 UTC (rev 56589)
@@ -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 at name{revtex4}%
 \GenericInfo{}{\space
  Copyright (c) 2001 The American Physical Society.^^J
@@ -33,7 +33,7 @@
  Based on work by David Carlisle <david at dcarlisle.demon.co.uk>%
  \@gobble
 }%
-\if at compatibility
+\if at compatibility 
   \edef\reserved at 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 at val#1#2{#2{#1}}%
 \def\@ifxundefined at cs#1{\expandafter\@ifx\expandafter{\csname#1\endcsname\relax}}%
+\ifx\IfFormatAtLeastTF\undefined
+  \def\rvtx at ifformat@geq{\@ifl at t@r\fmtversion}%
+\else
+  \let\rvtx at ifformat@geq\IfFormatAtLeastTF
+\fi
 \def\@boolean#1#2{%
   \long\def#1{%
     #2% \if<something>
@@ -186,14 +191,24 @@
  \@ifx{\undefined#1}{\true at sw}{\@ifx{\relax#1}{\true at sw}{\false at sw}}%
  {\def#1}{\def\j at nk}%
 }%
-\prepdef\document{%
- \endgroup
- \init at documenthook
- \set at typesize@hook
- \normalsize
- \set at pica@hook
- \true at sw{}%
-}%
+\rvtx at ifformat@geq{2020-10-01}%
+  {%
+    \AddToHook{begindocument/before}{%
+      \init at documenthook
+      \set at typesize@hook
+      \normalsize
+      \set at pica@hook
+    }%
+  }{%
+    \prepdef\document{%
+     \endgroup
+     \init at documenthook
+     \set at typesize@hook
+     \normalsize
+     \set at pica@hook
+     \true at sw{}%
+    }%
+  }
 \def\init at documenthook{}%
 \AtBeginDocument{%
  \class at documenthook
@@ -205,6 +220,10 @@
 \def\class at enddocumenthook{}%
 \def\set at typesize@hook{}%
 \def\set at pica@hook{}%
+\rvtx at ifformat@geq{2020-10-01}{%
+  % <definitions for newer LaTeX later>
+}{%
+  % <definitions for older LaTeX>
 \def\enddocument{%
  \@enddocumenthook
  \@checkend{document}%
@@ -238,7 +257,7 @@
    \@if at sw\if at tempswa\fi{%
     \@latex at warning@no at line{%
      Label(s) may have changed.
-     Rerun to get cross-references right
+     Rerun to get cross-references right%
     }%
    }{}%
   }{%
@@ -246,6 +265,31 @@
   }%
  }{}%
 }%
+}
+\rvtx at ifformat@geq{2020-10-01}{%
+  \AddToHook{enddocument}{\rvtx at enddocument@patch{}}%
+}{}
+\protected\long\def\rvtx at enddocument@patch#1#2\@checkend#3{%
+  \begingroup
+    \edef\x{\detokenize{#3}}%
+    \edef\y{\detokenize{document}}%
+  \expandafter\endgroup
+  \ifx\x\y
+    \expandafter\rvtx at enddocument@patch at end
+  \else
+    \expandafter\rvtx at enddocument@patch at more
+  \fi
+    {#1#2}{#3}}
+\def\rvtx at enddocument@patch at more#1#2{%
+  \rvtx at enddocument@patch{#1\@checkend{#2}}}
+\long\def\rvtx at enddocument@patch at end#1#2\clearpage#3\endgroup{%
+  \def\do at check@aux{#3\endgroup}%
+  #1%
+  \@checkend{#2}%
+  \clear at document
+  \check at aux}
+\def\check at aux{\do at check@aux}%
+\def\clear at document{\clearpage}%
 \def\flushing{%
   \let\\\@normalcr
   \leftskip\z at skip
@@ -3230,12 +3274,22 @@
  }{}%
  \outputdebug at sw{{\tracingall\scrollmode\showbox\footbox}}{}%
 }%
-\prepdef\@begindocumenthook{%
- \open at column@one\@ne
- \set at colht
- \@floatplacement
- \@dblfloatplacement
-}%
+\rvtx at ifformat@geq{2020-10-01}%
+  {%
+    \AddToHook{begindocument}{%
+      \open at column@one\@ne
+      \set at colht
+      \@floatplacement
+      \@dblfloatplacement
+    }%
+  }{%
+    \prepdef\@begindocumenthook{%
+     \open at column@one\@ne
+     \set at colht
+     \@floatplacement
+     \@dblfloatplacement
+    }%
+  }
 \def\longtable at longtable{%
  \par
  \ifx\multicols\@undefined\else\ifnum\col at number>\@ne\@twocolumntrue\fi\fi

Modified: trunk/Master/texmf-dist/tex/latex/revtex4/rmp.rtx
===================================================================
--- trunk/Master/texmf-dist/tex/latex/revtex4/rmp.rtx	2020-10-07 21:18:41 UTC (rev 56588)
+++ trunk/Master/texmf-dist/tex/latex/revtex4/rmp.rtx	2020-10-07 21:52:43 UTC (rev 56589)
@@ -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 at ext
  \def\@tempa{%
   \endinput



More information about the tex-live-commits mailing list.