texlive[49751] Master/texmf-dist: revtex (18jan19)

commits+karl at tug.org commits+karl at tug.org
Fri Jan 18 23:40:49 CET 2019


Revision: 49751
          http://tug.org/svn/texlive?view=revision&revision=49751
Author:   karl
Date:     2019-01-18 23:40:49 +0100 (Fri, 18 Jan 2019)
Log Message:
-----------
revtex (18jan19)

Modified Paths:
--------------
    trunk/Master/texmf-dist/bibtex/bst/revtex/aapmrev4-2.bst
    trunk/Master/texmf-dist/bibtex/bst/revtex/aipnum4-2.bst
    trunk/Master/texmf-dist/bibtex/bst/revtex/apsrev4-2.bst
    trunk/Master/texmf-dist/doc/latex/revtex/README
    trunk/Master/texmf-dist/doc/latex/revtex/auguide/auguide4-2.pdf
    trunk/Master/texmf-dist/doc/latex/revtex/auguide/auguide4-2.tex
    trunk/Master/texmf-dist/doc/latex/revtex/source/aip4-2.pdf
    trunk/Master/texmf-dist/doc/latex/revtex/source/ltxdocext.pdf
    trunk/Master/texmf-dist/doc/latex/revtex/source/ltxfront.pdf
    trunk/Master/texmf-dist/doc/latex/revtex/source/ltxgrid.pdf
    trunk/Master/texmf-dist/doc/latex/revtex/source/ltxutil.pdf
    trunk/Master/texmf-dist/doc/latex/revtex/source/revtex4-2.pdf
    trunk/Master/texmf-dist/source/latex/revtex/aip4-2.dtx
    trunk/Master/texmf-dist/source/latex/revtex/ltxdocext.dtx
    trunk/Master/texmf-dist/source/latex/revtex/ltxfront.dtx
    trunk/Master/texmf-dist/source/latex/revtex/ltxgrid.dtx
    trunk/Master/texmf-dist/source/latex/revtex/ltxutil.dtx
    trunk/Master/texmf-dist/source/latex/revtex/revtex4-2.dtx
    trunk/Master/texmf-dist/tex/latex/revtex/aapm4-2.rtx
    trunk/Master/texmf-dist/tex/latex/revtex/aip4-2.rtx
    trunk/Master/texmf-dist/tex/latex/revtex/aps10pt4-2.rtx
    trunk/Master/texmf-dist/tex/latex/revtex/aps11pt4-2.rtx
    trunk/Master/texmf-dist/tex/latex/revtex/aps12pt4-2.rtx
    trunk/Master/texmf-dist/tex/latex/revtex/aps4-2.rtx
    trunk/Master/texmf-dist/tex/latex/revtex/apsrmp4-2.rtx
    trunk/Master/texmf-dist/tex/latex/revtex/ltxdocext.sty
    trunk/Master/texmf-dist/tex/latex/revtex/ltxfront.sty
    trunk/Master/texmf-dist/tex/latex/revtex/ltxgrid.sty
    trunk/Master/texmf-dist/tex/latex/revtex/ltxutil.sty
    trunk/Master/texmf-dist/tex/latex/revtex/revsymb4-2.sty
    trunk/Master/texmf-dist/tex/latex/revtex/revtex4-2.cls
    trunk/Master/texmf-dist/tex/latex/revtex/sor4-2.rtx

Added Paths:
-----------
    trunk/Master/texmf-dist/bibtex/bst/revtex/aipauth4-1.bst
    trunk/Master/texmf-dist/bibtex/bst/revtex/aipnum4-1.bst
    trunk/Master/texmf-dist/bibtex/bst/revtex/apsrev4-1.bst
    trunk/Master/texmf-dist/bibtex/bst/revtex/apsrmp4-1.bst
    trunk/Master/texmf-dist/source/latex/revtex/aip.dtx
    trunk/Master/texmf-dist/source/latex/revtex/revtex4-1.dtx
    trunk/Master/texmf-dist/tex/latex/revtex/aip4-1.rtx
    trunk/Master/texmf-dist/tex/latex/revtex/aps10pt4-1.rtx
    trunk/Master/texmf-dist/tex/latex/revtex/aps11pt4-1.rtx
    trunk/Master/texmf-dist/tex/latex/revtex/aps12pt4-1.rtx
    trunk/Master/texmf-dist/tex/latex/revtex/aps4-1.rtx
    trunk/Master/texmf-dist/tex/latex/revtex/apsrmp4-1.rtx
    trunk/Master/texmf-dist/tex/latex/revtex/revsymb4-1.sty
    trunk/Master/texmf-dist/tex/latex/revtex/revtex4-1.cls

Modified: trunk/Master/texmf-dist/bibtex/bst/revtex/aapmrev4-2.bst
===================================================================
--- trunk/Master/texmf-dist/bibtex/bst/revtex/aapmrev4-2.bst	2019-01-18 22:37:42 UTC (rev 49750)
+++ trunk/Master/texmf-dist/bibtex/bst/revtex/aapmrev4-2.bst	2019-01-18 22:40:49 UTC (rev 49751)
@@ -36,7 +36,7 @@
  %   \citeyear{key} ==>>             1990
  %---------------------------------------------------------------------
 
-FUNCTION {id.bst} {"aapmrev4-2.bst 2018-12-27 (MD) hand-edited version of aapmrev4-1.bst"}
+FUNCTION {id.bst} {"aapmrev4-2.bst 2019-01-14 (MD) hand-edited version of aapmrev4-1.bst"}
 ENTRY
 {
     address
@@ -1528,6 +1528,11 @@
   " " *
 }
 
+FUNCTION {names.comma}
+{
+  "," *
+}
+
 FUNCTION {format.names}
 { 'bibinfo :=
   duplicate$ empty$ { pop$ "" } {
@@ -1560,7 +1565,7 @@
                   { pop$ }
                 if$
                 numnames #2 >
-                  'names.punctuate
+                  'names.comma
                   'skip$
                 if$
                 t "others" =
@@ -1571,7 +1576,7 @@
                     *
                   } {
                     bbl.and
-                    word.space * *
+                    space.word *
                     t *
                   }
                 if$
@@ -1711,7 +1716,7 @@
                   { pop$ }
                 if$
                 numnames #2 >
-                  'names.punctuate
+                  'names.comma
                   'skip$
                 if$
                 t "others" =

Added: trunk/Master/texmf-dist/bibtex/bst/revtex/aipauth4-1.bst
===================================================================
--- trunk/Master/texmf-dist/bibtex/bst/revtex/aipauth4-1.bst	                        (rev 0)
+++ trunk/Master/texmf-dist/bibtex/bst/revtex/aipauth4-1.bst	2019-01-18 22:40:49 UTC (rev 49751)
@@ -0,0 +1,3487 @@
+%%
+%% This is file `aipauth4-1.bst',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% merlin.mbs  (with options: `head,ay,nat,lang,pres,pres-bf,vonx,nm-rev,mcite,mct-1,mct-x3,nmft,nmft-def,fnm-def,nmfted,nmand-rm,lab,lab-def,and-rm,blkyear,yr-par,date-nil-x,tit-qq,inproceedings-chapter,jtit-x,inproceedings-chapter,article-booktitle,article-series,jttl-rm,journal-address,book-bt,thesis-title-o,techreport-institution-par,vol-bf,vnum-x,volp-com,jpg-1,book-editor-booktitle,inbook-editor-booktitle,bookaddress,num-xser,number-cap,chapter-cap,series-number,numser-booktitle,ser-vol,ser-rm,volume-cap,ser-ed,jnm-x,pg-bk,book-chapter-pages,pub-date,ay-empty-pub-parens-x,pre-pub,pre-edn,doi-link,doi,edby,blk-com,fin-endbibitem,pp,ed,abr,ednx,ord,jabr,etal-it,revdata,eprint,url,url-blk,translation,SLACcitation,numpages-x,url,url-prefix-x,bibinfo,bibfield,nfss,,{}')
+%% physjour.mbs  (with options: `ay,nat,lang,pres,pres-bf,vonx,nm-rev,mcite,mct-1,mct-x3,nmft,nmft-def,fnm-def,nmfted,nmand-rm,lab,lab-def,and-rm,blkyear,yr-par,date-nil-x,tit-qq,inproceedings-chapter,jtit-x,inproceedings-chapter,article-booktitle,article-series,jttl-rm,journal-address,book-bt,thesis-title-o,techreport-institution-par,vol-bf,vnum-x,volp-com,jpg-1,book-editor-booktitle,inbook-editor-booktitle,bookaddress,num-xser,number-cap,chapter-cap,series-number,numser-booktitle,ser-vol,ser-rm,volume-cap,ser-ed,jnm-x,pg-bk,book-chapter-pages,pub-date,ay-empty-pub-parens-x,pre-pub,pre-edn,doi-link,doi,edby,blk-com,fin-endbibitem,pp,ed,abr,ednx,ord,jabr,etal-it,revdata,eprint,url,url-blk,translation,SLACcitation,numpages-x,url,url-prefix-x,bibinfo,bibfield,nfss,,{}')
+%% geojour.mbs  (with options: `ay,nat,lang,pres,pres-bf,vonx,nm-rev,mcite,mct-1,mct-x3,nmft,nmft-def,fnm-def,nmfted,nmand-rm,lab,lab-def,and-rm,blkyear,yr-par,date-nil-x,tit-qq,inproceedings-chapter,jtit-x,inproceedings-chapter,article-booktitle,article-series,jttl-rm,journal-address,book-bt,thesis-title-o,techreport-institution-par,vol-bf,vnum-x,volp-com,jpg-1,book-editor-booktitle,inbook-editor-booktitle,bookaddress,num-xser,number-cap,chapter-cap,series-number,numser-booktitle,ser-vol,ser-rm,volume-cap,ser-ed,jnm-x,pg-bk,book-chapter-pages,pub-date,ay-empty-pub-parens-x,pre-pub,pre-edn,doi-link,doi,edby,blk-com,fin-endbibitem,pp,ed,abr,ednx,ord,jabr,etal-it,revdata,eprint,url,url-blk,translation,SLACcitation,numpages-x,url,url-prefix-x,bibinfo,bibfield,nfss,,{}')
+%% photjour.mbs  (with options: `ay,nat,lang,pres,pres-bf,vonx,nm-rev,mcite,mct-1,mct-x3,nmft,nmft-def,fnm-def,nmfted,nmand-rm,lab,lab-def,and-rm,blkyear,yr-par,date-nil-x,tit-qq,inproceedings-chapter,jtit-x,inproceedings-chapter,article-booktitle,article-series,jttl-rm,journal-address,book-bt,thesis-title-o,techreport-institution-par,vol-bf,vnum-x,volp-com,jpg-1,book-editor-booktitle,inbook-editor-booktitle,bookaddress,num-xser,number-cap,chapter-cap,series-number,numser-booktitle,ser-vol,ser-rm,volume-cap,ser-ed,jnm-x,pg-bk,book-chapter-pages,pub-date,ay-empty-pub-parens-x,pre-pub,pre-edn,doi-link,doi,edby,blk-com,fin-endbibitem,pp,ed,abr,ednx,ord,jabr,etal-it,revdata,eprint,url,url-blk,translation,SLACcitation,numpages-x,url,url-prefix-x,bibinfo,bibfield,nfss,,{}')
+%% merlin.mbs  (with options: `tail,ay,nat,lang,pres,pres-bf,vonx,nm-rev,mcite,mct-1,mct-x3,nmft,nmft-def,fnm-def,nmfted,nmand-rm,lab,lab-def,and-rm,blkyear,yr-par,date-nil-x,tit-qq,inproceedings-chapter,jtit-x,inproceedings-chapter,article-booktitle,article-series,jttl-rm,journal-address,book-bt,thesis-title-o,techreport-institution-par,vol-bf,vnum-x,volp-com,jpg-1,book-editor-booktitle,inbook-editor-booktitle,bookaddress,num-xser,number-cap,chapter-cap,series-number,numser-booktitle,ser-vol,ser-rm,volume-cap,ser-ed,jnm-x,pg-bk,book-chapter-pages,pub-date,ay-empty-pub-parens-x,pre-pub,pre-edn,doi-link,doi,edby,blk-com,fin-endbibitem,pp,ed,abr,ednx,ord,jabr,etal-it,revdata,eprint,url,url-blk,translation,SLACcitation,numpages-x,url,url-prefix-x,bibinfo,bibfield,nfss,,{}')
+%% ----------------------------------------
+%% *** REVTeX-compatible aipauth4-1.bst 2010-07-25 ***
+%% 
+%% Copyright 1994-2007 Patrick W Daly
+ % ===============================================================
+ % IMPORTANT NOTICE:
+ % This bibliographic style (bst) file has been generated from one or
+ % more master bibliographic style (mbs) files, listed above.
+ %
+ % This generated file can be redistributed and/or modified under the terms
+ % of the LaTeX Project Public License Distributed from CTAN
+ % archives in directory macros/latex/base/lppl.txt; either
+ % version 1 of the License, or any later version.
+ % ===============================================================
+ % Name and version information of the main mbs file:
+ %   For use with BibTeX version 0.99a or later
+ %-------------------------------------------------------------------
+ % This bibliography style file is intended for texts in ENGLISH
+ % This is an author-year citation style bibliography. As such, it is
+ % non-standard LaTeX, and requires a special package file to function properly.
+ % Such a package is    natbib.sty   by Patrick W. Daly
+ % The form of the \bibitem entries is
+ %   \bibitem[Jones et al.(1990)]{key}...
+ %   \bibitem[Jones et al.(1990)Jones, Baker, and Smith]{key}...
+ % The essential feature is that the label (the part in brackets) consists
+ % of the author names, as they should appear in the citation, with the year
+ % in parentheses following. There must be no space before the opening
+ % parenthesis!
+ % With natbib v5.3, a full list of authors may also follow the year.
+ % In natbib.sty, it is possible to define the type of enclosures that is
+ % really wanted (brackets or parentheses), but in either case, there must
+ % be parentheses in the label.
+ % The \cite command functions as follows:
+ %   \citet{key} ==>>                Jones et al. (1990)
+ %   \citet*{key} ==>>               Jones, Baker, and Smith (1990)
+ %   \citep{key} ==>>                (Jones et al., 1990)
+ %   \citep*{key} ==>>               (Jones, Baker, and Smith, 1990)
+ %   \citep[chap. 2]{key} ==>>       (Jones et al., 1990, chap. 2)
+ %   \citep[e.g.][]{key} ==>>        (e.g. Jones et al., 1990)
+ %   \citep[e.g.][p. 32]{key} ==>>   (e.g. Jones et al., p. 32)
+ %   \citeauthor{key} ==>>           Jones et al.
+ %   \citeauthor*{key} ==>>          Jones, Baker, and Smith
+ %   \citeyear{key} ==>>             1990
+ %---------------------------------------------------------------------
+
+FUNCTION {id.bst} {"merlin.mbs aipauth4-1.bst 2010-07-25 4.21a (PWD, AO, DPC) hacked"}
+ENTRY
+{
+    address
+    archive
+    archivePrefix
+    author
+    bookaddress
+    booktitle
+    chapter
+    collaboration
+    doi
+    edition
+    editor
+    eid
+    eprint
+    howpublished
+    institution
+    isbn
+    issn
+    journal
+    key
+    language
+    month
+    note
+    number
+    organization
+    pages
+    primaryClass
+    publisher
+    school
+    SLACcitation
+    series
+    title
+    translation
+    type
+    url
+    volume
+    year
+}{
+}{
+    label
+    extra.label sort.label
+    short.list
+}
+
+INTEGERS
+{
+  output.state before.all
+  after.word after.punctuation
+  after.sentence after.block
+}
+
+INTEGERS
+{
+  punctuation.state punctuation.no punctuation.space punctuation.yes
+}
+
+STRINGS { bibfield output.bibfield }
+
+FUNCTION {not}
+{   { #0 }
+    { #1 }
+  if$
+}
+
+FUNCTION {and}
+{   'skip$
+    { pop$ #0 }
+  if$
+}
+
+FUNCTION {or}
+{   { pop$ #1 }
+    'skip$
+  if$
+}
+
+FUNCTION {non.stop}
+{ duplicate$
+   "}" * add.period$
+   #-1 #1 substring$ "." =
+}
+
+INTEGERS { arith.mulitplier arith.multiplicand }
+
+FUNCTION {multiply}
+{
+  'arith.multiplicand :=
+  'arith.mulitplier :=
+  #0
+    { arith.mulitplier #0 > }
+    { arith.multiplicand +
+      arith.mulitplier #1 - 'arith.mulitplier :=
+    }
+  while$
+}
+
+FUNCTION {chr.to.hex}
+{
+  chr.to.int$
+  duplicate$ "0" chr.to.int$ -
+  duplicate$ duplicate$ #0 < swap$ #9 > or not
+    { swap$ pop$ }
+    { pop$
+      duplicate$ "A" chr.to.int$ -
+      duplicate$ duplicate$ #0 < swap$ #5 > or not
+        { swap$ pop$ #10 + }
+        { pop$
+          duplicate$ "a" chr.to.int$ -
+          duplicate$ duplicate$ #0 < swap$ #5 > or not
+            { swap$ pop$ #10 + }
+            { pop$
+              pop$ #-1
+            }
+          if$
+        }
+      if$
+    }
+  if$
+}
+
+INTEGERS { arith.accumulator }
+
+FUNCTION {str.to.hex}
+{ #0 'arith.accumulator :=
+    { duplicate$ empty$ not }
+    { duplicate$ #1 #1 substring$ chr.to.hex
+      duplicate$ #0 <
+        { pop$ pop$ ""
+        }
+        { arith.accumulator #16 multiply + 'arith.accumulator :=
+          #2 global.max$ substring$
+        }
+      if$
+    }
+  while$
+  pop$ arith.accumulator
+}
+
+FUNCTION {diagn.cmntlog}
+{
+  duplicate$ top$ "%" swap$ * write$ newline$
+}
+
+INTEGERS { control.key control.author control.editor control.title control.pages control.eprint control.year }
+
+INTEGERS { control.author.jnrlst control.author.dotless control.author.nospace control.author.initials control.author.nocomma control.author.first control.author.reversed }
+
+FUNCTION { control.init }
+{
+  #0
+  'control.key             :=
+  #0
+  #1 +
+  #8 +
+  'control.author :=
+  #0
+  'control.author.jnrlst   :=
+  #0
+  'control.author.dotless  :=
+  #0
+  'control.author.nospace  :=
+  #1
+  'control.author.initials :=
+  #0
+  'control.author.nocomma  :=
+  #0
+  'control.author.first    :=
+  #1
+  'control.author.reversed :=
+  #0
+  'control.editor :=
+  #-1
+  'control.title  :=
+  #0
+  'control.pages  :=
+  #0
+  'control.eprint :=
+  #1
+  'control.year   :=
+}
+
+FUNCTION {warning.dependency}
+{
+  " (dependency: " * swap$ * ") set " * swap$ int.to.str$ * warning$
+}
+
+FUNCTION {control.check}
+{
+  control.editor
+    {
+      "editor formatted same as author"
+      control.author.reversed {
+        duplicate$ #0 swap$ "reversed" warning.dependency
+        #0 'control.author.reversed :=
+      } 'skip$ if$
+      control.author.first {
+        duplicate$ #0 swap$ "first" warning.dependency
+        #0 'control.author.first :=
+      } 'skip$ if$
+      control.author.nocomma {
+        duplicate$ #0 swap$ "nocomma" warning.dependency
+        #0 'control.author.nocomma :=
+      } 'skip$ if$
+      pop$
+    } 'skip$ if$
+  control.author.reversed 'skip$
+    {
+      "not reversed"
+      control.author.nospace {
+        duplicate$ #0 swap$ "nospace" warning.dependency
+        #0 'control.author.nospace :=
+      } 'skip$ if$
+      control.author.jnrlst 'skip$ {
+        duplicate$ #1 swap$ "jnrlst" warning.dependency
+        #1 'control.author.jnrlst :=
+      } if$
+      control.author.initials {
+        duplicate$ ", initials" *
+        control.author.dotless {
+          duplicate$ #0 swap$ "dotless" warning.dependency
+          #0 'control.author.dotless :=
+        } 'skip$ if$
+        pop$
+      } 'skip$ if$
+      pop$
+    }
+  if$
+  control.author.initials 'skip$ {
+    "not initials"
+    control.author.nocomma {
+      duplicate$ #0 swap$ "nocomma" warning.dependency
+      #0 'control.author.nocomma :=
+    } 'skip$ if$
+    control.author.nospace {
+      duplicate$ #0 swap$ "nospace" warning.dependency
+      #0 'control.author.nospace :=
+    } 'skip$ if$
+    control.author.dotless 'skip$ {
+      duplicate$ #1 swap$ "dotless" warning.dependency
+      #1 'control.author.dotless :=
+    } if$
+    pop$
+  } if$
+}
+
+FUNCTION {control.parse}
+{
+  duplicate$ duplicate$ missing$
+    {
+      pop$ pop$ pop$
+    }
+    { empty$
+        {
+          pop$ #-1
+        }{
+          str.to.hex
+        }
+      if$
+      swap$ :=
+    }
+  if$
+}
+
+FUNCTION {control.dump}
+{
+  duplicate$ missing$ { pop$ "N/A" } 'skip$ if$
+  "{" swap$ * "}, " *
+  *
+}
+
+INTEGERS { decode.threshold }
+
+FUNCTION {control.decode}
+{
+  - duplicate$
+  #0 <
+    {
+      skip$ pop$ swap$ #0
+    }
+    {
+      swap$ pop$ swap$ #1
+    }
+  if$
+  swap$ :=
+}
+
+FUNCTION {control.author.decode}
+{
+  control.author
+  duplicate$ duplicate$ #0 < swap$ #128 < not or
+    {
+      int.to.str$ "(" swap$ * ")" *
+      "Control cannot interpret author " swap$ *
+      warning$
+    }{
+      'control.author.jnrlst   swap$ duplicate$ #64 control.decode
+      'control.author.dotless  swap$ duplicate$ #32 control.decode
+      'control.author.nospace  swap$ duplicate$ #16 control.decode
+      'control.author.initials swap$ duplicate$  #8 control.decode
+      'control.author.nocomma  swap$ duplicate$  #4 control.decode
+      'control.author.first    swap$ duplicate$  #2 control.decode
+      'control.author.reversed swap$ duplicate$  #1 control.decode
+      duplicate$ #0 =
+        'skip$
+        {
+          "Control: residue of author"
+          "(" swap$ * ")" * *
+          warning$
+        }
+      if$
+      pop$
+    }
+  if$
+}
+
+FUNCTION {control.setup}
+{
+  type$ cite$ "{" swap$ * "}, " * *
+  "control.key"    key    control.dump *
+  "control.author" author control.dump *
+  "control.editor" editor control.dump *
+  "control.title"  title  control.dump *
+  "control.pages"  pages  control.dump *
+  "control.year"   year   control.dump *
+  "control.eprint" eprint control.dump *
+  top$
+  'control.key    key    control.parse
+  'control.author author control.parse
+  'control.editor editor control.parse
+  'control.title  title  control.parse
+  'control.pages  pages  control.parse
+  'control.year   year   control.parse
+  'control.eprint eprint control.parse
+  control.author.decode
+}
+
+FUNCTION {control.pass}
+{ type$ "control" = 'control.setup 'skip$ if$
+}
+
+FUNCTION {control.presort}
+{
+}
+
+FUNCTION {control.forward}
+{
+}
+
+FUNCTION {control.reverse}
+{
+}
+
+FUNCTION {control.sort}
+{
+}
+
+FUNCTION {control.longest.label}
+{
+}
+
+FUNCTION {control.key.bib}
+{
+  "Control: key "
+  control.key
+  duplicate$ "(" swap$ int.to.str$ * ") " * swap$
+  pop$ *
+  diagn.cmntlog
+}
+
+FUNCTION {control.author.bib}
+{
+  "Control: author "
+  control.author "(" swap$ int.to.str$ * ")" * *
+  control.author.reversed { " reversed" * }{} if$
+  control.author.first    { " first"    * }{} if$
+  control.author.nocomma  { " nocomma"  * }{} if$
+  control.author.initials { " initials" * }{} if$
+  control.author.nospace  { " nospace"  * }{} if$
+  control.author.dotless  { " dotless"  * }{} if$
+  control.author.jnrlst   { " jnrlst"   * }{} if$
+  diagn.cmntlog
+}
+
+FUNCTION {control.editor.bib}
+{
+  "Control: editor formatted "
+  control.editor
+  duplicate$ "(" swap$ int.to.str$ * ") " * swap$
+  duplicate$ #0 <  {
+    pop$
+    "disabled!"
+  } {
+    #0 > {
+      "identically to author"
+    } {
+      "differently from author"
+    } if$
+  } if$ * *
+  diagn.cmntlog
+}
+
+FUNCTION {control.title.bib}
+{
+  "Control: production of article title "
+  control.title
+  duplicate$ "(" swap$ int.to.str$ * ") " * swap$
+  duplicate$ #0 <  {
+    pop$
+    "disabled"
+  } {
+    #0 > {
+      "required"
+    } {
+      "allowed"
+    } if$
+  } if$ * *
+  diagn.cmntlog
+}
+
+FUNCTION {control.pages.bib}
+{
+  "Control: page "
+  control.pages
+  duplicate$ "(" swap$ int.to.str$ * ") " * swap$
+  duplicate$ #0 <  {
+    pop$
+    "none"
+  } {
+    #0 > {
+      "range"
+    } {
+      "single"
+    } if$
+  } if$ * *
+  diagn.cmntlog
+}
+
+FUNCTION {control.year.bib}
+{
+  "Control: year "
+  control.year
+  duplicate$ "(" swap$ int.to.str$ * ") " * swap$
+  duplicate$ #0 <  {
+    pop$
+    "disabled!"
+  } {
+    #0 > {
+      "truncated"
+    } {
+      "verbatim"
+    } if$
+  } if$ * *
+  diagn.cmntlog
+}
+
+FUNCTION {control.eprint.bib}
+{
+  "Control: production of eprint "
+  control.eprint
+  duplicate$ "(" swap$ int.to.str$ * ") " * swap$
+  #0 < { "disabled" } { "enabled" } if$ * *
+  diagn.cmntlog
+}
+
+FUNCTION {control.bib}
+{
+  control.key.bib
+  control.author.bib
+  control.editor.bib
+  control.title.bib
+  control.pages.bib
+  control.year.bib
+  control.eprint.bib
+}
+
+FUNCTION {init.state.consts}
+{
+  #0 'before.all        :=
+  #1 'after.word        :=
+  #2 'after.punctuation :=
+  #3 'after.sentence    :=
+  #4 'after.block       :=
+  #0 'punctuation.no    :=
+  #1 'punctuation.space :=
+  #2 'punctuation.yes   :=
+  "" 'bibfield          :=
+  "" 'output.bibfield   :=
+}
+
+STRINGS { s t}
+FUNCTION {block.punctuation}
+{ ""
+  "," *
+}
+
+FUNCTION {word.space}
+{
+  "\ "
+}
+
+FUNCTION {show.stackstring.one}{
+  "(" *
+  output.state int.to.str$ *
+    "," * punctuation.state int.to.str$ *
+  ")" * top$
+  duplicate$ "1(" swap$ * ")" * top$
+}
+
+FUNCTION {show.stackstring.two}{
+  "(" *
+  output.state int.to.str$ *
+    "," * punctuation.state int.to.str$ *
+  ")" * top$
+  swap$
+  duplicate$ "1(" swap$ * ")" * top$
+  swap$
+  duplicate$ "2(" swap$ * ")" * top$
+}
+
+FUNCTION {bibfield.command}{ "\bibfield "}
+
+FUNCTION {output.nonnull}
+{
+  swap$
+  output.state after.word =
+    {
+      block.punctuation *
+      word.space *
+    }
+    {
+      output.state after.punctuation =
+        {
+          word.space *
+        }
+        {
+          output.state after.block = output.state after.sentence = or
+            {
+              add.period$
+              "\EOS\ " *
+            }{
+            }
+          if$
+        }
+      if$
+    }
+  if$
+  output.bibfield duplicate$ empty$ 'pop$
+    {
+      bibfield.command
+      " {" * swap$ * "} {" * swap$ * "}" *
+    }
+  if$
+  write$
+  bibfield 'output.bibfield := "" 'bibfield :=
+  output.state after.block =
+    {
+      newline$
+      "\newblock " write$
+    }
+    'skip$
+  if$
+  punctuation.state duplicate$
+  punctuation.yes 'punctuation.state :=
+  punctuation.no =
+    { pop$ before.all }
+    { punctuation.yes = { after.word }{ after.punctuation } if$ }
+  if$
+  'output.state :=
+}
+
+FUNCTION {output}
+{ duplicate$ empty$
+    {
+      pop$
+  "" 'bibfield :=
+    }
+    'output.nonnull
+  if$
+}
+
+FUNCTION {output.nopunct}
+{
+  punctuation.no 'punctuation.state :=
+  output.nonnull
+}
+
+FUNCTION {output.check}
+{ swap$
+  duplicate$ empty$
+    { pop$ "empty " swap$ * " in " * cite$ * warning$ }
+    { swap$ pop$ output.nonnull }
+  if$
+}
+
+FUNCTION {bbl.open} { "\BibitemOpen " }
+
+FUNCTION {bbl.shut} { "\BibitemShut " }
+
+FUNCTION {bibitem.shut.stop} { bbl.shut "{Stop}%" * }
+
+FUNCTION {bibitem.shut.nostop} { bbl.shut "{NoStop}%" * }
+
+FUNCTION {bibitem.shut}
+{
+  non.stop
+    {
+  bibitem.shut.nostop *
+    }{
+  bibitem.shut.stop *
+    }
+  if$
+}
+
+FUNCTION {html.itag} {
+  "p"
+}
+
+FUNCTION {html.ltag} {
+  ""
+}
+
+FUNCTION {output.SLACcitation}
+{ SLACcitation empty$
+    'skip$
+    {
+      newline$
+      SLACcitation write$
+    }
+  if$
+}
+
+FUNCTION {fin.entry}
+{
+  bibitem.shut
+  write$
+    output.SLACcitation
+}
+
+FUNCTION {new.block}
+{ output.state before.all =
+    'skip$
+    { after.block 'output.state := }
+  if$
+}
+
+FUNCTION {new.block.comma}
+{
+}
+
+FUNCTION {new.sentence}
+{ output.state after.block = output.state before.all = or
+    'skip$
+    { after.sentence 'output.state := }
+  if$
+}
+
+FUNCTION {new.sentence.comma}
+{
+}
+
+FUNCTION {sentence.or.colon}
+{
+  new.sentence
+}
+
+FUNCTION {add.blank}
+{
+  word.space *
+  before.all 'output.state :=
+}
+
+FUNCTION {no.blank.or.punct}
+{
+   "\hspace {0pt}" *
+   before.all 'output.state :=
+}
+
+FUNCTION {date.block}
+{
+  new.block.comma
+  skip$
+}
+
+STRINGS {z}
+FUNCTION {remove.dots}
+{
+  control.author.dotless {
+    'z :=
+    ""
+    { z empty$ not }
+    { z #1 #1 substring$
+      z #2 global.max$ substring$ 'z :=
+      duplicate$ "." = 'pop$
+        { * }
+      if$
+    }
+    while$
+  } 'skip$ if$
+}
+
+FUNCTION {new.block.checkb}
+{ empty$
+  swap$ empty$
+  and
+    'skip$
+    'new.block
+  if$
+}
+
+FUNCTION {field.or.null}
+{ duplicate$ empty$
+    { pop$ "" }
+    'skip$
+  if$
+}
+
+FUNCTION {emphasize}
+{
+  duplicate$ empty$
+    { pop$ "" }
+    {
+      "\emph {" swap$ * "}" *
+    }
+  if$
+}
+
+FUNCTION {bolden}
+{ duplicate$ empty$
+    { pop$ "" }
+    { "\textbf {" swap$ * "}" * }
+  if$
+}
+
+FUNCTION {bib.name.font}
+{
+  duplicate$ empty$
+    { pop$ "" }
+    {
+    "\bibnamefont {" swap$ * "}" *
+    }
+  if$
+}
+
+FUNCTION {bib.fname.font}
+{
+  duplicate$ empty$
+    { pop$ "" }
+    {
+    "\bibfnamefont {" swap$ * "}" *
+    }
+  if$
+}
+
+FUNCTION {cite.name.font}
+{
+  duplicate$ empty$
+    { pop$ "" }
+    {
+    "\citenamefont {" swap$ * "}" *
+    }
+  if$
+}
+
+FUNCTION {tie.or.space.prefix}
+{ duplicate$ text.length$ #3 <
+    { "~" }
+    { word.space }
+  if$
+  swap$
+}
+
+FUNCTION {capitalize}
+{
+  "u" change.case$ "t" change.case$
+}
+
+FUNCTION {space.word}
+{ word.space swap$ * word.space * }
+
+ % Here are the language-specific definitions for explicit words.
+ % Each function has a name bbl.xxx where xxx is the English word.
+ % The language selected here is ENGLISH
+
+FUNCTION {bbl.and}
+{
+  "and"
+}
+
+FUNCTION {bbl.etal}
+{
+  "et~al."
+}
+
+FUNCTION {bbl.editors}
+{
+  "eds."
+}
+
+FUNCTION {bbl.editor}
+{
+  "ed."
+}
+
+FUNCTION {bbl.edby}
+{ "edited by" }
+
+FUNCTION {bbl.edition}
+{
+  "ed."
+}
+
+FUNCTION {bbl.volume}
+{
+  "vol."
+}
+
+FUNCTION {bbl.of}
+{ "of" }
+
+FUNCTION {bbl.number}
+{
+  "no."
+}
+
+FUNCTION {bbl.nr}
+{ "no." }
+
+FUNCTION {bbl.in}
+{ "in" }
+
+FUNCTION {bbl.pages}
+{
+  "pp."
+}
+
+FUNCTION {bbl.page}
+{
+  "p."
+}
+
+FUNCTION {bbl.eidpp}
+{ "pages" }
+
+FUNCTION {bbl.chapter}
+{
+  "chap."
+}
+
+FUNCTION {bbl.techrep}
+{
+  "Tech. Rep."
+}
+
+FUNCTION {bbl.mthesis}
+{ "Master's thesis" }
+
+FUNCTION {bbl.phdthesis}
+{ "Ph.D. thesis" }
+
+FUNCTION {bbl.first}
+{
+  "1st"
+}
+
+FUNCTION {bbl.second}
+{
+  "2nd"
+}
+
+FUNCTION {bbl.third}
+{
+  "3rd"
+}
+
+FUNCTION {bbl.fourth}
+{
+  "4th"
+}
+
+FUNCTION {bbl.fifth}
+{
+  "5th"
+}
+
+FUNCTION {bbl.st}
+{ "st" }
+
+FUNCTION {bbl.nd}
+{ "nd" }
+
+FUNCTION {bbl.rd}
+{ "rd" }
+
+FUNCTION {bbl.th}
+{ "th" }
+
+MACRO {jan} {"Jan."}
+
+MACRO {feb} {"Feb."}
+
+MACRO {mar} {"Mar."}
+
+MACRO {apr} {"Apr."}
+
+MACRO {may} {"May"}
+
+MACRO {jun} {"Jun."}
+
+MACRO {jul} {"Jul."}
+
+MACRO {aug} {"Aug."}
+
+MACRO {sep} {"Sep."}
+
+MACRO {oct} {"Oct."}
+
+MACRO {nov} {"Nov."}
+
+MACRO {dec} {"Dec."}
+
+FUNCTION {bbl.url.prefix}
+{
+  "\urlprefix "
+}
+
+FUNCTION {eng.ord}
+{ duplicate$ "1" swap$ *
+  #-2 #1 substring$ "1" =
+     { bbl.th * }
+     { duplicate$ #-1 #1 substring$
+       duplicate$ "1" =
+         { pop$ bbl.st * }
+         { duplicate$ "2" =
+             { pop$ bbl.nd * }
+             { "3" =
+                 { bbl.rd * }
+                 { bbl.th * }
+               if$
+             }
+           if$
+          }
+       if$
+     }
+   if$
+}
+
+ %-------------------------------------------------------------------
+ % Begin module:
+ % \ProvidesFile{physjour.mbs}[2002/01/14 2.2 (PWD)]
+MACRO {aa}{"Astron. \& Astrophys."}
+MACRO {aasup}{"Astron. \& Astrophys. Suppl. Ser."}
+MACRO {aj} {"Astron. J."}
+MACRO {aph} {"Acta Phys."}
+MACRO {advp} {"Adv. Phys."}
+MACRO {ajp} {"Amer. J. Phys."}
+MACRO {ajm} {"Amer. J. Math."}
+MACRO {amsci} {"Amer. Sci."}
+MACRO {anofd} {"Ann. Fluid Dyn."}
+MACRO {am} {"Ann. Math."}
+MACRO {ap} {"Ann. Phys. (NY)"}
+MACRO {adp} {"Ann. Phys. (Leipzig)"}
+MACRO {ao} {"Appl. Opt."}
+MACRO {apl} {"Appl. Phys. Lett."}
+MACRO {app} {"Astroparticle Phys."}
+MACRO {apj} {"Astrophys. J."}
+MACRO {apjsup} {"Astrophys. J. Suppl."}
+MACRO {apss} {"Astrophys. Space Sci."}
+MACRO {araa} {"Ann. Rev. Astron. Astrophys."}
+MACRO {baas} {"Bull. Amer. Astron. Soc."}
+MACRO {baps} {"Bull. Amer. Phys. Soc."}
+MACRO {cmp} {"Comm. Math. Phys."}
+MACRO {cpam} {"Commun. Pure Appl. Math."}
+MACRO {cppcf} {"Comm. Plasma Phys. \& Controlled Fusion"}
+MACRO {cpc} {"Comp. Phys. Comm."}
+MACRO {cqg} {"Class. Quant. Grav."}
+MACRO {cra} {"C. R. Acad. Sci. A"}
+MACRO {fed} {"Fusion Eng. \& Design"}
+MACRO {ft} {"Fusion Tech."}
+MACRO {grg} {"Gen. Relativ. Gravit."}
+MACRO {ieeens} {"IEEE Trans. Nucl. Sci."}
+MACRO {ieeeps} {"IEEE Trans. Plasma Sci."}
+MACRO {ijimw} {"Interntl. J. Infrared \& Millimeter Waves"}
+MACRO {ip} {"Infrared Phys."}
+MACRO {irp} {"Infrared Phys."}
+MACRO {jap} {"J. Appl. Phys."}
+MACRO {jasa} {"J. Acoust. Soc. America"}
+MACRO {jcp} {"J. Comp. Phys."}
+MACRO {jetp} {"Sov. Phys.--JETP"}
+MACRO {jfe} {"J. Fusion Energy"}
+MACRO {jfm} {"J. Fluid Mech."}
+MACRO {jmp} {"J. Math. Phys."}
+MACRO {jne} {"J. Nucl. Energy"}
+MACRO {jnec} {"J. Nucl. Energy, C: Plasma Phys., Accelerators, Thermonucl. Res."}
+MACRO {jnm} {"J. Nucl. Mat."}
+MACRO {jpc} {"J. Phys. Chem."}
+MACRO {jpp} {"J. Plasma Phys."}
+MACRO {jpsj} {"J. Phys. Soc. Japan"}
+MACRO {jsi} {"J. Sci. Instrum."}
+MACRO {jvst} {"J. Vac. Sci. \& Tech."}
+MACRO {nat} {"Nature"}
+MACRO {nature} {"Nature"}
+MACRO {nedf} {"Nucl. Eng. \& Design/Fusion"}
+MACRO {nf} {"Nucl. Fusion"}
+MACRO {nim} {"Nucl. Inst. \& Meth."}
+MACRO {nimpr} {"Nucl. Inst. \& Meth. in Phys. Res."}
+MACRO {np} {"Nucl. Phys."}
+MACRO {npb} {"Nucl. Phys. B"}
+MACRO {nt/f} {"Nucl. Tech./Fusion"}
+MACRO {npbpc} {"Nucl. Phys. B (Proc. Suppl.)"}
+MACRO {inc} {"Nuovo Cimento"}
+MACRO {nc} {"Nuovo Cimento"}
+MACRO {pf} {"Phys. Fluids"}
+MACRO {pfa} {"Phys. Fluids A: Fluid Dyn."}
+MACRO {pfb} {"Phys. Fluids B: Plasma Phys."}
+MACRO {pl} {"Phys. Lett."}
+MACRO {pla} {"Phys. Lett. A"}
+MACRO {plb} {"Phys. Lett. B"}
+MACRO {prep} {"Phys. Rep."}
+MACRO {pnas} {"Proc. Nat. Acad. Sci. USA"}
+MACRO {pp} {"Phys. Plasmas"}
+MACRO {ppcf} {"Plasma Phys. \& Controlled Fusion"}
+MACRO {phitrsl} {"Philos. Trans. Roy. Soc. London"}
+MACRO {prl} {"Phys. Rev. Lett."}
+MACRO {pr} {"Phys. Rev."}
+MACRO {physrev} {"Phys. Rev."}
+MACRO {pra} {"Phys. Rev. A"}
+MACRO {prb} {"Phys. Rev. B"}
+MACRO {prc} {"Phys. Rev. C"}
+MACRO {prd} {"Phys. Rev. D"}
+MACRO {pre} {"Phys. Rev. E"}
+MACRO {ps} {"Phys. Scripta"}
+MACRO {procrsl} {"Proc. Roy. Soc. London"}
+MACRO {rmp} {"Rev. Mod. Phys."}
+MACRO {rsi} {"Rev. Sci. Inst."}
+MACRO {science} {"Science"}
+MACRO {sciam} {"Sci. Am."}
+MACRO {sam} {"Stud. Appl. Math."}
+MACRO {sjpp} {"Sov. J. Plasma Phys."}
+MACRO {spd} {"Sov. Phys.--Doklady"}
+MACRO {sptp} {"Sov. Phys.--Tech. Phys."}
+MACRO {spu} {"Sov. Phys.--Uspeki"}
+MACRO {st} {"Sky and Telesc."}
+ % End module: physjour.mbs
+ %-------------------------------------------------------------------
+ % Begin module:
+ % \ProvidesFile{geojour.mbs}[2002/07/10 2.0h (PWD)]
+MACRO {aisr} {"Adv. Space Res."}
+MACRO {ag} {"Ann. Geophys."}
+MACRO {anigeo} {"Ann. Geofis."}
+MACRO {angl} {"Ann. Glaciol."}
+MACRO {andmet} {"Ann. d. Meteor."}
+MACRO {andgeo} {"Ann. d. Geophys."}
+MACRO {andphy} {"Ann. Phys.-Paris"}
+MACRO {afmgb} {"Arch. Meteor. Geophys. Bioklimatol."}
+MACRO {atph} {"Atm\'osphera"}
+MACRO {aao} {"Atmos. Ocean"}
+MACRO {ass}{"Astrophys. Space Sci."}
+MACRO {atenv} {"Atmos. Environ."}
+MACRO {aujag} {"Aust. J. Agr. Res."}
+MACRO {aumet} {"Aust. Meteorol. Mag."}
+MACRO {blmet} {"Bound.-Lay. Meteorol."}
+MACRO {bams} {"Bull. Amer. Meteorol. Soc."}
+MACRO {cch} {"Clim. Change"}
+MACRO {cdyn} {"Clim. Dynam."}
+MACRO {cbul} {"Climatol. Bull."}
+MACRO {cap} {"Contrib. Atmos. Phys."}
+MACRO {dsr} {"Deep-Sea Res."}
+MACRO {dhz} {"Dtsch. Hydrogr. Z."}
+MACRO {dao} {"Dynam. Atmos. Oceans"}
+MACRO {eco} {"Ecology"}
+MACRO {empl}{"Earth, Moon and Planets"}
+MACRO {envres} {"Environ. Res."}
+MACRO {envst} {"Environ. Sci. Technol."}
+MACRO {ecms} {"Estuarine Coastal Mar. Sci."}
+MACRO {expa}{"Exper. Astron."}
+MACRO {geoint} {"Geofis. Int."}
+MACRO {geopub} {"Geofys. Publ."}
+MACRO {geogeo} {"Geol. Geofiz."}
+MACRO {gafd} {"Geophys. Astrophys. Fluid Dyn."}
+MACRO {gfd} {"Geophys. Fluid Dyn."}
+MACRO {geomag} {"Geophys. Mag."}
+MACRO {georl} {"Geophys. Res. Lett."}
+MACRO {grl} {"Geophys. Res. Lett."}
+MACRO {ga} {"Geophysica"}
+MACRO {gs} {"Geophysics"}
+MACRO {ieeetap} {"IEEE Trans. Antenn. Propag."}
+MACRO {ijawp} {"Int. J. Air Water Pollut."}
+MACRO {ijc} {"Int. J. Climatol."}
+MACRO {ijrs} {"Int. J. Remote Sens."}
+MACRO {jam} {"J. Appl. Meteorol."}
+MACRO {jaot} {"J. Atmos. Ocean. Technol."}
+MACRO {jatp} {"J. Atmos. Terr. Phys."}
+MACRO {jastp} {"J. Atmos. Solar-Terr. Phys."}
+MACRO {jce} {"J. Climate"}
+MACRO {jcam} {"J. Climate Appl. Meteor."}
+MACRO {jcm} {"J. Climate Meteor."}
+MACRO {jcy} {"J. Climatol."}
+MACRO {jgr} {"J. Geophys. Res."}
+MACRO {jga} {"J. Glaciol."}
+MACRO {jh} {"J. Hydrol."}
+MACRO {jmr} {"J. Mar. Res."}
+MACRO {jmrj} {"J. Meteor. Res. Japan"}
+MACRO {jm} {"J. Meteor."}
+MACRO {jpo} {"J. Phys. Oceanogr."}
+MACRO {jra} {"J. Rech. Atmos."}
+MACRO {jaes} {"J. Aeronaut. Sci."}
+MACRO {japca} {"J. Air Pollut. Control Assoc."}
+MACRO {jas} {"J. Atmos. Sci."}
+MACRO {jmts} {"J. Mar. Technol. Soc."}
+MACRO {jmsj} {"J. Meteorol. Soc. Japan"}
+MACRO {josj} {"J. Oceanogr. Soc. Japan"}
+MACRO {jwm} {"J. Wea. Mod."}
+MACRO {lao} {"Limnol. Oceanogr."}
+MACRO {mwl} {"Mar. Wea. Log"}
+MACRO {mau} {"Mausam"}
+MACRO {meteor} {"``Meteor'' Forschungsergeb."}
+MACRO {map} {"Meteorol. Atmos. Phys."}
+MACRO {metmag} {"Meteor. Mag."}
+MACRO {metmon} {"Meteor. Monogr."}
+MACRO {metrun} {"Meteor. Rundsch."}
+MACRO {metzeit} {"Meteor. Z."}
+MACRO {metgid} {"Meteor. Gidrol."}
+MACRO {mwr} {"Mon. Weather Rev."}
+MACRO {nwd} {"Natl. Weather Dig."}
+MACRO {nzjmfr} {"New Zeal. J. Mar. Freshwater Res."}
+MACRO {npg} {"Nonlin. Proc. Geophys."}
+MACRO {om} {"Oceanogr. Meteorol."}
+MACRO {ocac} {"Oceanol. Acta"}
+MACRO {oceanus} {"Oceanus"}
+MACRO {paleoc} {"Paleoceanography"}
+MACRO {pce} {"Phys. Chem. Earth"}
+MACRO {pmg} {"Pap. Meteor. Geophys."}
+MACRO {ppom} {"Pap. Phys. Oceanogr. Meteor."}
+MACRO {physzeit} {"Phys. Z."}
+MACRO {pps} {"Planet. Space Sci."}
+MACRO {pss} {"Planet. Space Sci."}
+MACRO {pag} {"Pure Appl. Geophys."}
+MACRO {qjrms} {"Quart. J. Roy. Meteorol. Soc."}
+MACRO {quatres} {"Quat. Res."}
+MACRO {rsci} {"Radio Sci."}
+MACRO {rse} {"Remote Sens. Environ."}
+MACRO {rgeo} {"Rev. Geophys."}
+MACRO {rgsp} {"Rev. Geophys. Space Phys."}
+MACRO {rdgeo} {"Rev. Geofis."}
+MACRO {revmeta} {"Rev. Meteorol."}
+MACRO {sgp}{"Surveys in Geophys."}
+MACRO {sp} {"Solar Phys."}
+MACRO {ssr} {"Space Sci. Rev."}
+MACRO {tellus} {"Tellus"}
+MACRO {tac} {"Theor. Appl. Climatol."}
+MACRO {tagu} {"Trans. Am. Geophys. Union (EOS)"}
+MACRO {wrr} {"Water Resour. Res."}
+MACRO {weather} {"Weather"}
+MACRO {wafc} {"Weather Forecast."}
+MACRO {ww} {"Weatherwise"}
+MACRO {wmob} {"WMO Bull."}
+MACRO {zeitmet} {"Z. Meteorol."}
+ % End module: geojour.mbs
+ %-------------------------------------------------------------------
+ % Begin module:
+ % \ProvidesFile{photjour.mbs}[1999/02/24 2.0b (PWD)]
+
+MACRO {appopt} {"Appl. Opt."}
+MACRO {bell} {"Bell Syst. Tech. J."}
+MACRO {ell} {"Electron. Lett."}
+MACRO {jasp} {"J. Appl. Spectr."}
+MACRO {jqe} {"IEEE J. Quantum Electron."}
+MACRO {jlwt} {"J. Lightwave Technol."}
+MACRO {jmo} {"J. Mod. Opt."}
+MACRO {josa} {"J. Opt. Soc. America"}
+MACRO {josaa} {"J. Opt. Soc. Amer.~A"}
+MACRO {josab} {"J. Opt. Soc. Amer.~B"}
+MACRO {jdp} {"J. Phys. (Paris)"}
+MACRO {oc} {"Opt. Commun."}
+MACRO {ol} {"Opt. Lett."}
+MACRO {phtl} {"IEEE Photon. Technol. Lett."}
+MACRO {pspie} {"Proc. Soc. Photo-Opt. Instrum. Eng."}
+MACRO {sse} {"Solid-State Electron."}
+MACRO {sjot} {"Sov. J. Opt. Technol."}
+MACRO {sjqe} {"Sov. J. Quantum Electron."}
+MACRO {sleb} {"Sov. Phys.--Leb. Inst. Rep."}
+MACRO {stph} {"Sov. Phys.--Techn. Phys."}
+MACRO {stphl} {"Sov. Techn. Phys. Lett."}
+MACRO {vr} {"Vision Res."}
+MACRO {zph} {"Z. f. Physik"}
+MACRO {zphb} {"Z. f. Physik~B"}
+MACRO {zphd} {"Z. f. Physik~D"}
+
+MACRO {CLEO} {"CLEO"}
+MACRO {ASSL} {"Adv. Sol.-State Lasers"}
+MACRO {OSA}  {"OSA"}
+ % End module: photjour.mbs
+%% Copyright 1994-2007 Patrick W Daly
+MACRO {acmcs} {"ACM Comput. Surv."}
+
+MACRO {acta} {"Acta Inf."}
+
+MACRO {cacm} {"Commun. ACM"}
+
+MACRO {ibmjrd} {"IBM J. Res. Dev."}
+
+MACRO {ibmsj} {"IBM Syst.~J."}
+
+MACRO {ieeese} {"IEEE Trans. Software Eng."}
+
+MACRO {ieeetc} {"IEEE Trans. Comput."}
+
+MACRO {ieeetcad}
+ {"IEEE Trans. Comput. Aid. Des."}
+
+MACRO {ipl} {"Inf. Process. Lett."}
+
+MACRO {jacm} {"J.~ACM"}
+
+MACRO {jcss} {"J.~Comput. Syst. Sci."}
+
+MACRO {scp} {"Sci. Comput. Program."}
+
+MACRO {sicomp} {"SIAM J. Comput."}
+
+MACRO {tocs} {"ACM Trans. Comput. Syst."}
+
+MACRO {tods} {"ACM Trans. Database Syst."}
+
+MACRO {tog} {"ACM Trans. Graphic."}
+
+MACRO {toms} {"ACM Trans. Math. Software"}
+
+MACRO {toois} {"ACM Trans. Office Inf. Syst."}
+
+MACRO {toplas} {"ACM Trans. Progr. Lang. Syst."}
+
+MACRO {tcs} {"Theor. Comput. Sci."}
+
+FUNCTION {bibinfo.command} { "\bibinfo " }
+
+FUNCTION {bibinfo.check}
+{ swap$
+  duplicate$ missing$
+    {
+      pop$
+      pop$ ""
+    }{
+      duplicate$ empty$
+        {
+          swap$ pop$
+        }{
+          swap$
+          bibinfo.command "{" * swap$ * "} {" * swap$ * "}" *
+        }
+      if$
+    }
+  if$
+}
+
+FUNCTION {bibinfo.warn}
+{ swap$
+  duplicate$ missing$
+    {
+      swap$ "missing " swap$ * " in " * cite$ * warning$ pop$
+      ""
+    }{
+      duplicate$ empty$
+        {
+          swap$ "empty " swap$ * " in " * cite$ * warning$
+        }{
+          swap$
+          bibinfo.command " {" * swap$ * "} {" * swap$ * "}" *
+        }
+      if$
+    }
+  if$
+}
+
+FUNCTION {archiv.base}
+{
+  "http://arxiv.org/abs"
+}
+
+FUNCTION {archiv.prefix.base}
+{
+  "arXiv"
+}
+
+FUNCTION {eprint.command}
+{
+  "\Eprint "
+}
+
+FUNCTION {format.eprint}
+{
+  eprint duplicate$ empty$
+  control.eprint #0 <
+  or
+    { pop$ "" }
+    {
+      duplicate$
+      ""
+        archive duplicate$ empty$ { pop$ archiv.base } 'skip$ if$ *
+        "/" *
+        swap$ *
+        "{" swap$ * "} " *
+      swap$
+      ""
+        archivePrefix duplicate$ empty$ { pop$ "" } { ":" * } if$ *
+        swap$ *
+        primaryClass  duplicate$ empty$ { pop$ "" } { " [" swap$ * "]" * } if$ *
+        "{" swap$ * "} " *
+      *
+      eprint.command swap$ *
+    }
+  if$
+}
+
+FUNCTION {format.translation}
+{ translation duplicate$ empty$
+    'skip$
+    { ""
+      "\translation{" * swap$ * "}" *
+      punctuation.space 'punctuation.state :=
+    }
+  if$
+}
+
+FUNCTION {format.url}
+{
+  url duplicate$ empty$
+    { pop$ "" }
+    {
+      "\url "
+      "{" * swap$ * "}" *
+    }
+  if$
+}
+
+INTEGERS { nameptr namesleft numnames }
+
+FUNCTION {check.speaker}
+{ key empty$ 'skip$
+  { key nameptr int.to.str$ =
+    {
+      bolden
+    }
+      'skip$
+    if$
+  }
+  if$
+}
+
+
+STRINGS  { bibinfo}
+
+FUNCTION {format.names.fname}
+{
+  control.author.initials {
+    control.author.dotless {
+      control.author.nospace {
+        "f{}"
+      } {
+        "f{~}"
+      } if$
+    } {
+      control.author.nospace {
+        "f{.}."
+      } {
+        "f."
+      } if$
+    } if$
+  } {
+    "ff"
+  } if$
+}
+
+FUNCTION {bracify}
+{
+  "{" swap$ * "}" *
+}
+
+FUNCTION {name.comma}
+{
+  control.author.nocomma 'skip$ { "," swap$ * } if$
+}
+
+FUNCTION {format.names.format.onefont}
+{
+  "{vv~}{ll}"
+  nameptr #1 >
+  control.author.first
+  and
+  control.author.reversed not
+  or
+    {
+      control.author.initials {
+        "f"
+        control.author.dotless 'skip$ {
+          "." *
+        } if$
+        "~" *
+      } {
+        "ff"
+      } if$
+      bracify
+      swap$
+    } {
+      format.names.fname
+      " " swap$ *
+      name.comma
+      bracify
+    }
+  if$
+  "jj"
+  " " swap$ *
+  name.comma
+  bracify
+  control.author.jnrlst 'skip$ 'swap$ if$
+  * *
+}
+
+FUNCTION {format.names.onefont}
+{
+  s nameptr format.names.format.onefont format.name$
+  remove.dots
+  bib.name.font
+}
+
+FUNCTION {format.names.morfont}
+{ s nameptr
+  "{vv~}{ll}" format.name$ bib.name.font
+  nameptr #1 >
+  control.author.first
+  and
+  control.author.reversed not
+  or
+  {
+    s nameptr
+    control.author.initials {
+      "f"                        % default: name + surname + comma junior
+    } {
+      "ff"
+    } if$
+    control.author.dotless 'skip$ {
+      "." *                    % nm-init   % Initials. + surname (J. F. Smith)                                           control.author.initials
+    } if$
+    bracify
+    format.name$ duplicate$ empty$ 'skip$
+      { tie.or.space.prefix bib.fname.font swap$ * }
+    if$
+    swap$
+    *
+    s nameptr
+    "{jj}" format.name$ duplicate$ empty$ 'skip$
+      { bib.fname.font ", " swap$ * }
+    if$
+  } {
+    "," *
+    s nameptr
+    format.names.fname
+    "jj"
+    " "
+    name.comma
+    control.author.jnrlst {
+      swap$ * skip$
+    } {
+      skip$ * swap$
+    } if$
+    bracify swap$ bracify swap$
+    *
+    format.name$
+    remove.dots
+    duplicate$ empty$ 'skip$
+      { bib.fname.font " " swap$ * }
+      if$
+  } if$
+  *
+}
+
+FUNCTION {names.punctuate}
+{
+  "," *
+  " " *
+}
+
+FUNCTION {format.names}
+{ 'bibinfo :=
+  duplicate$ empty$ { pop$ "" } {
+    duplicate$ num.names$
+    duplicate$ 'numnames :=
+    'namesleft :=
+    's :=
+    #1 'nameptr :=
+    ""
+      { namesleft #0 > }
+      {
+      format.names.morfont
+        bibinfo bibinfo.check
+        type$ "presentation" =
+          'check.speaker
+          'skip$
+        if$
+        't :=
+        nameptr #1 > not
+          {
+            t *
+          } {
+            namesleft #1 >
+              {
+                names.punctuate
+                t *
+              } {
+                s nameptr "{ll}" format.name$ duplicate$ "others" =
+                  { 't := }
+                  { pop$ }
+                if$
+                numnames #2 >
+                  'names.punctuate
+                  'skip$
+                if$
+                t "others" =
+                  {
+                    " " *
+                    bbl.etal
+                    emphasize
+                    *
+                  } {
+                    bbl.and
+                    space.word *
+                    t *
+                  }
+                if$
+              }
+            if$
+          }
+        if$
+        nameptr #1 + 'nameptr :=
+        namesleft #1 - 'namesleft :=
+      }
+    while$
+  } if$
+}
+
+FUNCTION {format.names.ed.onefont}
+{
+    s nameptr
+    control.author.initials {
+      control.author.dotless {
+        control.author.nospace {
+          "{f{}~}{vv~}{ll}{ jj}"   % nm-rvx|nm-rvcx
+        } {
+          "{f{~}~}{vv~}{ll}{ jj}"  % nm-rv
+        } if$
+      } {
+        control.author.nospace {
+          "{f{.}.~}{vv~}{ll}{ jj}" % nm-rvv|nm-rvvc
+        }{
+          "{f.~}{vv~}{ll}{, jj}"   % nm-init|nm-rev|nm-rev1
+        } if$
+      } if$
+    } {
+      "{ff~}{vv~}{ll}{, jj}"
+    } if$
+    format.name$
+    remove.dots
+    bib.name.font
+}
+
+FUNCTION {format.names.ed.morfont}
+{
+  control.author.reversed { %
+    control.author.initials { %
+      control.author.dotless { %
+        s nameptr
+        control.author.nospace { % nm-rvx nm-rvcx
+          "{f{}}"
+        } { % nm-rv
+          "{f{~}}"
+        } if$
+        format.name$ duplicate$ empty$ 'skip$
+          { tie.or.space.prefix bib.fname.font swap$ * }
+        if$
+        s nameptr
+        "{vv~}{ll}" format.name$ bib.name.font *
+        s nameptr
+        "{jj}" format.name$
+        remove.dots
+        duplicate$ empty$ 'skip$
+          { bib.fname.font " " swap$ * }
+        if$
+      } { % !control.author.dotless
+        s nameptr
+        control.author.nospace { % nm-rvv
+          "{ff}"
+        } { % nm-rev nm-rev1
+          "{f.}"
+        } if$
+        format.name$ duplicate$ empty$ 'skip$
+          { tie.or.space.prefix bib.fname.font swap$ * }
+        if$
+        s nameptr
+        "{vv~}{ll}" format.name$ bib.name.font *
+        s nameptr
+        "{jj}" format.name$
+        duplicate$ empty$ 'skip$
+          { bib.fname.font ", " swap$ * }
+        if$
+      } if$
+    } { % Full names !control.author.initials  nm-revf nm-revv1
+      s nameptr
+      "{ff}"
+      format.name$ duplicate$ empty$ 'skip$
+        { tie.or.space.prefix bib.fname.font swap$ * }
+      if$
+      s nameptr
+      "{vv~}{ll}" format.name$ bib.name.font *
+      s nameptr
+      "{jj}" format.name$
+      duplicate$ empty$ 'skip$
+        { bib.fname.font ", " swap$ * }
+      if$
+    } if$
+  } { % !control.author.reversed nm-init
+    s nameptr
+    "{f.}"
+    format.name$ duplicate$ empty$ 'skip$
+      { tie.or.space.prefix bib.fname.font swap$ * }
+    if$
+    s nameptr
+    "{vv~}{ll}" format.name$ bib.name.font *
+    s nameptr
+    "{jj}" format.name$
+    duplicate$ empty$ 'skip$
+      { bib.fname.font ", " swap$ * }
+    if$
+  } if$
+  *
+}
+
+FUNCTION {format.names.ed}
+{
+  control.editor #0 > {
+    format.names
+  } {
+    'bibinfo :=
+    duplicate$ empty$ 'skip$ {
+    's :=
+    "" 't :=
+    #1 'nameptr :=
+    s num.names$ 'numnames :=
+    numnames 'namesleft :=
+      { namesleft #0 > }
+      {
+       format.names.ed.morfont
+        bibinfo bibinfo.check
+        't :=
+        nameptr #1 >
+          {
+            namesleft #1 >
+              {
+                names.punctuate
+                t *
+              }{
+                s nameptr "{ll}" format.name$ duplicate$ "others" =
+                  { 't := }
+                  { pop$ }
+                if$
+                numnames #2 >
+                  'names.punctuate
+                  'skip$
+                if$
+                t "others" =
+                  {
+                    " " * bbl.etal emphasize *
+                  }{
+                   bbl.and
+                    space.word * t *
+                  }
+                if$
+              }
+            if$
+          }
+          't
+        if$
+        nameptr #1 + 'nameptr :=
+        namesleft #1 - 'namesleft :=
+      }
+    while$
+    } if$
+  } if$
+}
+
+FUNCTION {format.key}
+{ empty$
+    { key field.or.null }
+    { "" }
+  if$
+}
+
+FUNCTION {format.authors}
+{ author "author" format.names
+  duplicate$ empty$ 'skip$
+    { collaboration "collaboration" bibinfo.check
+      duplicate$ empty$ 'skip$
+        { " (" swap$ * ")" * }
+      if$
+      *
+    }
+  if$
+  "author" 'bibfield :=
+}
+
+FUNCTION {get.bbl.editor}
+{ editor num.names$ #1 > 'bbl.editors 'bbl.editor if$
+}
+
+FUNCTION {format.editors}
+{ editor "editor" format.names duplicate$ empty$ 'skip$
+    {
+      "," *
+      word.space *
+      get.bbl.editor
+      *
+    }
+  if$
+}
+
+FUNCTION {format.isbn.output}
+{
+}
+
+FUNCTION {format.issn.output}
+{ 
+}
+
+FUNCTION {doi.base}
+{
+  "http://dx.doi.org/"
+}
+
+FUNCTION {doi.base.command}
+{
+  "\doibase "
+}
+
+FUNCTION {noop.command}
+{
+  "\href at noop "
+}
+
+FUNCTION {href.command}
+{
+  "\href "
+}
+
+FUNCTION {link.tag.open}
+{
+  doi duplicate$ empty$
+    {
+      pop$
+      url duplicate$ empty$
+        {
+          pop$ "" noop.command
+        }{
+          href.command
+        }
+      if$
+    }
+    {
+      doi.base.command swap$ * 
+      href.command
+    }
+  if$
+  "{" * swap$ * "} {" *
+}
+
+FUNCTION {link.tag.shut}
+{
+  "}"
+}
+
+FUNCTION {link.open}
+{
+  link.tag.open output.nopunct
+}
+
+FUNCTION {link.shut}
+{
+  link.tag.shut *
+}
+
+FUNCTION {add.doi}
+{
+  link.tag.open swap$ * link.tag.shut *
+}
+
+FUNCTION {select.language}
+{ duplicate$ empty$
+    'pop$
+    { language empty$
+        'skip$
+        { "{\selectlanguage {" language * "}" * swap$ * "}" * }
+      if$
+    }
+    if$
+}
+
+FUNCTION {format.note}
+{
+ note empty$
+    { "" }
+    { note #1 #1 substring$
+      duplicate$ "{" =
+        'skip$
+        {
+          output.state after.word = output.state after.punctuation = or
+            { "l" }
+            { "u" }
+          if$ change.case$
+        }
+      if$
+      note #2 global.max$ substring$ * "note" bibinfo.check
+    }
+  if$
+}
+
+FUNCTION {bbl.enquote}
+{
+  "\enquote "
+}
+
+FUNCTION {string.enquote}
+{
+  punctuation.no 'punctuation.state :=
+  non.stop {
+    block.punctuation
+  } { "" } if$
+   swap$ pop$
+  *
+  bbl.enquote "{" * swap$ * "}" *
+  word.space *
+}
+
+FUNCTION {format.title}
+{ title
+  duplicate$ empty$ 'skip$ { "t" change.case$ } if$
+  duplicate$ "title" bibinfo.check swap$
+  duplicate$ empty$ 'pop$
+    {
+      punctuation.yes 'punctuation.state :=
+      string.enquote
+      select.language
+    }
+  if$
+}
+
+FUNCTION {end.quote.title}
+{ title empty$
+    'skip$
+    { before.all 'output.state := }
+  if$
+}
+
+FUNCTION {format.name.apply}
+{
+  s nameptr
+  "{vv~}{ll}"
+  format.name$
+  cite.name.font
+}
+
+FUNCTION {format.full.names}
+{
+  's :=
+  "" 't :=
+  #1 'nameptr :=
+  s num.names$ 'numnames :=
+  numnames 'namesleft :=
+    { namesleft #0 > }
+    { format.name.apply
+      't :=
+      nameptr #1 >
+        {
+          namesleft #1 >
+            { ", " * t * }
+            {
+              s nameptr "{ll}" format.name$ duplicate$ "others" =
+                {
+                  't :=
+                }
+                'pop$
+              if$
+              t "others" =
+                {
+                  " " * bbl.etal
+                  emphasize *
+                }{
+                  numnames #2 > { "," * }{ skip$ } if$
+                  bbl.and
+                  space.word * t *
+                }
+              if$
+            }
+          if$
+        }
+        't
+      if$
+      nameptr #1 + 'nameptr :=
+      namesleft #1 - 'namesleft :=
+    }
+  while$
+}
+
+FUNCTION {make.full.names}
+{
+  key editor author
+  type$ "proceedings" =
+  type$ "book"        =
+  type$ "inbook"      =
+  or { pop$ }{ { pop$ "" }{ swap$ pop$ "" swap$ } if$ } if$
+  duplicate$ empty$
+    { pop$
+      duplicate$ empty$
+        { pop$
+          duplicate$ empty$
+            { pop$
+              cite$ #1 #3 substring$
+            }{
+              skip$
+            }
+          if$
+        }
+        { swap$ pop$ format.full.names }
+      if$
+    }
+    { swap$ pop$ swap$ pop$ format.full.names }
+  if$
+}
+
+FUNCTION {year.bibitem}
+{
+  year duplicate$ empty$
+  { pop$ ""
+  }{
+    skip$
+  } if$
+  extra.label *
+}
+
+FUNCTION {output.bibitem}
+{
+  newline$
+  ""
+  label
+  * ")" *
+   make.full.names duplicate$ short.list =
+   { pop$ }{ * } if$
+   bracify
+  "[" swap$ * "]" *
+  cite$ bracify "%" *
+  *
+  "\bibitem "
+  swap$ *
+  write$ newline$
+  "  "
+  duplicate$ bbl.open * write$ newline$
+  before.all 'output.state :=
+  punctuation.yes 'punctuation.state :=
+}
+
+FUNCTION {n.dashify}
+{
+  't :=
+  ""
+    { t empty$ not }
+    { t #1 #1 substring$ "-" =
+        { t #1 #2 substring$ "--" = not
+            { "--" *
+              t #2 global.max$ substring$ 't :=
+            }{
+                { t #1 #1 substring$ "-" = }
+                { "-" *
+                  t #2 global.max$ substring$ 't :=
+                }
+              while$
+            }
+          if$
+        }{
+          t #1 #1 substring$ *
+          t #2 global.max$ substring$ 't :=
+        }
+      if$
+    }
+  while$
+}
+
+FUNCTION {word.in}
+{
+  bbl.in
+  word.space *
+}
+
+FUNCTION {date.encapsulate}
+{
+  duplicate$ empty$
+    'skip$
+    {
+      before.all 'output.state :=
+      " (" swap$ * ")" *
+    }
+  if$
+}
+
+FUNCTION {format.date}
+{
+  year "year" bibinfo.check duplicate$ empty$
+    {
+    }
+    'skip$
+  if$
+  extra.label *
+  date.encapsulate
+}
+
+FUNCTION {format.date.output.check}
+{
+ format.date
+ "year" output.check
+}
+
+FUNCTION {format.date.output}
+{
+  format.date.output.check
+}
+
+FUNCTION {format.btitle}
+{
+  booktitle duplicate$ empty$ { pop$
+      title
+  } 'skip$ if$
+  "title" bibinfo.check
+  duplicate$ empty$ 'skip$
+    {
+      emphasize
+      select.language
+    }
+  if$
+}
+
+FUNCTION {either.or.check}
+{ empty$
+    'pop$
+    { "can't use both " swap$ * " fields in " * cite$ * warning$ }
+  if$
+}
+
+FUNCTION {editor.check.book}
+{ editor empty$ 'skip$
+    {
+      "can't use both author and editor fields in " cite$ *
+      ": try using @inbook instead" *
+      warning$
+    }
+  if$
+}
+
+FUNCTION {format.bvolume}
+{ volume duplicate$ empty$
+    { pop$ "" }
+    {
+      "volume and number" number either.or.check
+      bbl.volume
+      capitalize
+      swap$
+      tie.or.space.prefix "volume" bibinfo.check * *
+      series "series" bibinfo.check duplicate$ empty$ 'pop$
+        {
+          ", "
+          * swap$ *
+        }
+      if$
+    }
+  if$
+}
+
+FUNCTION {format.number}
+{
+  bbl.number
+  output.state after.word = output.state after.punctuation = or
+  #1 or
+  #0 and
+    'skip$
+    { capitalize }
+  if$
+  number tie.or.space.prefix "number" bibinfo.check * *
+}
+
+FUNCTION {format.number.series}
+{ volume empty$
+    { number empty$
+        { series field.or.null }
+        {
+          series empty$
+            {
+              number "number" bibinfo.check
+            }{
+              format.number
+              series "series" bibinfo.check
+              word.space * swap$ *
+            }
+          if$
+        }
+      if$
+    }
+    { "" }
+  if$
+}
+
+FUNCTION {is.num}
+{ chr.to.int$
+  duplicate$ "0" chr.to.int$ < not
+  swap$ "9" chr.to.int$ > not and
+}
+
+FUNCTION {extract.num}
+{ duplicate$ 't :=
+  "" 's :=
+  { t empty$ not }
+  { t #1 #1 substring$
+    t #2 global.max$ substring$ 't :=
+    duplicate$ is.num
+      { s swap$ * 's := }
+      { pop$ "" 't := }
+    if$
+  }
+  while$
+  s empty$
+    'skip$
+    { pop$ s }
+  if$
+}
+
+FUNCTION {convert.edition}
+{ extract.num "l" change.case$ 's :=
+  s "first" = s "1" = or
+    { bbl.first 't := }
+    { s "second" = s "2" = or
+        { bbl.second 't := }
+        { s "third" = s "3" = or
+            { bbl.third 't := }
+            { s "fourth" = s "4" = or
+                { bbl.fourth 't := }
+                { s "fifth" = s "5" = or
+                    { bbl.fifth 't := }
+                    { s #1 #1 substring$ is.num
+                        { s
+                            eng.ord
+                        't := }
+                        { edition 't := }
+                      if$
+                    }
+                  if$
+                }
+              if$
+            }
+          if$
+        }
+      if$
+    }
+  if$
+  t
+}
+
+FUNCTION {format.edition}
+{ edition duplicate$ empty$ 'skip$
+    {
+      convert.edition
+      output.state after.word = output.state after.punctuation = or
+        { "l" }
+        { "t" }
+      if$ change.case$
+      "edition" bibinfo.check
+      word.space * bbl.edition *
+    }
+  if$
+}
+
+INTEGERS { multiresult }
+FUNCTION {multi.page.check}
+{ 't :=
+  #0 'multiresult :=
+    { multiresult not
+      t empty$ not
+      and
+    }
+    { t #1 #1 substring$
+      duplicate$ "-" =
+      swap$ duplicate$ "," =
+      swap$ "+" =
+      or or
+        { #1 'multiresult := }
+        { t #2 global.max$ substring$ 't := }
+      if$
+    }
+  while$
+  multiresult
+}
+
+FUNCTION {format.pages}
+{ pages duplicate$ empty$
+    'skip$
+    { duplicate$ multi.page.check
+        {
+          bbl.pages swap$
+          n.dashify
+        }{
+          bbl.page swap$
+        }
+      if$
+      tie.or.space.prefix
+      "pages" bibinfo.check
+      * *
+    }
+  if$
+}
+
+FUNCTION {first.page}
+{ 't :=
+  ""
+    {  t empty$ not t #1 #1 substring$ "-" = not and }
+    { t #1 #1 substring$ *
+      t #2 global.max$ substring$ 't :=
+    }
+  while$
+}
+
+FUNCTION {format.book.pages}
+{
+  pages duplicate$ empty$ 'skip$
+    {
+      "pages" bibinfo.check word.space bbl.pages * *
+    }
+  if$
+}
+
+FUNCTION {volnum.punct}
+{
+          ","
+  word.space *
+}
+
+FUNCTION {format.journal.pages}
+{ pages duplicate$ empty$ 'pop$
+    { swap$ duplicate$ empty$
+        { pop$ pop$ format.pages }
+        { volnum.punct *
+          swap$
+          control.pages duplicate$ #0 < {
+            pop$ pop$
+          }{
+            #0 >
+            {
+              n.dashify
+            }{
+              first.page
+            } if$
+          } if$
+          "pages" bibinfo.check
+          *
+        }
+      if$
+    }
+  if$
+}
+
+FUNCTION {format.journal.eid}
+{ eid "eid" bibinfo.check
+  duplicate$ empty$ 'pop$
+    { swap$ duplicate$ empty$ 'skip$
+        { volnum.punct * }
+      if$
+      swap$ *
+    }
+  if$
+}
+
+FUNCTION {eid.or.pages}
+{
+  eid empty$
+    { format.journal.pages }
+    { format.journal.eid }
+  if$
+}
+
+FUNCTION {format.ser.vol.num}
+{
+  series "series" bibinfo.check output
+  volume field.or.null
+  duplicate$ empty$ 'skip$
+    {
+      "volume" bibinfo.check
+    }
+  if$
+  bolden
+}
+
+FUNCTION {format.chapter.pages}
+{ chapter empty$
+    {
+    format.pages
+    }
+    { type empty$
+        {
+          bbl.chapter
+          capitalize
+        }{
+          type
+          capitalize
+          "type" bibinfo.check
+        }
+      if$
+      chapter tie.or.space.prefix
+      "chapter" bibinfo.check
+      * *
+      pages empty$
+        'skip$
+        { ", " * format.pages * }
+      if$
+    }
+  if$
+}
+
+FUNCTION {format.booktitle}
+{
+  booktitle duplicate$ "booktitle" bibinfo.check swap$
+  duplicate$ empty$ 'pop$
+    {
+      punctuation.yes 'punctuation.state :=
+      pop$ emphasize
+      select.language
+    }
+  if$
+}
+
+FUNCTION {format.editor.in}
+{
+  editor "editor" format.names.ed duplicate$ empty$ 'skip$
+    {
+      bbl.edby
+      word.space * swap$ *
+    }
+  if$
+}
+
+FUNCTION {output.article.booktitle}
+{
+  format.booktitle
+      "booktitle" 'bibfield :=
+  output
+  bookaddress "address" bibinfo.check duplicate$ empty$ 'pop$
+    {
+      "address" 'bibfield :=
+      output.nonnull after.punctuation 'output.state :=
+    }
+  if$
+}
+
+FUNCTION {format.in.ed.booktitle}
+{
+  format.booktitle duplicate$ empty$ 'pop$
+    {
+      add.doi
+      word.in swap$ * output.nonnull
+      bookaddress "address" bibinfo.check output
+      format.number.series "series and number" bibinfo.check output
+      format.bvolume output
+      format.editor.in "editor" bibinfo.check output
+    }
+  if$
+}
+
+FUNCTION {format.in.ed.booktitle.inbook}
+{
+  format.booktitle duplicate$ empty$ 'pop$
+    {
+      add.doi
+      word.in swap$ * output.nonnull
+      bookaddress "address" bibinfo.check output
+      format.number.series "series and number" bibinfo.check output
+      format.bvolume output
+      author empty$ 'skip$
+        { format.editor.in "editor" bibinfo.check output }
+    if$
+    }
+  if$
+}
+
+FUNCTION {format.thesis.type}
+{ type duplicate$ empty$
+    'pop$
+    { swap$ pop$
+      "t" change.case$ "type" bibinfo.check
+    }
+  if$
+}
+
+FUNCTION {format.tr.number}
+{ number "number" bibinfo.check
+  type duplicate$ empty$
+    { pop$ bbl.techrep }
+    'skip$
+  if$
+  "type" bibinfo.check
+  swap$ duplicate$ empty$
+    { pop$ "t" change.case$ }
+    { tie.or.space.prefix * * }
+  if$
+}
+
+FUNCTION {format.article.crossref}
+{
+  word.in
+  " \cite{" * crossref * "}" *
+}
+
+FUNCTION {format.book.crossref}
+{ volume duplicate$ empty$
+    { "empty volume in " cite$ * "'s crossref of " * crossref * warning$
+      pop$ word.in
+    }
+    { bbl.volume
+      swap$ tie.or.space.prefix "volume" bibinfo.check * * bbl.of space.word *
+    }
+  if$
+  " \cite{" * crossref * "}" *
+}
+
+FUNCTION {format.incoll.inproc.crossref}
+{
+  word.in
+  " \cite{" * crossref * "}" *
+}
+
+FUNCTION {format.org.or.pub}
+{ 't :=
+  ""
+  address "address" bibinfo.check
+  duplicate$ empty$
+    { pop$ t }
+    { t duplicate$ empty$
+        { pop$ }
+        {
+          "," word.space *
+          * swap$ *
+        }
+      if$
+    }
+  if$
+  *
+  year duplicate$ empty$
+    {
+      "empty year in " cite$ *
+      warning$
+      pop$ ""
+    }
+    'skip$
+  if$
+  duplicate$ empty$
+    { pop$ }
+    {
+      "year" bibinfo.check
+      swap$
+      duplicate$ empty$
+        { pop$ }
+        {
+          "," *
+          word.space *
+          swap$ *
+        }
+      if$
+    }
+  if$
+  duplicate$ empty$ 'skip$ {
+    ""
+    "(" * swap$ * ")" *
+    after.punctuation 'output.state :=
+    punctuation.space 'punctuation.state :=
+  } if$
+}
+
+FUNCTION {format.publisher.address}
+{ publisher "publisher" bibinfo.warn format.org.or.pub
+}
+
+FUNCTION {format.organization.address}
+{ organization "organization" bibinfo.check format.org.or.pub
+}
+
+FUNCTION {format.organization.publisher.address}
+{
+  publisher empty$
+    { format.organization.address }
+    { organization "organization" bibinfo.check output
+      format.publisher.address
+    }
+  if$
+}
+
+FUNCTION {format.school.address.output}
+{
+  school  "school"  bibinfo.warn
+  address "address" bibinfo.check
+  duplicate$ empty$ 'skip$
+    {
+      swap$
+      duplicate$ empty$ 'skip$
+        {
+          ", " *
+        }
+      if$
+      swap$
+    }
+  if$
+  *
+  output
+}
+
+FUNCTION {article.title.produce}
+{
+  control.title duplicate$ #0 <
+  { pop$
+  }{
+    format.title
+    "title" 'bibfield :=
+    swap$ #0 >
+    {
+      "title" output.check
+    }{
+      output
+    } if$
+    new.block.comma
+  } if$
+}
+
+FUNCTION {control}
+{
+}
+
+FUNCTION {article}
+{ output.bibitem
+  format.authors
+  booktitle empty$ {
+      "author" output.check
+    }{ output } if$
+  author format.key output
+  new.block.comma
+  article.title.produce
+  output.article.booktitle
+  crossref missing$
+    {
+      link.open
+      journal
+      "journal" bibinfo.warn
+      "journal" 'bibfield :=
+      output
+      add.blank
+      format.ser.vol.num
+      output
+      eid.or.pages
+      format.date.output.check
+      pages empty$ {
+      doi output
+      } 'skip$ if$
+      link.shut
+    }{
+      format.article.crossref output.nonnull
+      format.pages output
+    }
+  if$
+  format.issn.output
+  new.block.comma
+  new.sentence.comma
+  format.note output
+  format.eprint output
+  format.translation output
+  fin.entry
+}
+
+FUNCTION {book}
+{ output.bibitem
+  author empty$
+    {
+      format.editors "author and editor" output.check
+      editor format.key output
+    }{
+      format.authors output.nonnull
+%     crossref missing$ { editor.check.book } 'skip$ if$
+    }
+  if$
+  new.block.comma
+  link.open
+  format.btitle
+  "title" output.check
+  link.shut
+  format.edition output
+  author empty$
+    {
+    }
+    {
+      format.editor.in output
+      editor format.key output
+    }
+  if$
+  format.number.series output
+  crossref missing$
+    {
+      format.bvolume output
+      new.block.comma
+      format.publisher.address output
+    }{
+      new.block.comma
+      format.book.crossref output.nonnull
+      format.date.output.check
+    }
+  if$
+  format.isbn.output
+  format.chapter.pages
+  output
+  new.block.comma
+  new.sentence.comma
+  format.note output
+  format.eprint output
+  fin.entry
+}
+
+FUNCTION {booklet}
+{ output.bibitem
+  format.authors output
+  author format.key output
+  new.block.comma
+  link.open
+  format.title
+  "title" output.check
+  link.shut
+  new.block.comma
+  howpublished "howpublished" bibinfo.check output
+  address "address" bibinfo.check output
+  format.date.output
+  format.isbn.output
+  format.book.pages output
+  new.block.comma
+  new.sentence.comma
+  format.note output
+  format.eprint output
+  fin.entry
+}
+
+FUNCTION {footnote}
+{ output.bibitem
+  format.note output
+  fin.entry
+}
+
+FUNCTION {inbook}
+{ output.bibitem
+  author empty$
+    {
+       format.editors "editor" output.check
+       editor format.key output
+    }{
+       format.authors output.nonnull
+       author format.key output
+    }
+  if$
+  new.block.comma
+
+  format.title output
+  new.block.comma
+
+  crossref missing$
+    {
+      format.in.ed.booktitle.inbook
+      format.publisher.address output
+      format.chapter.pages
+      "chapter and pages"
+      output.check
+      new.block.comma
+      format.edition output
+      new.block.comma
+    }{
+      format.chapter.pages
+      "chapter and pages"
+      output.check
+      new.block.comma
+      format.book.crossref output.nonnull
+      format.date.output.check
+    }
+  if$
+  crossref missing$
+    { format.isbn.output }
+    'skip$
+  if$
+  new.block.comma
+  new.sentence.comma
+  format.note output
+  format.eprint output
+  fin.entry
+}
+
+FUNCTION {incollection}
+{ output.bibitem
+  format.authors "author" output.check
+  author format.key output
+  new.block.comma
+  article.title.produce
+  crossref missing$
+    {
+      format.in.ed.booktitle
+      format.publisher.address output
+      format.edition output
+      format.chapter.pages output
+      format.isbn.output
+    }{
+      format.incoll.inproc.crossref output.nonnull
+      format.chapter.pages output
+    }
+  if$
+  new.block.comma
+  new.sentence.comma
+  format.note output
+  format.eprint output
+  fin.entry
+}
+
+FUNCTION {inproceedings}
+{ output.bibitem
+  format.authors "author" output.check
+  author format.key output
+  new.block.comma
+  article.title.produce
+  crossref missing$
+    {
+      format.in.ed.booktitle
+      format.organization.publisher.address output
+      format.chapter.pages output
+      format.isbn.output
+      format.issn.output
+    }{
+      format.incoll.inproc.crossref output.nonnull
+      format.chapter.pages output
+    }
+  if$
+  new.block.comma
+  new.sentence.comma
+  format.note output
+  format.eprint output
+  fin.entry
+}
+
+FUNCTION {conference} { inproceedings }
+FUNCTION {manual}
+{ output.bibitem
+  format.authors output
+  author format.key output
+  new.block.comma
+  link.open
+  format.btitle
+  "title" output.check
+  link.shut
+      organization "organization" bibinfo.check output
+      address "address" bibinfo.check output
+  format.edition output
+  format.date.output
+  new.block.comma
+  new.sentence.comma
+  format.note output
+  format.eprint output
+  fin.entry
+}
+
+FUNCTION {mastersthesis}
+{ output.bibitem
+  format.authors "author" output.check
+  author format.key output
+  new.block.comma
+  format.btitle
+  output
+  new.block.comma
+  link.open
+  bbl.mthesis
+  format.thesis.type
+  output.nonnull
+  link.shut
+  format.school.address.output
+  format.date.output.check
+  new.block.comma
+  new.sentence.comma
+  format.note output
+  format.eprint output
+  fin.entry
+}
+
+FUNCTION {misc}
+{ output.bibitem
+  format.authors output
+  author format.key output
+  new.block.comma
+  link.open
+  format.title
+  output
+  link.shut
+  new.block.comma
+  howpublished "howpublished" bibinfo.check output
+  format.date.output
+  new.block.comma
+  new.sentence.comma
+  format.note output
+  format.eprint output
+  fin.entry
+}
+
+FUNCTION {phdthesis}
+{ output.bibitem
+  format.authors "author" output.check
+  author format.key output
+  new.block.comma
+  format.btitle
+  output
+  new.block.comma
+  link.open
+  bbl.phdthesis
+  format.thesis.type
+  output.nonnull
+  link.shut
+  format.school.address.output
+  format.date.output.check
+  new.block.comma
+  new.sentence.comma
+  format.note output
+  format.eprint output
+  fin.entry
+}
+
+FUNCTION {presentation}
+{ output.bibitem
+  format.authors output
+  author format.key output
+  new.block.comma
+  link.open
+  format.title
+  output
+  link.shut
+  new.block.comma
+  format.organization.address "organization and address" output.check
+  month "month" output.check
+  year "year" output.check
+  new.block.comma
+  new.sentence.comma
+  format.note output
+  new.sentence
+  type missing$ 'skip$
+    {"(" type capitalize * ")" * output}
+  if$
+  fin.entry
+}
+
+FUNCTION {proceedings}
+{ output.bibitem
+  format.editors output
+  editor format.key output
+  new.block.comma
+  link.open
+  format.btitle
+  "title" output.check
+  link.shut
+      bookaddress "address" bibinfo.check output
+  format.number.series output
+  format.bvolume output
+  format.organization.publisher.address output
+  format.isbn.output
+  format.issn.output
+  new.block.comma
+  new.sentence.comma
+  format.note output
+  format.eprint output
+  fin.entry
+}
+
+FUNCTION {techreport}
+{ output.bibitem
+  format.authors "author" output.check
+  author format.key output
+  new.block.comma
+  link.open
+  format.title
+  "title" output.check
+  link.shut
+  new.block.comma
+  format.tr.number
+  output.nonnull
+  institution "institution" bibinfo.warn
+  format.org.or.pub output
+  new.block.comma
+  new.sentence.comma
+  format.note output
+  format.eprint output
+  fin.entry
+}
+
+FUNCTION {unpublished}
+{ output.bibitem
+  format.authors "author" output.check
+  author format.key output
+  new.block.comma
+  link.open
+  format.title
+  "title" output.check
+  link.shut
+  format.date.output
+  new.block.comma
+  new.sentence.comma
+  format.note "note" output.check
+  format.eprint output
+  fin.entry
+}
+
+FUNCTION {default.type} { misc }
+
+READ
+
+EXECUTE {control.init}
+
+ITERATE {control.pass}
+
+EXECUTE {control.check}
+
+FUNCTION {sortify}
+{ purify$
+  "l" change.case$
+}
+
+INTEGERS { len }
+
+FUNCTION {chop.word}
+{ 's :=
+  'len :=
+  s #1 len substring$ =
+    { s len #1 + global.max$ substring$ }
+    's
+  if$
+}
+
+FUNCTION {cite.name.font.apply}
+{
+  word.space * bbl.etal
+  emphasize
+  *
+}
+
+FUNCTION {format.lab.names}
+{ 's :=
+  "" 't :=
+  #1 'nameptr :=
+  s num.names$ 'numnames :=
+  numnames 'namesleft :=
+    { namesleft #0 > }
+    { 
+      format.name.apply
+      't :=
+      nameptr #1 >
+        {
+          nameptr
+          #2
+          =
+          numnames
+          #3
+          > and
+            { 
+              "others" 't :=
+              #1 'namesleft := 
+            }
+            'skip$
+          if$
+          namesleft #1 >
+            { ", " * t * }
+            {
+              s nameptr "{ll}" format.name$ duplicate$ "others" =
+                { 't := }
+                { pop$ }
+              if$
+              t "others" =
+                {
+                  cite.name.font.apply
+                }{
+                  numnames #2 > { "," * } 'skip$ if$
+                  bbl.and
+                  space.word * t *
+                }
+              if$
+            }
+          if$
+        }
+        't
+      if$
+      nameptr #1 + 'nameptr :=
+      namesleft #1 - 'namesleft :=
+    }
+  while$
+}
+
+FUNCTION {author.key.label}
+{ author empty$
+    { key empty$
+        { cite$ #1 #3 substring$ }
+        'key
+      if$
+    }
+    { author format.lab.names }
+  if$
+}
+
+FUNCTION {author.editor.key.label}
+{ author empty$
+    { editor empty$
+        { key empty$
+            { cite$ #1 #3 substring$ }
+            'key
+          if$
+        }
+        { editor format.lab.names }
+      if$
+    }
+    { author format.lab.names }
+  if$
+}
+
+FUNCTION {editor.key.label}
+{ editor empty$
+    { key empty$
+        { cite$ #1 #3 substring$ }
+        'key
+      if$
+    }
+    { editor format.lab.names }
+  if$
+}
+
+FUNCTION {calc.short.authors}
+{ type$ "book" =
+  type$ "inbook" =
+  or
+    'author.editor.key.label
+    { type$ "proceedings" =
+        'editor.key.label
+        'author.key.label
+      if$
+    }
+  if$
+  'short.list :=
+}
+
+FUNCTION {calc.label}
+{
+  calc.short.authors
+  short.list
+  year duplicate$ empty$
+    {
+      pop$ ""
+    }{
+      control.year #0 > { purify$ #-1 #4 substring$ } 'skip$ if$
+    }
+  if$
+  "(" swap$ *
+  * 'label :=
+}
+
+FUNCTION {sort.format.names}
+{ 's :=
+  #1 'nameptr :=
+  ""
+  s num.names$ 'numnames :=
+  numnames 'namesleft :=
+    { namesleft #0 > }
+    { s nameptr
+      "{ll{ }}"
+      control.author.initials {
+        "{  f{ }}"  *
+      }{
+        "{  ff{ }}" *
+      } if$
+      "{  jj{ }}" *
+      format.name$ 't :=
+      nameptr #1 >
+        {
+          "   "  *
+          namesleft #1 = t "others" = and
+            { "zzzzz" * }
+            {
+              t sortify *
+            }
+          if$
+        }
+        { t sortify * }
+      if$
+      nameptr #1 + 'nameptr :=
+      namesleft #1 - 'namesleft :=
+    }
+  while$
+}
+
+FUNCTION {sort.format.title}
+{ 't :=
+  "A " #2
+    "An " #3
+      "The " #4 t chop.word
+    chop.word
+  chop.word
+  sortify
+  #1 global.max$ substring$
+}
+
+FUNCTION {author.sort}
+{ author empty$
+    { key empty$
+        { "to sort, need author or key in " cite$ * warning$
+          ""
+        }
+        { key sortify }
+      if$
+    }
+    { author sort.format.names }
+  if$
+}
+
+FUNCTION {author.editor.sort}
+{ author empty$
+    { editor empty$
+        { key empty$
+            { "to sort, need author, editor, or key in " cite$ * warning$
+              ""
+            }
+            { key sortify }
+          if$
+        }
+        { editor sort.format.names }
+      if$
+    }
+    { author sort.format.names }
+  if$
+}
+
+FUNCTION {year.sort.key}
+{
+  year
+}
+
+FUNCTION {editor.sort}
+{ editor empty$
+    { key empty$
+        { "to sort, need editor or key in " cite$ * warning$
+          ""
+        }
+        { key sortify }
+      if$
+    }
+    { editor sort.format.names }
+  if$
+}
+
+INTEGERS { seq.num }
+
+FUNCTION {init.seq}
+{ #0 'seq.num :=}
+
+EXECUTE {init.seq}
+
+FUNCTION {int.to.fix}
+{ "000000000" swap$ int.to.str$ *
+  #-1 #10 substring$
+}
+
+FUNCTION {label.presort}
+{
+  calc.label
+  label sortify
+  "    "
+  *
+  type$ "book" =
+  type$ "inbook" =
+  or
+    'author.editor.sort
+    { type$ "proceedings" =
+        'editor.sort
+        'author.sort
+      if$
+    }
+  if$
+  #1 entry.max$ substring$
+  'sort.label :=
+  sort.label
+  *
+  "    "
+  *
+  title field.or.null sort.format.title
+  *
+  #1 entry.max$ substring$
+  'sort.key$ :=
+}
+
+FUNCTION {presort.pass}
+{ type$ "control" = 'control.presort 'label.presort if$
+}
+
+ITERATE {presort.pass}
+
+SORT
+
+STRINGS { last.label next.extra }
+
+INTEGERS { last.extra.num number.label }
+
+FUNCTION {initialize.extra.label.stuff}
+{ #0 int.to.chr$ 'last.label :=
+  "" 'next.extra :=
+  #0 'last.extra.num :=
+  #0 'number.label :=
+}
+
+FUNCTION {label.forward}
+{
+  last.label label =
+    { last.extra.num #1 + 'last.extra.num :=
+      last.extra.num int.to.chr$ 'extra.label :=
+    }
+    { "a" chr.to.int$ 'last.extra.num :=
+      "" 'extra.label :=
+      label 'last.label :=
+    }
+  if$
+  number.label #1 + 'number.label :=
+}
+
+FUNCTION {label.reverse}
+{ next.extra "b" =
+    { "a" 'extra.label := }
+    'skip$
+  if$
+  extra.label 'next.extra :=
+  extra.label
+  duplicate$ empty$
+    'skip$
+    { "{\natexlab{" swap$ * "}}" * }
+  if$
+  'extra.label :=
+  label extra.label * 'label :=
+}
+
+EXECUTE {initialize.extra.label.stuff}
+
+FUNCTION {forward.pass}
+{ type$ "control" = 'control.forward 'label.forward if$
+}
+
+ITERATE {forward.pass}
+
+FUNCTION {reverse.pass}
+{ type$ "control" = 'control.reverse 'label.reverse if$
+}
+
+REVERSE {reverse.pass}
+
+FUNCTION {sortkey.sort}
+{ sort.label
+  "    "
+  *
+  year.sort.key
+  field.or.null sortify
+  *
+  "    "
+  *
+  title field.or.null sort.format.title
+  *
+  #1 entry.max$ substring$
+  'sort.key$ :=
+}
+
+FUNCTION {bib.sort.pass}
+{ type$ "control" = 'control.sort 'sortkey.sort if$
+}
+
+ITERATE {bib.sort.pass}
+
+SORT
+
+FUNCTION {init.bib.eprint}
+{
+    "\texttt {"
+  pop$
+  "\providecommand \url  [0]{\begingroup\@sanitize at url \@url }%" write$ newline$
+  "\providecommand \@url [1]{\endgroup\@href {#1}{" "}}%" bbl.url.prefix swap$ * * write$ newline$
+  "\providecommand " " [0]{URL }%" bbl.url.prefix swap$ * * write$ newline$
+  eprint.command "\providecommand " swap$ * "[0]{\href }%" * write$ newline$
+}
+
+FUNCTION {init.bib.doi}
+{
+  "\providecommand \doibase [0]{" doi.base "}%" * * write$ newline$
+}
+
+FUNCTION {init.bib.hypertex}
+{
+  "\providecommand " noop.command "[0]{\@secondoftwo}%" * * write$ newline$
+  "\providecommand " href.command "[0]{\begingroup \@sanitize at url \@href}%" * * write$ newline$
+  "\providecommand \@href[1]{\@@startlink{#1}\@@href}%" write$ newline$
+  "\providecommand \@@href[1]{\endgroup#1\@@endlink}%" write$ newline$
+  "\providecommand \@sanitize at url [0]{\catcode `\\12\catcode `\$12\catcode `\&12\catcode `\#12\catcode `\^12\catcode `\_12\catcode `\%12\relax}%" write$ newline$
+  "\providecommand \@@startlink[1]{}%" write$ newline$
+  "\providecommand \@@endlink[0]{}%"   write$ newline$
+}
+
+FUNCTION {init.bib.namefont}
+{
+  "\providecommand \bibnamefont  [1]{#1}%"  write$ newline$
+  "\providecommand \bibfnamefont [1]{#1}%" write$ newline$
+  "\providecommand \citenamefont [1]{#1}%"  write$ newline$
+}
+
+FUNCTION {init.bib.quote}
+{
+  "\providecommand " bbl.enquote * " [1]{" *
+  "``" "''"
+  "#1" swap$ "}%" * * * * write$ newline$
+}
+
+FUNCTION {init.bib.ay}
+{
+  "\providecommand \natexlab [1]{#1}%"
+  write$ newline$
+}
+
+FUNCTION {init.bib.bibinfo}
+{
+  bibinfo.command  "\providecommand " swap$ * " [0]{\@secondoftwo}%" * write$ newline$
+  bibfield.command "\providecommand " swap$ * " [0]{\@secondoftwo}%" * write$ newline$
+}
+
+FUNCTION {init.bib.lang}
+{
+  "\providecommand \selectlanguage [0]{\@gobble}%" write$ newline$
+}
+
+FUNCTION {init.bib.endbibitem}
+{
+  "\providecommand " bbl.open * "[0]{}%" *           write$ newline$
+  "\providecommand \bibitemStop [0]{}%"               write$ newline$
+  "\providecommand \bibitemNoStop [0]{.\EOS\space}%"  write$ newline$
+  "\providecommand \EOS [0]{\spacefactor3000\relax}%"   write$ newline$
+}
+
+FUNCTION {init.bib.translation}
+{
+  "\providecommand \translation [1]{[#1]}%" write$ newline$
+}
+
+FUNCTION {warn.bib}
+{
+}
+
+FUNCTION {init.bib}
+{
+  warn.bib
+  "\makeatletter" write$ newline$
+  "\providecommand \@ifxundefined [1]{%"   write$ newline$
+  " \@ifx{#1\undefined}"                   write$ newline$
+  "}%"                                     write$ newline$
+  "\providecommand \@ifnum [1]{%"          write$ newline$
+  " \ifnum #1\expandafter \@firstoftwo"    write$ newline$
+  " \else \expandafter \@secondoftwo"      write$ newline$
+  " \fi"                                   write$ newline$
+  "}%"                                     write$ newline$
+  "\providecommand \@ifx [1]{%"            write$ newline$
+  " \ifx #1\expandafter \@firstoftwo"      write$ newline$
+  " \else \expandafter \@secondoftwo"      write$ newline$
+  " \fi"                                   write$ newline$
+  "}%"                                     write$ newline$
+  init.bib.ay
+  init.bib.quote
+  init.bib.namefont
+  init.bib.hypertex
+  init.bib.eprint
+  init.bib.doi
+  init.bib.lang
+  init.bib.bibinfo
+  init.bib.translation
+  init.bib.endbibitem
+  "\providecommand " bbl.shut * " [1]{\csname bibitem#1\endcsname}%" * write$ newline$
+  "\let\auto at bib@innerbib\@empty"          write$ newline$
+  "%</preamble>" write$
+}
+
+FUNCTION {begin.bib}
+{
+  id.bst diagn.cmntlog
+  control.bib
+  preamble$ empty$
+    'skip$
+    { preamble$ write$ newline$ }
+  if$
+  "\begin{thebibliography}{"
+  number.label int.to.str$
+  * "}%" *
+  write$ newline$
+  init.bib
+}
+
+EXECUTE {begin.bib}
+
+EXECUTE {init.state.consts}
+
+ITERATE {call.type$}
+
+FUNCTION {end.bib}
+{ newline$
+  "\end{thebibliography}%"
+  write$ newline$
+}
+
+EXECUTE {end.bib}
+
+%% End of customized bst file
+%%
+%% End of file `aipauth4-1.bst'.


Property changes on: trunk/Master/texmf-dist/bibtex/bst/revtex/aipauth4-1.bst
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Master/texmf-dist/bibtex/bst/revtex/aipnum4-1.bst
===================================================================
--- trunk/Master/texmf-dist/bibtex/bst/revtex/aipnum4-1.bst	                        (rev 0)
+++ trunk/Master/texmf-dist/bibtex/bst/revtex/aipnum4-1.bst	2019-01-18 22:40:49 UTC (rev 49751)
@@ -0,0 +1,3477 @@
+%%
+%% This is file `aipnum4-1.bst',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% merlin.mbs  (with options: `head,ay,nat,lang,pres,pres-bf,seq-no,vonx,nm-init,ed-au,mcite,mct-1,mct-x3,nmft,nmft-def,fnm-def,nmfted,nmand-rm,lab,lab-def,and-rm,blkyear,yr-par,date-nil-x,tit-qq,inproceedings-chapter,jtit-x,inproceedings-chapter,article-booktitle,article-series,jttl-rm,journal-address,book-bt,thesis-title-o,techreport-institution-par,vol-bf,vnum-x,volp-com,jpg-1,book-editor-booktitle,inbook-editor-booktitle,bookaddress,num-xser,number-cap,chapter-cap,series-number,numser-booktitle,ser-vol,ser-rm,volume-cap,ser-ed,jnm-x,pg-bk,book-chapter-pages,pub-date,ay-empty-pub-parens-x,pre-pub,pre-edn,doi-link,doi,edby,blk-com,fin-endbibitem,pp,ed,abr,ednx,ord,jabr,etal-it,revdata,eprint,url,url-blk,translation,SLACcitation,numpages-x,url,url-prefix-x,bibinfo,bibfield,nfss,,{}')
+%% physjour.mbs  (with options: `ay,nat,lang,pres,pres-bf,seq-no,vonx,nm-init,ed-au,mcite,mct-1,mct-x3,nmft,nmft-def,fnm-def,nmfted,nmand-rm,lab,lab-def,and-rm,blkyear,yr-par,date-nil-x,tit-qq,inproceedings-chapter,jtit-x,inproceedings-chapter,article-booktitle,article-series,jttl-rm,journal-address,book-bt,thesis-title-o,techreport-institution-par,vol-bf,vnum-x,volp-com,jpg-1,book-editor-booktitle,inbook-editor-booktitle,bookaddress,num-xser,number-cap,chapter-cap,series-number,numser-booktitle,ser-vol,ser-rm,volume-cap,ser-ed,jnm-x,pg-bk,book-chapter-pages,pub-date,ay-empty-pub-parens-x,pre-pub,pre-edn,doi-link,doi,edby,blk-com,fin-endbibitem,pp,ed,abr,ednx,ord,jabr,etal-it,revdata,eprint,url,url-blk,translation,SLACcitation,numpages-x,url,url-prefix-x,bibinfo,bibfield,nfss,,{}')
+%% geojour.mbs  (with options: `ay,nat,lang,pres,pres-bf,seq-no,vonx,nm-init,ed-au,mcite,mct-1,mct-x3,nmft,nmft-def,fnm-def,nmfted,nmand-rm,lab,lab-def,and-rm,blkyear,yr-par,date-nil-x,tit-qq,inproceedings-chapter,jtit-x,inproceedings-chapter,article-booktitle,article-series,jttl-rm,journal-address,book-bt,thesis-title-o,techreport-institution-par,vol-bf,vnum-x,volp-com,jpg-1,book-editor-booktitle,inbook-editor-booktitle,bookaddress,num-xser,number-cap,chapter-cap,series-number,numser-booktitle,ser-vol,ser-rm,volume-cap,ser-ed,jnm-x,pg-bk,book-chapter-pages,pub-date,ay-empty-pub-parens-x,pre-pub,pre-edn,doi-link,doi,edby,blk-com,fin-endbibitem,pp,ed,abr,ednx,ord,jabr,etal-it,revdata,eprint,url,url-blk,translation,SLACcitation,numpages-x,url,url-prefix-x,bibinfo,bibfield,nfss,,{}')
+%% photjour.mbs  (with options: `ay,nat,lang,pres,pres-bf,seq-no,vonx,nm-init,ed-au,mcite,mct-1,mct-x3,nmft,nmft-def,fnm-def,nmfted,nmand-rm,lab,lab-def,and-rm,blkyear,yr-par,date-nil-x,tit-qq,inproceedings-chapter,jtit-x,inproceedings-chapter,article-booktitle,article-series,jttl-rm,journal-address,book-bt,thesis-title-o,techreport-institution-par,vol-bf,vnum-x,volp-com,jpg-1,book-editor-booktitle,inbook-editor-booktitle,bookaddress,num-xser,number-cap,chapter-cap,series-number,numser-booktitle,ser-vol,ser-rm,volume-cap,ser-ed,jnm-x,pg-bk,book-chapter-pages,pub-date,ay-empty-pub-parens-x,pre-pub,pre-edn,doi-link,doi,edby,blk-com,fin-endbibitem,pp,ed,abr,ednx,ord,jabr,etal-it,revdata,eprint,url,url-blk,translation,SLACcitation,numpages-x,url,url-prefix-x,bibinfo,bibfield,nfss,,{}')
+%% merlin.mbs  (with options: `tail,ay,nat,lang,pres,pres-bf,seq-no,vonx,nm-init,ed-au,mcite,mct-1,mct-x3,nmft,nmft-def,fnm-def,nmfted,nmand-rm,lab,lab-def,and-rm,blkyear,yr-par,date-nil-x,tit-qq,inproceedings-chapter,jtit-x,inproceedings-chapter,article-booktitle,article-series,jttl-rm,journal-address,book-bt,thesis-title-o,techreport-institution-par,vol-bf,vnum-x,volp-com,jpg-1,book-editor-booktitle,inbook-editor-booktitle,bookaddress,num-xser,number-cap,chapter-cap,series-number,numser-booktitle,ser-vol,ser-rm,volume-cap,ser-ed,jnm-x,pg-bk,book-chapter-pages,pub-date,ay-empty-pub-parens-x,pre-pub,pre-edn,doi-link,doi,edby,blk-com,fin-endbibitem,pp,ed,abr,ednx,ord,jabr,etal-it,revdata,eprint,url,url-blk,translation,SLACcitation,numpages-x,url,url-prefix-x,bibinfo,bibfield,nfss,,{}')
+%% ----------------------------------------
+%% *** REVTeX-compatible aipnum4-1.bst 2010-07-25 ***
+%% 
+%% Copyright 1994-2007 Patrick W Daly
+ % ===============================================================
+ % IMPORTANT NOTICE:
+ % This bibliographic style (bst) file has been generated from one or
+ % more master bibliographic style (mbs) files, listed above.
+ %
+ % This generated file can be redistributed and/or modified under the terms
+ % of the LaTeX Project Public License Distributed from CTAN
+ % archives in directory macros/latex/base/lppl.txt; either
+ % version 1 of the License, or any later version.
+ % ===============================================================
+ % Name and version information of the main mbs file:
+ %   For use with BibTeX version 0.99a or later
+ %-------------------------------------------------------------------
+ % This bibliography style file is intended for texts in ENGLISH
+ % This is an author-year citation style bibliography. As such, it is
+ % non-standard LaTeX, and requires a special package file to function properly.
+ % Such a package is    natbib.sty   by Patrick W. Daly
+ % The form of the \bibitem entries is
+ %   \bibitem[Jones et al.(1990)]{key}...
+ %   \bibitem[Jones et al.(1990)Jones, Baker, and Smith]{key}...
+ % The essential feature is that the label (the part in brackets) consists
+ % of the author names, as they should appear in the citation, with the year
+ % in parentheses following. There must be no space before the opening
+ % parenthesis!
+ % With natbib v5.3, a full list of authors may also follow the year.
+ % In natbib.sty, it is possible to define the type of enclosures that is
+ % really wanted (brackets or parentheses), but in either case, there must
+ % be parentheses in the label.
+ % The \cite command functions as follows:
+ %   \citet{key} ==>>                Jones et al. (1990)
+ %   \citet*{key} ==>>               Jones, Baker, and Smith (1990)
+ %   \citep{key} ==>>                (Jones et al., 1990)
+ %   \citep*{key} ==>>               (Jones, Baker, and Smith, 1990)
+ %   \citep[chap. 2]{key} ==>>       (Jones et al., 1990, chap. 2)
+ %   \citep[e.g.][]{key} ==>>        (e.g. Jones et al., 1990)
+ %   \citep[e.g.][p. 32]{key} ==>>   (e.g. Jones et al., p. 32)
+ %   \citeauthor{key} ==>>           Jones et al.
+ %   \citeauthor*{key} ==>>          Jones, Baker, and Smith
+ %   \citeyear{key} ==>>             1990
+ %---------------------------------------------------------------------
+
+FUNCTION {id.bst} {"merlin.mbs aipnum4-1.bst 2010-07-25 4.21a (PWD, AO, DPC) hacked"}
+ENTRY
+{
+    address
+    archive
+    archivePrefix
+    author
+    bookaddress
+    booktitle
+    chapter
+    collaboration
+    doi
+    edition
+    editor
+    eid
+    eprint
+    howpublished
+    institution
+    isbn
+    issn
+    journal
+    key
+    language
+    month
+    note
+    number
+    organization
+    pages
+    primaryClass
+    publisher
+    school
+    SLACcitation
+    series
+    title
+    translation
+    type
+    url
+    volume
+    year
+}{
+}{
+    label
+    extra.label sort.label
+    short.list
+}
+
+INTEGERS
+{
+  output.state before.all
+  after.word after.punctuation
+  after.sentence after.block
+}
+
+INTEGERS
+{
+  punctuation.state punctuation.no punctuation.space punctuation.yes
+}
+
+STRINGS { bibfield output.bibfield }
+
+FUNCTION {not}
+{   { #0 }
+    { #1 }
+  if$
+}
+
+FUNCTION {and}
+{   'skip$
+    { pop$ #0 }
+  if$
+}
+
+FUNCTION {or}
+{   { pop$ #1 }
+    'skip$
+  if$
+}
+
+FUNCTION {non.stop}
+{ duplicate$
+   "}" * add.period$
+   #-1 #1 substring$ "." =
+}
+
+INTEGERS { arith.mulitplier arith.multiplicand }
+
+FUNCTION {multiply}
+{
+  'arith.multiplicand :=
+  'arith.mulitplier :=
+  #0
+    { arith.mulitplier #0 > }
+    { arith.multiplicand +
+      arith.mulitplier #1 - 'arith.mulitplier :=
+    }
+  while$
+}
+
+FUNCTION {chr.to.hex}
+{
+  chr.to.int$
+  duplicate$ "0" chr.to.int$ -
+  duplicate$ duplicate$ #0 < swap$ #9 > or not
+    { swap$ pop$ }
+    { pop$
+      duplicate$ "A" chr.to.int$ -
+      duplicate$ duplicate$ #0 < swap$ #5 > or not
+        { swap$ pop$ #10 + }
+        { pop$
+          duplicate$ "a" chr.to.int$ -
+          duplicate$ duplicate$ #0 < swap$ #5 > or not
+            { swap$ pop$ #10 + }
+            { pop$
+              pop$ #-1
+            }
+          if$
+        }
+      if$
+    }
+  if$
+}
+
+INTEGERS { arith.accumulator }
+
+FUNCTION {str.to.hex}
+{ #0 'arith.accumulator :=
+    { duplicate$ empty$ not }
+    { duplicate$ #1 #1 substring$ chr.to.hex
+      duplicate$ #0 <
+        { pop$ pop$ ""
+        }
+        { arith.accumulator #16 multiply + 'arith.accumulator :=
+          #2 global.max$ substring$
+        }
+      if$
+    }
+  while$
+  pop$ arith.accumulator
+}
+
+FUNCTION {diagn.cmntlog}
+{
+  duplicate$ top$ "%" swap$ * write$ newline$
+}
+
+INTEGERS { control.key control.author control.editor control.title control.pages control.eprint control.year }
+
+INTEGERS { control.author.jnrlst control.author.dotless control.author.nospace control.author.initials control.author.nocomma control.author.first control.author.reversed }
+
+FUNCTION { control.init }
+{
+  #0
+  'control.key             :=
+  #0
+  #8 +
+  'control.author :=
+  #0
+  'control.author.jnrlst   :=
+  #0
+  'control.author.dotless  :=
+  #0
+  'control.author.nospace  :=
+  #1
+  'control.author.initials :=
+  #0
+  'control.author.nocomma  :=
+  #0
+  'control.author.first    :=
+  #0
+  'control.author.reversed :=
+  #1
+  'control.editor :=
+  #-1
+  'control.title  :=
+  #0
+  'control.pages  :=
+  #0
+  'control.eprint :=
+  #1
+  'control.year   :=
+}
+
+FUNCTION {warning.dependency}
+{
+  " (dependency: " * swap$ * ") set " * swap$ int.to.str$ * warning$
+}
+
+FUNCTION {control.check}
+{
+  control.editor
+    {
+      "editor formatted same as author"
+      control.author.reversed {
+        duplicate$ #0 swap$ "reversed" warning.dependency
+        #0 'control.author.reversed :=
+      } 'skip$ if$
+      control.author.first {
+        duplicate$ #0 swap$ "first" warning.dependency
+        #0 'control.author.first :=
+      } 'skip$ if$
+      control.author.nocomma {
+        duplicate$ #0 swap$ "nocomma" warning.dependency
+        #0 'control.author.nocomma :=
+      } 'skip$ if$
+      pop$
+    } 'skip$ if$
+  control.author.reversed 'skip$
+    {
+      "not reversed"
+      control.author.nospace {
+        duplicate$ #0 swap$ "nospace" warning.dependency
+        #0 'control.author.nospace :=
+      } 'skip$ if$
+      control.author.jnrlst 'skip$ {
+        duplicate$ #1 swap$ "jnrlst" warning.dependency
+        #1 'control.author.jnrlst :=
+      } if$
+      control.author.initials {
+        duplicate$ ", initials" *
+        control.author.dotless {
+          duplicate$ #0 swap$ "dotless" warning.dependency
+          #0 'control.author.dotless :=
+        } 'skip$ if$
+        pop$
+      } 'skip$ if$
+      pop$
+    }
+  if$
+  control.author.initials 'skip$ {
+    "not initials"
+    control.author.nocomma {
+      duplicate$ #0 swap$ "nocomma" warning.dependency
+      #0 'control.author.nocomma :=
+    } 'skip$ if$
+    control.author.nospace {
+      duplicate$ #0 swap$ "nospace" warning.dependency
+      #0 'control.author.nospace :=
+    } 'skip$ if$
+    control.author.dotless 'skip$ {
+      duplicate$ #1 swap$ "dotless" warning.dependency
+      #1 'control.author.dotless :=
+    } if$
+    pop$
+  } if$
+}
+
+FUNCTION {control.parse}
+{
+  duplicate$ duplicate$ missing$
+    {
+      pop$ pop$ pop$
+    }
+    { empty$
+        {
+          pop$ #-1
+        }{
+          str.to.hex
+        }
+      if$
+      swap$ :=
+    }
+  if$
+}
+
+FUNCTION {control.dump}
+{
+  duplicate$ missing$ { pop$ "N/A" } 'skip$ if$
+  "{" swap$ * "}, " *
+  *
+}
+
+INTEGERS { decode.threshold }
+
+FUNCTION {control.decode}
+{
+  - duplicate$
+  #0 <
+    {
+      skip$ pop$ swap$ #0
+    }
+    {
+      swap$ pop$ swap$ #1
+    }
+  if$
+  swap$ :=
+}
+
+FUNCTION {control.author.decode}
+{
+  control.author
+  duplicate$ duplicate$ #0 < swap$ #128 < not or
+    {
+      int.to.str$ "(" swap$ * ")" *
+      "Control cannot interpret author " swap$ *
+      warning$
+    }{
+      'control.author.jnrlst   swap$ duplicate$ #64 control.decode
+      'control.author.dotless  swap$ duplicate$ #32 control.decode
+      'control.author.nospace  swap$ duplicate$ #16 control.decode
+      'control.author.initials swap$ duplicate$  #8 control.decode
+      'control.author.nocomma  swap$ duplicate$  #4 control.decode
+      'control.author.first    swap$ duplicate$  #2 control.decode
+      'control.author.reversed swap$ duplicate$  #1 control.decode
+      duplicate$ #0 =
+        'skip$
+        {
+          "Control: residue of author"
+          "(" swap$ * ")" * *
+          warning$
+        }
+      if$
+      pop$
+    }
+  if$
+}
+
+FUNCTION {control.setup}
+{
+  type$ cite$ "{" swap$ * "}, " * *
+  "control.key"    key    control.dump *
+  "control.author" author control.dump *
+  "control.editor" editor control.dump *
+  "control.title"  title  control.dump *
+  "control.pages"  pages  control.dump *
+  "control.year"   year   control.dump *
+  "control.eprint" eprint control.dump *
+  top$
+  'control.key    key    control.parse
+  'control.author author control.parse
+  'control.editor editor control.parse
+  'control.title  title  control.parse
+  'control.pages  pages  control.parse
+  'control.year   year   control.parse
+  'control.eprint eprint control.parse
+  control.author.decode
+}
+
+FUNCTION {control.pass}
+{ type$ "control" = 'control.setup 'skip$ if$
+}
+
+FUNCTION {control.presort}
+{
+}
+
+FUNCTION {control.forward}
+{
+}
+
+FUNCTION {control.reverse}
+{
+}
+
+FUNCTION {control.sort}
+{
+}
+
+FUNCTION {control.longest.label}
+{
+}
+
+FUNCTION {control.key.bib}
+{
+  "Control: key "
+  control.key
+  duplicate$ "(" swap$ int.to.str$ * ") " * swap$
+  pop$ *
+  diagn.cmntlog
+}
+
+FUNCTION {control.author.bib}
+{
+  "Control: author "
+  control.author "(" swap$ int.to.str$ * ")" * *
+  control.author.reversed { " reversed" * }{} if$
+  control.author.first    { " first"    * }{} if$
+  control.author.nocomma  { " nocomma"  * }{} if$
+  control.author.initials { " initials" * }{} if$
+  control.author.nospace  { " nospace"  * }{} if$
+  control.author.dotless  { " dotless"  * }{} if$
+  control.author.jnrlst   { " jnrlst"   * }{} if$
+  diagn.cmntlog
+}
+
+FUNCTION {control.editor.bib}
+{
+  "Control: editor formatted "
+  control.editor
+  duplicate$ "(" swap$ int.to.str$ * ") " * swap$
+  duplicate$ #0 <  {
+    pop$
+    "disabled!"
+  } {
+    #0 > {
+      "identically to author"
+    } {
+      "differently from author"
+    } if$
+  } if$ * *
+  diagn.cmntlog
+}
+
+FUNCTION {control.title.bib}
+{
+  "Control: production of article title "
+  control.title
+  duplicate$ "(" swap$ int.to.str$ * ") " * swap$
+  duplicate$ #0 <  {
+    pop$
+    "disabled"
+  } {
+    #0 > {
+      "required"
+    } {
+      "allowed"
+    } if$
+  } if$ * *
+  diagn.cmntlog
+}
+
+FUNCTION {control.pages.bib}
+{
+  "Control: page "
+  control.pages
+  duplicate$ "(" swap$ int.to.str$ * ") " * swap$
+  duplicate$ #0 <  {
+    pop$
+    "none"
+  } {
+    #0 > {
+      "range"
+    } {
+      "single"
+    } if$
+  } if$ * *
+  diagn.cmntlog
+}
+
+FUNCTION {control.year.bib}
+{
+  "Control: year "
+  control.year
+  duplicate$ "(" swap$ int.to.str$ * ") " * swap$
+  duplicate$ #0 <  {
+    pop$
+    "disabled!"
+  } {
+    #0 > {
+      "truncated"
+    } {
+      "verbatim"
+    } if$
+  } if$ * *
+  diagn.cmntlog
+}
+
+FUNCTION {control.eprint.bib}
+{
+  "Control: production of eprint "
+  control.eprint
+  duplicate$ "(" swap$ int.to.str$ * ") " * swap$
+  #0 < { "disabled" } { "enabled" } if$ * *
+  diagn.cmntlog
+}
+
+FUNCTION {control.bib}
+{
+  control.key.bib
+  control.author.bib
+  control.editor.bib
+  control.title.bib
+  control.pages.bib
+  control.year.bib
+  control.eprint.bib
+}
+
+FUNCTION {init.state.consts}
+{
+  #0 'before.all        :=
+  #1 'after.word        :=
+  #2 'after.punctuation :=
+  #3 'after.sentence    :=
+  #4 'after.block       :=
+  #0 'punctuation.no    :=
+  #1 'punctuation.space :=
+  #2 'punctuation.yes   :=
+  "" 'bibfield          :=
+  "" 'output.bibfield   :=
+}
+
+STRINGS { s t}
+FUNCTION {block.punctuation}
+{ ""
+  "," *
+}
+
+FUNCTION {word.space}
+{
+  "\ "
+}
+
+FUNCTION {show.stackstring.one}{
+  "(" *
+  output.state int.to.str$ *
+    "," * punctuation.state int.to.str$ *
+  ")" * top$
+  duplicate$ "1(" swap$ * ")" * top$
+}
+
+FUNCTION {show.stackstring.two}{
+  "(" *
+  output.state int.to.str$ *
+    "," * punctuation.state int.to.str$ *
+  ")" * top$
+  swap$
+  duplicate$ "1(" swap$ * ")" * top$
+  swap$
+  duplicate$ "2(" swap$ * ")" * top$
+}
+
+FUNCTION {bibfield.command}{ "\bibfield "}
+
+FUNCTION {output.nonnull}
+{
+  swap$
+  output.state after.word =
+    {
+      block.punctuation *
+      word.space *
+    }
+    {
+      output.state after.punctuation =
+        {
+          word.space *
+        }
+        {
+          output.state after.block = output.state after.sentence = or
+            {
+              add.period$
+              "\EOS\ " *
+            }{
+            }
+          if$
+        }
+      if$
+    }
+  if$
+  output.bibfield duplicate$ empty$ 'pop$
+    {
+      bibfield.command
+      " {" * swap$ * "} {" * swap$ * "}" *
+    }
+  if$
+  write$
+  bibfield 'output.bibfield := "" 'bibfield :=
+  output.state after.block =
+    {
+      newline$
+      "\newblock " write$
+    }
+    'skip$
+  if$
+  punctuation.state duplicate$
+  punctuation.yes 'punctuation.state :=
+  punctuation.no =
+    { pop$ before.all }
+    { punctuation.yes = { after.word }{ after.punctuation } if$ }
+  if$
+  'output.state :=
+}
+
+FUNCTION {output}
+{ duplicate$ empty$
+    {
+      pop$
+  "" 'bibfield :=
+    }
+    'output.nonnull
+  if$
+}
+
+FUNCTION {output.nopunct}
+{
+  punctuation.no 'punctuation.state :=
+  output.nonnull
+}
+
+FUNCTION {output.check}
+{ swap$
+  duplicate$ empty$
+    { pop$ "empty " swap$ * " in " * cite$ * warning$ }
+    { swap$ pop$ output.nonnull }
+  if$
+}
+
+FUNCTION {bbl.open} { "\BibitemOpen " }
+
+FUNCTION {bbl.shut} { "\BibitemShut " }
+
+FUNCTION {bibitem.shut.stop} { bbl.shut "{Stop}%" * }
+
+FUNCTION {bibitem.shut.nostop} { bbl.shut "{NoStop}%" * }
+
+FUNCTION {bibitem.shut}
+{
+  non.stop
+    {
+  bibitem.shut.nostop *
+    }{
+  bibitem.shut.stop *
+    }
+  if$
+}
+
+FUNCTION {html.itag} {
+  "p"
+}
+
+FUNCTION {html.ltag} {
+  ""
+}
+
+FUNCTION {output.SLACcitation}
+{ SLACcitation empty$
+    'skip$
+    {
+      newline$
+      SLACcitation write$
+    }
+  if$
+}
+
+FUNCTION {fin.entry}
+{
+  bibitem.shut
+  write$
+    output.SLACcitation
+}
+
+FUNCTION {new.block}
+{ output.state before.all =
+    'skip$
+    { after.block 'output.state := }
+  if$
+}
+
+FUNCTION {new.block.comma}
+{
+}
+
+FUNCTION {new.sentence}
+{ output.state after.block = output.state before.all = or
+    'skip$
+    { after.sentence 'output.state := }
+  if$
+}
+
+FUNCTION {new.sentence.comma}
+{
+}
+
+FUNCTION {sentence.or.colon}
+{
+  new.sentence
+}
+
+FUNCTION {add.blank}
+{
+  word.space *
+  before.all 'output.state :=
+}
+
+FUNCTION {no.blank.or.punct}
+{
+   "\hspace {0pt}" *
+   before.all 'output.state :=
+}
+
+FUNCTION {date.block}
+{
+  new.block.comma
+  skip$
+}
+
+STRINGS {z}
+FUNCTION {remove.dots}
+{
+  control.author.dotless {
+    'z :=
+    ""
+    { z empty$ not }
+    { z #1 #1 substring$
+      z #2 global.max$ substring$ 'z :=
+      duplicate$ "." = 'pop$
+        { * }
+      if$
+    }
+    while$
+  } 'skip$ if$
+}
+
+FUNCTION {new.block.checkb}
+{ empty$
+  swap$ empty$
+  and
+    'skip$
+    'new.block
+  if$
+}
+
+FUNCTION {field.or.null}
+{ duplicate$ empty$
+    { pop$ "" }
+    'skip$
+  if$
+}
+
+FUNCTION {emphasize}
+{
+  duplicate$ empty$
+    { pop$ "" }
+    {
+      "\emph {" swap$ * "}" *
+    }
+  if$
+}
+
+FUNCTION {bolden}
+{ duplicate$ empty$
+    { pop$ "" }
+    { "\textbf {" swap$ * "}" * }
+  if$
+}
+
+FUNCTION {bib.name.font}
+{
+  duplicate$ empty$
+    { pop$ "" }
+    {
+    "\bibnamefont {" swap$ * "}" *
+    }
+  if$
+}
+
+FUNCTION {bib.fname.font}
+{
+  duplicate$ empty$
+    { pop$ "" }
+    {
+    "\bibfnamefont {" swap$ * "}" *
+    }
+  if$
+}
+
+FUNCTION {cite.name.font}
+{
+  duplicate$ empty$
+    { pop$ "" }
+    {
+    "\citenamefont {" swap$ * "}" *
+    }
+  if$
+}
+
+FUNCTION {tie.or.space.prefix}
+{ duplicate$ text.length$ #3 <
+    { "~" }
+    { word.space }
+  if$
+  swap$
+}
+
+FUNCTION {capitalize}
+{
+  "u" change.case$ "t" change.case$
+}
+
+FUNCTION {space.word}
+{ word.space swap$ * word.space * }
+
+ % Here are the language-specific definitions for explicit words.
+ % Each function has a name bbl.xxx where xxx is the English word.
+ % The language selected here is ENGLISH
+
+FUNCTION {bbl.and}
+{
+  "and"
+}
+
+FUNCTION {bbl.etal}
+{
+  "et~al."
+}
+
+FUNCTION {bbl.editors}
+{
+  "eds."
+}
+
+FUNCTION {bbl.editor}
+{
+  "ed."
+}
+
+FUNCTION {bbl.edby}
+{ "edited by" }
+
+FUNCTION {bbl.edition}
+{
+  "ed."
+}
+
+FUNCTION {bbl.volume}
+{
+  "vol."
+}
+
+FUNCTION {bbl.of}
+{ "of" }
+
+FUNCTION {bbl.number}
+{
+  "no."
+}
+
+FUNCTION {bbl.nr}
+{ "no." }
+
+FUNCTION {bbl.in}
+{ "in" }
+
+FUNCTION {bbl.pages}
+{
+  "pp."
+}
+
+FUNCTION {bbl.page}
+{
+  "p."
+}
+
+FUNCTION {bbl.eidpp}
+{ "pages" }
+
+FUNCTION {bbl.chapter}
+{
+  "chap."
+}
+
+FUNCTION {bbl.techrep}
+{
+  "Tech. Rep."
+}
+
+FUNCTION {bbl.mthesis}
+{ "Master's thesis" }
+
+FUNCTION {bbl.phdthesis}
+{ "Ph.D. thesis" }
+
+FUNCTION {bbl.first}
+{
+  "1st"
+}
+
+FUNCTION {bbl.second}
+{
+  "2nd"
+}
+
+FUNCTION {bbl.third}
+{
+  "3rd"
+}
+
+FUNCTION {bbl.fourth}
+{
+  "4th"
+}
+
+FUNCTION {bbl.fifth}
+{
+  "5th"
+}
+
+FUNCTION {bbl.st}
+{ "st" }
+
+FUNCTION {bbl.nd}
+{ "nd" }
+
+FUNCTION {bbl.rd}
+{ "rd" }
+
+FUNCTION {bbl.th}
+{ "th" }
+
+MACRO {jan} {"Jan."}
+
+MACRO {feb} {"Feb."}
+
+MACRO {mar} {"Mar."}
+
+MACRO {apr} {"Apr."}
+
+MACRO {may} {"May"}
+
+MACRO {jun} {"Jun."}
+
+MACRO {jul} {"Jul."}
+
+MACRO {aug} {"Aug."}
+
+MACRO {sep} {"Sep."}
+
+MACRO {oct} {"Oct."}
+
+MACRO {nov} {"Nov."}
+
+MACRO {dec} {"Dec."}
+
+FUNCTION {bbl.url.prefix}
+{
+  "\urlprefix "
+}
+
+FUNCTION {eng.ord}
+{ duplicate$ "1" swap$ *
+  #-2 #1 substring$ "1" =
+     { bbl.th * }
+     { duplicate$ #-1 #1 substring$
+       duplicate$ "1" =
+         { pop$ bbl.st * }
+         { duplicate$ "2" =
+             { pop$ bbl.nd * }
+             { "3" =
+                 { bbl.rd * }
+                 { bbl.th * }
+               if$
+             }
+           if$
+          }
+       if$
+     }
+   if$
+}
+
+ %-------------------------------------------------------------------
+ % Begin module:
+ % \ProvidesFile{physjour.mbs}[2002/01/14 2.2 (PWD)]
+MACRO {aa}{"Astron. \& Astrophys."}
+MACRO {aasup}{"Astron. \& Astrophys. Suppl. Ser."}
+MACRO {aj} {"Astron. J."}
+MACRO {aph} {"Acta Phys."}
+MACRO {advp} {"Adv. Phys."}
+MACRO {ajp} {"Amer. J. Phys."}
+MACRO {ajm} {"Amer. J. Math."}
+MACRO {amsci} {"Amer. Sci."}
+MACRO {anofd} {"Ann. Fluid Dyn."}
+MACRO {am} {"Ann. Math."}
+MACRO {ap} {"Ann. Phys. (NY)"}
+MACRO {adp} {"Ann. Phys. (Leipzig)"}
+MACRO {ao} {"Appl. Opt."}
+MACRO {apl} {"Appl. Phys. Lett."}
+MACRO {app} {"Astroparticle Phys."}
+MACRO {apj} {"Astrophys. J."}
+MACRO {apjsup} {"Astrophys. J. Suppl."}
+MACRO {apss} {"Astrophys. Space Sci."}
+MACRO {araa} {"Ann. Rev. Astron. Astrophys."}
+MACRO {baas} {"Bull. Amer. Astron. Soc."}
+MACRO {baps} {"Bull. Amer. Phys. Soc."}
+MACRO {cmp} {"Comm. Math. Phys."}
+MACRO {cpam} {"Commun. Pure Appl. Math."}
+MACRO {cppcf} {"Comm. Plasma Phys. \& Controlled Fusion"}
+MACRO {cpc} {"Comp. Phys. Comm."}
+MACRO {cqg} {"Class. Quant. Grav."}
+MACRO {cra} {"C. R. Acad. Sci. A"}
+MACRO {fed} {"Fusion Eng. \& Design"}
+MACRO {ft} {"Fusion Tech."}
+MACRO {grg} {"Gen. Relativ. Gravit."}
+MACRO {ieeens} {"IEEE Trans. Nucl. Sci."}
+MACRO {ieeeps} {"IEEE Trans. Plasma Sci."}
+MACRO {ijimw} {"Interntl. J. Infrared \& Millimeter Waves"}
+MACRO {ip} {"Infrared Phys."}
+MACRO {irp} {"Infrared Phys."}
+MACRO {jap} {"J. Appl. Phys."}
+MACRO {jasa} {"J. Acoust. Soc. America"}
+MACRO {jcp} {"J. Comp. Phys."}
+MACRO {jetp} {"Sov. Phys.--JETP"}
+MACRO {jfe} {"J. Fusion Energy"}
+MACRO {jfm} {"J. Fluid Mech."}
+MACRO {jmp} {"J. Math. Phys."}
+MACRO {jne} {"J. Nucl. Energy"}
+MACRO {jnec} {"J. Nucl. Energy, C: Plasma Phys., Accelerators, Thermonucl. Res."}
+MACRO {jnm} {"J. Nucl. Mat."}
+MACRO {jpc} {"J. Phys. Chem."}
+MACRO {jpp} {"J. Plasma Phys."}
+MACRO {jpsj} {"J. Phys. Soc. Japan"}
+MACRO {jsi} {"J. Sci. Instrum."}
+MACRO {jvst} {"J. Vac. Sci. \& Tech."}
+MACRO {nat} {"Nature"}
+MACRO {nature} {"Nature"}
+MACRO {nedf} {"Nucl. Eng. \& Design/Fusion"}
+MACRO {nf} {"Nucl. Fusion"}
+MACRO {nim} {"Nucl. Inst. \& Meth."}
+MACRO {nimpr} {"Nucl. Inst. \& Meth. in Phys. Res."}
+MACRO {np} {"Nucl. Phys."}
+MACRO {npb} {"Nucl. Phys. B"}
+MACRO {nt/f} {"Nucl. Tech./Fusion"}
+MACRO {npbpc} {"Nucl. Phys. B (Proc. Suppl.)"}
+MACRO {inc} {"Nuovo Cimento"}
+MACRO {nc} {"Nuovo Cimento"}
+MACRO {pf} {"Phys. Fluids"}
+MACRO {pfa} {"Phys. Fluids A: Fluid Dyn."}
+MACRO {pfb} {"Phys. Fluids B: Plasma Phys."}
+MACRO {pl} {"Phys. Lett."}
+MACRO {pla} {"Phys. Lett. A"}
+MACRO {plb} {"Phys. Lett. B"}
+MACRO {prep} {"Phys. Rep."}
+MACRO {pnas} {"Proc. Nat. Acad. Sci. USA"}
+MACRO {pp} {"Phys. Plasmas"}
+MACRO {ppcf} {"Plasma Phys. \& Controlled Fusion"}
+MACRO {phitrsl} {"Philos. Trans. Roy. Soc. London"}
+MACRO {prl} {"Phys. Rev. Lett."}
+MACRO {pr} {"Phys. Rev."}
+MACRO {physrev} {"Phys. Rev."}
+MACRO {pra} {"Phys. Rev. A"}
+MACRO {prb} {"Phys. Rev. B"}
+MACRO {prc} {"Phys. Rev. C"}
+MACRO {prd} {"Phys. Rev. D"}
+MACRO {pre} {"Phys. Rev. E"}
+MACRO {ps} {"Phys. Scripta"}
+MACRO {procrsl} {"Proc. Roy. Soc. London"}
+MACRO {rmp} {"Rev. Mod. Phys."}
+MACRO {rsi} {"Rev. Sci. Inst."}
+MACRO {science} {"Science"}
+MACRO {sciam} {"Sci. Am."}
+MACRO {sam} {"Stud. Appl. Math."}
+MACRO {sjpp} {"Sov. J. Plasma Phys."}
+MACRO {spd} {"Sov. Phys.--Doklady"}
+MACRO {sptp} {"Sov. Phys.--Tech. Phys."}
+MACRO {spu} {"Sov. Phys.--Uspeki"}
+MACRO {st} {"Sky and Telesc."}
+ % End module: physjour.mbs
+ %-------------------------------------------------------------------
+ % Begin module:
+ % \ProvidesFile{geojour.mbs}[2002/07/10 2.0h (PWD)]
+MACRO {aisr} {"Adv. Space Res."}
+MACRO {ag} {"Ann. Geophys."}
+MACRO {anigeo} {"Ann. Geofis."}
+MACRO {angl} {"Ann. Glaciol."}
+MACRO {andmet} {"Ann. d. Meteor."}
+MACRO {andgeo} {"Ann. d. Geophys."}
+MACRO {andphy} {"Ann. Phys.-Paris"}
+MACRO {afmgb} {"Arch. Meteor. Geophys. Bioklimatol."}
+MACRO {atph} {"Atm\'osphera"}
+MACRO {aao} {"Atmos. Ocean"}
+MACRO {ass}{"Astrophys. Space Sci."}
+MACRO {atenv} {"Atmos. Environ."}
+MACRO {aujag} {"Aust. J. Agr. Res."}
+MACRO {aumet} {"Aust. Meteorol. Mag."}
+MACRO {blmet} {"Bound.-Lay. Meteorol."}
+MACRO {bams} {"Bull. Amer. Meteorol. Soc."}
+MACRO {cch} {"Clim. Change"}
+MACRO {cdyn} {"Clim. Dynam."}
+MACRO {cbul} {"Climatol. Bull."}
+MACRO {cap} {"Contrib. Atmos. Phys."}
+MACRO {dsr} {"Deep-Sea Res."}
+MACRO {dhz} {"Dtsch. Hydrogr. Z."}
+MACRO {dao} {"Dynam. Atmos. Oceans"}
+MACRO {eco} {"Ecology"}
+MACRO {empl}{"Earth, Moon and Planets"}
+MACRO {envres} {"Environ. Res."}
+MACRO {envst} {"Environ. Sci. Technol."}
+MACRO {ecms} {"Estuarine Coastal Mar. Sci."}
+MACRO {expa}{"Exper. Astron."}
+MACRO {geoint} {"Geofis. Int."}
+MACRO {geopub} {"Geofys. Publ."}
+MACRO {geogeo} {"Geol. Geofiz."}
+MACRO {gafd} {"Geophys. Astrophys. Fluid Dyn."}
+MACRO {gfd} {"Geophys. Fluid Dyn."}
+MACRO {geomag} {"Geophys. Mag."}
+MACRO {georl} {"Geophys. Res. Lett."}
+MACRO {grl} {"Geophys. Res. Lett."}
+MACRO {ga} {"Geophysica"}
+MACRO {gs} {"Geophysics"}
+MACRO {ieeetap} {"IEEE Trans. Antenn. Propag."}
+MACRO {ijawp} {"Int. J. Air Water Pollut."}
+MACRO {ijc} {"Int. J. Climatol."}
+MACRO {ijrs} {"Int. J. Remote Sens."}
+MACRO {jam} {"J. Appl. Meteorol."}
+MACRO {jaot} {"J. Atmos. Ocean. Technol."}
+MACRO {jatp} {"J. Atmos. Terr. Phys."}
+MACRO {jastp} {"J. Atmos. Solar-Terr. Phys."}
+MACRO {jce} {"J. Climate"}
+MACRO {jcam} {"J. Climate Appl. Meteor."}
+MACRO {jcm} {"J. Climate Meteor."}
+MACRO {jcy} {"J. Climatol."}
+MACRO {jgr} {"J. Geophys. Res."}
+MACRO {jga} {"J. Glaciol."}
+MACRO {jh} {"J. Hydrol."}
+MACRO {jmr} {"J. Mar. Res."}
+MACRO {jmrj} {"J. Meteor. Res. Japan"}
+MACRO {jm} {"J. Meteor."}
+MACRO {jpo} {"J. Phys. Oceanogr."}
+MACRO {jra} {"J. Rech. Atmos."}
+MACRO {jaes} {"J. Aeronaut. Sci."}
+MACRO {japca} {"J. Air Pollut. Control Assoc."}
+MACRO {jas} {"J. Atmos. Sci."}
+MACRO {jmts} {"J. Mar. Technol. Soc."}
+MACRO {jmsj} {"J. Meteorol. Soc. Japan"}
+MACRO {josj} {"J. Oceanogr. Soc. Japan"}
+MACRO {jwm} {"J. Wea. Mod."}
+MACRO {lao} {"Limnol. Oceanogr."}
+MACRO {mwl} {"Mar. Wea. Log"}
+MACRO {mau} {"Mausam"}
+MACRO {meteor} {"``Meteor'' Forschungsergeb."}
+MACRO {map} {"Meteorol. Atmos. Phys."}
+MACRO {metmag} {"Meteor. Mag."}
+MACRO {metmon} {"Meteor. Monogr."}
+MACRO {metrun} {"Meteor. Rundsch."}
+MACRO {metzeit} {"Meteor. Z."}
+MACRO {metgid} {"Meteor. Gidrol."}
+MACRO {mwr} {"Mon. Weather Rev."}
+MACRO {nwd} {"Natl. Weather Dig."}
+MACRO {nzjmfr} {"New Zeal. J. Mar. Freshwater Res."}
+MACRO {npg} {"Nonlin. Proc. Geophys."}
+MACRO {om} {"Oceanogr. Meteorol."}
+MACRO {ocac} {"Oceanol. Acta"}
+MACRO {oceanus} {"Oceanus"}
+MACRO {paleoc} {"Paleoceanography"}
+MACRO {pce} {"Phys. Chem. Earth"}
+MACRO {pmg} {"Pap. Meteor. Geophys."}
+MACRO {ppom} {"Pap. Phys. Oceanogr. Meteor."}
+MACRO {physzeit} {"Phys. Z."}
+MACRO {pps} {"Planet. Space Sci."}
+MACRO {pss} {"Planet. Space Sci."}
+MACRO {pag} {"Pure Appl. Geophys."}
+MACRO {qjrms} {"Quart. J. Roy. Meteorol. Soc."}
+MACRO {quatres} {"Quat. Res."}
+MACRO {rsci} {"Radio Sci."}
+MACRO {rse} {"Remote Sens. Environ."}
+MACRO {rgeo} {"Rev. Geophys."}
+MACRO {rgsp} {"Rev. Geophys. Space Phys."}
+MACRO {rdgeo} {"Rev. Geofis."}
+MACRO {revmeta} {"Rev. Meteorol."}
+MACRO {sgp}{"Surveys in Geophys."}
+MACRO {sp} {"Solar Phys."}
+MACRO {ssr} {"Space Sci. Rev."}
+MACRO {tellus} {"Tellus"}
+MACRO {tac} {"Theor. Appl. Climatol."}
+MACRO {tagu} {"Trans. Am. Geophys. Union (EOS)"}
+MACRO {wrr} {"Water Resour. Res."}
+MACRO {weather} {"Weather"}
+MACRO {wafc} {"Weather Forecast."}
+MACRO {ww} {"Weatherwise"}
+MACRO {wmob} {"WMO Bull."}
+MACRO {zeitmet} {"Z. Meteorol."}
+ % End module: geojour.mbs
+ %-------------------------------------------------------------------
+ % Begin module:
+ % \ProvidesFile{photjour.mbs}[1999/02/24 2.0b (PWD)]
+
+MACRO {appopt} {"Appl. Opt."}
+MACRO {bell} {"Bell Syst. Tech. J."}
+MACRO {ell} {"Electron. Lett."}
+MACRO {jasp} {"J. Appl. Spectr."}
+MACRO {jqe} {"IEEE J. Quantum Electron."}
+MACRO {jlwt} {"J. Lightwave Technol."}
+MACRO {jmo} {"J. Mod. Opt."}
+MACRO {josa} {"J. Opt. Soc. America"}
+MACRO {josaa} {"J. Opt. Soc. Amer.~A"}
+MACRO {josab} {"J. Opt. Soc. Amer.~B"}
+MACRO {jdp} {"J. Phys. (Paris)"}
+MACRO {oc} {"Opt. Commun."}
+MACRO {ol} {"Opt. Lett."}
+MACRO {phtl} {"IEEE Photon. Technol. Lett."}
+MACRO {pspie} {"Proc. Soc. Photo-Opt. Instrum. Eng."}
+MACRO {sse} {"Solid-State Electron."}
+MACRO {sjot} {"Sov. J. Opt. Technol."}
+MACRO {sjqe} {"Sov. J. Quantum Electron."}
+MACRO {sleb} {"Sov. Phys.--Leb. Inst. Rep."}
+MACRO {stph} {"Sov. Phys.--Techn. Phys."}
+MACRO {stphl} {"Sov. Techn. Phys. Lett."}
+MACRO {vr} {"Vision Res."}
+MACRO {zph} {"Z. f. Physik"}
+MACRO {zphb} {"Z. f. Physik~B"}
+MACRO {zphd} {"Z. f. Physik~D"}
+
+MACRO {CLEO} {"CLEO"}
+MACRO {ASSL} {"Adv. Sol.-State Lasers"}
+MACRO {OSA}  {"OSA"}
+ % End module: photjour.mbs
+%% Copyright 1994-2007 Patrick W Daly
+MACRO {acmcs} {"ACM Comput. Surv."}
+
+MACRO {acta} {"Acta Inf."}
+
+MACRO {cacm} {"Commun. ACM"}
+
+MACRO {ibmjrd} {"IBM J. Res. Dev."}
+
+MACRO {ibmsj} {"IBM Syst.~J."}
+
+MACRO {ieeese} {"IEEE Trans. Software Eng."}
+
+MACRO {ieeetc} {"IEEE Trans. Comput."}
+
+MACRO {ieeetcad}
+ {"IEEE Trans. Comput. Aid. Des."}
+
+MACRO {ipl} {"Inf. Process. Lett."}
+
+MACRO {jacm} {"J.~ACM"}
+
+MACRO {jcss} {"J.~Comput. Syst. Sci."}
+
+MACRO {scp} {"Sci. Comput. Program."}
+
+MACRO {sicomp} {"SIAM J. Comput."}
+
+MACRO {tocs} {"ACM Trans. Comput. Syst."}
+
+MACRO {tods} {"ACM Trans. Database Syst."}
+
+MACRO {tog} {"ACM Trans. Graphic."}
+
+MACRO {toms} {"ACM Trans. Math. Software"}
+
+MACRO {toois} {"ACM Trans. Office Inf. Syst."}
+
+MACRO {toplas} {"ACM Trans. Progr. Lang. Syst."}
+
+MACRO {tcs} {"Theor. Comput. Sci."}
+
+FUNCTION {bibinfo.command} { "\bibinfo " }
+
+FUNCTION {bibinfo.check}
+{ swap$
+  duplicate$ missing$
+    {
+      pop$
+      pop$ ""
+    }{
+      duplicate$ empty$
+        {
+          swap$ pop$
+        }{
+          swap$
+          bibinfo.command "{" * swap$ * "} {" * swap$ * "}" *
+        }
+      if$
+    }
+  if$
+}
+
+FUNCTION {bibinfo.warn}
+{ swap$
+  duplicate$ missing$
+    {
+      swap$ "missing " swap$ * " in " * cite$ * warning$ pop$
+      ""
+    }{
+      duplicate$ empty$
+        {
+          swap$ "empty " swap$ * " in " * cite$ * warning$
+        }{
+          swap$
+          bibinfo.command " {" * swap$ * "} {" * swap$ * "}" *
+        }
+      if$
+    }
+  if$
+}
+
+FUNCTION {archiv.base}
+{
+  "http://arxiv.org/abs"
+}
+
+FUNCTION {archiv.prefix.base}
+{
+  "arXiv"
+}
+
+FUNCTION {eprint.command}
+{
+  "\Eprint "
+}
+
+FUNCTION {format.eprint}
+{
+  eprint duplicate$ empty$
+  control.eprint #0 <
+  or
+    { pop$ "" }
+    {
+      duplicate$
+      ""
+        archive duplicate$ empty$ { pop$ archiv.base } 'skip$ if$ *
+        "/" *
+        swap$ *
+        "{" swap$ * "} " *
+      swap$
+      ""
+        archivePrefix duplicate$ empty$ { pop$ "" } { ":" * } if$ *
+        swap$ *
+        primaryClass  duplicate$ empty$ { pop$ "" } { " [" swap$ * "]" * } if$ *
+        "{" swap$ * "} " *
+      *
+      eprint.command swap$ *
+    }
+  if$
+}
+
+FUNCTION {format.translation}
+{ translation duplicate$ empty$
+    'skip$
+    { ""
+      "\translation{" * swap$ * "}" *
+      punctuation.space 'punctuation.state :=
+    }
+  if$
+}
+
+FUNCTION {format.url}
+{
+  url duplicate$ empty$
+    { pop$ "" }
+    {
+      "\url "
+      "{" * swap$ * "}" *
+    }
+  if$
+}
+
+INTEGERS { nameptr namesleft numnames }
+
+FUNCTION {check.speaker}
+{ key empty$ 'skip$
+  { key nameptr int.to.str$ =
+    {
+      bolden
+    }
+      'skip$
+    if$
+  }
+  if$
+}
+
+
+STRINGS  { bibinfo}
+
+FUNCTION {format.names.fname}
+{
+  control.author.initials {
+    control.author.dotless {
+      control.author.nospace {
+        "f{}"
+      } {
+        "f{~}"
+      } if$
+    } {
+      control.author.nospace {
+        "f{.}."
+      } {
+        "f."
+      } if$
+    } if$
+  } {
+    "ff"
+  } if$
+}
+
+FUNCTION {bracify}
+{
+  "{" swap$ * "}" *
+}
+
+FUNCTION {name.comma}
+{
+  control.author.nocomma 'skip$ { "," swap$ * } if$
+}
+
+FUNCTION {format.names.format.onefont}
+{
+  "{vv~}{ll}"
+  nameptr #1 >
+  control.author.first
+  and
+  control.author.reversed not
+  or
+    {
+      control.author.initials {
+        "f"
+        control.author.dotless 'skip$ {
+          "." *
+        } if$
+        "~" *
+      } {
+        "ff"
+      } if$
+      bracify
+      swap$
+    } {
+      format.names.fname
+      " " swap$ *
+      name.comma
+      bracify
+    }
+  if$
+  "jj"
+  " " swap$ *
+  name.comma
+  bracify
+  control.author.jnrlst 'skip$ 'swap$ if$
+  * *
+}
+
+FUNCTION {format.names.onefont}
+{
+  s nameptr format.names.format.onefont format.name$
+  remove.dots
+  bib.name.font
+}
+
+FUNCTION {format.names.morfont}
+{ s nameptr
+  "{vv~}{ll}" format.name$ bib.name.font
+  nameptr #1 >
+  control.author.first
+  and
+  control.author.reversed not
+  or
+  {
+    s nameptr
+    control.author.initials {
+      "f"                        % default: name + surname + comma junior
+    } {
+      "ff"
+    } if$
+    control.author.dotless 'skip$ {
+      "." *                    % nm-init   % Initials. + surname (J. F. Smith)                                           control.author.initials
+    } if$
+    bracify
+    format.name$ duplicate$ empty$ 'skip$
+      { tie.or.space.prefix bib.fname.font swap$ * }
+    if$
+    swap$
+    *
+    s nameptr
+    "{jj}" format.name$ duplicate$ empty$ 'skip$
+      { bib.fname.font ", " swap$ * }
+    if$
+  } {
+    "," *
+    s nameptr
+    format.names.fname
+    "jj"
+    " "
+    name.comma
+    control.author.jnrlst {
+      swap$ * skip$
+    } {
+      skip$ * swap$
+    } if$
+    bracify swap$ bracify swap$
+    *
+    format.name$
+    remove.dots
+    duplicate$ empty$ 'skip$
+      { bib.fname.font " " swap$ * }
+      if$
+  } if$
+  *
+}
+
+FUNCTION {names.punctuate}
+{
+  "," *
+  " " *
+}
+
+FUNCTION {format.names}
+{ 'bibinfo :=
+  duplicate$ empty$ { pop$ "" } {
+    duplicate$ num.names$
+    duplicate$ 'numnames :=
+    'namesleft :=
+    's :=
+    #1 'nameptr :=
+    ""
+      { namesleft #0 > }
+      {
+      format.names.morfont
+        bibinfo bibinfo.check
+        type$ "presentation" =
+          'check.speaker
+          'skip$
+        if$
+        't :=
+        nameptr #1 > not
+          {
+            t *
+          } {
+            namesleft #1 >
+              {
+                names.punctuate
+                t *
+              } {
+                s nameptr "{ll}" format.name$ duplicate$ "others" =
+                  { 't := }
+                  { pop$ }
+                if$
+                numnames #2 >
+                  'names.punctuate
+                  'skip$
+                if$
+                t "others" =
+                  {
+                    " " *
+                    bbl.etal
+                    emphasize
+                    *
+                  } {
+                    bbl.and
+                    space.word *
+                    t *
+                  }
+                if$
+              }
+            if$
+          }
+        if$
+        nameptr #1 + 'nameptr :=
+        namesleft #1 - 'namesleft :=
+      }
+    while$
+  } if$
+}
+
+FUNCTION {format.names.ed.onefont}
+{
+    s nameptr
+    control.author.initials {
+      control.author.dotless {
+        control.author.nospace {
+          "{f{}~}{vv~}{ll}{ jj}"   % nm-rvx|nm-rvcx
+        } {
+          "{f{~}~}{vv~}{ll}{ jj}"  % nm-rv
+        } if$
+      } {
+        control.author.nospace {
+          "{f{.}.~}{vv~}{ll}{ jj}" % nm-rvv|nm-rvvc
+        }{
+          "{f.~}{vv~}{ll}{, jj}"   % nm-init|nm-rev|nm-rev1
+        } if$
+      } if$
+    } {
+      "{ff~}{vv~}{ll}{, jj}"
+    } if$
+    format.name$
+    remove.dots
+    bib.name.font
+}
+
+FUNCTION {format.names.ed.morfont}
+{
+  control.author.reversed { %
+    control.author.initials { %
+      control.author.dotless { %
+        s nameptr
+        control.author.nospace { % nm-rvx nm-rvcx
+          "{f{}}"
+        } { % nm-rv
+          "{f{~}}"
+        } if$
+        format.name$ duplicate$ empty$ 'skip$
+          { tie.or.space.prefix bib.fname.font swap$ * }
+        if$
+        s nameptr
+        "{vv~}{ll}" format.name$ bib.name.font *
+        s nameptr
+        "{jj}" format.name$
+        remove.dots
+        duplicate$ empty$ 'skip$
+          { bib.fname.font " " swap$ * }
+        if$
+      } { % !control.author.dotless
+        s nameptr
+        control.author.nospace { % nm-rvv
+          "{ff}"
+        } { % nm-rev nm-rev1
+          "{f.}"
+        } if$
+        format.name$ duplicate$ empty$ 'skip$
+          { tie.or.space.prefix bib.fname.font swap$ * }
+        if$
+        s nameptr
+        "{vv~}{ll}" format.name$ bib.name.font *
+        s nameptr
+        "{jj}" format.name$
+        duplicate$ empty$ 'skip$
+          { bib.fname.font ", " swap$ * }
+        if$
+      } if$
+    } { % Full names !control.author.initials  nm-revf nm-revv1
+      s nameptr
+      "{ff}"
+      format.name$ duplicate$ empty$ 'skip$
+        { tie.or.space.prefix bib.fname.font swap$ * }
+      if$
+      s nameptr
+      "{vv~}{ll}" format.name$ bib.name.font *
+      s nameptr
+      "{jj}" format.name$
+      duplicate$ empty$ 'skip$
+        { bib.fname.font ", " swap$ * }
+      if$
+    } if$
+  } { % !control.author.reversed nm-init
+    s nameptr
+    "{f.}"
+    format.name$ duplicate$ empty$ 'skip$
+      { tie.or.space.prefix bib.fname.font swap$ * }
+    if$
+    s nameptr
+    "{vv~}{ll}" format.name$ bib.name.font *
+    s nameptr
+    "{jj}" format.name$
+    duplicate$ empty$ 'skip$
+      { bib.fname.font ", " swap$ * }
+    if$
+  } if$
+  *
+}
+
+FUNCTION {format.names.ed}
+{
+  control.editor #0 > {
+    format.names
+  } {
+    'bibinfo :=
+    duplicate$ empty$ 'skip$ {
+    's :=
+    "" 't :=
+    #1 'nameptr :=
+    s num.names$ 'numnames :=
+    numnames 'namesleft :=
+      { namesleft #0 > }
+      {
+       format.names.ed.morfont
+        bibinfo bibinfo.check
+        't :=
+        nameptr #1 >
+          {
+            namesleft #1 >
+              {
+                names.punctuate
+                t *
+              }{
+                s nameptr "{ll}" format.name$ duplicate$ "others" =
+                  { 't := }
+                  { pop$ }
+                if$
+                numnames #2 >
+                  'names.punctuate
+                  'skip$
+                if$
+                t "others" =
+                  {
+                    " " * bbl.etal emphasize *
+                  }{
+                   bbl.and
+                    space.word * t *
+                  }
+                if$
+              }
+            if$
+          }
+          't
+        if$
+        nameptr #1 + 'nameptr :=
+        namesleft #1 - 'namesleft :=
+      }
+    while$
+    } if$
+  } if$
+}
+
+FUNCTION {format.key}
+{ empty$
+    { key field.or.null }
+    { "" }
+  if$
+}
+
+FUNCTION {format.authors}
+{ author "author" format.names
+  duplicate$ empty$ 'skip$
+    { collaboration "collaboration" bibinfo.check
+      duplicate$ empty$ 'skip$
+        { " (" swap$ * ")" * }
+      if$
+      *
+    }
+  if$
+  "author" 'bibfield :=
+}
+
+FUNCTION {get.bbl.editor}
+{ editor num.names$ #1 > 'bbl.editors 'bbl.editor if$
+}
+
+FUNCTION {format.editors}
+{ editor "editor" format.names duplicate$ empty$ 'skip$
+    {
+      "," *
+      word.space *
+      get.bbl.editor
+      *
+    }
+  if$
+}
+
+FUNCTION {format.isbn.output}
+{
+}
+
+FUNCTION {format.issn.output}
+{ 
+}
+
+FUNCTION {doi.base}
+{
+  "http://dx.doi.org/"
+}
+
+FUNCTION {doi.base.command}
+{
+  "\doibase "
+}
+
+FUNCTION {noop.command}
+{
+  "\href at noop "
+}
+
+FUNCTION {href.command}
+{
+  "\href "
+}
+
+FUNCTION {link.tag.open}
+{
+  doi duplicate$ empty$
+    {
+      pop$
+      url duplicate$ empty$
+        {
+          pop$ "" noop.command
+        }{
+          href.command
+        }
+      if$
+    }
+    {
+      doi.base.command swap$ * 
+      href.command
+    }
+  if$
+  "{" * swap$ * "} {" *
+}
+
+FUNCTION {link.tag.shut}
+{
+  "}"
+}
+
+FUNCTION {link.open}
+{
+  link.tag.open output.nopunct
+}
+
+FUNCTION {link.shut}
+{
+  link.tag.shut *
+}
+
+FUNCTION {add.doi}
+{
+  link.tag.open swap$ * link.tag.shut *
+}
+
+FUNCTION {select.language}
+{ duplicate$ empty$
+    'pop$
+    { language empty$
+        'skip$
+        { "{\selectlanguage {" language * "}" * swap$ * "}" * }
+      if$
+    }
+    if$
+}
+
+FUNCTION {format.note}
+{
+ note empty$
+    { "" }
+    { note #1 #1 substring$
+      duplicate$ "{" =
+        'skip$
+        {
+          output.state after.word = output.state after.punctuation = or
+            { "l" }
+            { "u" }
+          if$ change.case$
+        }
+      if$
+      note #2 global.max$ substring$ * "note" bibinfo.check
+    }
+  if$
+}
+
+FUNCTION {bbl.enquote}
+{
+  "\enquote "
+}
+
+FUNCTION {string.enquote}
+{
+  punctuation.no 'punctuation.state :=
+  non.stop {
+    block.punctuation
+  } { "" } if$
+   swap$ pop$
+  *
+  bbl.enquote "{" * swap$ * "}" *
+  word.space *
+}
+
+FUNCTION {format.title}
+{ title
+  duplicate$ empty$ 'skip$ { "t" change.case$ } if$
+  duplicate$ "title" bibinfo.check swap$
+  duplicate$ empty$ 'pop$
+    {
+      punctuation.yes 'punctuation.state :=
+      string.enquote
+      select.language
+    }
+  if$
+}
+
+FUNCTION {end.quote.title}
+{ title empty$
+    'skip$
+    { before.all 'output.state := }
+  if$
+}
+
+FUNCTION {format.name.apply}
+{
+  s nameptr
+  "{vv~}{ll}"
+  format.name$
+  cite.name.font
+}
+
+FUNCTION {format.full.names}
+{
+  's :=
+  "" 't :=
+  #1 'nameptr :=
+  s num.names$ 'numnames :=
+  numnames 'namesleft :=
+    { namesleft #0 > }
+    { format.name.apply
+      't :=
+      nameptr #1 >
+        {
+          namesleft #1 >
+            { ", " * t * }
+            {
+              s nameptr "{ll}" format.name$ duplicate$ "others" =
+                {
+                  't :=
+                }
+                'pop$
+              if$
+              t "others" =
+                {
+                  " " * bbl.etal
+                  emphasize *
+                }{
+                  numnames #2 > { "," * }{ skip$ } if$
+                  bbl.and
+                  space.word * t *
+                }
+              if$
+            }
+          if$
+        }
+        't
+      if$
+      nameptr #1 + 'nameptr :=
+      namesleft #1 - 'namesleft :=
+    }
+  while$
+}
+
+FUNCTION {make.full.names}
+{
+  key editor author
+  type$ "proceedings" =
+  type$ "book"        =
+  type$ "inbook"      =
+  or { pop$ }{ { pop$ "" }{ swap$ pop$ "" swap$ } if$ } if$
+  duplicate$ empty$
+    { pop$
+      duplicate$ empty$
+        { pop$
+          duplicate$ empty$
+            { pop$
+              cite$ #1 #3 substring$
+            }{
+              skip$
+            }
+          if$
+        }
+        { swap$ pop$ format.full.names }
+      if$
+    }
+    { swap$ pop$ swap$ pop$ format.full.names }
+  if$
+}
+
+FUNCTION {year.bibitem}
+{
+  year duplicate$ empty$
+  { pop$ ""
+  }{
+    skip$
+  } if$
+  extra.label *
+}
+
+FUNCTION {output.bibitem}
+{
+  newline$
+  ""
+  label
+  * ")" *
+   make.full.names duplicate$ short.list =
+   { pop$ }{ * } if$
+   bracify
+  "[" swap$ * "]" *
+  cite$ bracify "%" *
+  *
+  "\bibitem "
+  swap$ *
+  write$ newline$
+  "  "
+  duplicate$ bbl.open * write$ newline$
+  before.all 'output.state :=
+  punctuation.yes 'punctuation.state :=
+}
+
+FUNCTION {n.dashify}
+{
+  't :=
+  ""
+    { t empty$ not }
+    { t #1 #1 substring$ "-" =
+        { t #1 #2 substring$ "--" = not
+            { "--" *
+              t #2 global.max$ substring$ 't :=
+            }{
+                { t #1 #1 substring$ "-" = }
+                { "-" *
+                  t #2 global.max$ substring$ 't :=
+                }
+              while$
+            }
+          if$
+        }{
+          t #1 #1 substring$ *
+          t #2 global.max$ substring$ 't :=
+        }
+      if$
+    }
+  while$
+}
+
+FUNCTION {word.in}
+{
+  bbl.in
+  word.space *
+}
+
+FUNCTION {date.encapsulate}
+{
+  duplicate$ empty$
+    'skip$
+    {
+      before.all 'output.state :=
+      " (" swap$ * ")" *
+    }
+  if$
+}
+
+FUNCTION {format.date}
+{
+  year "year" bibinfo.check duplicate$ empty$
+    {
+    }
+    'skip$
+  if$
+  extra.label *
+  date.encapsulate
+}
+
+FUNCTION {format.date.output.check}
+{
+ format.date
+ "year" output.check
+}
+
+FUNCTION {format.date.output}
+{
+  format.date.output.check
+}
+
+FUNCTION {format.btitle}
+{
+  booktitle duplicate$ empty$ { pop$
+      title
+  } 'skip$ if$
+  "title" bibinfo.check
+  duplicate$ empty$ 'skip$
+    {
+      emphasize
+      select.language
+    }
+  if$
+}
+
+FUNCTION {either.or.check}
+{ empty$
+    'pop$
+    { "can't use both " swap$ * " fields in " * cite$ * warning$ }
+  if$
+}
+
+FUNCTION {editor.check.book}
+{ editor empty$ 'skip$
+    {
+      "can't use both author and editor fields in " cite$ *
+      ": try using @inbook instead" *
+      warning$
+    }
+  if$
+}
+
+FUNCTION {format.bvolume}
+{ volume duplicate$ empty$
+    { pop$ "" }
+    {
+      "volume and number" number either.or.check
+      bbl.volume
+      capitalize
+      swap$
+      tie.or.space.prefix "volume" bibinfo.check * *
+      series "series" bibinfo.check duplicate$ empty$ 'pop$
+        {
+          ", "
+          * swap$ *
+        }
+      if$
+    }
+  if$
+}
+
+FUNCTION {format.number}
+{
+  bbl.number
+  output.state after.word = output.state after.punctuation = or
+  #1 or
+  #0 and
+    'skip$
+    { capitalize }
+  if$
+  number tie.or.space.prefix "number" bibinfo.check * *
+}
+
+FUNCTION {format.number.series}
+{ volume empty$
+    { number empty$
+        { series field.or.null }
+        {
+          series empty$
+            {
+              number "number" bibinfo.check
+            }{
+              format.number
+              series "series" bibinfo.check
+              word.space * swap$ *
+            }
+          if$
+        }
+      if$
+    }
+    { "" }
+  if$
+}
+
+FUNCTION {is.num}
+{ chr.to.int$
+  duplicate$ "0" chr.to.int$ < not
+  swap$ "9" chr.to.int$ > not and
+}
+
+FUNCTION {extract.num}
+{ duplicate$ 't :=
+  "" 's :=
+  { t empty$ not }
+  { t #1 #1 substring$
+    t #2 global.max$ substring$ 't :=
+    duplicate$ is.num
+      { s swap$ * 's := }
+      { pop$ "" 't := }
+    if$
+  }
+  while$
+  s empty$
+    'skip$
+    { pop$ s }
+  if$
+}
+
+FUNCTION {convert.edition}
+{ extract.num "l" change.case$ 's :=
+  s "first" = s "1" = or
+    { bbl.first 't := }
+    { s "second" = s "2" = or
+        { bbl.second 't := }
+        { s "third" = s "3" = or
+            { bbl.third 't := }
+            { s "fourth" = s "4" = or
+                { bbl.fourth 't := }
+                { s "fifth" = s "5" = or
+                    { bbl.fifth 't := }
+                    { s #1 #1 substring$ is.num
+                        { s
+                            eng.ord
+                        't := }
+                        { edition 't := }
+                      if$
+                    }
+                  if$
+                }
+              if$
+            }
+          if$
+        }
+      if$
+    }
+  if$
+  t
+}
+
+FUNCTION {format.edition}
+{ edition duplicate$ empty$ 'skip$
+    {
+      convert.edition
+      output.state after.word = output.state after.punctuation = or
+        { "l" }
+        { "t" }
+      if$ change.case$
+      "edition" bibinfo.check
+      word.space * bbl.edition *
+    }
+  if$
+}
+
+INTEGERS { multiresult }
+FUNCTION {multi.page.check}
+{ 't :=
+  #0 'multiresult :=
+    { multiresult not
+      t empty$ not
+      and
+    }
+    { t #1 #1 substring$
+      duplicate$ "-" =
+      swap$ duplicate$ "," =
+      swap$ "+" =
+      or or
+        { #1 'multiresult := }
+        { t #2 global.max$ substring$ 't := }
+      if$
+    }
+  while$
+  multiresult
+}
+
+FUNCTION {format.pages}
+{ pages duplicate$ empty$
+    'skip$
+    { duplicate$ multi.page.check
+        {
+          bbl.pages swap$
+          n.dashify
+        }{
+          bbl.page swap$
+        }
+      if$
+      tie.or.space.prefix
+      "pages" bibinfo.check
+      * *
+    }
+  if$
+}
+
+FUNCTION {first.page}
+{ 't :=
+  ""
+    {  t empty$ not t #1 #1 substring$ "-" = not and }
+    { t #1 #1 substring$ *
+      t #2 global.max$ substring$ 't :=
+    }
+  while$
+}
+
+FUNCTION {format.book.pages}
+{
+  pages duplicate$ empty$ 'skip$
+    {
+      "pages" bibinfo.check word.space bbl.pages * *
+    }
+  if$
+}
+
+FUNCTION {volnum.punct}
+{
+          ","
+  word.space *
+}
+
+FUNCTION {format.journal.pages}
+{ pages duplicate$ empty$ 'pop$
+    { swap$ duplicate$ empty$
+        { pop$ pop$ format.pages }
+        { volnum.punct *
+          swap$
+          control.pages duplicate$ #0 < {
+            pop$ pop$
+          }{
+            #0 >
+            {
+              n.dashify
+            }{
+              first.page
+            } if$
+          } if$
+          "pages" bibinfo.check
+          *
+        }
+      if$
+    }
+  if$
+}
+
+FUNCTION {format.journal.eid}
+{ eid "eid" bibinfo.check
+  duplicate$ empty$ 'pop$
+    { swap$ duplicate$ empty$ 'skip$
+        { volnum.punct * }
+      if$
+      swap$ *
+    }
+  if$
+}
+
+FUNCTION {eid.or.pages}
+{
+  eid empty$
+    { format.journal.pages }
+    { format.journal.eid }
+  if$
+}
+
+FUNCTION {format.ser.vol.num}
+{
+  series "series" bibinfo.check output
+  volume field.or.null
+  duplicate$ empty$ 'skip$
+    {
+      "volume" bibinfo.check
+    }
+  if$
+  bolden
+}
+
+FUNCTION {format.chapter.pages}
+{ chapter empty$
+    {
+    format.pages
+    }
+    { type empty$
+        {
+          bbl.chapter
+          capitalize
+        }{
+          type
+          capitalize
+          "type" bibinfo.check
+        }
+      if$
+      chapter tie.or.space.prefix
+      "chapter" bibinfo.check
+      * *
+      pages empty$
+        'skip$
+        { ", " * format.pages * }
+      if$
+    }
+  if$
+}
+
+FUNCTION {format.booktitle}
+{
+  booktitle duplicate$ "booktitle" bibinfo.check swap$
+  duplicate$ empty$ 'pop$
+    {
+      punctuation.yes 'punctuation.state :=
+      pop$ emphasize
+      select.language
+    }
+  if$
+}
+
+FUNCTION {format.editor.in}
+{
+  editor "editor" format.names.ed duplicate$ empty$ 'skip$
+    {
+      bbl.edby
+      word.space * swap$ *
+    }
+  if$
+}
+
+FUNCTION {output.article.booktitle}
+{
+  format.booktitle
+      "booktitle" 'bibfield :=
+  output
+  bookaddress "address" bibinfo.check duplicate$ empty$ 'pop$
+    {
+      "address" 'bibfield :=
+      output.nonnull after.punctuation 'output.state :=
+    }
+  if$
+}
+
+FUNCTION {format.in.ed.booktitle}
+{
+  format.booktitle duplicate$ empty$ 'pop$
+    {
+      add.doi
+      word.in swap$ * output.nonnull
+      bookaddress "address" bibinfo.check output
+      format.number.series "series and number" bibinfo.check output
+      format.bvolume output
+      format.editor.in "editor" bibinfo.check output
+    }
+  if$
+}
+
+FUNCTION {format.in.ed.booktitle.inbook}
+{
+  format.booktitle duplicate$ empty$ 'pop$
+    {
+      add.doi
+      word.in swap$ * output.nonnull
+      bookaddress "address" bibinfo.check output
+      format.number.series "series and number" bibinfo.check output
+      format.bvolume output
+      author empty$ 'skip$
+        { format.editor.in "editor" bibinfo.check output }
+    if$
+    }
+  if$
+}
+
+FUNCTION {format.thesis.type}
+{ type duplicate$ empty$
+    'pop$
+    { swap$ pop$
+      "t" change.case$ "type" bibinfo.check
+    }
+  if$
+}
+
+FUNCTION {format.tr.number}
+{ number "number" bibinfo.check
+  type duplicate$ empty$
+    { pop$ bbl.techrep }
+    'skip$
+  if$
+  "type" bibinfo.check
+  swap$ duplicate$ empty$
+    { pop$ "t" change.case$ }
+    { tie.or.space.prefix * * }
+  if$
+}
+
+FUNCTION {format.article.crossref}
+{
+  word.in
+  " \cite{" * crossref * "}" *
+}
+
+FUNCTION {format.book.crossref}
+{ volume duplicate$ empty$
+    { "empty volume in " cite$ * "'s crossref of " * crossref * warning$
+      pop$ word.in
+    }
+    { bbl.volume
+      swap$ tie.or.space.prefix "volume" bibinfo.check * * bbl.of space.word *
+    }
+  if$
+  " \cite{" * crossref * "}" *
+}
+
+FUNCTION {format.incoll.inproc.crossref}
+{
+  word.in
+  " \cite{" * crossref * "}" *
+}
+
+FUNCTION {format.org.or.pub}
+{ 't :=
+  ""
+  address "address" bibinfo.check
+  duplicate$ empty$
+    { pop$ t }
+    { t duplicate$ empty$
+        { pop$ }
+        {
+          "," word.space *
+          * swap$ *
+        }
+      if$
+    }
+  if$
+  *
+  year duplicate$ empty$
+    {
+      "empty year in " cite$ *
+      warning$
+      pop$ ""
+    }
+    'skip$
+  if$
+  duplicate$ empty$
+    { pop$ }
+    {
+      "year" bibinfo.check
+      swap$
+      duplicate$ empty$
+        { pop$ }
+        {
+          "," *
+          word.space *
+          swap$ *
+        }
+      if$
+    }
+  if$
+  duplicate$ empty$ 'skip$ {
+    ""
+    "(" * swap$ * ")" *
+    after.punctuation 'output.state :=
+    punctuation.space 'punctuation.state :=
+  } if$
+}
+
+FUNCTION {format.publisher.address}
+{ publisher "publisher" bibinfo.warn format.org.or.pub
+}
+
+FUNCTION {format.organization.address}
+{ organization "organization" bibinfo.check format.org.or.pub
+}
+
+FUNCTION {format.organization.publisher.address}
+{
+  publisher empty$
+    { format.organization.address }
+    { organization "organization" bibinfo.check output
+      format.publisher.address
+    }
+  if$
+}
+
+FUNCTION {format.school.address.output}
+{
+  school  "school"  bibinfo.warn
+  address "address" bibinfo.check
+  duplicate$ empty$ 'skip$
+    {
+      swap$
+      duplicate$ empty$ 'skip$
+        {
+          ", " *
+        }
+      if$
+      swap$
+    }
+  if$
+  *
+  output
+}
+
+FUNCTION {article.title.produce}
+{
+  control.title duplicate$ #0 <
+  { pop$
+  }{
+    format.title
+    "title" 'bibfield :=
+    swap$ #0 >
+    {
+      "title" output.check
+    }{
+      output
+    } if$
+    new.block.comma
+  } if$
+}
+
+FUNCTION {control}
+{
+}
+
+FUNCTION {article}
+{ output.bibitem
+  format.authors
+  booktitle empty$ {
+      "author" output.check
+    }{ output } if$
+  author format.key output
+  new.block.comma
+  article.title.produce
+  output.article.booktitle
+  crossref missing$
+    {
+      link.open
+      journal
+      "journal" bibinfo.warn
+      "journal" 'bibfield :=
+      output
+      add.blank
+      format.ser.vol.num
+      output
+      eid.or.pages
+      format.date.output.check
+      pages empty$ {
+      doi output
+      } 'skip$ if$
+      link.shut
+    }{
+      format.article.crossref output.nonnull
+      format.pages output
+    }
+  if$
+  format.issn.output
+  new.block.comma
+  new.sentence.comma
+  format.note output
+  format.eprint output
+  format.translation output
+  fin.entry
+}
+
+FUNCTION {book}
+{ output.bibitem
+  author empty$
+    {
+      format.editors "author and editor" output.check
+      editor format.key output
+    }{
+      format.authors output.nonnull
+%     crossref missing$ { editor.check.book } 'skip$ if$
+    }
+  if$
+  new.block.comma
+  link.open
+  format.btitle
+  "title" output.check
+  link.shut
+  format.edition output
+  author empty$
+    {
+    }
+    {
+      format.editor.in output
+      editor format.key output
+    }
+  if$
+  format.number.series output
+  crossref missing$
+    {
+      format.bvolume output
+      new.block.comma
+      format.publisher.address output
+    }{
+      new.block.comma
+      format.book.crossref output.nonnull
+      format.date.output.check
+    }
+  if$
+  format.isbn.output
+  format.chapter.pages
+  output
+  new.block.comma
+  new.sentence.comma
+  format.note output
+  format.eprint output
+  fin.entry
+}
+
+FUNCTION {booklet}
+{ output.bibitem
+  format.authors output
+  author format.key output
+  new.block.comma
+  link.open
+  format.title
+  "title" output.check
+  link.shut
+  new.block.comma
+  howpublished "howpublished" bibinfo.check output
+  address "address" bibinfo.check output
+  format.date.output
+  format.isbn.output
+  format.book.pages output
+  new.block.comma
+  new.sentence.comma
+  format.note output
+  format.eprint output
+  fin.entry
+}
+
+FUNCTION {footnote}
+{ output.bibitem
+  format.note output
+  fin.entry
+}
+
+FUNCTION {inbook}
+{ output.bibitem
+  author empty$
+    {
+       format.editors "editor" output.check
+       editor format.key output
+    }{
+       format.authors output.nonnull
+       author format.key output
+    }
+  if$
+  new.block.comma
+
+  format.title output
+  new.block.comma
+
+  crossref missing$
+    {
+      format.in.ed.booktitle.inbook
+      format.publisher.address output
+      format.chapter.pages
+      "chapter and pages"
+      output.check
+      new.block.comma
+      format.edition output
+      new.block.comma
+    }{
+      format.chapter.pages
+      "chapter and pages"
+      output.check
+      new.block.comma
+      format.book.crossref output.nonnull
+      format.date.output.check
+    }
+  if$
+  crossref missing$
+    { format.isbn.output }
+    'skip$
+  if$
+  new.block.comma
+  new.sentence.comma
+  format.note output
+  format.eprint output
+  fin.entry
+}
+
+FUNCTION {incollection}
+{ output.bibitem
+  format.authors "author" output.check
+  author format.key output
+  new.block.comma
+  article.title.produce
+  crossref missing$
+    {
+      format.in.ed.booktitle
+      format.publisher.address output
+      format.edition output
+      format.chapter.pages output
+      format.isbn.output
+    }{
+      format.incoll.inproc.crossref output.nonnull
+      format.chapter.pages output
+    }
+  if$
+  new.block.comma
+  new.sentence.comma
+  format.note output
+  format.eprint output
+  fin.entry
+}
+
+FUNCTION {inproceedings}
+{ output.bibitem
+  format.authors "author" output.check
+  author format.key output
+  new.block.comma
+  article.title.produce
+  crossref missing$
+    {
+      format.in.ed.booktitle
+      format.organization.publisher.address output
+      format.chapter.pages output
+      format.isbn.output
+      format.issn.output
+    }{
+      format.incoll.inproc.crossref output.nonnull
+      format.chapter.pages output
+    }
+  if$
+  new.block.comma
+  new.sentence.comma
+  format.note output
+  format.eprint output
+  fin.entry
+}
+
+FUNCTION {conference} { inproceedings }
+FUNCTION {manual}
+{ output.bibitem
+  format.authors output
+  author format.key output
+  new.block.comma
+  link.open
+  format.btitle
+  "title" output.check
+  link.shut
+      organization "organization" bibinfo.check output
+      address "address" bibinfo.check output
+  format.edition output
+  format.date.output
+  new.block.comma
+  new.sentence.comma
+  format.note output
+  format.eprint output
+  fin.entry
+}
+
+FUNCTION {mastersthesis}
+{ output.bibitem
+  format.authors "author" output.check
+  author format.key output
+  new.block.comma
+  format.btitle
+  output
+  new.block.comma
+  link.open
+  bbl.mthesis
+  format.thesis.type
+  output.nonnull
+  link.shut
+  format.school.address.output
+  format.date.output.check
+  new.block.comma
+  new.sentence.comma
+  format.note output
+  format.eprint output
+  fin.entry
+}
+
+FUNCTION {misc}
+{ output.bibitem
+  format.authors output
+  author format.key output
+  new.block.comma
+  link.open
+  format.title
+  output
+  link.shut
+  new.block.comma
+  howpublished "howpublished" bibinfo.check output
+  format.date.output
+  new.block.comma
+  new.sentence.comma
+  format.note output
+  format.eprint output
+  fin.entry
+}
+
+FUNCTION {phdthesis}
+{ output.bibitem
+  format.authors "author" output.check
+  author format.key output
+  new.block.comma
+  format.btitle
+  output
+  new.block.comma
+  link.open
+  bbl.phdthesis
+  format.thesis.type
+  output.nonnull
+  link.shut
+  format.school.address.output
+  format.date.output.check
+  new.block.comma
+  new.sentence.comma
+  format.note output
+  format.eprint output
+  fin.entry
+}
+
+FUNCTION {presentation}
+{ output.bibitem
+  format.authors output
+  author format.key output
+  new.block.comma
+  link.open
+  format.title
+  output
+  link.shut
+  new.block.comma
+  format.organization.address "organization and address" output.check
+  month "month" output.check
+  year "year" output.check
+  new.block.comma
+  new.sentence.comma
+  format.note output
+  new.sentence
+  type missing$ 'skip$
+    {"(" type capitalize * ")" * output}
+  if$
+  fin.entry
+}
+
+FUNCTION {proceedings}
+{ output.bibitem
+  format.editors output
+  editor format.key output
+  new.block.comma
+  link.open
+  format.btitle
+  "title" output.check
+  link.shut
+      bookaddress "address" bibinfo.check output
+  format.number.series output
+  format.bvolume output
+  format.organization.publisher.address output
+  format.isbn.output
+  format.issn.output
+  new.block.comma
+  new.sentence.comma
+  format.note output
+  format.eprint output
+  fin.entry
+}
+
+FUNCTION {techreport}
+{ output.bibitem
+  format.authors "author" output.check
+  author format.key output
+  new.block.comma
+  link.open
+  format.title
+  "title" output.check
+  link.shut
+  new.block.comma
+  format.tr.number
+  output.nonnull
+  institution "institution" bibinfo.warn
+  format.org.or.pub output
+  new.block.comma
+  new.sentence.comma
+  format.note output
+  format.eprint output
+  fin.entry
+}
+
+FUNCTION {unpublished}
+{ output.bibitem
+  format.authors "author" output.check
+  author format.key output
+  new.block.comma
+  link.open
+  format.title
+  "title" output.check
+  link.shut
+  format.date.output
+  new.block.comma
+  new.sentence.comma
+  format.note "note" output.check
+  format.eprint output
+  fin.entry
+}
+
+FUNCTION {default.type} { misc }
+
+READ
+
+EXECUTE {control.init}
+
+ITERATE {control.pass}
+
+EXECUTE {control.check}
+
+FUNCTION {sortify}
+{ purify$
+  "l" change.case$
+}
+
+INTEGERS { len }
+
+FUNCTION {chop.word}
+{ 's :=
+  'len :=
+  s #1 len substring$ =
+    { s len #1 + global.max$ substring$ }
+    's
+  if$
+}
+
+FUNCTION {cite.name.font.apply}
+{
+  word.space * bbl.etal
+  emphasize
+  *
+}
+
+FUNCTION {format.lab.names}
+{ 's :=
+  "" 't :=
+  #1 'nameptr :=
+  s num.names$ 'numnames :=
+  numnames 'namesleft :=
+    { namesleft #0 > }
+    { 
+      format.name.apply
+      't :=
+      nameptr #1 >
+        {
+          nameptr
+          #2
+          =
+          numnames
+          #3
+          > and
+            { 
+              "others" 't :=
+              #1 'namesleft := 
+            }
+            'skip$
+          if$
+          namesleft #1 >
+            { ", " * t * }
+            {
+              s nameptr "{ll}" format.name$ duplicate$ "others" =
+                { 't := }
+                { pop$ }
+              if$
+              t "others" =
+                {
+                  cite.name.font.apply
+                }{
+                  numnames #2 > { "," * } 'skip$ if$
+                  bbl.and
+                  space.word * t *
+                }
+              if$
+            }
+          if$
+        }
+        't
+      if$
+      nameptr #1 + 'nameptr :=
+      namesleft #1 - 'namesleft :=
+    }
+  while$
+}
+
+FUNCTION {author.key.label}
+{ author empty$
+    { key empty$
+        { cite$ #1 #3 substring$ }
+        'key
+      if$
+    }
+    { author format.lab.names }
+  if$
+}
+
+FUNCTION {author.editor.key.label}
+{ author empty$
+    { editor empty$
+        { key empty$
+            { cite$ #1 #3 substring$ }
+            'key
+          if$
+        }
+        { editor format.lab.names }
+      if$
+    }
+    { author format.lab.names }
+  if$
+}
+
+FUNCTION {editor.key.label}
+{ editor empty$
+    { key empty$
+        { cite$ #1 #3 substring$ }
+        'key
+      if$
+    }
+    { editor format.lab.names }
+  if$
+}
+
+FUNCTION {calc.short.authors}
+{ type$ "book" =
+  type$ "inbook" =
+  or
+    'author.editor.key.label
+    { type$ "proceedings" =
+        'editor.key.label
+        'author.key.label
+      if$
+    }
+  if$
+  'short.list :=
+}
+
+FUNCTION {calc.label}
+{
+  calc.short.authors
+  short.list
+  year duplicate$ empty$
+    {
+      pop$ ""
+    }{
+      control.year #0 > { purify$ #-1 #4 substring$ } 'skip$ if$
+    }
+  if$
+  "(" swap$ *
+  * 'label :=
+}
+
+FUNCTION {sort.format.names}
+{ 's :=
+  #1 'nameptr :=
+  ""
+  s num.names$ 'numnames :=
+  numnames 'namesleft :=
+    { namesleft #0 > }
+    { s nameptr
+      "{ll{ }}"
+      control.author.initials {
+        "{  f{ }}"  *
+      }{
+        "{  ff{ }}" *
+      } if$
+      "{  jj{ }}" *
+      format.name$ 't :=
+      nameptr #1 >
+        {
+          "   "  *
+          namesleft #1 = t "others" = and
+            { "zzzzz" * }
+            {
+              t sortify *
+            }
+          if$
+        }
+        { t sortify * }
+      if$
+      nameptr #1 + 'nameptr :=
+      namesleft #1 - 'namesleft :=
+    }
+  while$
+}
+
+FUNCTION {sort.format.title}
+{ 't :=
+  "A " #2
+    "An " #3
+      "The " #4 t chop.word
+    chop.word
+  chop.word
+  sortify
+  #1 global.max$ substring$
+}
+
+FUNCTION {author.sort}
+{ author empty$
+    { key empty$
+        { "to sort, need author or key in " cite$ * warning$
+          ""
+        }
+        { key sortify }
+      if$
+    }
+    { author sort.format.names }
+  if$
+}
+
+FUNCTION {author.editor.sort}
+{ author empty$
+    { editor empty$
+        { key empty$
+            { "to sort, need author, editor, or key in " cite$ * warning$
+              ""
+            }
+            { key sortify }
+          if$
+        }
+        { editor sort.format.names }
+      if$
+    }
+    { author sort.format.names }
+  if$
+}
+
+FUNCTION {year.sort.key}
+{
+  year
+}
+
+FUNCTION {editor.sort}
+{ editor empty$
+    { key empty$
+        { "to sort, need editor or key in " cite$ * warning$
+          ""
+        }
+        { key sortify }
+      if$
+    }
+    { editor sort.format.names }
+  if$
+}
+
+INTEGERS { seq.num }
+
+FUNCTION {init.seq}
+{ #0 'seq.num :=}
+
+EXECUTE {init.seq}
+
+FUNCTION {int.to.fix}
+{ "000000000" swap$ int.to.str$ *
+  #-1 #10 substring$
+}
+
+FUNCTION {label.presort}
+{
+  calc.label
+  label sortify
+  "    "
+  *
+  seq.num #1 + 'seq.num :=
+  seq.num  int.to.fix
+  'sort.label :=
+  sort.label
+  *
+  "    "
+  *
+  title field.or.null sort.format.title
+  *
+  #1 entry.max$ substring$
+  'sort.key$ :=
+}
+
+FUNCTION {presort.pass}
+{ type$ "control" = 'control.presort 'label.presort if$
+}
+
+ITERATE {presort.pass}
+
+SORT
+
+STRINGS { last.label next.extra }
+
+INTEGERS { last.extra.num number.label }
+
+FUNCTION {initialize.extra.label.stuff}
+{ #0 int.to.chr$ 'last.label :=
+  "" 'next.extra :=
+  #0 'last.extra.num :=
+  #0 'number.label :=
+}
+
+FUNCTION {label.forward}
+{
+  last.label label =
+    { last.extra.num #1 + 'last.extra.num :=
+      last.extra.num int.to.chr$ 'extra.label :=
+    }
+    { "a" chr.to.int$ 'last.extra.num :=
+      "" 'extra.label :=
+      label 'last.label :=
+    }
+  if$
+  number.label #1 + 'number.label :=
+}
+
+FUNCTION {label.reverse}
+{ next.extra "b" =
+    { "a" 'extra.label := }
+    'skip$
+  if$
+  extra.label 'next.extra :=
+  extra.label
+  duplicate$ empty$
+    'skip$
+    { "{\natexlab{" swap$ * "}}" * }
+  if$
+  'extra.label :=
+  label extra.label * 'label :=
+}
+
+EXECUTE {initialize.extra.label.stuff}
+
+FUNCTION {forward.pass}
+{ type$ "control" = 'control.forward 'label.forward if$
+}
+
+ITERATE {forward.pass}
+
+FUNCTION {reverse.pass}
+{ type$ "control" = 'control.reverse 'label.reverse if$
+}
+
+REVERSE {reverse.pass}
+
+FUNCTION {sortkey.sort}
+{ sort.label
+  "    "
+  *
+  year.sort.key
+  field.or.null sortify
+  *
+  "    "
+  *
+  title field.or.null sort.format.title
+  *
+  #1 entry.max$ substring$
+  'sort.key$ :=
+}
+
+FUNCTION {bib.sort.pass}
+{ type$ "control" = 'control.sort 'sortkey.sort if$
+}
+
+ITERATE {bib.sort.pass}
+
+SORT
+
+FUNCTION {init.bib.eprint}
+{
+    "\texttt {"
+  pop$
+  "\providecommand \url  [0]{\begingroup\@sanitize at url \@url }%" write$ newline$
+  "\providecommand \@url [1]{\endgroup\@href {#1}{" "}}%" bbl.url.prefix swap$ * * write$ newline$
+  "\providecommand " " [0]{URL }%" bbl.url.prefix swap$ * * write$ newline$
+  eprint.command "\providecommand " swap$ * "[0]{\href }%" * write$ newline$
+}
+
+FUNCTION {init.bib.doi}
+{
+  "\providecommand \doibase [0]{" doi.base "}%" * * write$ newline$
+}
+
+FUNCTION {init.bib.hypertex}
+{
+  "\providecommand " noop.command "[0]{\@secondoftwo}%" * * write$ newline$
+  "\providecommand " href.command "[0]{\begingroup \@sanitize at url \@href}%" * * write$ newline$
+  "\providecommand \@href[1]{\@@startlink{#1}\@@href}%" write$ newline$
+  "\providecommand \@@href[1]{\endgroup#1\@@endlink}%" write$ newline$
+  "\providecommand \@sanitize at url [0]{\catcode `\\12\catcode `\$12\catcode `\&12\catcode `\#12\catcode `\^12\catcode `\_12\catcode `\%12\relax}%" write$ newline$
+  "\providecommand \@@startlink[1]{}%" write$ newline$
+  "\providecommand \@@endlink[0]{}%"   write$ newline$
+}
+
+FUNCTION {init.bib.namefont}
+{
+  "\providecommand \bibnamefont  [1]{#1}%"  write$ newline$
+  "\providecommand \bibfnamefont [1]{#1}%" write$ newline$
+  "\providecommand \citenamefont [1]{#1}%"  write$ newline$
+}
+
+FUNCTION {init.bib.quote}
+{
+  "\providecommand " bbl.enquote * " [1]{" *
+  "``" "''"
+  "#1" swap$ "}%" * * * * write$ newline$
+}
+
+FUNCTION {init.bib.ay}
+{
+  "\providecommand \natexlab [1]{#1}%"
+  write$ newline$
+}
+
+FUNCTION {init.bib.bibinfo}
+{
+  bibinfo.command  "\providecommand " swap$ * " [0]{\@secondoftwo}%" * write$ newline$
+  bibfield.command "\providecommand " swap$ * " [0]{\@secondoftwo}%" * write$ newline$
+}
+
+FUNCTION {init.bib.lang}
+{
+  "\providecommand \selectlanguage [0]{\@gobble}%" write$ newline$
+}
+
+FUNCTION {init.bib.endbibitem}
+{
+  "\providecommand " bbl.open * "[0]{}%" *           write$ newline$
+  "\providecommand \bibitemStop [0]{}%"               write$ newline$
+  "\providecommand \bibitemNoStop [0]{.\EOS\space}%"  write$ newline$
+  "\providecommand \EOS [0]{\spacefactor3000\relax}%"   write$ newline$
+}
+
+FUNCTION {init.bib.translation}
+{
+  "\providecommand \translation [1]{[#1]}%" write$ newline$
+}
+
+FUNCTION {warn.bib}
+{
+}
+
+FUNCTION {init.bib}
+{
+  warn.bib
+  "\makeatletter" write$ newline$
+  "\providecommand \@ifxundefined [1]{%"   write$ newline$
+  " \@ifx{#1\undefined}"                   write$ newline$
+  "}%"                                     write$ newline$
+  "\providecommand \@ifnum [1]{%"          write$ newline$
+  " \ifnum #1\expandafter \@firstoftwo"    write$ newline$
+  " \else \expandafter \@secondoftwo"      write$ newline$
+  " \fi"                                   write$ newline$
+  "}%"                                     write$ newline$
+  "\providecommand \@ifx [1]{%"            write$ newline$
+  " \ifx #1\expandafter \@firstoftwo"      write$ newline$
+  " \else \expandafter \@secondoftwo"      write$ newline$
+  " \fi"                                   write$ newline$
+  "}%"                                     write$ newline$
+  init.bib.ay
+  init.bib.quote
+  init.bib.namefont
+  init.bib.hypertex
+  init.bib.eprint
+  init.bib.doi
+  init.bib.lang
+  init.bib.bibinfo
+  init.bib.translation
+  init.bib.endbibitem
+  "\providecommand " bbl.shut * " [1]{\csname bibitem#1\endcsname}%" * write$ newline$
+  "\let\auto at bib@innerbib\@empty"          write$ newline$
+  "%</preamble>" write$
+}
+
+FUNCTION {begin.bib}
+{
+  id.bst diagn.cmntlog
+  control.bib
+  preamble$ empty$
+    'skip$
+    { preamble$ write$ newline$ }
+  if$
+  "\begin{thebibliography}{"
+  number.label int.to.str$
+  * "}%" *
+  write$ newline$
+  init.bib
+}
+
+EXECUTE {begin.bib}
+
+EXECUTE {init.state.consts}
+
+ITERATE {call.type$}
+
+FUNCTION {end.bib}
+{ newline$
+  "\end{thebibliography}%"
+  write$ newline$
+}
+
+EXECUTE {end.bib}
+
+%% End of customized bst file
+%%
+%% End of file `aipnum4-1.bst'.


Property changes on: trunk/Master/texmf-dist/bibtex/bst/revtex/aipnum4-1.bst
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Modified: trunk/Master/texmf-dist/bibtex/bst/revtex/aipnum4-2.bst
===================================================================
--- trunk/Master/texmf-dist/bibtex/bst/revtex/aipnum4-2.bst	2019-01-18 22:37:42 UTC (rev 49750)
+++ trunk/Master/texmf-dist/bibtex/bst/revtex/aipnum4-2.bst	2019-01-18 22:40:49 UTC (rev 49751)
@@ -36,7 +36,7 @@
  %   \citeyear{key} ==>>             1990
  %---------------------------------------------------------------------
 
-FUNCTION {id.bst} {"aipnum4-2.bst 2018-12-27 (MD) hand-edited version of apsrev4-1.bst"}
+FUNCTION {id.bst} {"aipnum4-2.bst 2019-01-14 (MD) hand-edited version of apsrev4-1.bst"}
 ENTRY
 {
     address
@@ -1528,6 +1528,11 @@
   " " *
 }
 
+FUNCTION {names.comma}
+{
+  "," *
+}
+
 FUNCTION {format.names}
 { 'bibinfo :=
   duplicate$ empty$ { pop$ "" } {
@@ -1560,7 +1565,7 @@
                   { pop$ }
                 if$
                 numnames #2 >
-                  'names.punctuate
+                  'names.comma
                   'skip$
                 if$
                 t "others" =
@@ -1571,7 +1576,7 @@
                     *
                   } {
                     bbl.and
-                    word.space * *
+                    space.word *
                     t *
                   }
                 if$
@@ -1711,7 +1716,7 @@
                   { pop$ }
                 if$
                 numnames #2 >
-                  'names.punctuate
+                  'names.comma
                   'skip$
                 if$
                 t "others" =

Added: trunk/Master/texmf-dist/bibtex/bst/revtex/apsrev4-1.bst
===================================================================
--- trunk/Master/texmf-dist/bibtex/bst/revtex/apsrev4-1.bst	                        (rev 0)
+++ trunk/Master/texmf-dist/bibtex/bst/revtex/apsrev4-1.bst	2019-01-18 22:40:49 UTC (rev 49751)
@@ -0,0 +1,3457 @@
+%%
+%% This is file `apsrev4-1.bst',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% merlin.mbs  (with options: `head,ay,nat,lang,pres,pres-bf,seq-no,vonx,nm-init,ed-au,jnrlst,nmft,nmft-def,fnm-def,nmfted,nmand-rm,lab,lab-def,and-rm,keyxyr,blkyear,yr-par,dtrev,date-nil-x,tit-qq,inproceedings-chapter,jtit-x,inproceedings-chapter,article-booktitle,article-series,jttl-rm,journal-address,book-bt,thesis-title-o,trtit-b,techreport-institution-par,vol-bf,vnum-x,volp-com,jpg-1,book-editor-booktitle,inbook-editor-booktitle,bookaddress,num-xser,number-cap,chapter-cap,series-number,numser-booktitle,ser-vol,ser-rm,volume-cap,ser-ed,jnm-x,pg-bk,book-chapter-pages,pub-date,ay-empty-pub-parens-x,pre-pub,pre-edn,doi-link,doi,edby,blk-com,fin-endbibitem,pp,ed,abr,ednx,ord,jabr,etal-it,revdata,eprint,url,url-blk,translation,SLACcitation,numpages-x,url,url-prefix-x,bibinfo,bibfield,nfss,,{}')
+%% physjour.mbs  (with options: `ay,nat,lang,pres,pres-bf,seq-no,vonx,nm-init,ed-au,jnrlst,nmft,nmft-def,fnm-def,nmfted,nmand-rm,lab,lab-def,and-rm,keyxyr,blkyear,yr-par,dtrev,date-nil-x,tit-qq,inproceedings-chapter,jtit-x,inproceedings-chapter,article-booktitle,article-series,jttl-rm,journal-address,book-bt,thesis-title-o,trtit-b,techreport-institution-par,vol-bf,vnum-x,volp-com,jpg-1,book-editor-booktitle,inbook-editor-booktitle,bookaddress,num-xser,number-cap,chapter-cap,series-number,numser-booktitle,ser-vol,ser-rm,volume-cap,ser-ed,jnm-x,pg-bk,book-chapter-pages,pub-date,ay-empty-pub-parens-x,pre-pub,pre-edn,doi-link,doi,edby,blk-com,fin-endbibitem,pp,ed,abr,ednx,ord,jabr,etal-it,revdata,eprint,url,url-blk,translation,SLACcitation,numpages-x,url,url-prefix-x,bibinfo,bibfield,nfss,,{}')
+%% geojour.mbs  (with options: `ay,nat,lang,pres,pres-bf,seq-no,vonx,nm-init,ed-au,jnrlst,nmft,nmft-def,fnm-def,nmfted,nmand-rm,lab,lab-def,and-rm,keyxyr,blkyear,yr-par,dtrev,date-nil-x,tit-qq,inproceedings-chapter,jtit-x,inproceedings-chapter,article-booktitle,article-series,jttl-rm,journal-address,book-bt,thesis-title-o,trtit-b,techreport-institution-par,vol-bf,vnum-x,volp-com,jpg-1,book-editor-booktitle,inbook-editor-booktitle,bookaddress,num-xser,number-cap,chapter-cap,series-number,numser-booktitle,ser-vol,ser-rm,volume-cap,ser-ed,jnm-x,pg-bk,book-chapter-pages,pub-date,ay-empty-pub-parens-x,pre-pub,pre-edn,doi-link,doi,edby,blk-com,fin-endbibitem,pp,ed,abr,ednx,ord,jabr,etal-it,revdata,eprint,url,url-blk,translation,SLACcitation,numpages-x,url,url-prefix-x,bibinfo,bibfield,nfss,,{}')
+%% photjour.mbs  (with options: `ay,nat,lang,pres,pres-bf,seq-no,vonx,nm-init,ed-au,jnrlst,nmft,nmft-def,fnm-def,nmfted,nmand-rm,lab,lab-def,and-rm,keyxyr,blkyear,yr-par,dtrev,date-nil-x,tit-qq,inproceedings-chapter,jtit-x,inproceedings-chapter,article-booktitle,article-series,jttl-rm,journal-address,book-bt,thesis-title-o,trtit-b,techreport-institution-par,vol-bf,vnum-x,volp-com,jpg-1,book-editor-booktitle,inbook-editor-booktitle,bookaddress,num-xser,number-cap,chapter-cap,series-number,numser-booktitle,ser-vol,ser-rm,volume-cap,ser-ed,jnm-x,pg-bk,book-chapter-pages,pub-date,ay-empty-pub-parens-x,pre-pub,pre-edn,doi-link,doi,edby,blk-com,fin-endbibitem,pp,ed,abr,ednx,ord,jabr,etal-it,revdata,eprint,url,url-blk,translation,SLACcitation,numpages-x,url,url-prefix-x,bibinfo,bibfield,nfss,,{}')
+%% merlin.mbs  (with options: `tail,ay,nat,lang,pres,pres-bf,seq-no,vonx,nm-init,ed-au,jnrlst,nmft,nmft-def,fnm-def,nmfted,nmand-rm,lab,lab-def,and-rm,keyxyr,blkyear,yr-par,dtrev,date-nil-x,tit-qq,inproceedings-chapter,jtit-x,inproceedings-chapter,article-booktitle,article-series,jttl-rm,journal-address,book-bt,thesis-title-o,trtit-b,techreport-institution-par,vol-bf,vnum-x,volp-com,jpg-1,book-editor-booktitle,inbook-editor-booktitle,bookaddress,num-xser,number-cap,chapter-cap,series-number,numser-booktitle,ser-vol,ser-rm,volume-cap,ser-ed,jnm-x,pg-bk,book-chapter-pages,pub-date,ay-empty-pub-parens-x,pre-pub,pre-edn,doi-link,doi,edby,blk-com,fin-endbibitem,pp,ed,abr,ednx,ord,jabr,etal-it,revdata,eprint,url,url-blk,translation,SLACcitation,numpages-x,url,url-prefix-x,bibinfo,bibfield,nfss,,{}')
+%% ----------------------------------------
+%% *** REVTeX-compatible Phys Rev 2010-07-25 ***
+%% 
+%% Copyright 1994-2007 Patrick W Daly
+ % ===============================================================
+ % IMPORTANT NOTICE:
+ % This bibliographic style (bst) file has been generated from one or
+ % more master bibliographic style (mbs) files, listed above.
+ %
+ % This generated file can be redistributed and/or modified under the terms
+ % of the LaTeX Project Public License Distributed from CTAN
+ % archives in directory macros/latex/base/lppl.txt; either
+ % version 1 of the License, or any later version.
+ % ===============================================================
+ % Name and version information of the main mbs file:
+ %   For use with BibTeX version 0.99a or later
+ %-------------------------------------------------------------------
+ % This bibliography style file is intended for texts in ENGLISH
+ % This is an author-year citation style bibliography. As such, it is
+ % non-standard LaTeX, and requires a special package file to function properly.
+ % Such a package is    natbib.sty   by Patrick W. Daly
+ % The form of the \bibitem entries is
+ %   \bibitem[Jones et al.(1990)]{key}...
+ %   \bibitem[Jones et al.(1990)Jones, Baker, and Smith]{key}...
+ % The essential feature is that the label (the part in brackets) consists
+ % of the author names, as they should appear in the citation, with the year
+ % in parentheses following. There must be no space before the opening
+ % parenthesis!
+ % With natbib v5.3, a full list of authors may also follow the year.
+ % In natbib.sty, it is possible to define the type of enclosures that is
+ % really wanted (brackets or parentheses), but in either case, there must
+ % be parentheses in the label.
+ % The \cite command functions as follows:
+ %   \citet{key} ==>>                Jones et al. (1990)
+ %   \citet*{key} ==>>               Jones, Baker, and Smith (1990)
+ %   \citep{key} ==>>                (Jones et al., 1990)
+ %   \citep*{key} ==>>               (Jones, Baker, and Smith, 1990)
+ %   \citep[chap. 2]{key} ==>>       (Jones et al., 1990, chap. 2)
+ %   \citep[e.g.][]{key} ==>>        (e.g. Jones et al., 1990)
+ %   \citep[e.g.][p. 32]{key} ==>>   (e.g. Jones et al., p. 32)
+ %   \citeauthor{key} ==>>           Jones et al.
+ %   \citeauthor*{key} ==>>          Jones, Baker, and Smith
+ %   \citeyear{key} ==>>             1990
+ %---------------------------------------------------------------------
+
+FUNCTION {id.bst} {"merlin.mbs apsrev4-1.bst 2010-07-25 4.21a (PWD, AO, DPC) hacked"}
+ENTRY
+{
+    address
+    archive
+    archivePrefix
+    author
+    bookaddress
+    booktitle
+    chapter
+    collaboration
+    doi
+    edition
+    editor
+    eid
+    eprint
+    howpublished
+    institution
+    isbn
+    issn
+    journal
+    key
+    language
+    month
+    note
+    number
+    organization
+    pages
+    primaryClass
+    publisher
+    school
+    SLACcitation
+    series
+    title
+    translation
+    type
+    url
+    volume
+    year
+}{
+}{
+    label
+    extra.label sort.label
+    short.list
+}
+
+INTEGERS
+{
+  output.state before.all
+  after.word after.punctuation
+  after.sentence after.block
+}
+
+INTEGERS
+{
+  punctuation.state punctuation.no punctuation.space punctuation.yes
+}
+
+STRINGS { bibfield output.bibfield }
+
+FUNCTION {not}
+{   { #0 }
+    { #1 }
+  if$
+}
+
+FUNCTION {and}
+{   'skip$
+    { pop$ #0 }
+  if$
+}
+
+FUNCTION {or}
+{   { pop$ #1 }
+    'skip$
+  if$
+}
+
+FUNCTION {non.stop}
+{ duplicate$
+   "}" * add.period$
+   #-1 #1 substring$ "." =
+}
+
+INTEGERS { arith.mulitplier arith.multiplicand }
+
+FUNCTION {multiply}
+{
+  'arith.multiplicand :=
+  'arith.mulitplier :=
+  #0
+    { arith.mulitplier #0 > }
+    { arith.multiplicand +
+      arith.mulitplier #1 - 'arith.mulitplier :=
+    }
+  while$
+}
+
+FUNCTION {chr.to.hex}
+{
+  chr.to.int$
+  duplicate$ "0" chr.to.int$ -
+  duplicate$ duplicate$ #0 < swap$ #9 > or not
+    { swap$ pop$ }
+    { pop$
+      duplicate$ "A" chr.to.int$ -
+      duplicate$ duplicate$ #0 < swap$ #5 > or not
+        { swap$ pop$ #10 + }
+        { pop$
+          duplicate$ "a" chr.to.int$ -
+          duplicate$ duplicate$ #0 < swap$ #5 > or not
+            { swap$ pop$ #10 + }
+            { pop$
+              pop$ #-1
+            }
+          if$
+        }
+      if$
+    }
+  if$
+}
+
+INTEGERS { arith.accumulator }
+
+FUNCTION {str.to.hex}
+{ #0 'arith.accumulator :=
+    { duplicate$ empty$ not }
+    { duplicate$ #1 #1 substring$ chr.to.hex
+      duplicate$ #0 <
+        { pop$ pop$ ""
+        }
+        { arith.accumulator #16 multiply + 'arith.accumulator :=
+          #2 global.max$ substring$
+        }
+      if$
+    }
+  while$
+  pop$ arith.accumulator
+}
+
+FUNCTION {diagn.cmntlog}
+{
+  duplicate$ top$ "%" swap$ * write$ newline$
+}
+
+INTEGERS { control.key control.author control.editor control.title control.pages control.eprint control.year }
+
+INTEGERS { control.author.jnrlst control.author.dotless control.author.nospace control.author.initials control.author.nocomma control.author.first control.author.reversed }
+
+FUNCTION { control.init }
+{
+  #0
+  'control.key             :=
+  #0
+  #8 +
+  #64 +
+  'control.author :=
+  #1
+  'control.author.jnrlst   :=
+  #0
+  'control.author.dotless  :=
+  #0
+  'control.author.nospace  :=
+  #1
+  'control.author.initials :=
+  #0
+  'control.author.nocomma  :=
+  #0
+  'control.author.first    :=
+  #0
+  'control.author.reversed :=
+  #1
+  'control.editor :=
+  #-1
+  'control.title  :=
+  #0
+  'control.pages  :=
+  #0
+  'control.eprint :=
+  #1
+  'control.year   :=
+}
+
+FUNCTION {warning.dependency}
+{
+  " (dependency: " * swap$ * ") set " * swap$ int.to.str$ * warning$
+}
+
+FUNCTION {control.check}
+{
+  control.editor
+    {
+      "editor formatted same as author"
+      control.author.reversed {
+        duplicate$ #0 swap$ "reversed" warning.dependency
+        #0 'control.author.reversed :=
+      } 'skip$ if$
+      control.author.first {
+        duplicate$ #0 swap$ "first" warning.dependency
+        #0 'control.author.first :=
+      } 'skip$ if$
+      control.author.nocomma {
+        duplicate$ #0 swap$ "nocomma" warning.dependency
+        #0 'control.author.nocomma :=
+      } 'skip$ if$
+      pop$
+    } 'skip$ if$
+  control.author.reversed 'skip$
+    {
+      "not reversed"
+      control.author.nospace {
+        duplicate$ #0 swap$ "nospace" warning.dependency
+        #0 'control.author.nospace :=
+      } 'skip$ if$
+      control.author.jnrlst 'skip$ {
+        duplicate$ #1 swap$ "jnrlst" warning.dependency
+        #1 'control.author.jnrlst :=
+      } if$
+      control.author.initials {
+        duplicate$ ", initials" *
+        control.author.dotless {
+          duplicate$ #0 swap$ "dotless" warning.dependency
+          #0 'control.author.dotless :=
+        } 'skip$ if$
+        pop$
+      } 'skip$ if$
+      pop$
+    }
+  if$
+  control.author.initials 'skip$ {
+    "not initials"
+    control.author.nocomma {
+      duplicate$ #0 swap$ "nocomma" warning.dependency
+      #0 'control.author.nocomma :=
+    } 'skip$ if$
+    control.author.nospace {
+      duplicate$ #0 swap$ "nospace" warning.dependency
+      #0 'control.author.nospace :=
+    } 'skip$ if$
+    control.author.dotless 'skip$ {
+      duplicate$ #1 swap$ "dotless" warning.dependency
+      #1 'control.author.dotless :=
+    } if$
+    pop$
+  } if$
+}
+
+FUNCTION {control.parse}
+{
+  duplicate$ duplicate$ missing$
+    {
+      pop$ pop$ pop$
+    }
+    { empty$
+        {
+          pop$ #-1
+        }{
+          str.to.hex
+        }
+      if$
+      swap$ :=
+    }
+  if$
+}
+
+FUNCTION {control.dump}
+{
+  duplicate$ missing$ { pop$ "N/A" } 'skip$ if$
+  "{" swap$ * "}, " *
+  *
+}
+
+INTEGERS { decode.threshold }
+
+FUNCTION {control.decode}
+{
+  - duplicate$
+  #0 <
+    {
+      skip$ pop$ swap$ #0
+    }
+    {
+      swap$ pop$ swap$ #1
+    }
+  if$
+  swap$ :=
+}
+
+FUNCTION {control.author.decode}
+{
+  control.author
+  duplicate$ duplicate$ #0 < swap$ #128 < not or
+    {
+      int.to.str$ "(" swap$ * ")" *
+      "Control cannot interpret author " swap$ *
+      warning$
+    }{
+      'control.author.jnrlst   swap$ duplicate$ #64 control.decode
+      'control.author.dotless  swap$ duplicate$ #32 control.decode
+      'control.author.nospace  swap$ duplicate$ #16 control.decode
+      'control.author.initials swap$ duplicate$  #8 control.decode
+      'control.author.nocomma  swap$ duplicate$  #4 control.decode
+      'control.author.first    swap$ duplicate$  #2 control.decode
+      'control.author.reversed swap$ duplicate$  #1 control.decode
+      duplicate$ #0 =
+        'skip$
+        {
+          "Control: residue of author"
+          "(" swap$ * ")" * *
+          warning$
+        }
+      if$
+      pop$
+    }
+  if$
+}
+
+FUNCTION {control.setup}
+{
+  type$ cite$ "{" swap$ * "}, " * *
+  "control.key"    key    control.dump *
+  "control.author" author control.dump *
+  "control.editor" editor control.dump *
+  "control.title"  title  control.dump *
+  "control.pages"  pages  control.dump *
+  "control.year"   year   control.dump *
+  "control.eprint" eprint control.dump *
+  top$
+  'control.key    key    control.parse
+  'control.author author control.parse
+  'control.editor editor control.parse
+  'control.title  title  control.parse
+  'control.pages  pages  control.parse
+  'control.year   year   control.parse
+  'control.eprint eprint control.parse
+  control.author.decode
+}
+
+FUNCTION {control.pass}
+{ type$ "control" = 'control.setup 'skip$ if$
+}
+
+FUNCTION {control.presort}
+{
+}
+
+FUNCTION {control.forward}
+{
+}
+
+FUNCTION {control.reverse}
+{
+}
+
+FUNCTION {control.sort}
+{
+}
+
+FUNCTION {control.longest.label}
+{
+}
+
+FUNCTION {control.key.bib}
+{
+  "Control: key "
+  control.key
+  duplicate$ "(" swap$ int.to.str$ * ") " * swap$
+  pop$ *
+  diagn.cmntlog
+}
+
+FUNCTION {control.author.bib}
+{
+  "Control: author "
+  control.author "(" swap$ int.to.str$ * ")" * *
+  control.author.reversed { " reversed" * }{} if$
+  control.author.first    { " first"    * }{} if$
+  control.author.nocomma  { " nocomma"  * }{} if$
+  control.author.initials { " initials" * }{} if$
+  control.author.nospace  { " nospace"  * }{} if$
+  control.author.dotless  { " dotless"  * }{} if$
+  control.author.jnrlst   { " jnrlst"   * }{} if$
+  diagn.cmntlog
+}
+
+FUNCTION {control.editor.bib}
+{
+  "Control: editor formatted "
+  control.editor
+  duplicate$ "(" swap$ int.to.str$ * ") " * swap$
+  duplicate$ #0 <  {
+    pop$
+    "disabled!"
+  } {
+    #0 > {
+      "identically to author"
+    } {
+      "differently from author"
+    } if$
+  } if$ * *
+  diagn.cmntlog
+}
+
+FUNCTION {control.title.bib}
+{
+  "Control: production of article title "
+  control.title
+  duplicate$ "(" swap$ int.to.str$ * ") " * swap$
+  duplicate$ #0 <  {
+    pop$
+    "disabled"
+  } {
+    #0 > {
+      "required"
+    } {
+      "allowed"
+    } if$
+  } if$ * *
+  diagn.cmntlog
+}
+
+FUNCTION {control.pages.bib}
+{
+  "Control: page "
+  control.pages
+  duplicate$ "(" swap$ int.to.str$ * ") " * swap$
+  duplicate$ #0 <  {
+    pop$
+    "none"
+  } {
+    #0 > {
+      "range"
+    } {
+      "single"
+    } if$
+  } if$ * *
+  diagn.cmntlog
+}
+
+FUNCTION {control.year.bib}
+{
+  "Control: year "
+  control.year
+  duplicate$ "(" swap$ int.to.str$ * ") " * swap$
+  duplicate$ #0 <  {
+    pop$
+    "disabled!"
+  } {
+    #0 > {
+      "truncated"
+    } {
+      "verbatim"
+    } if$
+  } if$ * *
+  diagn.cmntlog
+}
+
+FUNCTION {control.eprint.bib}
+{
+  "Control: production of eprint "
+  control.eprint
+  duplicate$ "(" swap$ int.to.str$ * ") " * swap$
+  #0 < { "disabled" } { "enabled" } if$ * *
+  diagn.cmntlog
+}
+
+FUNCTION {control.bib}
+{
+  control.key.bib
+  control.author.bib
+  control.editor.bib
+  control.title.bib
+  control.pages.bib
+  control.year.bib
+  control.eprint.bib
+}
+
+FUNCTION {init.state.consts}
+{
+  #0 'before.all        :=
+  #1 'after.word        :=
+  #2 'after.punctuation :=
+  #3 'after.sentence    :=
+  #4 'after.block       :=
+  #0 'punctuation.no    :=
+  #1 'punctuation.space :=
+  #2 'punctuation.yes   :=
+  "" 'bibfield          :=
+  "" 'output.bibfield   :=
+}
+
+STRINGS { s t}
+FUNCTION {block.punctuation}
+{ ""
+  "," *
+}
+
+FUNCTION {word.space}
+{
+  "\ "
+}
+
+FUNCTION {show.stackstring.one}{
+  "(" *
+  output.state int.to.str$ *
+    "," * punctuation.state int.to.str$ *
+  ")" * top$
+  duplicate$ "1(" swap$ * ")" * top$
+}
+
+FUNCTION {show.stackstring.two}{
+  "(" *
+  output.state int.to.str$ *
+    "," * punctuation.state int.to.str$ *
+  ")" * top$
+  swap$
+  duplicate$ "1(" swap$ * ")" * top$
+  swap$
+  duplicate$ "2(" swap$ * ")" * top$
+}
+
+FUNCTION {bibfield.command}{ "\bibfield "}
+
+FUNCTION {output.nonnull}
+{
+  swap$
+  output.state after.word =
+    {
+      block.punctuation *
+      word.space *
+    }
+    {
+      output.state after.punctuation =
+        {
+          word.space *
+        }
+        {
+          output.state after.block = output.state after.sentence = or
+            {
+              add.period$
+              "\EOS\ " *
+            }{
+            }
+          if$
+        }
+      if$
+    }
+  if$
+  output.bibfield duplicate$ empty$ 'pop$
+    {
+      bibfield.command
+      " {" * swap$ * "} {" * swap$ * "}" *
+    }
+  if$
+  write$
+  bibfield 'output.bibfield := "" 'bibfield :=
+  output.state after.block =
+    {
+      newline$
+      "\newblock " write$
+    }
+    'skip$
+  if$
+  punctuation.state duplicate$
+  punctuation.yes 'punctuation.state :=
+  punctuation.no =
+    { pop$ before.all }
+    { punctuation.yes = { after.word }{ after.punctuation } if$ }
+  if$
+  'output.state :=
+}
+
+FUNCTION {output}
+{ duplicate$ empty$
+    {
+      pop$
+  "" 'bibfield :=
+    }
+    'output.nonnull
+  if$
+}
+
+FUNCTION {output.nopunct}
+{
+  punctuation.no 'punctuation.state :=
+  output.nonnull
+}
+
+FUNCTION {output.check}
+{ swap$
+  duplicate$ empty$
+    { pop$ "empty " swap$ * " in " * cite$ * warning$ }
+    { swap$ pop$ output.nonnull }
+  if$
+}
+
+FUNCTION {bbl.open} { "\BibitemOpen " }
+
+FUNCTION {bbl.shut} { "\BibitemShut " }
+
+FUNCTION {bibitem.shut.stop} { bbl.shut "{Stop}%" * }
+
+FUNCTION {bibitem.shut.nostop} { bbl.shut "{NoStop}%" * }
+
+FUNCTION {bibitem.shut}
+{
+  non.stop
+    {
+  bibitem.shut.nostop *
+    }{
+  bibitem.shut.stop *
+    }
+  if$
+}
+
+FUNCTION {html.itag} {
+  "p"
+}
+
+FUNCTION {html.ltag} {
+  ""
+}
+
+FUNCTION {output.SLACcitation}
+{ SLACcitation empty$
+    'skip$
+    {
+      newline$
+      SLACcitation write$
+    }
+  if$
+}
+
+FUNCTION {fin.entry}
+{
+  bibitem.shut
+  write$
+    output.SLACcitation
+}
+
+FUNCTION {new.block}
+{ output.state before.all =
+    'skip$
+    { after.block 'output.state := }
+  if$
+}
+
+FUNCTION {new.block.comma}
+{
+}
+
+FUNCTION {new.sentence}
+{ output.state after.block = output.state before.all = or
+    'skip$
+    { after.sentence 'output.state := }
+  if$
+}
+
+FUNCTION {new.sentence.comma}
+{
+}
+
+FUNCTION {sentence.or.colon}
+{
+  new.sentence
+}
+
+FUNCTION {add.blank}
+{
+  word.space *
+  before.all 'output.state :=
+}
+
+FUNCTION {no.blank.or.punct}
+{
+   "\hspace {0pt}" *
+   before.all 'output.state :=
+}
+
+FUNCTION {date.block}
+{
+  new.block.comma
+  skip$
+}
+
+STRINGS {z}
+FUNCTION {remove.dots}
+{
+  control.author.dotless {
+    'z :=
+    ""
+    { z empty$ not }
+    { z #1 #1 substring$
+      z #2 global.max$ substring$ 'z :=
+      duplicate$ "." = 'pop$
+        { * }
+      if$
+    }
+    while$
+  } 'skip$ if$
+}
+
+FUNCTION {new.block.checkb}
+{ empty$
+  swap$ empty$
+  and
+    'skip$
+    'new.block
+  if$
+}
+
+FUNCTION {field.or.null}
+{ duplicate$ empty$
+    { pop$ "" }
+    'skip$
+  if$
+}
+
+FUNCTION {emphasize}
+{
+  duplicate$ empty$
+    { pop$ "" }
+    {
+      "\emph {" swap$ * "}" *
+    }
+  if$
+}
+
+FUNCTION {bolden}
+{ duplicate$ empty$
+    { pop$ "" }
+    { "\textbf {" swap$ * "}" * }
+  if$
+}
+
+FUNCTION {bib.name.font}
+{
+  duplicate$ empty$
+    { pop$ "" }
+    {
+    "\bibnamefont {" swap$ * "}" *
+    }
+  if$
+}
+
+FUNCTION {bib.fname.font}
+{
+  duplicate$ empty$
+    { pop$ "" }
+    {
+    "\bibfnamefont {" swap$ * "}" *
+    }
+  if$
+}
+
+FUNCTION {cite.name.font}
+{
+  duplicate$ empty$
+    { pop$ "" }
+    {
+    "\citenamefont {" swap$ * "}" *
+    }
+  if$
+}
+
+FUNCTION {tie.or.space.prefix}
+{ duplicate$ text.length$ #3 <
+    { "~" }
+    { word.space }
+  if$
+  swap$
+}
+
+FUNCTION {capitalize}
+{
+  "u" change.case$ "t" change.case$
+}
+
+FUNCTION {space.word}
+{ word.space swap$ * word.space * }
+
+ % Here are the language-specific definitions for explicit words.
+ % Each function has a name bbl.xxx where xxx is the English word.
+ % The language selected here is ENGLISH
+
+FUNCTION {bbl.and}
+{
+  "and"
+}
+
+FUNCTION {bbl.etal}
+{
+  "et~al."
+}
+
+FUNCTION {bbl.editors}
+{
+  "eds."
+}
+
+FUNCTION {bbl.editor}
+{
+  "ed."
+}
+
+FUNCTION {bbl.edby}
+{ "edited by" }
+
+FUNCTION {bbl.edition}
+{
+  "ed."
+}
+
+FUNCTION {bbl.volume}
+{
+  "vol."
+}
+
+FUNCTION {bbl.of}
+{ "of" }
+
+FUNCTION {bbl.number}
+{
+  "no."
+}
+
+FUNCTION {bbl.nr}
+{ "no." }
+
+FUNCTION {bbl.in}
+{ "in" }
+
+FUNCTION {bbl.pages}
+{
+  "pp."
+}
+
+FUNCTION {bbl.page}
+{
+  "p."
+}
+
+FUNCTION {bbl.eidpp}
+{ "pages" }
+
+FUNCTION {bbl.chapter}
+{
+  "chap."
+}
+
+FUNCTION {bbl.techrep}
+{
+  "Tech. Rep."
+}
+
+FUNCTION {bbl.mthesis}
+{ "Master's thesis" }
+
+FUNCTION {bbl.phdthesis}
+{ "Ph.D. thesis" }
+
+FUNCTION {bbl.first}
+{
+  "1st"
+}
+
+FUNCTION {bbl.second}
+{
+  "2nd"
+}
+
+FUNCTION {bbl.third}
+{
+  "3rd"
+}
+
+FUNCTION {bbl.fourth}
+{
+  "4th"
+}
+
+FUNCTION {bbl.fifth}
+{
+  "5th"
+}
+
+FUNCTION {bbl.st}
+{ "st" }
+
+FUNCTION {bbl.nd}
+{ "nd" }
+
+FUNCTION {bbl.rd}
+{ "rd" }
+
+FUNCTION {bbl.th}
+{ "th" }
+
+MACRO {jan} {"Jan."}
+
+MACRO {feb} {"Feb."}
+
+MACRO {mar} {"Mar."}
+
+MACRO {apr} {"Apr."}
+
+MACRO {may} {"May"}
+
+MACRO {jun} {"Jun."}
+
+MACRO {jul} {"Jul."}
+
+MACRO {aug} {"Aug."}
+
+MACRO {sep} {"Sep."}
+
+MACRO {oct} {"Oct."}
+
+MACRO {nov} {"Nov."}
+
+MACRO {dec} {"Dec."}
+
+FUNCTION {bbl.url.prefix}
+{
+  "\urlprefix "
+}
+
+FUNCTION {eng.ord}
+{ duplicate$ "1" swap$ *
+  #-2 #1 substring$ "1" =
+     { bbl.th * }
+     { duplicate$ #-1 #1 substring$
+       duplicate$ "1" =
+         { pop$ bbl.st * }
+         { duplicate$ "2" =
+             { pop$ bbl.nd * }
+             { "3" =
+                 { bbl.rd * }
+                 { bbl.th * }
+               if$
+             }
+           if$
+          }
+       if$
+     }
+   if$
+}
+
+ %-------------------------------------------------------------------
+ % Begin module:
+ % \ProvidesFile{physjour.mbs}[2002/01/14 2.2 (PWD)]
+MACRO {aa}{"Astron. \& Astrophys."}
+MACRO {aasup}{"Astron. \& Astrophys. Suppl. Ser."}
+MACRO {aj} {"Astron. J."}
+MACRO {aph} {"Acta Phys."}
+MACRO {advp} {"Adv. Phys."}
+MACRO {ajp} {"Amer. J. Phys."}
+MACRO {ajm} {"Amer. J. Math."}
+MACRO {amsci} {"Amer. Sci."}
+MACRO {anofd} {"Ann. Fluid Dyn."}
+MACRO {am} {"Ann. Math."}
+MACRO {ap} {"Ann. Phys. (NY)"}
+MACRO {adp} {"Ann. Phys. (Leipzig)"}
+MACRO {ao} {"Appl. Opt."}
+MACRO {apl} {"Appl. Phys. Lett."}
+MACRO {app} {"Astroparticle Phys."}
+MACRO {apj} {"Astrophys. J."}
+MACRO {apjsup} {"Astrophys. J. Suppl."}
+MACRO {apss} {"Astrophys. Space Sci."}
+MACRO {araa} {"Ann. Rev. Astron. Astrophys."}
+MACRO {baas} {"Bull. Amer. Astron. Soc."}
+MACRO {baps} {"Bull. Amer. Phys. Soc."}
+MACRO {cmp} {"Comm. Math. Phys."}
+MACRO {cpam} {"Commun. Pure Appl. Math."}
+MACRO {cppcf} {"Comm. Plasma Phys. \& Controlled Fusion"}
+MACRO {cpc} {"Comp. Phys. Comm."}
+MACRO {cqg} {"Class. Quant. Grav."}
+MACRO {cra} {"C. R. Acad. Sci. A"}
+MACRO {fed} {"Fusion Eng. \& Design"}
+MACRO {ft} {"Fusion Tech."}
+MACRO {grg} {"Gen. Relativ. Gravit."}
+MACRO {ieeens} {"IEEE Trans. Nucl. Sci."}
+MACRO {ieeeps} {"IEEE Trans. Plasma Sci."}
+MACRO {ijimw} {"Interntl. J. Infrared \& Millimeter Waves"}
+MACRO {ip} {"Infrared Phys."}
+MACRO {irp} {"Infrared Phys."}
+MACRO {jap} {"J. Appl. Phys."}
+MACRO {jasa} {"J. Acoust. Soc. America"}
+MACRO {jcp} {"J. Comp. Phys."}
+MACRO {jetp} {"Sov. Phys.--JETP"}
+MACRO {jfe} {"J. Fusion Energy"}
+MACRO {jfm} {"J. Fluid Mech."}
+MACRO {jmp} {"J. Math. Phys."}
+MACRO {jne} {"J. Nucl. Energy"}
+MACRO {jnec} {"J. Nucl. Energy, C: Plasma Phys., Accelerators, Thermonucl. Res."}
+MACRO {jnm} {"J. Nucl. Mat."}
+MACRO {jpc} {"J. Phys. Chem."}
+MACRO {jpp} {"J. Plasma Phys."}
+MACRO {jpsj} {"J. Phys. Soc. Japan"}
+MACRO {jsi} {"J. Sci. Instrum."}
+MACRO {jvst} {"J. Vac. Sci. \& Tech."}
+MACRO {nat} {"Nature"}
+MACRO {nature} {"Nature"}
+MACRO {nedf} {"Nucl. Eng. \& Design/Fusion"}
+MACRO {nf} {"Nucl. Fusion"}
+MACRO {nim} {"Nucl. Inst. \& Meth."}
+MACRO {nimpr} {"Nucl. Inst. \& Meth. in Phys. Res."}
+MACRO {np} {"Nucl. Phys."}
+MACRO {npb} {"Nucl. Phys. B"}
+MACRO {nt/f} {"Nucl. Tech./Fusion"}
+MACRO {npbpc} {"Nucl. Phys. B (Proc. Suppl.)"}
+MACRO {inc} {"Nuovo Cimento"}
+MACRO {nc} {"Nuovo Cimento"}
+MACRO {pf} {"Phys. Fluids"}
+MACRO {pfa} {"Phys. Fluids A: Fluid Dyn."}
+MACRO {pfb} {"Phys. Fluids B: Plasma Phys."}
+MACRO {pl} {"Phys. Lett."}
+MACRO {pla} {"Phys. Lett. A"}
+MACRO {plb} {"Phys. Lett. B"}
+MACRO {prep} {"Phys. Rep."}
+MACRO {pnas} {"Proc. Nat. Acad. Sci. USA"}
+MACRO {pp} {"Phys. Plasmas"}
+MACRO {ppcf} {"Plasma Phys. \& Controlled Fusion"}
+MACRO {phitrsl} {"Philos. Trans. Roy. Soc. London"}
+MACRO {prl} {"Phys. Rev. Lett."}
+MACRO {pr} {"Phys. Rev."}
+MACRO {physrev} {"Phys. Rev."}
+MACRO {pra} {"Phys. Rev. A"}
+MACRO {prb} {"Phys. Rev. B"}
+MACRO {prc} {"Phys. Rev. C"}
+MACRO {prd} {"Phys. Rev. D"}
+MACRO {pre} {"Phys. Rev. E"}
+MACRO {ps} {"Phys. Scripta"}
+MACRO {procrsl} {"Proc. Roy. Soc. London"}
+MACRO {rmp} {"Rev. Mod. Phys."}
+MACRO {rsi} {"Rev. Sci. Inst."}
+MACRO {science} {"Science"}
+MACRO {sciam} {"Sci. Am."}
+MACRO {sam} {"Stud. Appl. Math."}
+MACRO {sjpp} {"Sov. J. Plasma Phys."}
+MACRO {spd} {"Sov. Phys.--Doklady"}
+MACRO {sptp} {"Sov. Phys.--Tech. Phys."}
+MACRO {spu} {"Sov. Phys.--Uspeki"}
+MACRO {st} {"Sky and Telesc."}
+ % End module: physjour.mbs
+ %-------------------------------------------------------------------
+ % Begin module:
+ % \ProvidesFile{geojour.mbs}[2002/07/10 2.0h (PWD)]
+MACRO {aisr} {"Adv. Space Res."}
+MACRO {ag} {"Ann. Geophys."}
+MACRO {anigeo} {"Ann. Geofis."}
+MACRO {angl} {"Ann. Glaciol."}
+MACRO {andmet} {"Ann. d. Meteor."}
+MACRO {andgeo} {"Ann. d. Geophys."}
+MACRO {andphy} {"Ann. Phys.-Paris"}
+MACRO {afmgb} {"Arch. Meteor. Geophys. Bioklimatol."}
+MACRO {atph} {"Atm\'osphera"}
+MACRO {aao} {"Atmos. Ocean"}
+MACRO {ass}{"Astrophys. Space Sci."}
+MACRO {atenv} {"Atmos. Environ."}
+MACRO {aujag} {"Aust. J. Agr. Res."}
+MACRO {aumet} {"Aust. Meteorol. Mag."}
+MACRO {blmet} {"Bound.-Lay. Meteorol."}
+MACRO {bams} {"Bull. Amer. Meteorol. Soc."}
+MACRO {cch} {"Clim. Change"}
+MACRO {cdyn} {"Clim. Dynam."}
+MACRO {cbul} {"Climatol. Bull."}
+MACRO {cap} {"Contrib. Atmos. Phys."}
+MACRO {dsr} {"Deep-Sea Res."}
+MACRO {dhz} {"Dtsch. Hydrogr. Z."}
+MACRO {dao} {"Dynam. Atmos. Oceans"}
+MACRO {eco} {"Ecology"}
+MACRO {empl}{"Earth, Moon and Planets"}
+MACRO {envres} {"Environ. Res."}
+MACRO {envst} {"Environ. Sci. Technol."}
+MACRO {ecms} {"Estuarine Coastal Mar. Sci."}
+MACRO {expa}{"Exper. Astron."}
+MACRO {geoint} {"Geofis. Int."}
+MACRO {geopub} {"Geofys. Publ."}
+MACRO {geogeo} {"Geol. Geofiz."}
+MACRO {gafd} {"Geophys. Astrophys. Fluid Dyn."}
+MACRO {gfd} {"Geophys. Fluid Dyn."}
+MACRO {geomag} {"Geophys. Mag."}
+MACRO {georl} {"Geophys. Res. Lett."}
+MACRO {grl} {"Geophys. Res. Lett."}
+MACRO {ga} {"Geophysica"}
+MACRO {gs} {"Geophysics"}
+MACRO {ieeetap} {"IEEE Trans. Antenn. Propag."}
+MACRO {ijawp} {"Int. J. Air Water Pollut."}
+MACRO {ijc} {"Int. J. Climatol."}
+MACRO {ijrs} {"Int. J. Remote Sens."}
+MACRO {jam} {"J. Appl. Meteorol."}
+MACRO {jaot} {"J. Atmos. Ocean. Technol."}
+MACRO {jatp} {"J. Atmos. Terr. Phys."}
+MACRO {jastp} {"J. Atmos. Solar-Terr. Phys."}
+MACRO {jce} {"J. Climate"}
+MACRO {jcam} {"J. Climate Appl. Meteor."}
+MACRO {jcm} {"J. Climate Meteor."}
+MACRO {jcy} {"J. Climatol."}
+MACRO {jgr} {"J. Geophys. Res."}
+MACRO {jga} {"J. Glaciol."}
+MACRO {jh} {"J. Hydrol."}
+MACRO {jmr} {"J. Mar. Res."}
+MACRO {jmrj} {"J. Meteor. Res. Japan"}
+MACRO {jm} {"J. Meteor."}
+MACRO {jpo} {"J. Phys. Oceanogr."}
+MACRO {jra} {"J. Rech. Atmos."}
+MACRO {jaes} {"J. Aeronaut. Sci."}
+MACRO {japca} {"J. Air Pollut. Control Assoc."}
+MACRO {jas} {"J. Atmos. Sci."}
+MACRO {jmts} {"J. Mar. Technol. Soc."}
+MACRO {jmsj} {"J. Meteorol. Soc. Japan"}
+MACRO {josj} {"J. Oceanogr. Soc. Japan"}
+MACRO {jwm} {"J. Wea. Mod."}
+MACRO {lao} {"Limnol. Oceanogr."}
+MACRO {mwl} {"Mar. Wea. Log"}
+MACRO {mau} {"Mausam"}
+MACRO {meteor} {"``Meteor'' Forschungsergeb."}
+MACRO {map} {"Meteorol. Atmos. Phys."}
+MACRO {metmag} {"Meteor. Mag."}
+MACRO {metmon} {"Meteor. Monogr."}
+MACRO {metrun} {"Meteor. Rundsch."}
+MACRO {metzeit} {"Meteor. Z."}
+MACRO {metgid} {"Meteor. Gidrol."}
+MACRO {mwr} {"Mon. Weather Rev."}
+MACRO {nwd} {"Natl. Weather Dig."}
+MACRO {nzjmfr} {"New Zeal. J. Mar. Freshwater Res."}
+MACRO {npg} {"Nonlin. Proc. Geophys."}
+MACRO {om} {"Oceanogr. Meteorol."}
+MACRO {ocac} {"Oceanol. Acta"}
+MACRO {oceanus} {"Oceanus"}
+MACRO {paleoc} {"Paleoceanography"}
+MACRO {pce} {"Phys. Chem. Earth"}
+MACRO {pmg} {"Pap. Meteor. Geophys."}
+MACRO {ppom} {"Pap. Phys. Oceanogr. Meteor."}
+MACRO {physzeit} {"Phys. Z."}
+MACRO {pps} {"Planet. Space Sci."}
+MACRO {pss} {"Planet. Space Sci."}
+MACRO {pag} {"Pure Appl. Geophys."}
+MACRO {qjrms} {"Quart. J. Roy. Meteorol. Soc."}
+MACRO {quatres} {"Quat. Res."}
+MACRO {rsci} {"Radio Sci."}
+MACRO {rse} {"Remote Sens. Environ."}
+MACRO {rgeo} {"Rev. Geophys."}
+MACRO {rgsp} {"Rev. Geophys. Space Phys."}
+MACRO {rdgeo} {"Rev. Geofis."}
+MACRO {revmeta} {"Rev. Meteorol."}
+MACRO {sgp}{"Surveys in Geophys."}
+MACRO {sp} {"Solar Phys."}
+MACRO {ssr} {"Space Sci. Rev."}
+MACRO {tellus} {"Tellus"}
+MACRO {tac} {"Theor. Appl. Climatol."}
+MACRO {tagu} {"Trans. Am. Geophys. Union (EOS)"}
+MACRO {wrr} {"Water Resour. Res."}
+MACRO {weather} {"Weather"}
+MACRO {wafc} {"Weather Forecast."}
+MACRO {ww} {"Weatherwise"}
+MACRO {wmob} {"WMO Bull."}
+MACRO {zeitmet} {"Z. Meteorol."}
+ % End module: geojour.mbs
+ %-------------------------------------------------------------------
+ % Begin module:
+ % \ProvidesFile{photjour.mbs}[1999/02/24 2.0b (PWD)]
+
+MACRO {appopt} {"Appl. Opt."}
+MACRO {bell} {"Bell Syst. Tech. J."}
+MACRO {ell} {"Electron. Lett."}
+MACRO {jasp} {"J. Appl. Spectr."}
+MACRO {jqe} {"IEEE J. Quantum Electron."}
+MACRO {jlwt} {"J. Lightwave Technol."}
+MACRO {jmo} {"J. Mod. Opt."}
+MACRO {josa} {"J. Opt. Soc. America"}
+MACRO {josaa} {"J. Opt. Soc. Amer.~A"}
+MACRO {josab} {"J. Opt. Soc. Amer.~B"}
+MACRO {jdp} {"J. Phys. (Paris)"}
+MACRO {oc} {"Opt. Commun."}
+MACRO {ol} {"Opt. Lett."}
+MACRO {phtl} {"IEEE Photon. Technol. Lett."}
+MACRO {pspie} {"Proc. Soc. Photo-Opt. Instrum. Eng."}
+MACRO {sse} {"Solid-State Electron."}
+MACRO {sjot} {"Sov. J. Opt. Technol."}
+MACRO {sjqe} {"Sov. J. Quantum Electron."}
+MACRO {sleb} {"Sov. Phys.--Leb. Inst. Rep."}
+MACRO {stph} {"Sov. Phys.--Techn. Phys."}
+MACRO {stphl} {"Sov. Techn. Phys. Lett."}
+MACRO {vr} {"Vision Res."}
+MACRO {zph} {"Z. f. Physik"}
+MACRO {zphb} {"Z. f. Physik~B"}
+MACRO {zphd} {"Z. f. Physik~D"}
+
+MACRO {CLEO} {"CLEO"}
+MACRO {ASSL} {"Adv. Sol.-State Lasers"}
+MACRO {OSA}  {"OSA"}
+ % End module: photjour.mbs
+%% Copyright 1994-2007 Patrick W Daly
+MACRO {acmcs} {"ACM Comput. Surv."}
+
+MACRO {acta} {"Acta Inf."}
+
+MACRO {cacm} {"Commun. ACM"}
+
+MACRO {ibmjrd} {"IBM J. Res. Dev."}
+
+MACRO {ibmsj} {"IBM Syst.~J."}
+
+MACRO {ieeese} {"IEEE Trans. Software Eng."}
+
+MACRO {ieeetc} {"IEEE Trans. Comput."}
+
+MACRO {ieeetcad}
+ {"IEEE Trans. Comput. Aid. Des."}
+
+MACRO {ipl} {"Inf. Process. Lett."}
+
+MACRO {jacm} {"J.~ACM"}
+
+MACRO {jcss} {"J.~Comput. Syst. Sci."}
+
+MACRO {scp} {"Sci. Comput. Program."}
+
+MACRO {sicomp} {"SIAM J. Comput."}
+
+MACRO {tocs} {"ACM Trans. Comput. Syst."}
+
+MACRO {tods} {"ACM Trans. Database Syst."}
+
+MACRO {tog} {"ACM Trans. Graphic."}
+
+MACRO {toms} {"ACM Trans. Math. Software"}
+
+MACRO {toois} {"ACM Trans. Office Inf. Syst."}
+
+MACRO {toplas} {"ACM Trans. Progr. Lang. Syst."}
+
+MACRO {tcs} {"Theor. Comput. Sci."}
+
+FUNCTION {bibinfo.command} { "\bibinfo " }
+
+FUNCTION {bibinfo.check}
+{ swap$
+  duplicate$ missing$
+    {
+      pop$
+      pop$ ""
+    }{
+      duplicate$ empty$
+        {
+          swap$ pop$
+        }{
+          swap$
+          bibinfo.command "{" * swap$ * "} {" * swap$ * "}" *
+        }
+      if$
+    }
+  if$
+}
+
+FUNCTION {bibinfo.warn}
+{ swap$
+  duplicate$ missing$
+    {
+      swap$ "missing " swap$ * " in " * cite$ * warning$ pop$
+      ""
+    }{
+      duplicate$ empty$
+        {
+          swap$ "empty " swap$ * " in " * cite$ * warning$
+        }{
+          swap$
+          bibinfo.command " {" * swap$ * "} {" * swap$ * "}" *
+        }
+      if$
+    }
+  if$
+}
+
+FUNCTION {archiv.base}
+{
+  "http://arxiv.org/abs"
+}
+
+FUNCTION {archiv.prefix.base}
+{
+  "arXiv"
+}
+
+FUNCTION {eprint.command}
+{
+  "\Eprint "
+}
+
+FUNCTION {format.eprint}
+{
+  eprint duplicate$ empty$
+  control.eprint #0 <
+  or
+    { pop$ "" }
+    {
+      duplicate$
+      ""
+        archive duplicate$ empty$ { pop$ archiv.base } 'skip$ if$ *
+        "/" *
+        swap$ *
+        "{" swap$ * "} " *
+      swap$
+      ""
+        archivePrefix duplicate$ empty$ { pop$ "" } { ":" * } if$ *
+        swap$ *
+        primaryClass  duplicate$ empty$ { pop$ "" } { " [" swap$ * "]" * } if$ *
+        "{" swap$ * "} " *
+      *
+      eprint.command swap$ *
+    }
+  if$
+}
+
+FUNCTION {format.translation}
+{ translation duplicate$ empty$
+    'skip$
+    { ""
+      "\translation{" * swap$ * "}" *
+      punctuation.space 'punctuation.state :=
+    }
+  if$
+}
+
+FUNCTION {format.url}
+{
+  url duplicate$ empty$
+    { pop$ "" }
+    {
+      "\url "
+      "{" * swap$ * "}" *
+    }
+  if$
+}
+
+INTEGERS { nameptr namesleft numnames }
+
+FUNCTION {check.speaker}
+{ key empty$ 'skip$
+  { key nameptr int.to.str$ =
+    {
+      bolden
+    }
+      'skip$
+    if$
+  }
+  if$
+}
+
+
+STRINGS  { bibinfo}
+
+FUNCTION {format.names.fname}
+{
+  control.author.initials {
+    control.author.dotless {
+      control.author.nospace {
+        "f{}"
+      } {
+        "f{~}"
+      } if$
+    } {
+      control.author.nospace {
+        "f{.}."
+      } {
+        "f."
+      } if$
+    } if$
+  } {
+    "ff"
+  } if$
+}
+
+FUNCTION {bracify}
+{
+  "{" swap$ * "}" *
+}
+
+FUNCTION {name.comma}
+{
+  control.author.nocomma 'skip$ { "," swap$ * } if$
+}
+
+FUNCTION {format.names.format.onefont}
+{
+  "{vv~}{ll}"
+  nameptr #1 >
+  control.author.first
+  and
+  control.author.reversed not
+  or
+    {
+      control.author.initials {
+        "f"
+        control.author.dotless 'skip$ {
+          "." *
+        } if$
+        "~" *
+      } {
+        "ff"
+      } if$
+      bracify
+      swap$
+    } {
+      format.names.fname
+      " " swap$ *
+      name.comma
+      bracify
+    }
+  if$
+  "jj"
+  " " swap$ *
+  name.comma
+  bracify
+  control.author.jnrlst 'skip$ 'swap$ if$
+  * *
+}
+
+FUNCTION {format.names.onefont}
+{
+  s nameptr format.names.format.onefont format.name$
+  remove.dots
+  bib.name.font
+}
+
+FUNCTION {format.names.morfont}
+{ s nameptr
+  "{vv~}{ll}" format.name$ bib.name.font
+  nameptr #1 >
+  control.author.first
+  and
+  control.author.reversed not
+  or
+  {
+    s nameptr
+    control.author.initials {
+      "f"                        % default: name + surname + comma junior
+    } {
+      "ff"
+    } if$
+    control.author.dotless 'skip$ {
+      "." *                    % nm-init   % Initials. + surname (J. F. Smith)                                           control.author.initials
+    } if$
+    bracify
+    format.name$ duplicate$ empty$ 'skip$
+      { tie.or.space.prefix bib.fname.font swap$ * }
+    if$
+    swap$
+    *
+    s nameptr
+    "{jj}" format.name$ duplicate$ empty$ 'skip$
+      { bib.fname.font ", " swap$ * }
+    if$
+  } {
+    "," *
+    s nameptr
+    format.names.fname
+    "jj"
+    " "
+    name.comma
+    control.author.jnrlst {
+      swap$ * skip$
+    } {
+      skip$ * swap$
+    } if$
+    bracify swap$ bracify swap$
+    *
+    format.name$
+    remove.dots
+    duplicate$ empty$ 'skip$
+      { bib.fname.font " " swap$ * }
+      if$
+  } if$
+  *
+}
+
+FUNCTION {names.punctuate}
+{
+  "," *
+  " " *
+}
+
+FUNCTION {format.names}
+{ 'bibinfo :=
+  duplicate$ empty$ { pop$ "" } {
+    duplicate$ num.names$
+    duplicate$ 'numnames :=
+    'namesleft :=
+    's :=
+    #1 'nameptr :=
+    ""
+      { namesleft #0 > }
+      {
+      format.names.morfont
+        bibinfo bibinfo.check
+        type$ "presentation" =
+          'check.speaker
+          'skip$
+        if$
+        't :=
+        nameptr #1 > not
+          {
+            t *
+          } {
+            namesleft #1 >
+              {
+                names.punctuate
+                t *
+              } {
+                s nameptr "{ll}" format.name$ duplicate$ "others" =
+                  { 't := }
+                  { pop$ }
+                if$
+                numnames #2 >
+                  'names.punctuate
+                  'skip$
+                if$
+                t "others" =
+                  {
+                    " " *
+                    bbl.etal
+                    emphasize
+                    *
+                  } {
+                    bbl.and
+                    space.word *
+                    t *
+                  }
+                if$
+              }
+            if$
+          }
+        if$
+        nameptr #1 + 'nameptr :=
+        namesleft #1 - 'namesleft :=
+      }
+    while$
+  } if$
+}
+
+FUNCTION {format.names.ed.onefont}
+{
+    s nameptr
+    control.author.initials {
+      control.author.dotless {
+        control.author.nospace {
+          "{f{}~}{vv~}{ll}{ jj}"   % nm-rvx|nm-rvcx
+        } {
+          "{f{~}~}{vv~}{ll}{ jj}"  % nm-rv
+        } if$
+      } {
+        control.author.nospace {
+          "{f{.}.~}{vv~}{ll}{ jj}" % nm-rvv|nm-rvvc
+        }{
+          "{f.~}{vv~}{ll}{, jj}"   % nm-init|nm-rev|nm-rev1
+        } if$
+      } if$
+    } {
+      "{ff~}{vv~}{ll}{, jj}"
+    } if$
+    format.name$
+    remove.dots
+    bib.name.font
+}
+
+FUNCTION {format.names.ed.morfont}
+{
+  control.author.reversed { %
+    control.author.initials { %
+      control.author.dotless { %
+        s nameptr
+        control.author.nospace { % nm-rvx nm-rvcx
+          "{f{}}"
+        } { % nm-rv
+          "{f{~}}"
+        } if$
+        format.name$ duplicate$ empty$ 'skip$
+          { tie.or.space.prefix bib.fname.font swap$ * }
+        if$
+        s nameptr
+        "{vv~}{ll}" format.name$ bib.name.font *
+        s nameptr
+        "{jj}" format.name$
+        remove.dots
+        duplicate$ empty$ 'skip$
+          { bib.fname.font " " swap$ * }
+        if$
+      } { % !control.author.dotless
+        s nameptr
+        control.author.nospace { % nm-rvv
+          "{ff}"
+        } { % nm-rev nm-rev1
+          "{f.}"
+        } if$
+        format.name$ duplicate$ empty$ 'skip$
+          { tie.or.space.prefix bib.fname.font swap$ * }
+        if$
+        s nameptr
+        "{vv~}{ll}" format.name$ bib.name.font *
+        s nameptr
+        "{jj}" format.name$
+        duplicate$ empty$ 'skip$
+          { bib.fname.font ", " swap$ * }
+        if$
+      } if$
+    } { % Full names !control.author.initials  nm-revf nm-revv1
+      s nameptr
+      "{ff}"
+      format.name$ duplicate$ empty$ 'skip$
+        { tie.or.space.prefix bib.fname.font swap$ * }
+      if$
+      s nameptr
+      "{vv~}{ll}" format.name$ bib.name.font *
+      s nameptr
+      "{jj}" format.name$
+      duplicate$ empty$ 'skip$
+        { bib.fname.font ", " swap$ * }
+      if$
+    } if$
+  } { % !control.author.reversed nm-init
+    s nameptr
+    "{f.}"
+    format.name$ duplicate$ empty$ 'skip$
+      { tie.or.space.prefix bib.fname.font swap$ * }
+    if$
+    s nameptr
+    "{vv~}{ll}" format.name$ bib.name.font *
+    s nameptr
+    "{jj}" format.name$
+    duplicate$ empty$ 'skip$
+      { bib.fname.font ", " swap$ * }
+    if$
+  } if$
+  *
+}
+
+FUNCTION {format.names.ed}
+{
+  control.editor #0 > {
+    format.names
+  } {
+    'bibinfo :=
+    duplicate$ empty$ 'skip$ {
+    's :=
+    "" 't :=
+    #1 'nameptr :=
+    s num.names$ 'numnames :=
+    numnames 'namesleft :=
+      { namesleft #0 > }
+      {
+       format.names.ed.morfont
+        bibinfo bibinfo.check
+        't :=
+        nameptr #1 >
+          {
+            namesleft #1 >
+              {
+                names.punctuate
+                t *
+              }{
+                s nameptr "{ll}" format.name$ duplicate$ "others" =
+                  { 't := }
+                  { pop$ }
+                if$
+                numnames #2 >
+                  'names.punctuate
+                  'skip$
+                if$
+                t "others" =
+                  {
+                    " " * bbl.etal emphasize *
+                  }{
+                   bbl.and
+                    space.word * t *
+                  }
+                if$
+              }
+            if$
+          }
+          't
+        if$
+        nameptr #1 + 'nameptr :=
+        namesleft #1 - 'namesleft :=
+      }
+    while$
+    } if$
+  } if$
+}
+
+FUNCTION {format.key}
+{ empty$
+    { key field.or.null }
+    { "" }
+  if$
+}
+
+FUNCTION {format.authors}
+{ author "author" format.names
+  duplicate$ empty$ 'skip$
+    { collaboration "collaboration" bibinfo.check
+      duplicate$ empty$ 'skip$
+        { " (" swap$ * ")" * }
+      if$
+      *
+    }
+  if$
+  "author" 'bibfield :=
+}
+
+FUNCTION {get.bbl.editor}
+{ editor num.names$ #1 > 'bbl.editors 'bbl.editor if$
+}
+
+FUNCTION {format.editors}
+{ editor "editor" format.names duplicate$ empty$ 'skip$
+    {
+      "," *
+      word.space *
+      get.bbl.editor
+      *
+    }
+  if$
+}
+
+FUNCTION {format.isbn.output}
+{
+}
+
+FUNCTION {format.issn.output}
+{ 
+}
+
+FUNCTION {doi.base}
+{
+  "http://dx.doi.org/"
+}
+
+FUNCTION {doi.base.command}
+{
+  "\doibase "
+}
+
+FUNCTION {noop.command}
+{
+  "\href at noop "
+}
+
+FUNCTION {href.command}
+{
+  "\href "
+}
+
+FUNCTION {link.tag.open}
+{
+  doi duplicate$ empty$
+    {
+      pop$
+      url duplicate$ empty$
+        {
+          pop$ "" noop.command
+        }{
+          href.command
+        }
+      if$
+    }
+    {
+      doi.base.command swap$ * 
+      href.command
+    }
+  if$
+  "{" * swap$ * "} {" *
+}
+
+FUNCTION {link.tag.shut}
+{
+  "}"
+}
+
+FUNCTION {link.open}
+{
+  link.tag.open output.nopunct
+}
+
+FUNCTION {link.shut}
+{
+  link.tag.shut *
+}
+
+FUNCTION {add.doi}
+{
+  link.tag.open swap$ * link.tag.shut *
+}
+
+FUNCTION {select.language}
+{ duplicate$ empty$
+    'pop$
+    { language empty$
+        'skip$
+        { "{\selectlanguage {" language * "}" * swap$ * "}" * }
+      if$
+    }
+    if$
+}
+
+FUNCTION {format.note}
+{
+ note empty$
+    { "" }
+    { note #1 #1 substring$
+      duplicate$ "{" =
+        'skip$
+        {
+          output.state after.word = output.state after.punctuation = or
+            { "l" }
+            { "u" }
+          if$ change.case$
+        }
+      if$
+      note #2 global.max$ substring$ * "note" bibinfo.check
+    }
+  if$
+}
+
+FUNCTION {bbl.enquote}
+{
+  "\enquote "
+}
+
+FUNCTION {string.enquote}
+{
+  punctuation.no 'punctuation.state :=
+  non.stop {
+    block.punctuation
+  } { "" } if$
+   swap$ pop$
+  *
+  bbl.enquote "{" * swap$ * "}" *
+  word.space *
+}
+
+FUNCTION {format.title}
+{ title
+  duplicate$ empty$ 'skip$ { "t" change.case$ } if$
+  duplicate$ "title" bibinfo.check swap$
+  duplicate$ empty$ 'pop$
+    {
+      punctuation.yes 'punctuation.state :=
+      string.enquote
+      select.language
+    }
+  if$
+}
+
+FUNCTION {end.quote.title}
+{ title empty$
+    'skip$
+    { before.all 'output.state := }
+  if$
+}
+
+FUNCTION {format.name.apply}
+{
+  s nameptr
+  "{vv~}{ll}"
+  format.name$
+  cite.name.font
+}
+
+FUNCTION {format.full.names}
+{
+  's :=
+  "" 't :=
+  #1 'nameptr :=
+  s num.names$ 'numnames :=
+  numnames 'namesleft :=
+    { namesleft #0 > }
+    { format.name.apply
+      't :=
+      nameptr #1 >
+        {
+          namesleft #1 >
+            { ", " * t * }
+            {
+              s nameptr "{ll}" format.name$ duplicate$ "others" =
+                {
+                  't :=
+                }
+                'pop$
+              if$
+              t "others" =
+                {
+                  " " * bbl.etal
+                  emphasize *
+                }{
+                  numnames #2 > { "," * }{ skip$ } if$
+                  bbl.and
+                  space.word * t *
+                }
+              if$
+            }
+          if$
+        }
+        't
+      if$
+      nameptr #1 + 'nameptr :=
+      namesleft #1 - 'namesleft :=
+    }
+  while$
+}
+
+FUNCTION {make.full.names}
+{
+  key editor author
+  type$ "proceedings" =
+  type$ "book"        =
+  type$ "inbook"      =
+  or { pop$ }{ { pop$ "" }{ swap$ pop$ "" swap$ } if$ } if$
+  duplicate$ empty$
+    { pop$
+      duplicate$ empty$
+        { pop$
+          duplicate$ empty$
+            { pop$
+              cite$ #1 #3 substring$
+            }{
+              skip$
+            }
+          if$
+        }
+        { swap$ pop$ format.full.names }
+      if$
+    }
+    { swap$ pop$ swap$ pop$ format.full.names }
+  if$
+}
+
+FUNCTION {year.bibitem}
+{
+  year duplicate$ empty$
+  { pop$ ""
+  }{
+    skip$
+  } if$
+  extra.label *
+}
+
+FUNCTION {output.bibitem}
+{
+  newline$
+  ""
+  label
+  * ")" *
+   make.full.names duplicate$ short.list =
+   { pop$ }{ * } if$
+   bracify
+  "[" swap$ * "]" *
+  cite$ bracify "%" *
+  *
+  "\bibitem "
+  swap$ *
+  write$ newline$
+  "  "
+  duplicate$ bbl.open * write$ newline$
+  before.all 'output.state :=
+  punctuation.yes 'punctuation.state :=
+}
+
+FUNCTION {n.dashify}
+{
+  't :=
+  ""
+    { t empty$ not }
+    { t #1 #1 substring$ "-" =
+        { t #1 #2 substring$ "--" = not
+            { "--" *
+              t #2 global.max$ substring$ 't :=
+            }{
+                { t #1 #1 substring$ "-" = }
+                { "-" *
+                  t #2 global.max$ substring$ 't :=
+                }
+              while$
+            }
+          if$
+        }{
+          t #1 #1 substring$ *
+          t #2 global.max$ substring$ 't :=
+        }
+      if$
+    }
+  while$
+}
+
+FUNCTION {word.in}
+{
+  bbl.in
+  word.space *
+}
+
+FUNCTION {date.encapsulate}
+{
+  duplicate$ empty$
+    'skip$
+    {
+      before.all 'output.state :=
+      " (" swap$ * ")" *
+    }
+  if$
+}
+
+FUNCTION {format.date}
+{
+  year "year" bibinfo.check duplicate$ empty$
+    {
+    }
+    'skip$
+  if$
+  extra.label *
+  date.encapsulate
+}
+
+FUNCTION {format.date.output.check}
+{
+ format.date
+ "year" output.check
+}
+
+FUNCTION {format.date.output}
+{
+  format.date.output.check
+}
+
+FUNCTION {format.btitle}
+{
+  booktitle duplicate$ empty$ { pop$
+      title
+  } 'skip$ if$
+  "title" bibinfo.check
+  duplicate$ empty$ 'skip$
+    {
+      emphasize
+      select.language
+    }
+  if$
+}
+
+FUNCTION {either.or.check}
+{ empty$
+    'pop$
+    { "can't use both " swap$ * " fields in " * cite$ * warning$ }
+  if$
+}
+
+FUNCTION {editor.check.book}
+{ editor empty$ 'skip$
+    {
+      "can't use both author and editor fields in " cite$ *
+      ": try using @inbook instead" *
+      warning$
+    }
+  if$
+}
+
+FUNCTION {format.bvolume}
+{ volume duplicate$ empty$
+    { pop$ "" }
+    {
+      "volume and number" number either.or.check
+      bbl.volume
+      capitalize
+      swap$
+      tie.or.space.prefix "volume" bibinfo.check * *
+      series "series" bibinfo.check duplicate$ empty$ 'pop$
+        {
+          ", "
+          * swap$ *
+        }
+      if$
+    }
+  if$
+}
+
+FUNCTION {format.number}
+{
+  bbl.number
+  output.state after.word = output.state after.punctuation = or
+  #1 or
+  #0 and
+    'skip$
+    { capitalize }
+  if$
+  number tie.or.space.prefix "number" bibinfo.check * *
+}
+
+FUNCTION {format.number.series}
+{ volume empty$
+    { number empty$
+        { series field.or.null }
+        {
+          series empty$
+            {
+              number "number" bibinfo.check
+            }{
+              format.number
+              series "series" bibinfo.check
+              word.space * swap$ *
+            }
+          if$
+        }
+      if$
+    }
+    { "" }
+  if$
+}
+
+FUNCTION {is.num}
+{ chr.to.int$
+  duplicate$ "0" chr.to.int$ < not
+  swap$ "9" chr.to.int$ > not and
+}
+
+FUNCTION {extract.num}
+{ duplicate$ 't :=
+  "" 's :=
+  { t empty$ not }
+  { t #1 #1 substring$
+    t #2 global.max$ substring$ 't :=
+    duplicate$ is.num
+      { s swap$ * 's := }
+      { pop$ "" 't := }
+    if$
+  }
+  while$
+  s empty$
+    'skip$
+    { pop$ s }
+  if$
+}
+
+FUNCTION {convert.edition}
+{ extract.num "l" change.case$ 's :=
+  s "first" = s "1" = or
+    { bbl.first 't := }
+    { s "second" = s "2" = or
+        { bbl.second 't := }
+        { s "third" = s "3" = or
+            { bbl.third 't := }
+            { s "fourth" = s "4" = or
+                { bbl.fourth 't := }
+                { s "fifth" = s "5" = or
+                    { bbl.fifth 't := }
+                    { s #1 #1 substring$ is.num
+                        { s
+                            eng.ord
+                        't := }
+                        { edition 't := }
+                      if$
+                    }
+                  if$
+                }
+              if$
+            }
+          if$
+        }
+      if$
+    }
+  if$
+  t
+}
+
+FUNCTION {format.edition}
+{ edition duplicate$ empty$ 'skip$
+    {
+      convert.edition
+      output.state after.word = output.state after.punctuation = or
+        { "l" }
+        { "t" }
+      if$ change.case$
+      "edition" bibinfo.check
+      word.space * bbl.edition *
+    }
+  if$
+}
+
+INTEGERS { multiresult }
+FUNCTION {multi.page.check}
+{ 't :=
+  #0 'multiresult :=
+    { multiresult not
+      t empty$ not
+      and
+    }
+    { t #1 #1 substring$
+      duplicate$ "-" =
+      swap$ duplicate$ "," =
+      swap$ "+" =
+      or or
+        { #1 'multiresult := }
+        { t #2 global.max$ substring$ 't := }
+      if$
+    }
+  while$
+  multiresult
+}
+
+FUNCTION {format.pages}
+{ pages duplicate$ empty$
+    'skip$
+    { duplicate$ multi.page.check
+        {
+          bbl.pages swap$
+          n.dashify
+        }{
+          bbl.page swap$
+        }
+      if$
+      tie.or.space.prefix
+      "pages" bibinfo.check
+      * *
+    }
+  if$
+}
+
+FUNCTION {first.page}
+{ 't :=
+  ""
+    {  t empty$ not t #1 #1 substring$ "-" = not and }
+    { t #1 #1 substring$ *
+      t #2 global.max$ substring$ 't :=
+    }
+  while$
+}
+
+FUNCTION {format.book.pages}
+{
+  pages duplicate$ empty$ 'skip$
+    {
+      "pages" bibinfo.check word.space bbl.pages * *
+    }
+  if$
+}
+
+FUNCTION {volnum.punct}
+{
+          ","
+  word.space *
+}
+
+FUNCTION {format.journal.pages}
+{ pages duplicate$ empty$ 'pop$
+    { swap$ duplicate$ empty$
+        { pop$ pop$ format.pages }
+        { volnum.punct *
+          swap$
+          control.pages duplicate$ #0 < {
+            pop$ pop$
+          }{
+            #0 >
+            {
+              n.dashify
+            }{
+              first.page
+            } if$
+          } if$
+          "pages" bibinfo.check
+          *
+        }
+      if$
+    }
+  if$
+}
+
+FUNCTION {format.journal.eid}
+{ eid "eid" bibinfo.check
+  duplicate$ empty$ 'pop$
+    { swap$ duplicate$ empty$ 'skip$
+        { volnum.punct * }
+      if$
+      swap$ *
+    }
+  if$
+}
+
+FUNCTION {eid.or.pages}
+{
+  eid empty$
+    { format.journal.pages }
+    { format.journal.eid }
+  if$
+}
+
+FUNCTION {format.ser.vol.num}
+{
+  series "series" bibinfo.check output
+  volume field.or.null
+  duplicate$ empty$ 'skip$
+    {
+      "volume" bibinfo.check
+    }
+  if$
+  bolden
+}
+
+FUNCTION {format.chapter.pages}
+{ chapter empty$
+    {
+    format.pages
+    }
+    { type empty$
+        {
+          bbl.chapter
+          capitalize
+        }{
+          type
+          capitalize
+          "type" bibinfo.check
+        }
+      if$
+      chapter tie.or.space.prefix
+      "chapter" bibinfo.check
+      * *
+      pages empty$
+        'skip$
+        { ", " * format.pages * }
+      if$
+    }
+  if$
+}
+
+FUNCTION {format.booktitle}
+{
+  booktitle duplicate$ "booktitle" bibinfo.check swap$
+  duplicate$ empty$ 'pop$
+    {
+      punctuation.yes 'punctuation.state :=
+      pop$ emphasize
+      select.language
+    }
+  if$
+}
+
+FUNCTION {format.editor.in}
+{
+  editor "editor" format.names.ed duplicate$ empty$ 'skip$
+    {
+      bbl.edby
+      word.space * swap$ *
+    }
+  if$
+}
+
+FUNCTION {output.article.booktitle}
+{
+  format.booktitle
+      "booktitle" 'bibfield :=
+  output
+  bookaddress "address" bibinfo.check duplicate$ empty$ 'pop$
+    {
+      "address" 'bibfield :=
+      output.nonnull after.punctuation 'output.state :=
+    }
+  if$
+}
+
+FUNCTION {format.in.ed.booktitle}
+{
+  format.booktitle duplicate$ empty$ 'pop$
+    {
+      add.doi
+      word.in swap$ * output.nonnull
+      bookaddress "address" bibinfo.check output
+      format.number.series "series and number" bibinfo.check output
+      format.bvolume output
+      format.editor.in "editor" bibinfo.check output
+    }
+  if$
+}
+
+FUNCTION {format.in.ed.booktitle.inbook}
+{
+  format.booktitle duplicate$ empty$ 'pop$
+    {
+      add.doi
+      word.in swap$ * output.nonnull
+      bookaddress "address" bibinfo.check output
+      format.number.series "series and number" bibinfo.check output
+      format.bvolume output
+      author empty$ 'skip$
+        { format.editor.in "editor" bibinfo.check output }
+    if$
+    }
+  if$
+}
+
+FUNCTION {format.thesis.type}
+{ type duplicate$ empty$
+    'pop$
+    { swap$ pop$
+      "t" change.case$ "type" bibinfo.check
+    }
+  if$
+}
+
+FUNCTION {format.tr.number}
+{ number "number" bibinfo.check
+  type duplicate$ empty$
+    { pop$ bbl.techrep }
+    'skip$
+  if$
+  "type" bibinfo.check
+  swap$ duplicate$ empty$
+    { pop$ "t" change.case$ }
+    { tie.or.space.prefix * * }
+  if$
+}
+
+FUNCTION {format.article.crossref}
+{
+  word.in
+  " \cite{" * crossref * "}" *
+}
+
+FUNCTION {format.book.crossref}
+{ volume duplicate$ empty$
+    { "empty volume in " cite$ * "'s crossref of " * crossref * warning$
+      pop$ word.in
+    }
+    { bbl.volume
+      swap$ tie.or.space.prefix "volume" bibinfo.check * * bbl.of space.word *
+    }
+  if$
+  " \cite{" * crossref * "}" *
+}
+
+FUNCTION {format.incoll.inproc.crossref}
+{
+  word.in
+  " \cite{" * crossref * "}" *
+}
+
+FUNCTION {format.org.or.pub}
+{ 't :=
+  ""
+  address "address" bibinfo.check
+  duplicate$ empty$
+    { pop$ t }
+    { t duplicate$ empty$
+        { pop$ }
+        {
+          "," word.space *
+          * swap$ *
+        }
+      if$
+    }
+  if$
+  *
+  year duplicate$ empty$
+    {
+      "empty year in " cite$ *
+      warning$
+      pop$ ""
+    }
+    'skip$
+  if$
+  duplicate$ empty$
+    { pop$ }
+    {
+      "year" bibinfo.check
+      swap$
+      duplicate$ empty$
+        { pop$ }
+        {
+          "," *
+          word.space *
+          swap$ *
+        }
+      if$
+    }
+  if$
+  duplicate$ empty$ 'skip$ {
+    ""
+    "(" * swap$ * ")" *
+    after.punctuation 'output.state :=
+    punctuation.space 'punctuation.state :=
+  } if$
+}
+
+FUNCTION {format.publisher.address}
+{ publisher "publisher" bibinfo.warn format.org.or.pub
+}
+
+FUNCTION {format.organization.address}
+{ organization "organization" bibinfo.check format.org.or.pub
+}
+
+FUNCTION {format.organization.publisher.address}
+{
+  publisher empty$
+    { format.organization.address }
+    { organization "organization" bibinfo.check output
+      format.publisher.address
+    }
+  if$
+}
+
+FUNCTION {format.school.address.output}
+{
+  school  "school"  bibinfo.warn
+  address "address" bibinfo.check
+  duplicate$ empty$ 'skip$
+    {
+      swap$
+      duplicate$ empty$ 'skip$
+        {
+          ", " *
+        }
+      if$
+      swap$
+    }
+  if$
+  *
+  output
+}
+
+FUNCTION {article.title.produce}
+{
+  control.title duplicate$ #0 <
+  { pop$
+  }{
+    format.title
+    "title" 'bibfield :=
+    swap$ #0 >
+    {
+      "title" output.check
+    }{
+      output
+    } if$
+    new.block.comma
+  } if$
+}
+
+FUNCTION {control}
+{
+}
+
+FUNCTION {article}
+{ output.bibitem
+  format.authors
+  booktitle empty$ {
+      "author" output.check
+    }{ output } if$
+  author format.key output
+  new.block.comma
+  article.title.produce
+  output.article.booktitle
+  crossref missing$
+    {
+      link.open
+      journal
+      "journal" bibinfo.warn
+      "journal" 'bibfield :=
+      output
+      add.blank
+      format.ser.vol.num
+      output
+      eid.or.pages
+      format.date.output.check
+      pages empty$ {
+      doi output
+      } 'skip$ if$
+      link.shut
+    }{
+      format.article.crossref output.nonnull
+      format.pages output
+    }
+  if$
+  format.issn.output
+  new.block.comma
+  new.sentence.comma
+  format.note output
+  format.eprint output
+  format.translation output
+  fin.entry
+}
+
+FUNCTION {book}
+{ output.bibitem
+  author empty$
+    {
+      format.editors "author and editor" output.check
+      editor format.key output
+    }{
+      format.authors output.nonnull
+%     crossref missing$ { editor.check.book } 'skip$ if$
+    }
+  if$
+  new.block.comma
+  link.open
+  format.btitle
+  "title" output.check
+  link.shut
+  format.edition output
+  author empty$
+    {
+    }
+    {
+      format.editor.in output
+      editor format.key output
+    }
+  if$
+  format.number.series output
+  crossref missing$
+    {
+      format.bvolume output
+      new.block.comma
+      format.publisher.address output
+    }{
+      new.block.comma
+      format.book.crossref output.nonnull
+      format.date.output.check
+    }
+  if$
+  format.isbn.output
+  format.chapter.pages
+  output
+  new.block.comma
+  new.sentence.comma
+  format.note output
+  format.eprint output
+  fin.entry
+}
+
+FUNCTION {booklet}
+{ output.bibitem
+  format.authors output
+  author format.key output
+  new.block.comma
+  link.open
+  format.title
+  "title" output.check
+  link.shut
+  new.block.comma
+  howpublished "howpublished" bibinfo.check output
+  address "address" bibinfo.check output
+  format.date.output
+  format.isbn.output
+  format.book.pages output
+  new.block.comma
+  new.sentence.comma
+  format.note output
+  format.eprint output
+  fin.entry
+}
+
+FUNCTION {footnote}
+{ output.bibitem
+  format.note output
+  fin.entry
+}
+
+FUNCTION {inbook}
+{ output.bibitem
+  author empty$
+    {
+       format.editors "editor" output.check
+       editor format.key output
+    }{
+       format.authors output.nonnull
+       author format.key output
+    }
+  if$
+  new.block.comma
+
+  format.title output
+  new.block.comma
+
+  crossref missing$
+    {
+      format.in.ed.booktitle.inbook
+      format.publisher.address output
+      format.chapter.pages
+      "chapter and pages"
+      output.check
+      new.block.comma
+      format.edition output
+      new.block.comma
+    }{
+      format.chapter.pages
+      "chapter and pages"
+      output.check
+      new.block.comma
+      format.book.crossref output.nonnull
+      format.date.output.check
+    }
+  if$
+  crossref missing$
+    { format.isbn.output }
+    'skip$
+  if$
+  new.block.comma
+  new.sentence.comma
+  format.note output
+  format.eprint output
+  fin.entry
+}
+
+FUNCTION {incollection}
+{ output.bibitem
+  format.authors "author" output.check
+  author format.key output
+  new.block.comma
+  article.title.produce
+  crossref missing$
+    {
+      format.in.ed.booktitle
+      format.publisher.address output
+      format.edition output
+      format.chapter.pages output
+      format.isbn.output
+    }{
+      format.incoll.inproc.crossref output.nonnull
+      format.chapter.pages output
+    }
+  if$
+  new.block.comma
+  new.sentence.comma
+  format.note output
+  format.eprint output
+  fin.entry
+}
+
+FUNCTION {inproceedings}
+{ output.bibitem
+  format.authors "author" output.check
+  author format.key output
+  new.block.comma
+  article.title.produce
+  crossref missing$
+    {
+      format.in.ed.booktitle
+      format.organization.publisher.address output
+      format.chapter.pages output
+      format.isbn.output
+      format.issn.output
+    }{
+      format.incoll.inproc.crossref output.nonnull
+      format.chapter.pages output
+    }
+  if$
+  new.block.comma
+  new.sentence.comma
+  format.note output
+  format.eprint output
+  fin.entry
+}
+
+FUNCTION {conference} { inproceedings }
+FUNCTION {manual}
+{ output.bibitem
+  format.authors output
+  author format.key output
+  new.block.comma
+  link.open
+  format.btitle
+  "title" output.check
+  link.shut
+      organization "organization" bibinfo.check output
+      address "address" bibinfo.check output
+  format.edition output
+  format.date.output
+  new.block.comma
+  new.sentence.comma
+  format.note output
+  format.eprint output
+  fin.entry
+}
+
+FUNCTION {mastersthesis}
+{ output.bibitem
+  format.authors "author" output.check
+  author format.key output
+  new.block.comma
+  format.btitle
+  output
+  new.block.comma
+  link.open
+  bbl.mthesis
+  format.thesis.type
+  output.nonnull
+  link.shut
+  format.school.address.output
+  format.date.output.check
+  new.block.comma
+  new.sentence.comma
+  format.note output
+  format.eprint output
+  fin.entry
+}
+
+FUNCTION {misc}
+{ output.bibitem
+  format.authors output
+  author format.key output
+  new.block.comma
+  link.open
+  format.title
+  output
+  link.shut
+  new.block.comma
+  howpublished "howpublished" bibinfo.check output
+  format.date.output
+  new.block.comma
+  new.sentence.comma
+  format.note output
+  format.eprint output
+  fin.entry
+}
+
+FUNCTION {phdthesis}
+{ output.bibitem
+  format.authors "author" output.check
+  author format.key output
+  new.block.comma
+  format.btitle
+  output
+  new.block.comma
+  link.open
+  bbl.phdthesis
+  format.thesis.type
+  output.nonnull
+  link.shut
+  format.school.address.output
+  format.date.output.check
+  new.block.comma
+  new.sentence.comma
+  format.note output
+  format.eprint output
+  fin.entry
+}
+
+FUNCTION {presentation}
+{ output.bibitem
+  format.authors output
+  author format.key output
+  new.block.comma
+  link.open
+  format.title
+  output
+  link.shut
+  new.block.comma
+  format.organization.address "organization and address" output.check
+  month "month" output.check
+  year "year" output.check
+  new.block.comma
+  new.sentence.comma
+  format.note output
+  new.sentence
+  type missing$ 'skip$
+    {"(" type capitalize * ")" * output}
+  if$
+  fin.entry
+}
+
+FUNCTION {proceedings}
+{ output.bibitem
+  format.editors output
+  editor format.key output
+  new.block.comma
+  link.open
+  format.btitle
+  "title" output.check
+  link.shut
+      bookaddress "address" bibinfo.check output
+  format.number.series output
+  format.bvolume output
+  format.organization.publisher.address output
+  format.isbn.output
+  format.issn.output
+  new.block.comma
+  new.sentence.comma
+  format.note output
+  format.eprint output
+  fin.entry
+}
+
+FUNCTION {techreport}
+{ output.bibitem
+  format.authors "author" output.check
+  author format.key output
+  new.block.comma
+  link.open
+  format.btitle
+  "title" output.check
+  link.shut
+  new.block.comma
+  format.tr.number
+  output.nonnull
+  institution "institution" bibinfo.warn
+  format.org.or.pub output
+  new.block.comma
+  new.sentence.comma
+  format.note output
+  format.eprint output
+  fin.entry
+}
+
+FUNCTION {unpublished}
+{ output.bibitem
+  format.authors "author" output.check
+  author format.key output
+  new.block.comma
+  link.open
+  format.title
+  "title" output.check
+  link.shut
+  format.date.output
+  new.block.comma
+  new.sentence.comma
+  format.note "note" output.check
+  format.eprint output
+  fin.entry
+}
+
+FUNCTION {default.type} { misc }
+
+READ
+
+EXECUTE {control.init}
+
+ITERATE {control.pass}
+
+EXECUTE {control.check}
+
+FUNCTION {sortify}
+{ purify$
+  "l" change.case$
+}
+
+INTEGERS { len }
+
+FUNCTION {chop.word}
+{ 's :=
+  'len :=
+  s #1 len substring$ =
+    { s len #1 + global.max$ substring$ }
+    's
+  if$
+}
+
+FUNCTION {cite.name.font.apply}
+{
+  word.space * bbl.etal
+  emphasize
+  *
+}
+
+FUNCTION {format.lab.names}
+{ 's :=
+  "" 't :=
+  #1 'nameptr :=
+  format.name.apply
+  s num.names$ duplicate$
+  #2 >
+    { pop$
+      cite.name.font.apply
+    }{
+      #2 <
+        'skip$
+        {
+          s #2 "{ff }{vv }{ll}{ jj}" format.name$ "others" =
+            {
+              cite.name.font.apply
+            }{
+              bbl.and space.word *
+              s #2 "{vv~}{ll}" format.name$
+              cite.name.font
+              *
+            }
+          if$
+        }
+      if$
+    }
+  if$
+}
+
+FUNCTION {author.key.label}
+{ author empty$
+    { key empty$
+        { cite$ #1 #3 substring$ }
+        'key
+      if$
+    }
+    { author format.lab.names }
+  if$
+}
+
+FUNCTION {author.editor.key.label}
+{ author empty$
+    { editor empty$
+        { key empty$
+            { cite$ #1 #3 substring$ }
+            'key
+          if$
+        }
+        { editor format.lab.names }
+      if$
+    }
+    { author format.lab.names }
+  if$
+}
+
+FUNCTION {editor.key.label}
+{ editor empty$
+    { key empty$
+        { cite$ #1 #3 substring$ }
+        'key
+      if$
+    }
+    { editor format.lab.names }
+  if$
+}
+
+FUNCTION {calc.short.authors}
+{ type$ "book" =
+  type$ "inbook" =
+  or
+    'author.editor.key.label
+    { type$ "proceedings" =
+        'editor.key.label
+        'author.key.label
+      if$
+    }
+  if$
+  'short.list :=
+}
+
+FUNCTION {calc.label}
+{
+  calc.short.authors
+  short.list
+  year duplicate$ empty$
+  short.list key field.or.null = or
+    {
+      pop$ ""
+    }{
+      control.year #0 > { purify$ #-1 #4 substring$ } 'skip$ if$
+    }
+  if$
+  "(" swap$ *
+  * 'label :=
+}
+
+FUNCTION {sort.format.names}
+{ 's :=
+  #1 'nameptr :=
+  ""
+  s num.names$ 'numnames :=
+  numnames 'namesleft :=
+    { namesleft #0 > }
+    { s nameptr
+      "{ll{ }}"
+      control.author.initials {
+        "{  f{ }}"  *
+      }{
+        "{  ff{ }}" *
+      } if$
+      "{  jj{ }}" *
+      format.name$ 't :=
+      nameptr #1 >
+        {
+          "   "  *
+          namesleft #1 = t "others" = and
+            { "zzzzz" * }
+            {
+              t sortify *
+            }
+          if$
+        }
+        { t sortify * }
+      if$
+      nameptr #1 + 'nameptr :=
+      namesleft #1 - 'namesleft :=
+    }
+  while$
+}
+
+FUNCTION {sort.format.title}
+{ 't :=
+  "A " #2
+    "An " #3
+      "The " #4 t chop.word
+    chop.word
+  chop.word
+  sortify
+  #1 global.max$ substring$
+}
+
+FUNCTION {author.sort}
+{ author empty$
+    { key empty$
+        { "to sort, need author or key in " cite$ * warning$
+          ""
+        }
+        { key sortify }
+      if$
+    }
+    { author sort.format.names }
+  if$
+}
+
+FUNCTION {author.editor.sort}
+{ author empty$
+    { editor empty$
+        { key empty$
+            { "to sort, need author, editor, or key in " cite$ * warning$
+              ""
+            }
+            { key sortify }
+          if$
+        }
+        { editor sort.format.names }
+      if$
+    }
+    { author sort.format.names }
+  if$
+}
+
+FUNCTION {year.sort.key}
+{
+  year
+}
+
+FUNCTION {editor.sort}
+{ editor empty$
+    { key empty$
+        { "to sort, need editor or key in " cite$ * warning$
+          ""
+        }
+        { key sortify }
+      if$
+    }
+    { editor sort.format.names }
+  if$
+}
+
+INTEGERS { seq.num }
+
+FUNCTION {init.seq}
+{ #0 'seq.num :=}
+
+EXECUTE {init.seq}
+
+FUNCTION {int.to.fix}
+{ "000000000" swap$ int.to.str$ *
+  #-1 #10 substring$
+}
+
+FUNCTION {label.presort}
+{
+  calc.label
+  label sortify
+  "    "
+  *
+  seq.num #1 + 'seq.num :=
+  seq.num  int.to.fix
+  'sort.label :=
+  sort.label
+  *
+  "    "
+  *
+  title field.or.null sort.format.title
+  *
+  #1 entry.max$ substring$
+  'sort.key$ :=
+}
+
+FUNCTION {presort.pass}
+{ type$ "control" = 'control.presort 'label.presort if$
+}
+
+ITERATE {presort.pass}
+
+SORT
+
+STRINGS { last.label next.extra }
+
+INTEGERS { last.extra.num number.label }
+
+FUNCTION {initialize.extra.label.stuff}
+{ #0 int.to.chr$ 'last.label :=
+  "" 'next.extra :=
+  #0 'last.extra.num :=
+  #0 'number.label :=
+}
+
+FUNCTION {label.forward}
+{
+  last.label label =
+    { last.extra.num #1 + 'last.extra.num :=
+      last.extra.num int.to.chr$ 'extra.label :=
+    }
+    { "a" chr.to.int$ 'last.extra.num :=
+      "" 'extra.label :=
+      label 'last.label :=
+    }
+  if$
+  number.label #1 + 'number.label :=
+}
+
+FUNCTION {label.reverse}
+{ next.extra "b" =
+    { "a" 'extra.label := }
+    'skip$
+  if$
+  extra.label 'next.extra :=
+  extra.label
+  duplicate$ empty$
+    'skip$
+    { "{\natexlab{" swap$ * "}}" * }
+  if$
+  'extra.label :=
+  label extra.label * 'label :=
+}
+
+EXECUTE {initialize.extra.label.stuff}
+
+FUNCTION {forward.pass}
+{ type$ "control" = 'control.forward 'label.forward if$
+}
+
+ITERATE {forward.pass}
+
+FUNCTION {reverse.pass}
+{ type$ "control" = 'control.reverse 'label.reverse if$
+}
+
+REVERSE {reverse.pass}
+
+FUNCTION {sortkey.sort}
+{ sort.label
+  "    "
+  *
+  year.sort.key
+  field.or.null sortify
+  *
+  "    "
+  *
+  title field.or.null sort.format.title
+  *
+  #1 entry.max$ substring$
+  'sort.key$ :=
+}
+
+FUNCTION {bib.sort.pass}
+{ type$ "control" = 'control.sort 'sortkey.sort if$
+}
+
+ITERATE {bib.sort.pass}
+
+SORT
+
+FUNCTION {init.bib.eprint}
+{
+    "\texttt {"
+  pop$
+  "\providecommand \url  [0]{\begingroup\@sanitize at url \@url }%" write$ newline$
+  "\providecommand \@url [1]{\endgroup\@href {#1}{" "}}%" bbl.url.prefix swap$ * * write$ newline$
+  "\providecommand " " [0]{URL }%" bbl.url.prefix swap$ * * write$ newline$
+  eprint.command "\providecommand " swap$ * "[0]{\href }%" * write$ newline$
+}
+
+FUNCTION {init.bib.doi}
+{
+  "\providecommand \doibase [0]{" doi.base "}%" * * write$ newline$
+}
+
+FUNCTION {init.bib.hypertex}
+{
+  "\providecommand " noop.command "[0]{\@secondoftwo}%" * * write$ newline$
+  "\providecommand " href.command "[0]{\begingroup \@sanitize at url \@href}%" * * write$ newline$
+  "\providecommand \@href[1]{\@@startlink{#1}\@@href}%" write$ newline$
+  "\providecommand \@@href[1]{\endgroup#1\@@endlink}%" write$ newline$
+  "\providecommand \@sanitize at url [0]{\catcode `\\12\catcode `\$12\catcode `\&12\catcode `\#12\catcode `\^12\catcode `\_12\catcode `\%12\relax}%" write$ newline$
+  "\providecommand \@@startlink[1]{}%" write$ newline$
+  "\providecommand \@@endlink[0]{}%"   write$ newline$
+}
+
+FUNCTION {init.bib.namefont}
+{
+  "\providecommand \bibnamefont  [1]{#1}%"  write$ newline$
+  "\providecommand \bibfnamefont [1]{#1}%" write$ newline$
+  "\providecommand \citenamefont [1]{#1}%"  write$ newline$
+}
+
+FUNCTION {init.bib.quote}
+{
+  "\providecommand " bbl.enquote * " [1]{" *
+  "``" "''"
+  "#1" swap$ "}%" * * * * write$ newline$
+}
+
+FUNCTION {init.bib.ay}
+{
+  "\providecommand \natexlab [1]{#1}%"
+  write$ newline$
+}
+
+FUNCTION {init.bib.bibinfo}
+{
+  bibinfo.command  "\providecommand " swap$ * " [0]{\@secondoftwo}%" * write$ newline$
+  bibfield.command "\providecommand " swap$ * " [0]{\@secondoftwo}%" * write$ newline$
+}
+
+FUNCTION {init.bib.lang}
+{
+  "\providecommand \selectlanguage [0]{\@gobble}%" write$ newline$
+}
+
+FUNCTION {init.bib.endbibitem}
+{
+  "\providecommand " bbl.open * "[0]{}%" *           write$ newline$
+  "\providecommand \bibitemStop [0]{}%"               write$ newline$
+  "\providecommand \bibitemNoStop [0]{.\EOS\space}%"  write$ newline$
+  "\providecommand \EOS [0]{\spacefactor3000\relax}%"   write$ newline$
+}
+
+FUNCTION {init.bib.translation}
+{
+  "\providecommand \translation [1]{[#1]}%" write$ newline$
+}
+
+FUNCTION {warn.bib}
+{
+}
+
+FUNCTION {init.bib}
+{
+  warn.bib
+  "\makeatletter" write$ newline$
+  "\providecommand \@ifxundefined [1]{%"   write$ newline$
+  " \@ifx{#1\undefined}"                   write$ newline$
+  "}%"                                     write$ newline$
+  "\providecommand \@ifnum [1]{%"          write$ newline$
+  " \ifnum #1\expandafter \@firstoftwo"    write$ newline$
+  " \else \expandafter \@secondoftwo"      write$ newline$
+  " \fi"                                   write$ newline$
+  "}%"                                     write$ newline$
+  "\providecommand \@ifx [1]{%"            write$ newline$
+  " \ifx #1\expandafter \@firstoftwo"      write$ newline$
+  " \else \expandafter \@secondoftwo"      write$ newline$
+  " \fi"                                   write$ newline$
+  "}%"                                     write$ newline$
+  init.bib.ay
+  init.bib.quote
+  init.bib.namefont
+  init.bib.hypertex
+  init.bib.eprint
+  init.bib.doi
+  init.bib.lang
+  init.bib.bibinfo
+  init.bib.translation
+  init.bib.endbibitem
+  "\providecommand " bbl.shut * " [1]{\csname bibitem#1\endcsname}%" * write$ newline$
+  "\let\auto at bib@innerbib\@empty"          write$ newline$
+  "%</preamble>" write$
+}
+
+FUNCTION {begin.bib}
+{
+  id.bst diagn.cmntlog
+  control.bib
+  preamble$ empty$
+    'skip$
+    { preamble$ write$ newline$ }
+  if$
+  "\begin{thebibliography}{"
+  number.label int.to.str$
+  * "}%" *
+  write$ newline$
+  init.bib
+}
+
+EXECUTE {begin.bib}
+
+EXECUTE {init.state.consts}
+
+ITERATE {call.type$}
+
+FUNCTION {end.bib}
+{ newline$
+  "\end{thebibliography}%"
+  write$ newline$
+}
+
+EXECUTE {end.bib}
+
+%% End of customized bst file
+%%
+%% End of file `apsrev4-1.bst'.


Property changes on: trunk/Master/texmf-dist/bibtex/bst/revtex/apsrev4-1.bst
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Modified: trunk/Master/texmf-dist/bibtex/bst/revtex/apsrev4-2.bst
===================================================================
--- trunk/Master/texmf-dist/bibtex/bst/revtex/apsrev4-2.bst	2019-01-18 22:37:42 UTC (rev 49750)
+++ trunk/Master/texmf-dist/bibtex/bst/revtex/apsrev4-2.bst	2019-01-18 22:40:49 UTC (rev 49751)
@@ -36,7 +36,7 @@
  %   \citeyear{key} ==>>             1990
  %---------------------------------------------------------------------
 
-FUNCTION {id.bst} {"apsrev4-2.bst 2018-12-27 (MD) hand-edited version of apsrev4-1.bst"}
+FUNCTION {id.bst} {"apsrev4-2.bst 2019-01-14 (MD) hand-edited version of apsrev4-1.bst"}
 ENTRY
 {
     address
@@ -1529,6 +1529,11 @@
   " " *
 }
 
+FUNCTION {names.comma}
+{
+  "," *
+}
+
 FUNCTION {format.names}
 { 'bibinfo :=
   duplicate$ empty$ { pop$ "" } {
@@ -1561,7 +1566,7 @@
                   { pop$ }
                 if$
                 numnames #2 >
-                  'names.punctuate
+                  'names.comma
                   'skip$
                 if$
                 t "others" =
@@ -1572,7 +1577,7 @@
                     *
                   } {
                     bbl.and
-                    word.space * *
+                    space.word *
                     t *
                   }
                 if$
@@ -1712,7 +1717,7 @@
                   { pop$ }
                 if$
                 numnames #2 >
-                  'names.punctuate
+                  'names.comma
                   'skip$
                 if$
                 t "others" =

Added: trunk/Master/texmf-dist/bibtex/bst/revtex/apsrmp4-1.bst
===================================================================
--- trunk/Master/texmf-dist/bibtex/bst/revtex/apsrmp4-1.bst	                        (rev 0)
+++ trunk/Master/texmf-dist/bibtex/bst/revtex/apsrmp4-1.bst	2019-01-18 22:40:49 UTC (rev 49751)
@@ -0,0 +1,3448 @@
+%%
+%% This is file `apsrmp4-1.bst',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% merlin.mbs  (with options: `head,ay,nat,lang,pres,pres-bf,vonx,nm-rev1,jnrlst,nmft,nmft-def,fnm-def,nmfted,nmand-rm,lab,lab-def,and-rm,keyxyr,dt-beg,yr-par,dtrev,date-nil-x,tit-qq,inproceedings-chapter,jtit-x,inproceedings-chapter,article-booktitle,article-series,jttl-rm,journal-address,book-bt,thesis-title-o,trtit-b,techreport-institution-par,vol-bf,vnum-sp,volp-com,jpg-1,pp-last,book-editor-booktitle,inbook-editor-booktitle,bookaddress,num-xser,number-cap,chapter-cap,series-number,numser-booktitle,ser-vol,ser-rm,volume-cap,ser-ed,jnm-x,pg-bk,book-chapter-pages,pub-par,ay-empty-pub-parens-x,pre-edn,school-par,doi-link,doi,bkedcap,edby,blk-com,fin-endbibitem,pp,ed,abr,ednx,ord,jabr,and-com,etal-it,revdata,eprint,url,url-blk,translation,SLACcitation,numpages-x,url,url-prefix-x,bibinfo,bibfield,nfss,,{}')
+%% physjour.mbs  (with options: `ay,nat,lang,pres,pres-bf,vonx,nm-rev1,jnrlst,nmft,nmft-def,fnm-def,nmfted,nmand-rm,lab,lab-def,and-rm,keyxyr,dt-beg,yr-par,dtrev,date-nil-x,tit-qq,inproceedings-chapter,jtit-x,inproceedings-chapter,article-booktitle,article-series,jttl-rm,journal-address,book-bt,thesis-title-o,trtit-b,techreport-institution-par,vol-bf,vnum-sp,volp-com,jpg-1,pp-last,book-editor-booktitle,inbook-editor-booktitle,bookaddress,num-xser,number-cap,chapter-cap,series-number,numser-booktitle,ser-vol,ser-rm,volume-cap,ser-ed,jnm-x,pg-bk,book-chapter-pages,pub-par,ay-empty-pub-parens-x,pre-edn,school-par,doi-link,doi,bkedcap,edby,blk-com,fin-endbibitem,pp,ed,abr,ednx,ord,jabr,and-com,etal-it,revdata,eprint,url,url-blk,translation,SLACcitation,numpages-x,url,url-prefix-x,bibinfo,bibfield,nfss,,{}')
+%% geojour.mbs  (with options: `ay,nat,lang,pres,pres-bf,vonx,nm-rev1,jnrlst,nmft,nmft-def,fnm-def,nmfted,nmand-rm,lab,lab-def,and-rm,keyxyr,dt-beg,yr-par,dtrev,date-nil-x,tit-qq,inproceedings-chapter,jtit-x,inproceedings-chapter,article-booktitle,article-series,jttl-rm,journal-address,book-bt,thesis-title-o,trtit-b,techreport-institution-par,vol-bf,vnum-sp,volp-com,jpg-1,pp-last,book-editor-booktitle,inbook-editor-booktitle,bookaddress,num-xser,number-cap,chapter-cap,series-number,numser-booktitle,ser-vol,ser-rm,volume-cap,ser-ed,jnm-x,pg-bk,book-chapter-pages,pub-par,ay-empty-pub-parens-x,pre-edn,school-par,doi-link,doi,bkedcap,edby,blk-com,fin-endbibitem,pp,ed,abr,ednx,ord,jabr,and-com,etal-it,revdata,eprint,url,url-blk,translation,SLACcitation,numpages-x,url,url-prefix-x,bibinfo,bibfield,nfss,,{}')
+%% photjour.mbs  (with options: `ay,nat,lang,pres,pres-bf,vonx,nm-rev1,jnrlst,nmft,nmft-def,fnm-def,nmfted,nmand-rm,lab,lab-def,and-rm,keyxyr,dt-beg,yr-par,dtrev,date-nil-x,tit-qq,inproceedings-chapter,jtit-x,inproceedings-chapter,article-booktitle,article-series,jttl-rm,journal-address,book-bt,thesis-title-o,trtit-b,techreport-institution-par,vol-bf,vnum-sp,volp-com,jpg-1,pp-last,book-editor-booktitle,inbook-editor-booktitle,bookaddress,num-xser,number-cap,chapter-cap,series-number,numser-booktitle,ser-vol,ser-rm,volume-cap,ser-ed,jnm-x,pg-bk,book-chapter-pages,pub-par,ay-empty-pub-parens-x,pre-edn,school-par,doi-link,doi,bkedcap,edby,blk-com,fin-endbibitem,pp,ed,abr,ednx,ord,jabr,and-com,etal-it,revdata,eprint,url,url-blk,translation,SLACcitation,numpages-x,url,url-prefix-x,bibinfo,bibfield,nfss,,{}')
+%% merlin.mbs  (with options: `tail,ay,nat,lang,pres,pres-bf,vonx,nm-rev1,jnrlst,nmft,nmft-def,fnm-def,nmfted,nmand-rm,lab,lab-def,and-rm,keyxyr,dt-beg,yr-par,dtrev,date-nil-x,tit-qq,inproceedings-chapter,jtit-x,inproceedings-chapter,article-booktitle,article-series,jttl-rm,journal-address,book-bt,thesis-title-o,trtit-b,techreport-institution-par,vol-bf,vnum-sp,volp-com,jpg-1,pp-last,book-editor-booktitle,inbook-editor-booktitle,bookaddress,num-xser,number-cap,chapter-cap,series-number,numser-booktitle,ser-vol,ser-rm,volume-cap,ser-ed,jnm-x,pg-bk,book-chapter-pages,pub-par,ay-empty-pub-parens-x,pre-edn,school-par,doi-link,doi,bkedcap,edby,blk-com,fin-endbibitem,pp,ed,abr,ednx,ord,jabr,and-com,etal-it,revdata,eprint,url,url-blk,translation,SLACcitation,numpages-x,url,url-prefix-x,bibinfo,bibfield,nfss,,{}')
+%% ----------------------------------------
+%% *** REVTeX-compatible RMP 2010-07-25 ***
+%% 
+%% Copyright 1994-2007 Patrick W Daly
+ % ===============================================================
+ % IMPORTANT NOTICE:
+ % This bibliographic style (bst) file has been generated from one or
+ % more master bibliographic style (mbs) files, listed above.
+ %
+ % This generated file can be redistributed and/or modified under the terms
+ % of the LaTeX Project Public License Distributed from CTAN
+ % archives in directory macros/latex/base/lppl.txt; either
+ % version 1 of the License, or any later version.
+ % ===============================================================
+ % Name and version information of the main mbs file:
+ %   For use with BibTeX version 0.99a or later
+ %-------------------------------------------------------------------
+ % This bibliography style file is intended for texts in ENGLISH
+ % This is an author-year citation style bibliography. As such, it is
+ % non-standard LaTeX, and requires a special package file to function properly.
+ % Such a package is    natbib.sty   by Patrick W. Daly
+ % The form of the \bibitem entries is
+ %   \bibitem[Jones et al.(1990)]{key}...
+ %   \bibitem[Jones et al.(1990)Jones, Baker, and Smith]{key}...
+ % The essential feature is that the label (the part in brackets) consists
+ % of the author names, as they should appear in the citation, with the year
+ % in parentheses following. There must be no space before the opening
+ % parenthesis!
+ % With natbib v5.3, a full list of authors may also follow the year.
+ % In natbib.sty, it is possible to define the type of enclosures that is
+ % really wanted (brackets or parentheses), but in either case, there must
+ % be parentheses in the label.
+ % The \cite command functions as follows:
+ %   \citet{key} ==>>                Jones et al. (1990)
+ %   \citet*{key} ==>>               Jones, Baker, and Smith (1990)
+ %   \citep{key} ==>>                (Jones et al., 1990)
+ %   \citep*{key} ==>>               (Jones, Baker, and Smith, 1990)
+ %   \citep[chap. 2]{key} ==>>       (Jones et al., 1990, chap. 2)
+ %   \citep[e.g.][]{key} ==>>        (e.g. Jones et al., 1990)
+ %   \citep[e.g.][p. 32]{key} ==>>   (e.g. Jones et al., p. 32)
+ %   \citeauthor{key} ==>>           Jones et al.
+ %   \citeauthor*{key} ==>>          Jones, Baker, and Smith
+ %   \citeyear{key} ==>>             1990
+ %---------------------------------------------------------------------
+
+FUNCTION {id.bst} {"merlin.mbs apsrmp4-1.bst 2010-07-25 4.21a (PWD, AO, DPC) hacked"}
+ENTRY
+{
+    address
+    archive
+    archivePrefix
+    author
+    bookaddress
+    booktitle
+    chapter
+    collaboration
+    doi
+    edition
+    editor
+    eid
+    eprint
+    howpublished
+    institution
+    isbn
+    issn
+    journal
+    key
+    language
+    month
+    note
+    number
+    organization
+    pages
+    primaryClass
+    publisher
+    school
+    SLACcitation
+    series
+    title
+    translation
+    type
+    url
+    volume
+    year
+}{
+}{
+    label
+    extra.label sort.label
+    short.list
+}
+
+INTEGERS
+{
+  output.state before.all
+  after.word after.punctuation
+  after.sentence after.block
+}
+
+INTEGERS
+{
+  punctuation.state punctuation.no punctuation.space punctuation.yes
+}
+
+STRINGS { bibfield output.bibfield }
+
+FUNCTION {not}
+{   { #0 }
+    { #1 }
+  if$
+}
+
+FUNCTION {and}
+{   'skip$
+    { pop$ #0 }
+  if$
+}
+
+FUNCTION {or}
+{   { pop$ #1 }
+    'skip$
+  if$
+}
+
+FUNCTION {non.stop}
+{ duplicate$
+   "}" * add.period$
+   #-1 #1 substring$ "." =
+}
+
+INTEGERS { arith.mulitplier arith.multiplicand }
+
+FUNCTION {multiply}
+{
+  'arith.multiplicand :=
+  'arith.mulitplier :=
+  #0
+    { arith.mulitplier #0 > }
+    { arith.multiplicand +
+      arith.mulitplier #1 - 'arith.mulitplier :=
+    }
+  while$
+}
+
+FUNCTION {chr.to.hex}
+{
+  chr.to.int$
+  duplicate$ "0" chr.to.int$ -
+  duplicate$ duplicate$ #0 < swap$ #9 > or not
+    { swap$ pop$ }
+    { pop$
+      duplicate$ "A" chr.to.int$ -
+      duplicate$ duplicate$ #0 < swap$ #5 > or not
+        { swap$ pop$ #10 + }
+        { pop$
+          duplicate$ "a" chr.to.int$ -
+          duplicate$ duplicate$ #0 < swap$ #5 > or not
+            { swap$ pop$ #10 + }
+            { pop$
+              pop$ #-1
+            }
+          if$
+        }
+      if$
+    }
+  if$
+}
+
+INTEGERS { arith.accumulator }
+
+FUNCTION {str.to.hex}
+{ #0 'arith.accumulator :=
+    { duplicate$ empty$ not }
+    { duplicate$ #1 #1 substring$ chr.to.hex
+      duplicate$ #0 <
+        { pop$ pop$ ""
+        }
+        { arith.accumulator #16 multiply + 'arith.accumulator :=
+          #2 global.max$ substring$
+        }
+      if$
+    }
+  while$
+  pop$ arith.accumulator
+}
+
+FUNCTION {diagn.cmntlog}
+{
+  duplicate$ top$ "%" swap$ * write$ newline$
+}
+
+INTEGERS { control.key control.author control.editor control.title control.pages control.eprint control.year }
+
+INTEGERS { control.author.jnrlst control.author.dotless control.author.nospace control.author.initials control.author.nocomma control.author.first control.author.reversed }
+
+FUNCTION { control.init }
+{
+  #0
+  'control.key             :=
+  #0
+  #1 +
+  #2 +
+  #8 +
+  #64 +
+  'control.author :=
+  #1
+  'control.author.jnrlst   :=
+  #0
+  'control.author.dotless  :=
+  #0
+  'control.author.nospace  :=
+  #1
+  'control.author.initials :=
+  #0
+  'control.author.nocomma  :=
+  #1
+  'control.author.first    :=
+  #1
+  'control.author.reversed :=
+  #0
+  'control.editor :=
+  #-1
+  'control.title  :=
+  #0
+  'control.pages  :=
+  #0
+  'control.eprint :=
+  #1
+  'control.year   :=
+}
+
+FUNCTION {warning.dependency}
+{
+  " (dependency: " * swap$ * ") set " * swap$ int.to.str$ * warning$
+}
+
+FUNCTION {control.check}
+{
+  control.editor
+    {
+      "editor formatted same as author"
+      control.author.reversed {
+        duplicate$ #0 swap$ "reversed" warning.dependency
+        #0 'control.author.reversed :=
+      } 'skip$ if$
+      control.author.first {
+        duplicate$ #0 swap$ "first" warning.dependency
+        #0 'control.author.first :=
+      } 'skip$ if$
+      control.author.nocomma {
+        duplicate$ #0 swap$ "nocomma" warning.dependency
+        #0 'control.author.nocomma :=
+      } 'skip$ if$
+      pop$
+    } 'skip$ if$
+  control.author.reversed 'skip$
+    {
+      "not reversed"
+      control.author.nospace {
+        duplicate$ #0 swap$ "nospace" warning.dependency
+        #0 'control.author.nospace :=
+      } 'skip$ if$
+      control.author.jnrlst 'skip$ {
+        duplicate$ #1 swap$ "jnrlst" warning.dependency
+        #1 'control.author.jnrlst :=
+      } if$
+      control.author.initials {
+        duplicate$ ", initials" *
+        control.author.dotless {
+          duplicate$ #0 swap$ "dotless" warning.dependency
+          #0 'control.author.dotless :=
+        } 'skip$ if$
+        pop$
+      } 'skip$ if$
+      pop$
+    }
+  if$
+  control.author.initials 'skip$ {
+    "not initials"
+    control.author.nocomma {
+      duplicate$ #0 swap$ "nocomma" warning.dependency
+      #0 'control.author.nocomma :=
+    } 'skip$ if$
+    control.author.nospace {
+      duplicate$ #0 swap$ "nospace" warning.dependency
+      #0 'control.author.nospace :=
+    } 'skip$ if$
+    control.author.dotless 'skip$ {
+      duplicate$ #1 swap$ "dotless" warning.dependency
+      #1 'control.author.dotless :=
+    } if$
+    pop$
+  } if$
+}
+
+FUNCTION {control.parse}
+{
+  duplicate$ duplicate$ missing$
+    {
+      pop$ pop$ pop$
+    }
+    { empty$
+        {
+          pop$ #-1
+        }{
+          str.to.hex
+        }
+      if$
+      swap$ :=
+    }
+  if$
+}
+
+FUNCTION {control.dump}
+{
+  duplicate$ missing$ { pop$ "N/A" } 'skip$ if$
+  "{" swap$ * "}, " *
+  *
+}
+
+INTEGERS { decode.threshold }
+
+FUNCTION {control.decode}
+{
+  - duplicate$
+  #0 <
+    {
+      skip$ pop$ swap$ #0
+    }
+    {
+      swap$ pop$ swap$ #1
+    }
+  if$
+  swap$ :=
+}
+
+FUNCTION {control.author.decode}
+{
+  control.author
+  duplicate$ duplicate$ #0 < swap$ #128 < not or
+    {
+      int.to.str$ "(" swap$ * ")" *
+      "Control cannot interpret author " swap$ *
+      warning$
+    }{
+      'control.author.jnrlst   swap$ duplicate$ #64 control.decode
+      'control.author.dotless  swap$ duplicate$ #32 control.decode
+      'control.author.nospace  swap$ duplicate$ #16 control.decode
+      'control.author.initials swap$ duplicate$  #8 control.decode
+      'control.author.nocomma  swap$ duplicate$  #4 control.decode
+      'control.author.first    swap$ duplicate$  #2 control.decode
+      'control.author.reversed swap$ duplicate$  #1 control.decode
+      duplicate$ #0 =
+        'skip$
+        {
+          "Control: residue of author"
+          "(" swap$ * ")" * *
+          warning$
+        }
+      if$
+      pop$
+    }
+  if$
+}
+
+FUNCTION {control.setup}
+{
+  type$ cite$ "{" swap$ * "}, " * *
+  "control.key"    key    control.dump *
+  "control.author" author control.dump *
+  "control.editor" editor control.dump *
+  "control.title"  title  control.dump *
+  "control.pages"  pages  control.dump *
+  "control.year"   year   control.dump *
+  "control.eprint" eprint control.dump *
+  top$
+  'control.key    key    control.parse
+  'control.author author control.parse
+  'control.editor editor control.parse
+  'control.title  title  control.parse
+  'control.pages  pages  control.parse
+  'control.year   year   control.parse
+  'control.eprint eprint control.parse
+  control.author.decode
+}
+
+FUNCTION {control.pass}
+{ type$ "control" = 'control.setup 'skip$ if$
+}
+
+FUNCTION {control.presort}
+{
+}
+
+FUNCTION {control.forward}
+{
+}
+
+FUNCTION {control.reverse}
+{
+}
+
+FUNCTION {control.sort}
+{
+}
+
+FUNCTION {control.longest.label}
+{
+}
+
+FUNCTION {control.key.bib}
+{
+  "Control: key "
+  control.key
+  duplicate$ "(" swap$ int.to.str$ * ") " * swap$
+  pop$ *
+  diagn.cmntlog
+}
+
+FUNCTION {control.author.bib}
+{
+  "Control: author "
+  control.author "(" swap$ int.to.str$ * ")" * *
+  control.author.reversed { " reversed" * }{} if$
+  control.author.first    { " first"    * }{} if$
+  control.author.nocomma  { " nocomma"  * }{} if$
+  control.author.initials { " initials" * }{} if$
+  control.author.nospace  { " nospace"  * }{} if$
+  control.author.dotless  { " dotless"  * }{} if$
+  control.author.jnrlst   { " jnrlst"   * }{} if$
+  diagn.cmntlog
+}
+
+FUNCTION {control.editor.bib}
+{
+  "Control: editor formatted "
+  control.editor
+  duplicate$ "(" swap$ int.to.str$ * ") " * swap$
+  duplicate$ #0 <  {
+    pop$
+    "disabled!"
+  } {
+    #0 > {
+      "identically to author"
+    } {
+      "differently from author"
+    } if$
+  } if$ * *
+  diagn.cmntlog
+}
+
+FUNCTION {control.title.bib}
+{
+  "Control: production of article title "
+  control.title
+  duplicate$ "(" swap$ int.to.str$ * ") " * swap$
+  duplicate$ #0 <  {
+    pop$
+    "disabled"
+  } {
+    #0 > {
+      "required"
+    } {
+      "allowed"
+    } if$
+  } if$ * *
+  diagn.cmntlog
+}
+
+FUNCTION {control.pages.bib}
+{
+  "Control: page "
+  control.pages
+  duplicate$ "(" swap$ int.to.str$ * ") " * swap$
+  duplicate$ #0 <  {
+    pop$
+    "none"
+  } {
+    #0 > {
+      "range"
+    } {
+      "single"
+    } if$
+  } if$ * *
+  diagn.cmntlog
+}
+
+FUNCTION {control.year.bib}
+{
+  "Control: year "
+  control.year
+  duplicate$ "(" swap$ int.to.str$ * ") " * swap$
+  duplicate$ #0 <  {
+    pop$
+    "disabled!"
+  } {
+    #0 > {
+      "truncated"
+    } {
+      "verbatim"
+    } if$
+  } if$ * *
+  diagn.cmntlog
+}
+
+FUNCTION {control.eprint.bib}
+{
+  "Control: production of eprint "
+  control.eprint
+  duplicate$ "(" swap$ int.to.str$ * ") " * swap$
+  #0 < { "disabled" } { "enabled" } if$ * *
+  diagn.cmntlog
+}
+
+FUNCTION {control.bib}
+{
+  control.key.bib
+  control.author.bib
+  control.editor.bib
+  control.title.bib
+  control.pages.bib
+  control.year.bib
+  control.eprint.bib
+}
+
+FUNCTION {init.state.consts}
+{
+  #0 'before.all        :=
+  #1 'after.word        :=
+  #2 'after.punctuation :=
+  #3 'after.sentence    :=
+  #4 'after.block       :=
+  #0 'punctuation.no    :=
+  #1 'punctuation.space :=
+  #2 'punctuation.yes   :=
+  "" 'bibfield          :=
+  "" 'output.bibfield   :=
+}
+
+STRINGS { s t}
+FUNCTION {block.punctuation}
+{ ""
+  "," *
+}
+
+FUNCTION {word.space}
+{
+  "\ "
+}
+
+FUNCTION {show.stackstring.one}{
+  "(" *
+  output.state int.to.str$ *
+    "," * punctuation.state int.to.str$ *
+  ")" * top$
+  duplicate$ "1(" swap$ * ")" * top$
+}
+
+FUNCTION {show.stackstring.two}{
+  "(" *
+  output.state int.to.str$ *
+    "," * punctuation.state int.to.str$ *
+  ")" * top$
+  swap$
+  duplicate$ "1(" swap$ * ")" * top$
+  swap$
+  duplicate$ "2(" swap$ * ")" * top$
+}
+
+FUNCTION {bibfield.command}{ "\bibfield "}
+
+FUNCTION {output.nonnull}
+{
+  swap$
+  output.state after.word =
+    {
+      block.punctuation *
+      word.space *
+    }
+    {
+      output.state after.punctuation =
+        {
+          word.space *
+        }
+        {
+          output.state after.block = output.state after.sentence = or
+            {
+              add.period$
+              "\EOS\ " *
+            }{
+            }
+          if$
+        }
+      if$
+    }
+  if$
+  output.bibfield duplicate$ empty$ 'pop$
+    {
+      bibfield.command
+      " {" * swap$ * "} {" * swap$ * "}" *
+    }
+  if$
+  write$
+  bibfield 'output.bibfield := "" 'bibfield :=
+  output.state after.block =
+    {
+      newline$
+      "\newblock " write$
+    }
+    'skip$
+  if$
+  punctuation.state duplicate$
+  punctuation.yes 'punctuation.state :=
+  punctuation.no =
+    { pop$ before.all }
+    { punctuation.yes = { after.word }{ after.punctuation } if$ }
+  if$
+  'output.state :=
+}
+
+FUNCTION {output}
+{ duplicate$ empty$
+    {
+      pop$
+  "" 'bibfield :=
+    }
+    'output.nonnull
+  if$
+}
+
+FUNCTION {output.nopunct}
+{
+  punctuation.no 'punctuation.state :=
+  output.nonnull
+}
+
+FUNCTION {output.check}
+{ swap$
+  duplicate$ empty$
+    { pop$ "empty " swap$ * " in " * cite$ * warning$ }
+    { swap$ pop$ output.nonnull }
+  if$
+}
+
+FUNCTION {bbl.open} { "\BibitemOpen " }
+
+FUNCTION {bbl.shut} { "\BibitemShut " }
+
+FUNCTION {bibitem.shut.stop} { bbl.shut "{Stop}%" * }
+
+FUNCTION {bibitem.shut.nostop} { bbl.shut "{NoStop}%" * }
+
+FUNCTION {bibitem.shut}
+{
+  non.stop
+    {
+  bibitem.shut.nostop *
+    }{
+  bibitem.shut.stop *
+    }
+  if$
+}
+
+FUNCTION {html.itag} {
+  "p"
+}
+
+FUNCTION {html.ltag} {
+  ""
+}
+
+FUNCTION {output.SLACcitation}
+{ SLACcitation empty$
+    'skip$
+    {
+      newline$
+      SLACcitation write$
+    }
+  if$
+}
+
+FUNCTION {fin.entry}
+{
+  bibitem.shut
+  write$
+    output.SLACcitation
+}
+
+FUNCTION {new.block}
+{ output.state before.all =
+    'skip$
+    { after.block 'output.state := }
+  if$
+}
+
+FUNCTION {new.block.comma}
+{
+}
+
+FUNCTION {new.sentence}
+{ output.state after.block = output.state before.all = or
+    'skip$
+    { after.sentence 'output.state := }
+  if$
+}
+
+FUNCTION {new.sentence.comma}
+{
+}
+
+FUNCTION {sentence.or.colon}
+{
+  new.sentence
+}
+
+FUNCTION {add.blank}
+{
+  word.space *
+  before.all 'output.state :=
+}
+
+FUNCTION {no.blank.or.punct}
+{
+   "\hspace {0pt}" *
+   before.all 'output.state :=
+}
+
+FUNCTION {date.block}
+{
+  new.block.comma
+  skip$
+}
+
+STRINGS {z}
+FUNCTION {remove.dots}
+{
+  control.author.dotless {
+    'z :=
+    ""
+    { z empty$ not }
+    { z #1 #1 substring$
+      z #2 global.max$ substring$ 'z :=
+      duplicate$ "." = 'pop$
+        { * }
+      if$
+    }
+    while$
+  } 'skip$ if$
+}
+
+FUNCTION {new.block.checkb}
+{ empty$
+  swap$ empty$
+  and
+    'skip$
+    'new.block
+  if$
+}
+
+FUNCTION {field.or.null}
+{ duplicate$ empty$
+    { pop$ "" }
+    'skip$
+  if$
+}
+
+FUNCTION {emphasize}
+{
+  duplicate$ empty$
+    { pop$ "" }
+    {
+      "\emph {" swap$ * "}" *
+    }
+  if$
+}
+
+FUNCTION {bolden}
+{ duplicate$ empty$
+    { pop$ "" }
+    { "\textbf {" swap$ * "}" * }
+  if$
+}
+
+FUNCTION {bib.name.font}
+{
+  duplicate$ empty$
+    { pop$ "" }
+    {
+    "\bibnamefont {" swap$ * "}" *
+    }
+  if$
+}
+
+FUNCTION {bib.fname.font}
+{
+  duplicate$ empty$
+    { pop$ "" }
+    {
+    "\bibfnamefont {" swap$ * "}" *
+    }
+  if$
+}
+
+FUNCTION {cite.name.font}
+{
+  duplicate$ empty$
+    { pop$ "" }
+    {
+    "\citenamefont {" swap$ * "}" *
+    }
+  if$
+}
+
+FUNCTION {tie.or.space.prefix}
+{ duplicate$ text.length$ #3 <
+    { "~" }
+    { word.space }
+  if$
+  swap$
+}
+
+FUNCTION {capitalize}
+{
+  "u" change.case$ "t" change.case$
+}
+
+FUNCTION {space.word}
+{ word.space swap$ * word.space * }
+
+ % Here are the language-specific definitions for explicit words.
+ % Each function has a name bbl.xxx where xxx is the English word.
+ % The language selected here is ENGLISH
+
+FUNCTION {bbl.and}
+{
+  "and"
+}
+
+FUNCTION {bbl.etal}
+{
+  "et~al."
+}
+
+FUNCTION {bbl.editors}
+{
+  "eds."
+}
+
+FUNCTION {bbl.editor}
+{
+  "ed."
+}
+
+FUNCTION {bbl.edby}
+{ "edited by" }
+
+FUNCTION {bbl.edition}
+{
+  "ed."
+}
+
+FUNCTION {bbl.volume}
+{
+  "vol."
+}
+
+FUNCTION {bbl.of}
+{ "of" }
+
+FUNCTION {bbl.number}
+{
+  "no."
+}
+
+FUNCTION {bbl.nr}
+{ "no." }
+
+FUNCTION {bbl.in}
+{ "in" }
+
+FUNCTION {bbl.pages}
+{
+  "pp."
+}
+
+FUNCTION {bbl.page}
+{
+  "p."
+}
+
+FUNCTION {bbl.eidpp}
+{ "pages" }
+
+FUNCTION {bbl.chapter}
+{
+  "chap."
+}
+
+FUNCTION {bbl.techrep}
+{
+  "Tech. Rep."
+}
+
+FUNCTION {bbl.mthesis}
+{ "Master's thesis" }
+
+FUNCTION {bbl.phdthesis}
+{ "Ph.D. thesis" }
+
+FUNCTION {bbl.first}
+{
+  "1st"
+}
+
+FUNCTION {bbl.second}
+{
+  "2nd"
+}
+
+FUNCTION {bbl.third}
+{
+  "3rd"
+}
+
+FUNCTION {bbl.fourth}
+{
+  "4th"
+}
+
+FUNCTION {bbl.fifth}
+{
+  "5th"
+}
+
+FUNCTION {bbl.st}
+{ "st" }
+
+FUNCTION {bbl.nd}
+{ "nd" }
+
+FUNCTION {bbl.rd}
+{ "rd" }
+
+FUNCTION {bbl.th}
+{ "th" }
+
+MACRO {jan} {"Jan."}
+
+MACRO {feb} {"Feb."}
+
+MACRO {mar} {"Mar."}
+
+MACRO {apr} {"Apr."}
+
+MACRO {may} {"May"}
+
+MACRO {jun} {"Jun."}
+
+MACRO {jul} {"Jul."}
+
+MACRO {aug} {"Aug."}
+
+MACRO {sep} {"Sep."}
+
+MACRO {oct} {"Oct."}
+
+MACRO {nov} {"Nov."}
+
+MACRO {dec} {"Dec."}
+
+FUNCTION {bbl.url.prefix}
+{
+  "\urlprefix "
+}
+
+FUNCTION {eng.ord}
+{ duplicate$ "1" swap$ *
+  #-2 #1 substring$ "1" =
+     { bbl.th * }
+     { duplicate$ #-1 #1 substring$
+       duplicate$ "1" =
+         { pop$ bbl.st * }
+         { duplicate$ "2" =
+             { pop$ bbl.nd * }
+             { "3" =
+                 { bbl.rd * }
+                 { bbl.th * }
+               if$
+             }
+           if$
+          }
+       if$
+     }
+   if$
+}
+
+ %-------------------------------------------------------------------
+ % Begin module:
+ % \ProvidesFile{physjour.mbs}[2002/01/14 2.2 (PWD)]
+MACRO {aa}{"Astron. \& Astrophys."}
+MACRO {aasup}{"Astron. \& Astrophys. Suppl. Ser."}
+MACRO {aj} {"Astron. J."}
+MACRO {aph} {"Acta Phys."}
+MACRO {advp} {"Adv. Phys."}
+MACRO {ajp} {"Amer. J. Phys."}
+MACRO {ajm} {"Amer. J. Math."}
+MACRO {amsci} {"Amer. Sci."}
+MACRO {anofd} {"Ann. Fluid Dyn."}
+MACRO {am} {"Ann. Math."}
+MACRO {ap} {"Ann. Phys. (NY)"}
+MACRO {adp} {"Ann. Phys. (Leipzig)"}
+MACRO {ao} {"Appl. Opt."}
+MACRO {apl} {"Appl. Phys. Lett."}
+MACRO {app} {"Astroparticle Phys."}
+MACRO {apj} {"Astrophys. J."}
+MACRO {apjsup} {"Astrophys. J. Suppl."}
+MACRO {apss} {"Astrophys. Space Sci."}
+MACRO {araa} {"Ann. Rev. Astron. Astrophys."}
+MACRO {baas} {"Bull. Amer. Astron. Soc."}
+MACRO {baps} {"Bull. Amer. Phys. Soc."}
+MACRO {cmp} {"Comm. Math. Phys."}
+MACRO {cpam} {"Commun. Pure Appl. Math."}
+MACRO {cppcf} {"Comm. Plasma Phys. \& Controlled Fusion"}
+MACRO {cpc} {"Comp. Phys. Comm."}
+MACRO {cqg} {"Class. Quant. Grav."}
+MACRO {cra} {"C. R. Acad. Sci. A"}
+MACRO {fed} {"Fusion Eng. \& Design"}
+MACRO {ft} {"Fusion Tech."}
+MACRO {grg} {"Gen. Relativ. Gravit."}
+MACRO {ieeens} {"IEEE Trans. Nucl. Sci."}
+MACRO {ieeeps} {"IEEE Trans. Plasma Sci."}
+MACRO {ijimw} {"Interntl. J. Infrared \& Millimeter Waves"}
+MACRO {ip} {"Infrared Phys."}
+MACRO {irp} {"Infrared Phys."}
+MACRO {jap} {"J. Appl. Phys."}
+MACRO {jasa} {"J. Acoust. Soc. America"}
+MACRO {jcp} {"J. Comp. Phys."}
+MACRO {jetp} {"Sov. Phys.--JETP"}
+MACRO {jfe} {"J. Fusion Energy"}
+MACRO {jfm} {"J. Fluid Mech."}
+MACRO {jmp} {"J. Math. Phys."}
+MACRO {jne} {"J. Nucl. Energy"}
+MACRO {jnec} {"J. Nucl. Energy, C: Plasma Phys., Accelerators, Thermonucl. Res."}
+MACRO {jnm} {"J. Nucl. Mat."}
+MACRO {jpc} {"J. Phys. Chem."}
+MACRO {jpp} {"J. Plasma Phys."}
+MACRO {jpsj} {"J. Phys. Soc. Japan"}
+MACRO {jsi} {"J. Sci. Instrum."}
+MACRO {jvst} {"J. Vac. Sci. \& Tech."}
+MACRO {nat} {"Nature"}
+MACRO {nature} {"Nature"}
+MACRO {nedf} {"Nucl. Eng. \& Design/Fusion"}
+MACRO {nf} {"Nucl. Fusion"}
+MACRO {nim} {"Nucl. Inst. \& Meth."}
+MACRO {nimpr} {"Nucl. Inst. \& Meth. in Phys. Res."}
+MACRO {np} {"Nucl. Phys."}
+MACRO {npb} {"Nucl. Phys. B"}
+MACRO {nt/f} {"Nucl. Tech./Fusion"}
+MACRO {npbpc} {"Nucl. Phys. B (Proc. Suppl.)"}
+MACRO {inc} {"Nuovo Cimento"}
+MACRO {nc} {"Nuovo Cimento"}
+MACRO {pf} {"Phys. Fluids"}
+MACRO {pfa} {"Phys. Fluids A: Fluid Dyn."}
+MACRO {pfb} {"Phys. Fluids B: Plasma Phys."}
+MACRO {pl} {"Phys. Lett."}
+MACRO {pla} {"Phys. Lett. A"}
+MACRO {plb} {"Phys. Lett. B"}
+MACRO {prep} {"Phys. Rep."}
+MACRO {pnas} {"Proc. Nat. Acad. Sci. USA"}
+MACRO {pp} {"Phys. Plasmas"}
+MACRO {ppcf} {"Plasma Phys. \& Controlled Fusion"}
+MACRO {phitrsl} {"Philos. Trans. Roy. Soc. London"}
+MACRO {prl} {"Phys. Rev. Lett."}
+MACRO {pr} {"Phys. Rev."}
+MACRO {physrev} {"Phys. Rev."}
+MACRO {pra} {"Phys. Rev. A"}
+MACRO {prb} {"Phys. Rev. B"}
+MACRO {prc} {"Phys. Rev. C"}
+MACRO {prd} {"Phys. Rev. D"}
+MACRO {pre} {"Phys. Rev. E"}
+MACRO {ps} {"Phys. Scripta"}
+MACRO {procrsl} {"Proc. Roy. Soc. London"}
+MACRO {rmp} {"Rev. Mod. Phys."}
+MACRO {rsi} {"Rev. Sci. Inst."}
+MACRO {science} {"Science"}
+MACRO {sciam} {"Sci. Am."}
+MACRO {sam} {"Stud. Appl. Math."}
+MACRO {sjpp} {"Sov. J. Plasma Phys."}
+MACRO {spd} {"Sov. Phys.--Doklady"}
+MACRO {sptp} {"Sov. Phys.--Tech. Phys."}
+MACRO {spu} {"Sov. Phys.--Uspeki"}
+MACRO {st} {"Sky and Telesc."}
+ % End module: physjour.mbs
+ %-------------------------------------------------------------------
+ % Begin module:
+ % \ProvidesFile{geojour.mbs}[2002/07/10 2.0h (PWD)]
+MACRO {aisr} {"Adv. Space Res."}
+MACRO {ag} {"Ann. Geophys."}
+MACRO {anigeo} {"Ann. Geofis."}
+MACRO {angl} {"Ann. Glaciol."}
+MACRO {andmet} {"Ann. d. Meteor."}
+MACRO {andgeo} {"Ann. d. Geophys."}
+MACRO {andphy} {"Ann. Phys.-Paris"}
+MACRO {afmgb} {"Arch. Meteor. Geophys. Bioklimatol."}
+MACRO {atph} {"Atm\'osphera"}
+MACRO {aao} {"Atmos. Ocean"}
+MACRO {ass}{"Astrophys. Space Sci."}
+MACRO {atenv} {"Atmos. Environ."}
+MACRO {aujag} {"Aust. J. Agr. Res."}
+MACRO {aumet} {"Aust. Meteorol. Mag."}
+MACRO {blmet} {"Bound.-Lay. Meteorol."}
+MACRO {bams} {"Bull. Amer. Meteorol. Soc."}
+MACRO {cch} {"Clim. Change"}
+MACRO {cdyn} {"Clim. Dynam."}
+MACRO {cbul} {"Climatol. Bull."}
+MACRO {cap} {"Contrib. Atmos. Phys."}
+MACRO {dsr} {"Deep-Sea Res."}
+MACRO {dhz} {"Dtsch. Hydrogr. Z."}
+MACRO {dao} {"Dynam. Atmos. Oceans"}
+MACRO {eco} {"Ecology"}
+MACRO {empl}{"Earth, Moon and Planets"}
+MACRO {envres} {"Environ. Res."}
+MACRO {envst} {"Environ. Sci. Technol."}
+MACRO {ecms} {"Estuarine Coastal Mar. Sci."}
+MACRO {expa}{"Exper. Astron."}
+MACRO {geoint} {"Geofis. Int."}
+MACRO {geopub} {"Geofys. Publ."}
+MACRO {geogeo} {"Geol. Geofiz."}
+MACRO {gafd} {"Geophys. Astrophys. Fluid Dyn."}
+MACRO {gfd} {"Geophys. Fluid Dyn."}
+MACRO {geomag} {"Geophys. Mag."}
+MACRO {georl} {"Geophys. Res. Lett."}
+MACRO {grl} {"Geophys. Res. Lett."}
+MACRO {ga} {"Geophysica"}
+MACRO {gs} {"Geophysics"}
+MACRO {ieeetap} {"IEEE Trans. Antenn. Propag."}
+MACRO {ijawp} {"Int. J. Air Water Pollut."}
+MACRO {ijc} {"Int. J. Climatol."}
+MACRO {ijrs} {"Int. J. Remote Sens."}
+MACRO {jam} {"J. Appl. Meteorol."}
+MACRO {jaot} {"J. Atmos. Ocean. Technol."}
+MACRO {jatp} {"J. Atmos. Terr. Phys."}
+MACRO {jastp} {"J. Atmos. Solar-Terr. Phys."}
+MACRO {jce} {"J. Climate"}
+MACRO {jcam} {"J. Climate Appl. Meteor."}
+MACRO {jcm} {"J. Climate Meteor."}
+MACRO {jcy} {"J. Climatol."}
+MACRO {jgr} {"J. Geophys. Res."}
+MACRO {jga} {"J. Glaciol."}
+MACRO {jh} {"J. Hydrol."}
+MACRO {jmr} {"J. Mar. Res."}
+MACRO {jmrj} {"J. Meteor. Res. Japan"}
+MACRO {jm} {"J. Meteor."}
+MACRO {jpo} {"J. Phys. Oceanogr."}
+MACRO {jra} {"J. Rech. Atmos."}
+MACRO {jaes} {"J. Aeronaut. Sci."}
+MACRO {japca} {"J. Air Pollut. Control Assoc."}
+MACRO {jas} {"J. Atmos. Sci."}
+MACRO {jmts} {"J. Mar. Technol. Soc."}
+MACRO {jmsj} {"J. Meteorol. Soc. Japan"}
+MACRO {josj} {"J. Oceanogr. Soc. Japan"}
+MACRO {jwm} {"J. Wea. Mod."}
+MACRO {lao} {"Limnol. Oceanogr."}
+MACRO {mwl} {"Mar. Wea. Log"}
+MACRO {mau} {"Mausam"}
+MACRO {meteor} {"``Meteor'' Forschungsergeb."}
+MACRO {map} {"Meteorol. Atmos. Phys."}
+MACRO {metmag} {"Meteor. Mag."}
+MACRO {metmon} {"Meteor. Monogr."}
+MACRO {metrun} {"Meteor. Rundsch."}
+MACRO {metzeit} {"Meteor. Z."}
+MACRO {metgid} {"Meteor. Gidrol."}
+MACRO {mwr} {"Mon. Weather Rev."}
+MACRO {nwd} {"Natl. Weather Dig."}
+MACRO {nzjmfr} {"New Zeal. J. Mar. Freshwater Res."}
+MACRO {npg} {"Nonlin. Proc. Geophys."}
+MACRO {om} {"Oceanogr. Meteorol."}
+MACRO {ocac} {"Oceanol. Acta"}
+MACRO {oceanus} {"Oceanus"}
+MACRO {paleoc} {"Paleoceanography"}
+MACRO {pce} {"Phys. Chem. Earth"}
+MACRO {pmg} {"Pap. Meteor. Geophys."}
+MACRO {ppom} {"Pap. Phys. Oceanogr. Meteor."}
+MACRO {physzeit} {"Phys. Z."}
+MACRO {pps} {"Planet. Space Sci."}
+MACRO {pss} {"Planet. Space Sci."}
+MACRO {pag} {"Pure Appl. Geophys."}
+MACRO {qjrms} {"Quart. J. Roy. Meteorol. Soc."}
+MACRO {quatres} {"Quat. Res."}
+MACRO {rsci} {"Radio Sci."}
+MACRO {rse} {"Remote Sens. Environ."}
+MACRO {rgeo} {"Rev. Geophys."}
+MACRO {rgsp} {"Rev. Geophys. Space Phys."}
+MACRO {rdgeo} {"Rev. Geofis."}
+MACRO {revmeta} {"Rev. Meteorol."}
+MACRO {sgp}{"Surveys in Geophys."}
+MACRO {sp} {"Solar Phys."}
+MACRO {ssr} {"Space Sci. Rev."}
+MACRO {tellus} {"Tellus"}
+MACRO {tac} {"Theor. Appl. Climatol."}
+MACRO {tagu} {"Trans. Am. Geophys. Union (EOS)"}
+MACRO {wrr} {"Water Resour. Res."}
+MACRO {weather} {"Weather"}
+MACRO {wafc} {"Weather Forecast."}
+MACRO {ww} {"Weatherwise"}
+MACRO {wmob} {"WMO Bull."}
+MACRO {zeitmet} {"Z. Meteorol."}
+ % End module: geojour.mbs
+ %-------------------------------------------------------------------
+ % Begin module:
+ % \ProvidesFile{photjour.mbs}[1999/02/24 2.0b (PWD)]
+
+MACRO {appopt} {"Appl. Opt."}
+MACRO {bell} {"Bell Syst. Tech. J."}
+MACRO {ell} {"Electron. Lett."}
+MACRO {jasp} {"J. Appl. Spectr."}
+MACRO {jqe} {"IEEE J. Quantum Electron."}
+MACRO {jlwt} {"J. Lightwave Technol."}
+MACRO {jmo} {"J. Mod. Opt."}
+MACRO {josa} {"J. Opt. Soc. America"}
+MACRO {josaa} {"J. Opt. Soc. Amer.~A"}
+MACRO {josab} {"J. Opt. Soc. Amer.~B"}
+MACRO {jdp} {"J. Phys. (Paris)"}
+MACRO {oc} {"Opt. Commun."}
+MACRO {ol} {"Opt. Lett."}
+MACRO {phtl} {"IEEE Photon. Technol. Lett."}
+MACRO {pspie} {"Proc. Soc. Photo-Opt. Instrum. Eng."}
+MACRO {sse} {"Solid-State Electron."}
+MACRO {sjot} {"Sov. J. Opt. Technol."}
+MACRO {sjqe} {"Sov. J. Quantum Electron."}
+MACRO {sleb} {"Sov. Phys.--Leb. Inst. Rep."}
+MACRO {stph} {"Sov. Phys.--Techn. Phys."}
+MACRO {stphl} {"Sov. Techn. Phys. Lett."}
+MACRO {vr} {"Vision Res."}
+MACRO {zph} {"Z. f. Physik"}
+MACRO {zphb} {"Z. f. Physik~B"}
+MACRO {zphd} {"Z. f. Physik~D"}
+
+MACRO {CLEO} {"CLEO"}
+MACRO {ASSL} {"Adv. Sol.-State Lasers"}
+MACRO {OSA}  {"OSA"}
+ % End module: photjour.mbs
+%% Copyright 1994-2007 Patrick W Daly
+MACRO {acmcs} {"ACM Comput. Surv."}
+
+MACRO {acta} {"Acta Inf."}
+
+MACRO {cacm} {"Commun. ACM"}
+
+MACRO {ibmjrd} {"IBM J. Res. Dev."}
+
+MACRO {ibmsj} {"IBM Syst.~J."}
+
+MACRO {ieeese} {"IEEE Trans. Software Eng."}
+
+MACRO {ieeetc} {"IEEE Trans. Comput."}
+
+MACRO {ieeetcad}
+ {"IEEE Trans. Comput. Aid. Des."}
+
+MACRO {ipl} {"Inf. Process. Lett."}
+
+MACRO {jacm} {"J.~ACM"}
+
+MACRO {jcss} {"J.~Comput. Syst. Sci."}
+
+MACRO {scp} {"Sci. Comput. Program."}
+
+MACRO {sicomp} {"SIAM J. Comput."}
+
+MACRO {tocs} {"ACM Trans. Comput. Syst."}
+
+MACRO {tods} {"ACM Trans. Database Syst."}
+
+MACRO {tog} {"ACM Trans. Graphic."}
+
+MACRO {toms} {"ACM Trans. Math. Software"}
+
+MACRO {toois} {"ACM Trans. Office Inf. Syst."}
+
+MACRO {toplas} {"ACM Trans. Progr. Lang. Syst."}
+
+MACRO {tcs} {"Theor. Comput. Sci."}
+
+FUNCTION {bibinfo.command} { "\bibinfo " }
+
+FUNCTION {bibinfo.check}
+{ swap$
+  duplicate$ missing$
+    {
+      pop$
+      pop$ ""
+    }{
+      duplicate$ empty$
+        {
+          swap$ pop$
+        }{
+          swap$
+          bibinfo.command "{" * swap$ * "} {" * swap$ * "}" *
+        }
+      if$
+    }
+  if$
+}
+
+FUNCTION {bibinfo.warn}
+{ swap$
+  duplicate$ missing$
+    {
+      swap$ "missing " swap$ * " in " * cite$ * warning$ pop$
+      ""
+    }{
+      duplicate$ empty$
+        {
+          swap$ "empty " swap$ * " in " * cite$ * warning$
+        }{
+          swap$
+          bibinfo.command " {" * swap$ * "} {" * swap$ * "}" *
+        }
+      if$
+    }
+  if$
+}
+
+FUNCTION {archiv.base}
+{
+  "http://arxiv.org/abs"
+}
+
+FUNCTION {archiv.prefix.base}
+{
+  "arXiv"
+}
+
+FUNCTION {eprint.command}
+{
+  "\Eprint "
+}
+
+FUNCTION {format.eprint}
+{
+  eprint duplicate$ empty$
+  control.eprint #0 <
+  or
+    { pop$ "" }
+    {
+      duplicate$
+      ""
+        archive duplicate$ empty$ { pop$ archiv.base } 'skip$ if$ *
+        "/" *
+        swap$ *
+        "{" swap$ * "} " *
+      swap$
+      ""
+        archivePrefix duplicate$ empty$ { pop$ "" } { ":" * } if$ *
+        swap$ *
+        primaryClass  duplicate$ empty$ { pop$ "" } { " [" swap$ * "]" * } if$ *
+        "{" swap$ * "} " *
+      *
+      eprint.command swap$ *
+    }
+  if$
+}
+
+FUNCTION {format.translation}
+{ translation duplicate$ empty$
+    'skip$
+    { ""
+      "\translation{" * swap$ * "}" *
+      punctuation.space 'punctuation.state :=
+    }
+  if$
+}
+
+FUNCTION {format.url}
+{
+  url duplicate$ empty$
+    { pop$ "" }
+    {
+      "\url "
+      "{" * swap$ * "}" *
+    }
+  if$
+}
+
+INTEGERS { nameptr namesleft numnames }
+
+FUNCTION {check.speaker}
+{ key empty$ 'skip$
+  { key nameptr int.to.str$ =
+    {
+      bolden
+    }
+      'skip$
+    if$
+  }
+  if$
+}
+
+
+STRINGS  { bibinfo}
+
+FUNCTION {format.names.fname}
+{
+  control.author.initials {
+    control.author.dotless {
+      control.author.nospace {
+        "f{}"
+      } {
+        "f{~}"
+      } if$
+    } {
+      control.author.nospace {
+        "f{.}."
+      } {
+        "f."
+      } if$
+    } if$
+  } {
+    "ff"
+  } if$
+}
+
+FUNCTION {bracify}
+{
+  "{" swap$ * "}" *
+}
+
+FUNCTION {name.comma}
+{
+  control.author.nocomma 'skip$ { "," swap$ * } if$
+}
+
+FUNCTION {format.names.format.onefont}
+{
+  "{vv~}{ll}"
+  nameptr #1 >
+  control.author.first
+  and
+  control.author.reversed not
+  or
+    {
+      control.author.initials {
+        "f"
+        control.author.dotless 'skip$ {
+          "." *
+        } if$
+        "~" *
+      } {
+        "ff"
+      } if$
+      bracify
+      swap$
+    } {
+      format.names.fname
+      " " swap$ *
+      name.comma
+      bracify
+    }
+  if$
+  "jj"
+  " " swap$ *
+  name.comma
+  bracify
+  control.author.jnrlst 'skip$ 'swap$ if$
+  * *
+}
+
+FUNCTION {format.names.onefont}
+{
+  s nameptr format.names.format.onefont format.name$
+  remove.dots
+  bib.name.font
+}
+
+FUNCTION {format.names.morfont}
+{ s nameptr
+  "{vv~}{ll}" format.name$ bib.name.font
+  nameptr #1 >
+  control.author.first
+  and
+  control.author.reversed not
+  or
+  {
+    s nameptr
+    control.author.initials {
+      "f"                        % default: name + surname + comma junior
+    } {
+      "ff"
+    } if$
+    control.author.dotless 'skip$ {
+      "." *                    % nm-init   % Initials. + surname (J. F. Smith)                                           control.author.initials
+    } if$
+    bracify
+    format.name$ duplicate$ empty$ 'skip$
+      { tie.or.space.prefix bib.fname.font swap$ * }
+    if$
+    swap$
+    *
+    s nameptr
+    "{jj}" format.name$ duplicate$ empty$ 'skip$
+      { bib.fname.font ", " swap$ * }
+    if$
+  } {
+    "," *
+    s nameptr
+    format.names.fname
+    "jj"
+    " "
+    name.comma
+    control.author.jnrlst {
+      swap$ * skip$
+    } {
+      skip$ * swap$
+    } if$
+    bracify swap$ bracify swap$
+    *
+    format.name$
+    remove.dots
+    duplicate$ empty$ 'skip$
+      { bib.fname.font " " swap$ * }
+      if$
+  } if$
+  *
+}
+
+FUNCTION {names.punctuate}
+{
+  "," *
+  " " *
+}
+
+FUNCTION {format.names}
+{ 'bibinfo :=
+  duplicate$ empty$ { pop$ "" } {
+    duplicate$ num.names$
+    duplicate$ 'numnames :=
+    'namesleft :=
+    's :=
+    #1 'nameptr :=
+    ""
+      { namesleft #0 > }
+      {
+      format.names.morfont
+        bibinfo bibinfo.check
+        type$ "presentation" =
+          'check.speaker
+          'skip$
+        if$
+        't :=
+        nameptr #1 > not
+          {
+            t *
+          } {
+            namesleft #1 >
+              {
+                names.punctuate
+                t *
+              } {
+                s nameptr "{ll}" format.name$ duplicate$ "others" =
+                  { 't := }
+                  { pop$ }
+                if$
+              names.punctuate
+                t "others" =
+                  {
+                    " " *
+                    bbl.etal
+                    emphasize
+                    *
+                  } {
+                    bbl.and
+                    space.word *
+                    t *
+                  }
+                if$
+              }
+            if$
+          }
+        if$
+        nameptr #1 + 'nameptr :=
+        namesleft #1 - 'namesleft :=
+      }
+    while$
+  } if$
+}
+
+FUNCTION {format.names.ed.onefont}
+{
+    s nameptr
+    control.author.initials {
+      control.author.dotless {
+        control.author.nospace {
+          "{f{}~}{vv~}{ll}{ jj}"   % nm-rvx|nm-rvcx
+        } {
+          "{f{~}~}{vv~}{ll}{ jj}"  % nm-rv
+        } if$
+      } {
+        control.author.nospace {
+          "{f{.}.~}{vv~}{ll}{ jj}" % nm-rvv|nm-rvvc
+        }{
+          "{f.~}{vv~}{ll}{, jj}"   % nm-init|nm-rev|nm-rev1
+        } if$
+      } if$
+    } {
+      "{ff~}{vv~}{ll}{, jj}"
+    } if$
+    format.name$
+    remove.dots
+    bib.name.font
+}
+
+FUNCTION {format.names.ed.morfont}
+{
+  control.author.reversed { %
+    control.author.initials { %
+      control.author.dotless { %
+        s nameptr
+        control.author.nospace { % nm-rvx nm-rvcx
+          "{f{}}"
+        } { % nm-rv
+          "{f{~}}"
+        } if$
+        format.name$ duplicate$ empty$ 'skip$
+          { tie.or.space.prefix bib.fname.font swap$ * }
+        if$
+        s nameptr
+        "{vv~}{ll}" format.name$ bib.name.font *
+        s nameptr
+        "{jj}" format.name$
+        remove.dots
+        duplicate$ empty$ 'skip$
+          { bib.fname.font " " swap$ * }
+        if$
+      } { % !control.author.dotless
+        s nameptr
+        control.author.nospace { % nm-rvv
+          "{ff}"
+        } { % nm-rev nm-rev1
+          "{f.}"
+        } if$
+        format.name$ duplicate$ empty$ 'skip$
+          { tie.or.space.prefix bib.fname.font swap$ * }
+        if$
+        s nameptr
+        "{vv~}{ll}" format.name$ bib.name.font *
+        s nameptr
+        "{jj}" format.name$
+        duplicate$ empty$ 'skip$
+          { bib.fname.font ", " swap$ * }
+        if$
+      } if$
+    } { % Full names !control.author.initials  nm-revf nm-revv1
+      s nameptr
+      "{ff}"
+      format.name$ duplicate$ empty$ 'skip$
+        { tie.or.space.prefix bib.fname.font swap$ * }
+      if$
+      s nameptr
+      "{vv~}{ll}" format.name$ bib.name.font *
+      s nameptr
+      "{jj}" format.name$
+      duplicate$ empty$ 'skip$
+        { bib.fname.font ", " swap$ * }
+      if$
+    } if$
+  } { % !control.author.reversed nm-init
+    s nameptr
+    "{f.}"
+    format.name$ duplicate$ empty$ 'skip$
+      { tie.or.space.prefix bib.fname.font swap$ * }
+    if$
+    s nameptr
+    "{vv~}{ll}" format.name$ bib.name.font *
+    s nameptr
+    "{jj}" format.name$
+    duplicate$ empty$ 'skip$
+      { bib.fname.font ", " swap$ * }
+    if$
+  } if$
+  *
+}
+
+FUNCTION {format.names.ed}
+{
+  control.editor #0 > {
+    format.names
+  } {
+    'bibinfo :=
+    duplicate$ empty$ 'skip$ {
+    's :=
+    "" 't :=
+    #1 'nameptr :=
+    s num.names$ 'numnames :=
+    numnames 'namesleft :=
+      { namesleft #0 > }
+      {
+       format.names.ed.morfont
+        bibinfo bibinfo.check
+        't :=
+        nameptr #1 >
+          {
+            namesleft #1 >
+              {
+                names.punctuate
+                t *
+              }{
+                s nameptr "{ll}" format.name$ duplicate$ "others" =
+                  { 't := }
+                  { pop$ }
+                if$
+                numnames #2 >
+                  'names.punctuate
+                  'skip$
+                if$
+                t "others" =
+                  {
+                    " " * bbl.etal emphasize *
+                  }{
+                   bbl.and
+                    space.word * t *
+                  }
+                if$
+              }
+            if$
+          }
+          't
+        if$
+        nameptr #1 + 'nameptr :=
+        namesleft #1 - 'namesleft :=
+      }
+    while$
+    } if$
+  } if$
+}
+
+FUNCTION {format.key}
+{ empty$
+    { key field.or.null }
+    { "" }
+  if$
+}
+
+FUNCTION {format.authors}
+{ author "author" format.names
+  duplicate$ empty$ 'skip$
+    { collaboration "collaboration" bibinfo.check
+      duplicate$ empty$ 'skip$
+        { " (" swap$ * ")" * }
+      if$
+      *
+    }
+  if$
+  "author" 'bibfield :=
+}
+
+FUNCTION {get.bbl.editor}
+{ editor num.names$ #1 > 'bbl.editors 'bbl.editor if$
+}
+
+FUNCTION {format.editors}
+{ editor "editor" format.names duplicate$ empty$ 'skip$
+    {
+      "," *
+      word.space *
+      get.bbl.editor
+      capitalize
+      *
+    }
+  if$
+}
+
+FUNCTION {format.isbn.output}
+{
+}
+
+FUNCTION {format.issn.output}
+{ 
+}
+
+FUNCTION {doi.base}
+{
+  "http://dx.doi.org/"
+}
+
+FUNCTION {doi.base.command}
+{
+  "\doibase "
+}
+
+FUNCTION {noop.command}
+{
+  "\href at noop "
+}
+
+FUNCTION {href.command}
+{
+  "\href "
+}
+
+FUNCTION {link.tag.open}
+{
+  doi duplicate$ empty$
+    {
+      pop$
+      url duplicate$ empty$
+        {
+          pop$ "" noop.command
+        }{
+          href.command
+        }
+      if$
+    }
+    {
+      doi.base.command swap$ * 
+      href.command
+    }
+  if$
+  "{" * swap$ * "} {" *
+}
+
+FUNCTION {link.tag.shut}
+{
+  "}"
+}
+
+FUNCTION {link.open}
+{
+  link.tag.open output.nopunct
+}
+
+FUNCTION {link.shut}
+{
+  link.tag.shut *
+}
+
+FUNCTION {add.doi}
+{
+  link.tag.open swap$ * link.tag.shut *
+}
+
+FUNCTION {select.language}
+{ duplicate$ empty$
+    'pop$
+    { language empty$
+        'skip$
+        { "{\selectlanguage {" language * "}" * swap$ * "}" * }
+      if$
+    }
+    if$
+}
+
+FUNCTION {format.note}
+{
+ note empty$
+    { "" }
+    { note #1 #1 substring$
+      duplicate$ "{" =
+        'skip$
+        {
+          output.state after.word = output.state after.punctuation = or
+            { "l" }
+            { "u" }
+          if$ change.case$
+        }
+      if$
+      note #2 global.max$ substring$ * "note" bibinfo.check
+    }
+  if$
+}
+
+FUNCTION {bbl.enquote}
+{
+  "\enquote "
+}
+
+FUNCTION {string.enquote}
+{
+  punctuation.no 'punctuation.state :=
+  non.stop {
+    block.punctuation
+  } { "" } if$
+   swap$ pop$
+  *
+  bbl.enquote "{" * swap$ * "}" *
+  word.space *
+}
+
+FUNCTION {format.title}
+{ title
+  duplicate$ empty$ 'skip$ { "t" change.case$ } if$
+  duplicate$ "title" bibinfo.check swap$
+  duplicate$ empty$ 'pop$
+    {
+      punctuation.yes 'punctuation.state :=
+      string.enquote
+      select.language
+    }
+  if$
+}
+
+FUNCTION {end.quote.title}
+{ title empty$
+    'skip$
+    { before.all 'output.state := }
+  if$
+}
+
+FUNCTION {format.name.apply}
+{
+  s nameptr
+  "{vv~}{ll}"
+  format.name$
+  cite.name.font
+}
+
+FUNCTION {format.full.names}
+{
+  's :=
+  "" 't :=
+  #1 'nameptr :=
+  s num.names$ 'numnames :=
+  numnames 'namesleft :=
+    { namesleft #0 > }
+    { format.name.apply
+      't :=
+      nameptr #1 >
+        {
+          namesleft #1 >
+            { ", " * t * }
+            {
+              s nameptr "{ll}" format.name$ duplicate$ "others" =
+                {
+                  't :=
+                }
+                'pop$
+              if$
+              t "others" =
+                {
+                  " " * bbl.etal
+                  emphasize *
+                }{
+                  numnames #2 > { "," * }{ skip$ } if$
+                  bbl.and
+                  space.word * t *
+                }
+              if$
+            }
+          if$
+        }
+        't
+      if$
+      nameptr #1 + 'nameptr :=
+      namesleft #1 - 'namesleft :=
+    }
+  while$
+}
+
+FUNCTION {make.full.names}
+{
+  key editor author
+  type$ "proceedings" =
+  type$ "book"        =
+  type$ "inbook"      =
+  or { pop$ }{ { pop$ "" }{ swap$ pop$ "" swap$ } if$ } if$
+  duplicate$ empty$
+    { pop$
+      duplicate$ empty$
+        { pop$
+          duplicate$ empty$
+            { pop$
+              cite$ #1 #3 substring$
+            }{
+              skip$
+            }
+          if$
+        }
+        { swap$ pop$ format.full.names }
+      if$
+    }
+    { swap$ pop$ swap$ pop$ format.full.names }
+  if$
+}
+
+FUNCTION {year.bibitem}
+{
+  year duplicate$ empty$
+  { pop$ ""
+    "????" *
+  }{
+    skip$
+  } if$
+  extra.label *
+}
+
+FUNCTION {output.bibitem}
+{
+  newline$
+  ""
+  label
+  * ")" *
+   make.full.names duplicate$ short.list =
+   { pop$ }{ * } if$
+   bracify
+  "[" swap$ * "]" *
+  cite$ bracify "%" *
+  *
+  "\bibitem "
+  swap$ *
+  write$ newline$
+  "  "
+  duplicate$ bbl.open * write$ newline$
+  before.all 'output.state :=
+  punctuation.yes 'punctuation.state :=
+}
+
+FUNCTION {n.dashify}
+{
+  't :=
+  ""
+    { t empty$ not }
+    { t #1 #1 substring$ "-" =
+        { t #1 #2 substring$ "--" = not
+            { "--" *
+              t #2 global.max$ substring$ 't :=
+            }{
+                { t #1 #1 substring$ "-" = }
+                { "-" *
+                  t #2 global.max$ substring$ 't :=
+                }
+              while$
+            }
+          if$
+        }{
+          t #1 #1 substring$ *
+          t #2 global.max$ substring$ 't :=
+        }
+      if$
+    }
+  while$
+}
+
+FUNCTION {word.in}
+{
+  bbl.in
+  word.space *
+}
+
+FUNCTION {date.encapsulate}
+{
+  duplicate$ empty$
+    'skip$
+    {
+      before.all 'output.state :=
+      " (" swap$ * ")" *
+    }
+  if$
+}
+
+FUNCTION {format.date}
+{
+  year "year" bibinfo.check duplicate$ empty$
+    {
+      "empty year in " cite$ * "; set to ????" * warning$
+       pop$ "????"
+    }
+    'skip$
+  if$
+  extra.label *
+  date.encapsulate
+}
+
+FUNCTION {format.date.output.check}
+{
+ format.date
+ "year" output.check
+}
+
+FUNCTION {format.date.output}
+{
+  format.date.output.check
+}
+
+FUNCTION {format.btitle}
+{
+  booktitle duplicate$ empty$ { pop$
+      title
+  } 'skip$ if$
+  "title" bibinfo.check
+  duplicate$ empty$ 'skip$
+    {
+      emphasize
+      select.language
+    }
+  if$
+}
+
+FUNCTION {either.or.check}
+{ empty$
+    'pop$
+    { "can't use both " swap$ * " fields in " * cite$ * warning$ }
+  if$
+}
+
+FUNCTION {editor.check.book}
+{ editor empty$ 'skip$
+    {
+      "can't use both author and editor fields in " cite$ *
+      ": try using @inbook instead" *
+      warning$
+    }
+  if$
+}
+
+FUNCTION {format.bvolume}
+{ volume duplicate$ empty$
+    { pop$ "" }
+    {
+      "volume and number" number either.or.check
+      bbl.volume
+      capitalize
+      swap$
+      tie.or.space.prefix "volume" bibinfo.check * *
+      series "series" bibinfo.check duplicate$ empty$ 'pop$
+        {
+          ", "
+          * swap$ *
+        }
+      if$
+    }
+  if$
+}
+
+FUNCTION {format.number}
+{
+  bbl.number
+  output.state after.word = output.state after.punctuation = or
+  #1 or
+  #0 and
+    'skip$
+    { capitalize }
+  if$
+  number tie.or.space.prefix "number" bibinfo.check * *
+}
+
+FUNCTION {format.number.series}
+{ volume empty$
+    { number empty$
+        { series field.or.null }
+        {
+          series empty$
+            {
+              number "number" bibinfo.check
+            }{
+              format.number
+              series "series" bibinfo.check
+              word.space * swap$ *
+            }
+          if$
+        }
+      if$
+    }
+    { "" }
+  if$
+}
+
+FUNCTION {is.num}
+{ chr.to.int$
+  duplicate$ "0" chr.to.int$ < not
+  swap$ "9" chr.to.int$ > not and
+}
+
+FUNCTION {extract.num}
+{ duplicate$ 't :=
+  "" 's :=
+  { t empty$ not }
+  { t #1 #1 substring$
+    t #2 global.max$ substring$ 't :=
+    duplicate$ is.num
+      { s swap$ * 's := }
+      { pop$ "" 't := }
+    if$
+  }
+  while$
+  s empty$
+    'skip$
+    { pop$ s }
+  if$
+}
+
+FUNCTION {convert.edition}
+{ extract.num "l" change.case$ 's :=
+  s "first" = s "1" = or
+    { bbl.first 't := }
+    { s "second" = s "2" = or
+        { bbl.second 't := }
+        { s "third" = s "3" = or
+            { bbl.third 't := }
+            { s "fourth" = s "4" = or
+                { bbl.fourth 't := }
+                { s "fifth" = s "5" = or
+                    { bbl.fifth 't := }
+                    { s #1 #1 substring$ is.num
+                        { s
+                            eng.ord
+                        't := }
+                        { edition 't := }
+                      if$
+                    }
+                  if$
+                }
+              if$
+            }
+          if$
+        }
+      if$
+    }
+  if$
+  t
+}
+
+FUNCTION {format.edition}
+{ edition duplicate$ empty$ 'skip$
+    {
+      convert.edition
+      output.state after.word = output.state after.punctuation = or
+        { "l" }
+        { "t" }
+      if$ change.case$
+      "edition" bibinfo.check
+      word.space * bbl.edition *
+    }
+  if$
+}
+
+INTEGERS { multiresult }
+FUNCTION {multi.page.check}
+{ 't :=
+  #0 'multiresult :=
+    { multiresult not
+      t empty$ not
+      and
+    }
+    { t #1 #1 substring$
+      duplicate$ "-" =
+      swap$ duplicate$ "," =
+      swap$ "+" =
+      or or
+        { #1 'multiresult := }
+        { t #2 global.max$ substring$ 't := }
+      if$
+    }
+  while$
+  multiresult
+}
+
+FUNCTION {format.pages}
+{ pages duplicate$ empty$
+    'skip$
+    { duplicate$ multi.page.check
+        {
+          bbl.pages swap$
+          n.dashify
+        }{
+          bbl.page swap$
+        }
+      if$
+      tie.or.space.prefix
+      "pages" bibinfo.check
+      * *
+    }
+  if$
+}
+
+FUNCTION {first.page}
+{ 't :=
+  ""
+    {  t empty$ not t #1 #1 substring$ "-" = not and }
+    { t #1 #1 substring$ *
+      t #2 global.max$ substring$ 't :=
+    }
+  while$
+}
+
+FUNCTION {format.book.pages}
+{
+  pages duplicate$ empty$ 'skip$
+    {
+      "pages" bibinfo.check word.space bbl.pages * *
+    }
+  if$
+}
+
+FUNCTION {volnum.punct}
+{
+          ","
+  word.space *
+}
+
+FUNCTION {format.journal.pages}
+{ pages duplicate$ empty$ 'pop$
+    { swap$ duplicate$ empty$
+        { pop$ pop$ format.pages }
+        { volnum.punct *
+          swap$
+          control.pages duplicate$ #0 < {
+            pop$ pop$
+          }{
+            #0 >
+            {
+              n.dashify
+            }{
+              first.page
+            } if$
+          } if$
+          "pages" bibinfo.check
+          *
+        }
+      if$
+    }
+  if$
+}
+
+FUNCTION {format.journal.eid}
+{ eid "eid" bibinfo.check
+  duplicate$ empty$ 'pop$
+    { swap$ duplicate$ empty$ 'skip$
+        { volnum.punct * }
+      if$
+      swap$ *
+    }
+  if$
+}
+
+FUNCTION {eid.or.pages}
+{
+  eid empty$
+    { format.journal.pages }
+    { format.journal.eid }
+  if$
+}
+
+FUNCTION {format.ser.vol.num}
+{
+  series "series" bibinfo.check output
+  volume field.or.null
+  duplicate$ empty$ 'skip$
+    {
+      "volume" bibinfo.check
+    }
+  if$
+  bolden
+  number "number" bibinfo.check duplicate$ empty$ 'skip$
+    {
+      swap$ duplicate$ empty$
+        { "there's a number but no volume in " cite$ * warning$ }
+        'skip$
+      if$
+      swap$
+      "~(" swap$ * ")" *
+    }
+  if$ *
+}
+
+FUNCTION {format.chapter.pages}
+{ chapter empty$
+    {
+      ""
+    }
+    { type empty$
+        {
+          bbl.chapter
+          capitalize
+        }{
+          type
+          capitalize
+          "type" bibinfo.check
+        }
+      if$
+      chapter tie.or.space.prefix
+      "chapter" bibinfo.check
+      * *
+    }
+  if$
+}
+
+FUNCTION {format.booktitle}
+{
+  booktitle duplicate$ "booktitle" bibinfo.check swap$
+  duplicate$ empty$ 'pop$
+    {
+      punctuation.yes 'punctuation.state :=
+      pop$ emphasize
+      select.language
+    }
+  if$
+}
+
+FUNCTION {format.editor.in}
+{
+  editor "editor" format.names.ed duplicate$ empty$ 'skip$
+    {
+      bbl.edby
+      word.space * swap$ *
+    }
+  if$
+}
+
+FUNCTION {output.article.booktitle}
+{
+  format.booktitle
+      "booktitle" 'bibfield :=
+  output
+  bookaddress "address" bibinfo.check duplicate$ empty$ 'pop$
+    {
+      "address" 'bibfield :=
+      output.nonnull after.punctuation 'output.state :=
+    }
+  if$
+}
+
+FUNCTION {format.in.ed.booktitle}
+{
+  format.booktitle duplicate$ empty$ 'pop$
+    {
+      add.doi
+      word.in swap$ * output.nonnull
+      bookaddress "address" bibinfo.check output
+      format.number.series "series and number" bibinfo.check output
+      format.bvolume output
+      format.editor.in "editor" bibinfo.check output
+    }
+  if$
+}
+
+FUNCTION {format.in.ed.booktitle.inbook}
+{
+  format.booktitle duplicate$ empty$ 'pop$
+    {
+      add.doi
+      word.in swap$ * output.nonnull
+      bookaddress "address" bibinfo.check output
+      format.number.series "series and number" bibinfo.check output
+      format.bvolume output
+      author empty$ 'skip$
+        { format.editor.in "editor" bibinfo.check output }
+    if$
+    }
+  if$
+}
+
+FUNCTION {format.thesis.type}
+{ type duplicate$ empty$
+    'pop$
+    { swap$ pop$
+      "t" change.case$ "type" bibinfo.check
+    }
+  if$
+}
+
+FUNCTION {format.tr.number}
+{ number "number" bibinfo.check
+  type duplicate$ empty$
+    { pop$ bbl.techrep }
+    'skip$
+  if$
+  "type" bibinfo.check
+  swap$ duplicate$ empty$
+    { pop$ "t" change.case$ }
+    { tie.or.space.prefix * * }
+  if$
+}
+
+FUNCTION {format.article.crossref}
+{
+  word.in
+  " \cite{" * crossref * "}" *
+}
+
+FUNCTION {format.book.crossref}
+{ volume duplicate$ empty$
+    { "empty volume in " cite$ * "'s crossref of " * crossref * warning$
+      pop$ word.in
+    }
+    { bbl.volume
+      swap$ tie.or.space.prefix "volume" bibinfo.check * * bbl.of space.word *
+    }
+  if$
+  " \cite{" * crossref * "}" *
+}
+
+FUNCTION {format.incoll.inproc.crossref}
+{
+  word.in
+  " \cite{" * crossref * "}" *
+}
+
+FUNCTION {format.org.or.pub}
+{ 't :=
+  ""
+  address "address" bibinfo.check
+  duplicate$ empty$
+    { pop$ t }
+    { t duplicate$ empty$
+        { pop$ }
+        {
+          "," word.space *
+          * swap$ *
+        }
+      if$
+    }
+  if$
+  *
+  duplicate$ empty$ 'skip$ {
+    ""
+    "(" * swap$ * ")" *
+    after.punctuation 'output.state :=
+    punctuation.space 'punctuation.state :=
+  } if$
+}
+
+FUNCTION {format.publisher.address}
+{ publisher "publisher" bibinfo.warn format.org.or.pub
+}
+
+FUNCTION {format.organization.address}
+{ organization "organization" bibinfo.check format.org.or.pub
+}
+
+FUNCTION {format.organization.publisher.address}
+{
+  publisher empty$
+    { format.organization.address }
+    { organization "organization" bibinfo.check output
+      format.publisher.address
+    }
+  if$
+}
+
+FUNCTION {format.school.address.output}
+{
+  school  "school"  bibinfo.warn
+  address "address" bibinfo.check
+  duplicate$ empty$ 'skip$
+    {
+      swap$
+      duplicate$ empty$ 'skip$
+        {
+          ", " *
+        }
+      if$
+      swap$
+    }
+  if$
+  *
+  duplicate$ empty$ 'skip$ { "(" swap$ * ")" * } if$ after.punctuation 'output.state :=
+  output
+}
+
+FUNCTION {article.title.produce}
+{
+  control.title duplicate$ #0 <
+  { pop$
+  }{
+    format.title
+    "title" 'bibfield :=
+    swap$ #0 >
+    {
+      "title" output.check
+    }{
+      output
+    } if$
+    new.block.comma
+  } if$
+}
+
+FUNCTION {control}
+{
+}
+
+FUNCTION {article}
+{ output.bibitem
+  format.authors
+  booktitle empty$ {
+      "author" output.check
+    }{ output } if$
+  author format.key output
+  format.date.output.check date.block
+  article.title.produce
+  output.article.booktitle
+  crossref missing$
+    {
+      link.open
+      journal
+      "journal" bibinfo.warn
+      "journal" 'bibfield :=
+      output
+      add.blank
+      format.ser.vol.num
+      output
+      eid.or.pages
+      pages empty$ {
+      doi output
+      } 'skip$ if$
+      link.shut
+    }{
+      format.article.crossref output.nonnull
+      eid.or.pages
+    }
+  if$
+  format.issn.output
+  new.block.comma
+  new.sentence.comma
+  format.note output
+  format.eprint output
+  format.translation output
+  fin.entry
+}
+
+FUNCTION {book}
+{ output.bibitem
+  author empty$
+    {
+      format.editors "author and editor" output.check
+      editor format.key output
+    }{
+      format.authors output.nonnull
+%     crossref missing$ { editor.check.book } 'skip$ if$
+    }
+  if$
+  format.date.output.check date.block
+  link.open
+  format.btitle
+  "title" output.check
+  link.shut
+  format.edition output
+  author empty$
+    {
+    }
+    {
+      format.editor.in output
+      editor format.key output
+    }
+  if$
+  format.number.series output
+  crossref missing$
+    {
+      format.bvolume output
+      new.block.comma
+      format.publisher.address output
+    }{
+      new.block.comma
+      format.book.crossref output.nonnull
+    }
+  if$
+  format.isbn.output
+  format.chapter.pages
+  output
+  new.block.comma
+  new.sentence.comma
+  format.note output
+  format.eprint output
+  fin.entry
+}
+
+FUNCTION {booklet}
+{ output.bibitem
+  format.authors output
+  author format.key output
+  format.date.output date.block
+  link.open
+  format.title
+  "title" output.check
+  link.shut
+  new.block.comma
+  howpublished "howpublished" bibinfo.check output
+  address "address" bibinfo.check output
+  format.isbn.output
+  format.book.pages output
+  new.block.comma
+  new.sentence.comma
+  format.note output
+  format.eprint output
+  fin.entry
+}
+
+FUNCTION {footnote}
+{ output.bibitem
+  format.note output
+  fin.entry
+}
+
+FUNCTION {inbook}
+{ output.bibitem
+  author empty$
+    {
+       format.editors "editor" output.check
+       editor format.key output
+    }{
+       format.authors output.nonnull
+       author format.key output
+    }
+  if$
+  format.date.output.check date.block
+
+  format.title output
+  new.block.comma
+
+  crossref missing$
+    {
+      format.in.ed.booktitle.inbook
+      format.chapter.pages
+      "chapter"
+      output.check
+      new.block.comma
+      format.edition output
+      new.block.comma
+      format.publisher.address output
+    }{
+      format.chapter.pages
+      "chapter"
+      output.check
+      new.block.comma
+      format.book.crossref output.nonnull
+    }
+  if$
+  crossref missing$
+    { format.isbn.output }
+    'skip$
+  if$
+  format.pages "pages" output.check
+  new.block.comma
+  new.sentence.comma
+  format.note output
+  format.eprint output
+  fin.entry
+}
+
+FUNCTION {incollection}
+{ output.bibitem
+  format.authors "author" output.check
+  author format.key output
+  format.date.output.check date.block
+  article.title.produce
+  crossref missing$
+    {
+      format.in.ed.booktitle
+      format.edition output
+      format.chapter.pages output
+      format.publisher.address output
+      format.isbn.output
+    }{
+      format.incoll.inproc.crossref output.nonnull
+      format.chapter.pages output
+    }
+  if$
+  format.pages "pages" output.check
+  new.block.comma
+  new.sentence.comma
+  format.note output
+  format.eprint output
+  fin.entry
+}
+
+FUNCTION {inproceedings}
+{ output.bibitem
+  format.authors "author" output.check
+  author format.key output
+  format.date.output.check date.block
+  article.title.produce
+  crossref missing$
+    {
+      format.in.ed.booktitle
+      format.organization.publisher.address output
+      format.isbn.output
+      format.issn.output
+    }{
+      format.incoll.inproc.crossref output.nonnull
+    }
+  if$
+  format.chapter.pages "chapter and pages" output.check
+  format.pages "pages" output.check
+  new.block.comma
+  new.sentence.comma
+  format.note output
+  format.eprint output
+  fin.entry
+}
+
+FUNCTION {conference} { inproceedings }
+FUNCTION {manual}
+{ output.bibitem
+  format.authors output
+  author format.key output
+  format.date.output date.block
+  link.open
+  format.btitle
+  "title" output.check
+  link.shut
+      organization "organization" bibinfo.check output
+      address "address" bibinfo.check output
+  format.edition output
+  new.block.comma
+  new.sentence.comma
+  format.note output
+  format.eprint output
+  fin.entry
+}
+
+FUNCTION {mastersthesis}
+{ output.bibitem
+  format.authors "author" output.check
+  author format.key output
+  format.date.output.check date.block
+  format.btitle
+  output
+  new.block.comma
+  link.open
+  bbl.mthesis
+  format.thesis.type
+  output.nonnull
+  link.shut
+  format.school.address.output
+  new.block.comma
+  new.sentence.comma
+  format.note output
+  format.eprint output
+  fin.entry
+}
+
+FUNCTION {misc}
+{ output.bibitem
+  format.authors output
+  author format.key output
+  format.date.output
+  date.block
+  link.open
+  format.title
+  output
+  link.shut
+  new.block.comma
+  howpublished "howpublished" bibinfo.check output
+  new.block.comma
+  new.sentence.comma
+  format.note output
+  format.eprint output
+  fin.entry
+}
+
+FUNCTION {phdthesis}
+{ output.bibitem
+  format.authors "author" output.check
+  author format.key output
+  format.date.output.check date.block
+  format.btitle
+  output
+  new.block.comma
+  link.open
+  bbl.phdthesis
+  format.thesis.type
+  output.nonnull
+  link.shut
+  format.school.address.output
+  new.block.comma
+  new.sentence.comma
+  format.note output
+  format.eprint output
+  fin.entry
+}
+
+FUNCTION {presentation}
+{ output.bibitem
+  format.authors output
+  author format.key output
+  new.block.comma
+  link.open
+  format.title
+  output
+  link.shut
+  new.block.comma
+  format.organization.address "organization and address" output.check
+  month "month" output.check
+  year "year" output.check
+  new.block.comma
+  new.sentence.comma
+  format.note output
+  new.sentence
+  type missing$ 'skip$
+    {"(" type capitalize * ")" * output}
+  if$
+  fin.entry
+}
+
+FUNCTION {proceedings}
+{ output.bibitem
+  format.editors output
+  editor format.key output
+  format.date.output.check date.block
+  link.open
+  format.btitle
+  "title" output.check
+  link.shut
+      bookaddress "address" bibinfo.check output
+  format.number.series output
+  format.bvolume output
+  format.organization.publisher.address output
+  format.isbn.output
+  format.issn.output
+  new.block.comma
+  new.sentence.comma
+  format.note output
+  format.eprint output
+  fin.entry
+}
+
+FUNCTION {techreport}
+{ output.bibitem
+  format.authors "author" output.check
+  author format.key output
+  format.date.output.check date.block
+  link.open
+  format.btitle
+  "title" output.check
+  link.shut
+  new.block.comma
+  format.tr.number
+  output.nonnull
+  institution "institution" bibinfo.warn
+  format.org.or.pub output
+  new.block.comma
+  new.sentence.comma
+  format.note output
+  format.eprint output
+  fin.entry
+}
+
+FUNCTION {unpublished}
+{ output.bibitem
+  format.authors "author" output.check
+  author format.key output
+  format.date.output date.block
+  link.open
+  format.title
+  "title" output.check
+  link.shut
+  new.block.comma
+  new.sentence.comma
+  format.note "note" output.check
+  format.eprint output
+  fin.entry
+}
+
+FUNCTION {default.type} { misc }
+
+READ
+
+EXECUTE {control.init}
+
+ITERATE {control.pass}
+
+EXECUTE {control.check}
+
+FUNCTION {sortify}
+{ purify$
+  "l" change.case$
+}
+
+INTEGERS { len }
+
+FUNCTION {chop.word}
+{ 's :=
+  'len :=
+  s #1 len substring$ =
+    { s len #1 + global.max$ substring$ }
+    's
+  if$
+}
+
+FUNCTION {cite.name.font.apply}
+{
+  word.space * bbl.etal
+  emphasize
+  *
+}
+
+FUNCTION {format.lab.names}
+{ 's :=
+  "" 't :=
+  #1 'nameptr :=
+  format.name.apply
+  s num.names$ duplicate$
+  #2 >
+    { pop$
+      cite.name.font.apply
+    }{
+      #2 <
+        'skip$
+        {
+          s #2 "{ff }{vv }{ll}{ jj}" format.name$ "others" =
+            {
+              cite.name.font.apply
+            }{
+              bbl.and space.word *
+              s #2 "{vv~}{ll}" format.name$
+              cite.name.font
+              *
+            }
+          if$
+        }
+      if$
+    }
+  if$
+}
+
+FUNCTION {author.key.label}
+{ author empty$
+    { key empty$
+        { cite$ #1 #3 substring$ }
+        'key
+      if$
+    }
+    { author format.lab.names }
+  if$
+}
+
+FUNCTION {author.editor.key.label}
+{ author empty$
+    { editor empty$
+        { key empty$
+            { cite$ #1 #3 substring$ }
+            'key
+          if$
+        }
+        { editor format.lab.names }
+      if$
+    }
+    { author format.lab.names }
+  if$
+}
+
+FUNCTION {editor.key.label}
+{ editor empty$
+    { key empty$
+        { cite$ #1 #3 substring$ }
+        'key
+      if$
+    }
+    { editor format.lab.names }
+  if$
+}
+
+FUNCTION {calc.short.authors}
+{ type$ "book" =
+  type$ "inbook" =
+  or
+    'author.editor.key.label
+    { type$ "proceedings" =
+        'editor.key.label
+        'author.key.label
+      if$
+    }
+  if$
+  'short.list :=
+}
+
+FUNCTION {calc.label}
+{
+  calc.short.authors
+  short.list
+  year duplicate$ empty$
+  short.list key field.or.null = or
+    {
+      pop$ ""
+       "????" *
+    }{
+      control.year #0 > { purify$ #-1 #4 substring$ } 'skip$ if$
+    }
+  if$
+  "(" swap$ * 
+  * 'label :=
+}
+
+FUNCTION {sort.format.names}
+{ 's :=
+  #1 'nameptr :=
+  ""
+  s num.names$ 'numnames :=
+  numnames 'namesleft :=
+    { namesleft #0 > }
+    { s nameptr
+      "{ll{ }}"
+      control.author.initials {
+        "{  f{ }}"  *
+      }{
+        "{  ff{ }}" *
+      } if$
+      "{  jj{ }}" *
+      format.name$ 't :=
+      nameptr #1 >
+        {
+          "   "  *
+          namesleft #1 = t "others" = and
+            { "zzzzz" * }
+            {
+              t sortify *
+            }
+          if$
+        }
+        { t sortify * }
+      if$
+      nameptr #1 + 'nameptr :=
+      namesleft #1 - 'namesleft :=
+    }
+  while$
+}
+
+FUNCTION {sort.format.title}
+{ 't :=
+  "A " #2
+    "An " #3
+      "The " #4 t chop.word
+    chop.word
+  chop.word
+  sortify
+  #1 global.max$ substring$
+}
+
+FUNCTION {author.sort}
+{ author empty$
+    { key empty$
+        { "to sort, need author or key in " cite$ * warning$
+          ""
+        }
+        { key sortify }
+      if$
+    }
+    { author sort.format.names }
+  if$
+}
+
+FUNCTION {author.editor.sort}
+{ author empty$
+    { editor empty$
+        { key empty$
+            { "to sort, need author, editor, or key in " cite$ * warning$
+              ""
+            }
+            { key sortify }
+          if$
+        }
+        { editor sort.format.names }
+      if$
+    }
+    { author sort.format.names }
+  if$
+}
+
+FUNCTION {year.sort.key}
+{
+  year
+}
+
+FUNCTION {editor.sort}
+{ editor empty$
+    { key empty$
+        { "to sort, need editor or key in " cite$ * warning$
+          ""
+        }
+        { key sortify }
+      if$
+    }
+    { editor sort.format.names }
+  if$
+}
+
+INTEGERS { seq.num }
+
+FUNCTION {init.seq}
+{ #0 'seq.num :=}
+
+EXECUTE {init.seq}
+
+FUNCTION {int.to.fix}
+{ "000000000" swap$ int.to.str$ *
+  #-1 #10 substring$
+}
+
+FUNCTION {label.presort}
+{
+  calc.label
+  label sortify
+  "    "
+  *
+  type$ "book" =
+  type$ "inbook" =
+  or
+    'author.editor.sort
+    { type$ "proceedings" =
+        'editor.sort
+        'author.sort
+      if$
+    }
+  if$
+  #1 entry.max$ substring$
+  'sort.label :=
+  sort.label
+  *
+  "    "
+  *
+  title field.or.null sort.format.title
+  *
+  #1 entry.max$ substring$
+  'sort.key$ :=
+}
+
+FUNCTION {presort.pass}
+{ type$ "control" = 'control.presort 'label.presort if$
+}
+
+ITERATE {presort.pass}
+
+SORT
+
+STRINGS { last.label next.extra }
+
+INTEGERS { last.extra.num number.label }
+
+FUNCTION {initialize.extra.label.stuff}
+{ #0 int.to.chr$ 'last.label :=
+  "" 'next.extra :=
+  #0 'last.extra.num :=
+  #0 'number.label :=
+}
+
+FUNCTION {label.forward}
+{
+  last.label label =
+    { last.extra.num #1 + 'last.extra.num :=
+      last.extra.num int.to.chr$ 'extra.label :=
+    }
+    { "a" chr.to.int$ 'last.extra.num :=
+      "" 'extra.label :=
+      label 'last.label :=
+    }
+  if$
+  number.label #1 + 'number.label :=
+}
+
+FUNCTION {label.reverse}
+{ next.extra "b" =
+    { "a" 'extra.label := }
+    'skip$
+  if$
+  extra.label 'next.extra :=
+  extra.label
+  duplicate$ empty$
+    'skip$
+    { "{\natexlab{" swap$ * "}}" * }
+  if$
+  'extra.label :=
+  label extra.label * 'label :=
+}
+
+EXECUTE {initialize.extra.label.stuff}
+
+FUNCTION {forward.pass}
+{ type$ "control" = 'control.forward 'label.forward if$
+}
+
+ITERATE {forward.pass}
+
+FUNCTION {reverse.pass}
+{ type$ "control" = 'control.reverse 'label.reverse if$
+}
+
+REVERSE {reverse.pass}
+
+FUNCTION {sortkey.sort}
+{ sort.label
+  "    "
+  *
+  year.sort.key
+  field.or.null sortify
+  *
+  "    "
+  *
+  title field.or.null sort.format.title
+  *
+  #1 entry.max$ substring$
+  'sort.key$ :=
+}
+
+FUNCTION {bib.sort.pass}
+{ type$ "control" = 'control.sort 'sortkey.sort if$
+}
+
+ITERATE {bib.sort.pass}
+
+SORT
+
+FUNCTION {init.bib.eprint}
+{
+    "\texttt {"
+  pop$
+  "\providecommand \url  [0]{\begingroup\@sanitize at url \@url }%" write$ newline$
+  "\providecommand \@url [1]{\endgroup\@href {#1}{" "}}%" bbl.url.prefix swap$ * * write$ newline$
+  "\providecommand " " [0]{URL }%" bbl.url.prefix swap$ * * write$ newline$
+  eprint.command "\providecommand " swap$ * "[0]{\href }%" * write$ newline$
+}
+
+FUNCTION {init.bib.doi}
+{
+  "\providecommand \doibase [0]{" doi.base "}%" * * write$ newline$
+}
+
+FUNCTION {init.bib.hypertex}
+{
+  "\providecommand " noop.command "[0]{\@secondoftwo}%" * * write$ newline$
+  "\providecommand " href.command "[0]{\begingroup \@sanitize at url \@href}%" * * write$ newline$
+  "\providecommand \@href[1]{\@@startlink{#1}\@@href}%" write$ newline$
+  "\providecommand \@@href[1]{\endgroup#1\@@endlink}%" write$ newline$
+  "\providecommand \@sanitize at url [0]{\catcode `\\12\catcode `\$12\catcode `\&12\catcode `\#12\catcode `\^12\catcode `\_12\catcode `\%12\relax}%" write$ newline$
+  "\providecommand \@@startlink[1]{}%" write$ newline$
+  "\providecommand \@@endlink[0]{}%"   write$ newline$
+}
+
+FUNCTION {init.bib.namefont}
+{
+  "\providecommand \bibnamefont  [1]{#1}%"  write$ newline$
+  "\providecommand \bibfnamefont [1]{#1}%" write$ newline$
+  "\providecommand \citenamefont [1]{#1}%"  write$ newline$
+}
+
+FUNCTION {init.bib.quote}
+{
+  "\providecommand " bbl.enquote * " [1]{" *
+  "``" "''"
+  "#1" swap$ "}%" * * * * write$ newline$
+}
+
+FUNCTION {init.bib.ay}
+{
+  "\providecommand \natexlab [1]{#1}%"
+  write$ newline$
+}
+
+FUNCTION {init.bib.bibinfo}
+{
+  bibinfo.command  "\providecommand " swap$ * " [0]{\@secondoftwo}%" * write$ newline$
+  bibfield.command "\providecommand " swap$ * " [0]{\@secondoftwo}%" * write$ newline$
+}
+
+FUNCTION {init.bib.lang}
+{
+  "\providecommand \selectlanguage [0]{\@gobble}%" write$ newline$
+}
+
+FUNCTION {init.bib.endbibitem}
+{
+  "\providecommand " bbl.open * "[0]{}%" *           write$ newline$
+  "\providecommand \bibitemStop [0]{}%"               write$ newline$
+  "\providecommand \bibitemNoStop [0]{.\EOS\space}%"  write$ newline$
+  "\providecommand \EOS [0]{\spacefactor3000\relax}%"   write$ newline$
+}
+
+FUNCTION {init.bib.translation}
+{
+  "\providecommand \translation [1]{[#1]}%" write$ newline$
+}
+
+FUNCTION {warn.bib}
+{
+}
+
+FUNCTION {init.bib}
+{
+  warn.bib
+  "\makeatletter" write$ newline$
+  "\providecommand \@ifxundefined [1]{%"   write$ newline$
+  " \@ifx{#1\undefined}"                   write$ newline$
+  "}%"                                     write$ newline$
+  "\providecommand \@ifnum [1]{%"          write$ newline$
+  " \ifnum #1\expandafter \@firstoftwo"    write$ newline$
+  " \else \expandafter \@secondoftwo"      write$ newline$
+  " \fi"                                   write$ newline$
+  "}%"                                     write$ newline$
+  "\providecommand \@ifx [1]{%"            write$ newline$
+  " \ifx #1\expandafter \@firstoftwo"      write$ newline$
+  " \else \expandafter \@secondoftwo"      write$ newline$
+  " \fi"                                   write$ newline$
+  "}%"                                     write$ newline$
+  init.bib.ay
+  init.bib.quote
+  init.bib.namefont
+  init.bib.hypertex
+  init.bib.eprint
+  init.bib.doi
+  init.bib.lang
+  init.bib.bibinfo
+  init.bib.translation
+  init.bib.endbibitem
+  "\providecommand " bbl.shut * " [1]{\csname bibitem#1\endcsname}%" * write$ newline$
+  "\let\auto at bib@innerbib\@empty"          write$ newline$
+  "%</preamble>" write$
+}
+
+FUNCTION {begin.bib}
+{
+  id.bst diagn.cmntlog
+  control.bib
+  preamble$ empty$
+    'skip$
+    { preamble$ write$ newline$ }
+  if$
+  "\begin{thebibliography}{"
+  number.label int.to.str$
+  * "}%" *
+  write$ newline$
+  init.bib
+}
+
+EXECUTE {begin.bib}
+
+EXECUTE {init.state.consts}
+
+ITERATE {call.type$}
+
+FUNCTION {end.bib}
+{ newline$
+  "\end{thebibliography}%"
+  write$ newline$
+}
+
+EXECUTE {end.bib}
+
+%% End of customized bst file
+%%
+%% End of file `apsrmp4-1.bst'.


Property changes on: trunk/Master/texmf-dist/bibtex/bst/revtex/apsrmp4-1.bst
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Modified: trunk/Master/texmf-dist/doc/latex/revtex/README
===================================================================
--- trunk/Master/texmf-dist/doc/latex/revtex/README	2019-01-18 22:37:42 UTC (rev 49750)
+++ trunk/Master/texmf-dist/doc/latex/revtex/README	2019-01-18 22:40:49 UTC (rev 49751)
@@ -1,16 +1,16 @@
 %% ****** Start of file README ****** %
 %%
 %%   This file is part of the APS files in the REVTeX 4 distribution.
-%%   Version 4.2b of REVTeX, January, 2019.
+%%   Version 4.2c of REVTeX, January, 2019.
 %%
 %%   Copyright (c) 1999-2019 American Physical Society.
 %%
 
-Last updated 27 December 2018
+Last updated 18 January 2019
 
-This file describes the contents of this distribution of REVTeX 4.2, version 4.2a.
-The definitive source of information about REVTeX 4 is the APS web
-page http://journals.aps.org/revtex/.
+This file describes the contents of this distribution of REVTeX 4.2,
+version 4.2c. The definitive source of information about REVTeX 4
+is the APS web page http://journals.aps.org/revtex/.
 
 User queries should be directed to revtex at aps.org.
 

Modified: trunk/Master/texmf-dist/doc/latex/revtex/auguide/auguide4-2.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/revtex/auguide/auguide4-2.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/revtex/auguide/auguide4-2.tex	2019-01-18 22:37:42 UTC (rev 49750)
+++ trunk/Master/texmf-dist/doc/latex/revtex/auguide/auguide4-2.tex	2019-01-18 22:40:49 UTC (rev 49751)
@@ -1,7 +1,7 @@
 %% ****** Start of file authguide.tex ****** %
 %%
 %%   This file is part of the APS files in the REVTeX 4 distribution.
-%%   Version 4.2b of REVTeX, December 2018
+%%   Version 4.2b of REVTeX, January 2019
 %%
 %%   Copyright (c) 2019 The American Physical Society.
 %%
@@ -59,7 +59,7 @@
 \revtex~4.2 incorporates the following changes:
 
 \begin{itemize}
-\item \textbf{Added support for additional APS journals,  \textit{Physical Review X},  \textit{Physical Review Accelerators and Beams}, \textit{Physical Review Applied}, \textit{Physical Review Fluids}, \textit{Physical Review Materials}, and \textit{Physical Review Education Research}.} There are new options \texttt{prx},  \texttt{prab}, \texttt{prapplied}, \texttt{prfluids}, and \texttt{prmaterials}, and \texttt{prper}.
+\item \textbf{Added support for additional APS journals,  \textit{Physical Review X},  \textit{Physical Review Accelerators and Beams}, \textit{Physical Review Applied}, \textit{Physical Review Fluids}, \textit{Physical Review Materials}, and \textit{Physical Review Physics Education Research}.} There are new options \texttt{prx},  \texttt{prab}, \texttt{prapplied}, \texttt{prfluids}, and \texttt{prmaterials}, and \texttt{prper}.
 
 \item \textbf{Added a unified \texttt{physrev} option for \textit{Physical Review} journal style (the \textit{Phys. Rev.} journals have no or few variations).}
 

Modified: trunk/Master/texmf-dist/doc/latex/revtex/source/aip4-2.pdf
===================================================================
(Binary files differ)

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

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

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

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

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

Added: trunk/Master/texmf-dist/source/latex/revtex/aip.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/revtex/aip.dtx	                        (rev 0)
+++ trunk/Master/texmf-dist/source/latex/revtex/aip.dtx	2019-01-18 22:40:49 UTC (rev 49751)
@@ -0,0 +1,2062 @@
+% \iffalse meta-comment
+% aip.dtx: package to change page grid, MVL.
+% Copyright (c) 2008 American Institute of Physics
+% mailto:tex at aip.org
+%
+% Disclaimer
+%   This file is distributed WITHOUT ANY WARRANTY;
+%   without even the implied warranty of
+%   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+% License
+%   You may distribute this file under the conditions of the 
+%   LaTeX Project Public License 1.3 or later 
+%   (http://www.latex-project.org/lppl.txt).
+% ReadMe
+%   For the documentation and more detailed instructions for
+%   installation, typeset this document with \LaTeX.
+% Maintenance Status
+%   This work has the LPPL maintenance status "maintained";
+%   Current Maintainer of this work is Arthur Ogawa.
+%
+% This work consists of the main source file aip.dtx
+% and the derived files
+%    aip.rtx, aip.pdf, aip.ins, aip.drv.
+% Distribution:
+%    CTAN:macros/latex/contrib/aip/
+%
+% Unpacking:
+%    tex aip.dtx
+%
+% Documentation:
+%    latex aip.dtx; ...
+%
+%    Programm calls to get the documentation (example):
+%       pdflatex aip.dtx
+%       makeindex -s gind.ist aip
+%       makeindex -s gglo.ist -o aip.gls aip.glo
+%       pdflatex aip.dtx
+%       makeindex -s gind.ist aip
+%       pdflatex aip.dtx
+%
+% Installation:
+%    TDS:bibtex/bst/aip/
+%    TDS:doc/latex/aip/
+%    TDS:source/latex/aip/
+%    TDS:tex/latex/aip/
+%
+% Thanks, Heiko!
+%    This method of letting a single .dtx file serve as both
+%    documentation (via latex) and installer (via tex) follows
+%    the example of Heiko Oberdiek. Thanks!
+%<*ignore>
+\begingroup
+  \def\x{LaTeX2e}%
+\expandafter\endgroup
+\ifcase
+ 0\expandafter\ifx\csname processbatchFile\endcsname\relax\else1\fi\ifx\fmtname\x\else 1\fi
+ \relax
+\else
+ \csname fi\endcsname
+%</ignore>
+%<*install>
+%% This file will generate documentation and runtime files
+%% from aip.dtx when run through LaTeX or TeX.
+%% This file requires docstrip version 2.4 or higher available from
+%% ftp://ctan.tug.org/tex-archive/macros/latex/unpacked/docstrip.tex
+\input docstrip
+\preamble
+
+This is a generated file;
+altering it directly is inadvisable;
+instead, modify the original source file.
+See the URL in the file README.
+
+Copyright (c) 2008 American Institute of Physics.
+mailto:tex at aip.org
+
+Maintained by Arthur Ogawa (mailto:arthur_ogawa at sbcglobal.net)
+under contract to American Institute of Physics.
+
+License
+   You may distribute this file under the conditions of the 
+   LaTeX Project Public License 1.3 or later 
+   (http://www.latex-project.org/lppl.txt).
+   
+   This file is distributed WITHOUT ANY WARRANTY; 
+   without even the implied warranty of MERCHANTABILITY 
+   or FITNESS FOR A PARTICULAR PURPOSE.
+
+\endpreamble
+\askforoverwritefalse
+\keepsilent
+ \generate{%
+  %{ignore}
+% \file{aip.ins}{\from{aip.dtx}{install}}%
+% \file{aip.drv}{\from{aip.dtx}{driver}}%
+% \usedir{tex/latex/aip}%
+  \file{aip4-1.rtx}{\from{aip.dtx}{package}}%
+ }%
+\ifToplevel{
+\Msg{***********************************************************}
+\Msg{*}
+\Msg{* To finish the installation, please move}
+\Msg{*    aip.rtx}
+\Msg{* into a directory searched by TeX;}
+\Msg{* in a TDS-compliant installation:}
+\Msg{* texmf/tex/macros/latex/aip/.}
+\Msg{*}
+\Msg{* To produce the documentation,
+       run aip.dtx through LaTeX.}
+\Msg{*}
+\Msg{* Happy TeXing}
+\Msg{***********************************************************}
+}
+\endbatchfile
+%</install>
+%<*ignore>
+\fi
+%</ignore>
+% \fi
+%
+% \GetFileInfo{aip.dtx}\CheckSum{1163}
+%
+% \iffalse ltxdoc klootch
+%<*package>
+%%%  @LaTeX-file{
+%%%     filename        = "aip.dtx",
+%%%     version         = "4.1r",
+%%%     date            = "2010/07/25",
+%%%     time            = "20:32:00 GMT-8",
+%%%     checksum        = "1163",
+%%%     author          = "Arthur Ogawa (mailto:arthur_ogawa at sbcglobal.net),
+%%%                        commissioned by the American Institute of Physics.
+%%%                        ",
+%%%     copyright       = "Copyright (C) 2008 American Institute of Physics,
+%%%                        distributed under the terms of the 
+%%%                        LaTeX Project Public License, see
+%%%                        ftp://ctan.tug.org/macros/latex/base/lppl.txt
+%%%                        ",
+%%%     address         = "AIP Journal Program
+%%%                        American Institute of Physics, 
+%%%                        Suite 1NO1, 2 Huntington Quadrangle, 
+%%%                        Melville, NY 11747 USA",
+%%%     telephone       = "",
+%%%     FAX             = "",
+%%%     email           = "mailto colon tex at aip.org",
+%%%     codetable       = "ISO/ASCII",
+%%%     keywords        = "latex, page grid, main vertical list",
+%%%     supported       = "yes",
+%%%     abstract        = "aip substyle for REVTeX",
+%%%     docstring       = "The checksum field above generated by ltxdoc",
+%%%  }
+%</package>
+% \fi
+%
+% \iffalse ltxdoc klootch
+% The following references the \file{README} file,
+% which contains basic information about this package.
+% The contents of this file are generated when
+% you typeset the programmer's documentation.
+% Search on "{filecontents*}{README}" to locate it.
+% \fi\input{README}%
+%
+% \subsection{Bill of Materials}
+%
+% Following is a list of the files in this distribution arranged
+% according to provenance.
+%
+% \subsubsection{Primary Source}%
+% One single file generates all.
+%\begin{verbatim}
+%aip.dtx
+%\end{verbatim}
+%
+% \subsubsection{Generated by \texttt{latex aip.dtx}}%
+% Typesetting the source file under \LaTeX\
+% generates the readme and the installer.
+%\begin{verbatim}
+%README   aip.ins
+%\end{verbatim}
+%
+% \subsubsection{Generated by \texttt{tex aip.dtx}}%
+% Typesetting the installer generates
+% the package files.
+%\begin{verbatim}
+%aip.rtx
+%\end{verbatim}
+%
+% \subsubsection{Documentation}%
+% The following are the online documentation:
+% \begin{verbatim}
+%aip.pdf
+% \end{verbatim}
+%
+% \subsubsection{Auxiliary}%
+% The following are auxiliary files generated
+% in the course of running \LaTeX:
+% \begin{verbatim}
+%aip.aux aip.idx aip.ind aip.log aip.toc
+% \end{verbatim}
+%
+% \section{Code common to all modules}%
+%
+% The following may look a bit klootchy, but we
+% want to require only one place in this file
+% where the version number is stated,
+% and we also want to ensure that the version
+% number is embedded into every generated file.
+%
+% Now we declare that
+% these files can only be used with \LaTeXe.
+% An appropriate message is displayed if
+% a different \TeX{} format is used.
+%    \begin{macrocode}
+%<*driver|package>
+\NeedsTeXFormat{LaTeX2e}[1996/12/01]%
+%</driver|package>
+%    \end{macrocode}
+% As desired, the following modules all
+% take common version information:
+%    \begin{macrocode}
+%<package>\ProvidesFile{aip4-1.rtx}%
+%<*driver>
+\expandafter\ProvidesFile\expandafter{\jobname.dtx}%
+%</driver>
+%    \end{macrocode}
+%
+% The following line contains, for once and for all,
+% the version and date information.
+% By various means, this information is reproduced
+% consistently in all generated files and in the
+% typeset documentation.
+%    \begin{macrocode}
+%<*driver|package>
+%<version>
+ [2010/07/25 4.1r AIP substyle for REVTeX]% \fileversion
+%</driver|package>
+%    \end{macrocode}
+%
+%
+% \section{The driver module \texttt{driver}}
+%
+% This module, consisting of the present section,
+% typesets the programmer's documentation,
+% generating the \file{.ins} installer and \file{README} as required.
+%
+% Because the only uncommented-out lines of code at the beginning of
+% this file constitute the \file{driver} module itself,
+% we can simply typeset the \file{.dtx} file directly,
+% and there is thus rarely any need to
+% generate the ``driver'' {\sc docstrip} module.
+% Module delimiters are nonetheless required so that
+% this code does not find its way into the other modules.
+%
+% The \enve{document} command concludes the typesetting run.
+%
+%    \begin{macrocode}
+%<*driver>
+%    \end{macrocode}
+%
+% \subsection{The Preamble}
+% The programmers documentation is formatted
+% with the \classname{ltxdoc} class with local customizations,
+% and with the usual code line indexing.
+%    \begin{macrocode}
+\documentclass{ltxdoc}
+\RequirePackage{ltxdocext}%
+\let\url\undefined
+\RequirePackage[colorlinks=true,linkcolor=blue]{hyperref}%
+\expandafter\ifx\csname package at font\endcsname\relax\else
+ \expandafter\expandafter
+ \expandafter\RequirePackage
+ \expandafter\expandafter
+ \expandafter{\csname package at font\endcsname}%
+\fi
+\gdef\lquote{`}\gdef\rquote{'}%
+\CodelineIndex\EnableCrossrefs % makeindex -s gind.ist aip
+\RecordChanges % makeindex -s gglo.ist -o aip.gls aip.glo
+%    \end{macrocode}
+%
+% \subsubsection{Docstrip and info directives}
+%    We use so many {\sc docstrip} modules that we set the
+%    \texttt{StandardModuleDepth} counter to 1.
+%    \begin{macrocode}
+\setcounter{StandardModuleDepth}{1}
+%    \end{macrocode}
+%    The following command retrieves the date and version information
+%    from this file.
+%    \begin{macrocode}
+\expandafter\GetFileInfo\expandafter{\jobname.dtx}%
+%    \end{macrocode}
+%
+% \subsection{The ``Read Me'' File}
+% As promised above, here is the contents of the
+% ``Read Me'' file. That file serves a double purpose,
+% since it also constitutes the beginining of the
+% programmer's documentation. What better thing, after
+% all, to have appear at the beginning of the
+% typeset documentation?
+%
+% A good discussion of how to write a ReadMe file can be found in
+% Engst, Tonya, ``Writing a ReadMe File? Read This''
+% \emph{MacTech} October 1998, p. 58.
+%
+% Note the appearance of the
+% \cmd\StopEventually\ command, which marks the
+% dividing line between the user documentation
+% and the programmer documentation.
+%
+% The usual user will not be asked to
+% do a full build, not to speak
+% of the bootstrap.
+% Instructions for carrying these processes
+% begin the programmer's manual.
+%
+%\changes{4.1b}{2008/08/06}{Beta candidate b}
+%    \begin{macrocode}
+\begin{filecontents*}{README}
+\title{%
+ The \classname{aip} substyle for REV\TeX%
+ \protect\thanks{%
+  \fileversion\ \copyright 2009 American Institute of Physics
+  % For version number and date,
+  % search on "\fileversion" in the .dtx file,
+  % or see the end of the README file.
+ }%
+}%
+
+\author{%
+Arthur Ogawa\thanks{mailto:arthur\_ogawa at sbcglobal.net}%
+}%
+\date{Version \fileversion, dated \filedate}%
+\maketitle
+
+This file embodies the implementation of the 
+AIP journal substyles for APS's \revtex\ 4.1 document class
+for electronic submissions to AIP journals.
+
+The distribution point for this work is
+\url{http://authors.aip.org/REVTEX}.
+The archive contains ready-to-Install files, documentation, and full source.
+
+This package is also distributed via CTAN:
+\url{http://www.ctan.org/pub/tex-archive/macros/latex/contrib/aip}, and as a ready-to-install image as
+\url{http://www.ctan.org/pub/tex-archive/install/macros/latex/contrib/aip.tds.zip}.
+
+The \classname{aip} package was commissioned by the American Institute of Physics
+and is distributed under the terms of the \LaTeX\ Project Public License,
+the same license under which all the portions of \LaTeX\ itself is distributed.
+Please see \url{http://ctan.tug.org/macros/latex/base/lppl.txt} for details.
+
+To use this document class, you must have a working
+\TeX\ installation equipped with \LaTeXe\ 
+and possibly pdftex and Adobe Acrobat Reader or equivalent.
+
+To install, retrieve the distribution,
+unpack it into a directory on the target computer,
+and move the file \file{aip.rtx}
+into a location in your filesystem where it will be found by \LaTeX.
+
+To use, read the user documentation \file{auguide.pdf}.
+
+\tableofcontents
+
+\section{Overview}%
+\revtex\ is a \LaTeXe\ document class, somewhat like a hybrid of 
+the standard \LaTeX\ \classname{book} and \classname{article} classes.
+
+This document class implements the AIP society and journal substyles: 
+the journals represent a set of mutually exclusive class options that, in this case, allow the 
+document class to address multiple journals within the AIP family.
+This society is obtained with class option \classoption{aip}.
+
+\section{Processing Instructions}
+
+The package file \file{aip.rtx}
+is generated from this file, \file{aip.dtx},
+using the {\sc docstrip} facility of \LaTeX
+via |tex aip.dtx|.
+The typeset documentation that you are now reading is generated from
+the same file by typesetting it with \LaTeX\ or pdftex
+via |latex aip.dtx| or |pdflatex aip.dtx|.
+
+\subsection{Build Instructions}
+
+You may bootstrap this suite of files solely from \file{aip.dtx}.
+Prepare by installing \LaTeXe\ (and either tex or pdftex) on your computer,
+then carry out the following steps:
+\begin{enumerate}
+\item
+Within an otherwise empty directory,
+typeset \file{aip.dtx} with \LaTeX\ or pdflatex;
+you will obtain the typeset documentation you are now reading,
+along with
+the installer \file{aip.ins},
+and the file \file{README}.
+
+Note: you will have to run \LaTeX\ twice, then \file{makeindex}, then
+\LaTeX\ again in order to obtain a valid index and table of contents.
+\item
+Now typeset \file{aip.dtx} with \TeX (not \LaTeX),
+thereby generating the package file \file{aip.rtx}.
+\item
+Install \classname{aip.rtx}
+by moving it to a location
+in your filesystem where it will be found by \LaTeX,
+like \file{tex/latex/aip}.
+\item
+Install \classname{aip.pdf}
+by moving it to 
+\file{doc/latex/aip}.
+\item 
+Using the \file{.dbj} information herein, 
+generate the needed \file{.bst} files and install them in
+\file{bibtex/bst/aip}.
+\end{enumerate}
+\end{filecontents*}
+%    \end{macrocode}
+%
+% \subsection{The Document Body}
+%
+% Here is the document body, containing only a
+% \cmd\DocInput\ directive---referring to this very file.
+% This very cute self-reference is a common \classname{ltxdoc} idiom.
+%    \begin{macrocode}
+\begin{document}%
+\newcommand\revtex{REV\TeX}%
+\expandafter\DocInput\expandafter{\jobname.dtx}%
+% ^^A\PrintChanges
+\end{document}
+%    \end{macrocode}
+%
+%    \begin{macrocode}
+%</driver>
+%    \end{macrocode}
+%
+% \section{AIP: A set of journal-specifc extensions to \revtex}
+%
+% To create a journal substyle, you create 
+% a \file{.rtx} file, in our case \file{aip.rtx}.
+% Within that file, you override procedures and parameter assignments as you see fit.
+% Ideally they will be generally applicable to all of that society's
+% journals (see the file \file{aps.rtx} for a realization of this scheme).
+% Also within that file, you include a 
+% section of code for each journal, that for JMP looks like:
+% \begin{verbatim}
+% \@ifx{\@journal\journal at jmp}{%
+% <code specific to the JMP>
+% }{}%
+% \end{verbatim}
+% 
+% \section{The \classoption{aip} class option: the \texttt{aip} module}
+% The file \file{aip.rtx} is read in by the \classname{revtex4} document class
+% if \cmd\@society\ has the value \classoption{aip}.
+%
+% Here, code specific to AIP journals appears.
+%
+% We first give some text entities (amounting to journal abbreviations),
+% then some AIP-specific initialisations,
+% then code for particular AIP journals.
+% In the latter case, the choice is 
+% keyed off the macro \cmd\@journal.
+%
+% Note on \cmd\AtEndOfClass:
+% this file, like all journal substyles, is read in at \cmd\AtEndOfClass\ time,
+% so you should not use this command in this file. 
+% Note for \LaTeX\ developers: It would be an improvement in \LaTeX\ to 
+% \cmd\let\cmd\AtEndOfClass\ to something like \cmd\@firstofone.
+% This change would be effected in \cmd\@onefilewithoptions.
+%
+%    \begin{macrocode}
+%<*package>
+%    \end{macrocode}
+%
+% \subsection{Defend Against Forseeable Errors}%
+% Protect this file from being read in by anything but \revtex.
+%    \begin{macrocode}
+\ifx\undefined\substyle at ext
+ \def\@tempa{%
+  \endinput
+  \GenericWarning{I must be read in by REVTeX! (Bailing out)}%
+ }%
+ \expandafter\else
+  \def\@tempa{}%
+ \expandafter\fi\@tempa
+ \class at info{RevTeX society AIP selected}%
+%    \end{macrocode}
+%
+% \subsection{Substyle Options}%
+%
+% Here are the class options relating to the AIP:
+%    \begin{macrocode}
+\DeclareOption{jcp}{\change at journal{jcp}}%
+\DeclareOption{pop}{\change at journal{pop}}%
+\DeclareOption{rsi}{\change at journal{rsi}}%
+\DeclareOption{jap}{\change at journal{jap}}%
+\DeclareOption{apl}{\change at journal{apl}}%
+\DeclareOption{cha}{\change at journal{cha}}%
+\DeclareOption{pof}{\change at journal{pof}}%
+\DeclareOption{bmf}{\change at journal{bmf}}%
+\DeclareOption{rse}{\change at journal{rse}}%
+\DeclareOption{jmp}{\change at journal{jmp}}%
+%    \end{macrocode}
+% 
+% Option allowing for ``numerical author-year'' bibliography. 
+%    \begin{macrocode}
+\DeclareOption{author-numerical}{%
+  \@booleantrue\authoryear at sw
+  \@booleantrue\authornum at sw
+}%
+%    \end{macrocode}
+% 
+% Optionally allow article title in bibliography entries. 
+% A new switch is defined here: \cmd\aip at jtitx@sw\ signifies that 
+% the numbered style bibliography is to be prepared without article titles in @ARTICLE entries.
+% Otherwise, such titles are incorporated if present in the \file{.bib} entry. 
+% By default, exclude the article titles.
+%    \begin{macrocode}
+\DeclareOption{article-title}{%
+  \@booleanfalse\aip at jtitx@sw
+}%
+\@booleantrue \aip at jtitx@sw
+%    \end{macrocode}
+%
+% Establish default options for this society.
+% 
+%    \begin{macrocode}
+\@booleanfalse\authoryear at sw
+\@booleanfalse\authornum at sw
+%    \end{macrocode}
+%
+% \begin{macro}{\@bibdataout at init}
+% \begin{macro}{\@bibdataout at aip}
+% \changes{4.1o}{2010/02/12}{(AO, 580) Control .bst at run time.}%
+% Procedure \cmd\@bibdataout at aip\ has the job of writing the control record into the
+% job's \cmd\jobname\filename{.bib} file, where it will adjust the options to \filename{.bst} processing. 
+% It is installed into the initialization procedure \cmd\@bibdataout at init, and its meaning 
+% is set by the society (AIP) and journal. 
+% 
+%    \begin{macrocode}
+\appdef\@bibdataout at rev{\@bibdataout at aip}%
+\def\@bibdataout at aip{%
+ \immediate\write\@bibdataout{%
+%    \end{macrocode}
+% An entry that controls processing of the \filename{.bst} file has entry type \texttt{@CONTROL}. 
+%    \begin{macrocode}
+  @CONTROL{%
+   aip41Control%
+%    \end{macrocode}
+% Say whether we want long bibliography style (the default), or the abbreviated style. 
+%    \begin{macrocode}
+   \longbibliography at sw{\true at sw}{\aip at jtitx@sw{\false at sw}{\true at sw}}%
+   {%
+    ,pages="1",title="0"%
+   }{%
+    ,pages="0",title=""%
+   }%
+  }%
+ }%
+%    \end{macrocode}
+% Place a \cmd\citation\ into the auxiliary file corresponding to this entry. 
+%    \begin{macrocode}
+ \if at filesw
+  \immediate\write\@auxout{\string\citation{aip41Control}}%
+ \fi
+}%
+%    \end{macrocode}
+% \end{macro}
+% \end{macro}
+%
+% For AIP, the preprint style \classoption{preprint} is the default.
+%    \begin{macrocode}
+\@booleantrue\preprintsty at sw
+%    \end{macrocode}
+%
+% \begin{macro}{\showPACS at sw}
+% \begin{macro}{\showKEYS at sw}
+% If \cmd\showPACS at sw\ is true, print the PACS information in the title block,
+% otherwise not.
+% Similarly for \cmd\showKEYS at sw\ and the keywords.
+%    \begin{macrocode}
+\@booleantrue\showPACS at sw
+\@booleantrue\showKEYS at sw
+%    \end{macrocode}
+% \end{macro}
+% \end{macro}
+%
+% \begin{macro}{\refname}
+% 
+% In reprint style only, we eliminate the head above the bibliography.
+%    \begin{macrocode}
+\appdef\setup at hook{%
+ \preprintsty at sw{}{%
+  \let\refname\@empty
+ }%
+}%
+%    \end{macrocode}
+% \end{macro}
+%
+% \subsection{AIP Setup}%
+% Here we define the default procedures for AIP journals.
+% Individual AIP journals may override these definitions.
+%
+% \subsubsection{Running header and footer}%
+%
+% Page style for all AIP journals.
+% We assert our own page style only if nobody else has done so.
+% Users wishing to customize their documents will be able to invoke a \cmd\pagestyle\
+% command anywhere in the preamble.
+%FIXME: \cmd\preprintsty at sw\ is defined?
+%    \begin{macrocode}
+\appdef\setup at hook{%
+ \preprintsty at sw{%
+  \ps at preprint
+ }{%
+  \ps at article
+ }%
+}%
+%    \end{macrocode}
+%
+% The spc says: ``Running title must be provided on title page'',
+% and that journal classes 1b and 2 have no running title.
+%    \begin{macrocode}
+\def\ps at preprint{%
+  \def\@oddhead{\@runningtitle\hfil}%
+  \def\@evenhead{\@runningtitle\hfil}%
+  \def\@oddfoot{\hfil\thepage\quad\checkindate\hfil}%
+  \def\@evenfoot{\hfil\thepage\quad\checkindate\hfil}%
+  \let\@mkboth\@gobbletwo
+  \let\sectionmark\@gobble
+  \let\subsectionmark\@gobble
+}%
+\def\ps at article{%
+  \def\@evenhead{\let\\\heading at cr\thepage\quad\checkindate\hfil\@runningtitle}%
+  \def\@oddhead{\let\\\heading at cr\@runningtitle\hfil\checkindate\quad\thepage}%
+  \def\@oddfoot{}%
+  \def\@evenfoot{}%
+  \let\@mkboth\@gobbletwo
+  \let\sectionmark\@gobble
+  \let\subsectionmark\@gobble
+}%
+\def\@runningtitle{\@shorttitle}%
+%    \end{macrocode}
+%
+% \subsubsection{Title block}%
+%
+% The specifics of the title block.
+% Apply to all AIP journals; individual journals may override these settings.
+%
+% \begin{macro}{\titlepage}
+%    \begin{macrocode}
+\renewenvironment{titlepage}{%
+  \let\wastwocol at sw\twocolumn at sw
+  \onecolumngrid
+  \newpage
+  \thispagestyle{titlepage}%
+  \c at page\z@% article sets this to one not zero???
+}{%
+  \wastwocol at sw{\twocolumngrid}{\newpage}%
+}%
+%    \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\@fnsymbol}
+% On the title page, footnotes are lettered with right parenthesis: ``a)''.
+%    \begin{macrocode}
+\let\@fnsymbol at latex\@fnsymbol
+\let\@fnsymbol\@alph
+%    \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\adjust at abstractwidth}
+% This procedure is used by many titlepage elements to indent on the left by a particular 
+% amount. The author list uses \cmd\frontmatter at authorformat\ to accomplish the same.
+%    \begin{macrocode}
+\def\adjust at abstractwidth{%
+ \parindent1em\relax
+ \advance\leftskip.5in\relax
+ \@totalleftmargin\leftskip
+ \@afterheading\@afterindentfalse
+}%
+%    \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\frontmatter at abstractheading}
+% AIP Journals all set the abstract head the same way, with no head.
+%    \begin{macrocode}
+\def\frontmatter at abstractheading{}%
+%    \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\frontmatter at abstractfont}
+% All AIP journals set the abstract body the same way.
+%    \begin{macrocode}
+\def\frontmatter at abstractfont{%
+%\small
+ \adjust at abstractwidth
+}%
+%    \end{macrocode}
+% \end{macro}
+%
+% All AIP journal preprints use separate titlepage and full-width abstract.
+%    \begin{macrocode}
+\appdef\setup at hook{%
+ \preprintsty at sw{%
+  \@booleantrue\titlepage at sw
+% \def\frontmatter at affiliationfont{\it}%
+  \let\section\section at preprintsty
+% \let\@hangfrom at section\@hangfrom at section@preprintsty
+  \let\subsection\subsection at preprintsty
+  \let\subsubsection\subsubsection at preprintsty
+ }{}%
+}%
+%    \end{macrocode}
+%
+% \begin{macro}{\frontmatter at authorformat}
+% All AIP journals set the author list the same.
+% The leading is 11.5 points, and
+% there is 11.5 points of extra space above the first author line
+% (which amounts to the same thing as 11.5 points extra below the title)
+% for a total of 23 points base-to-base.
+%
+%    \begin{macrocode}
+\def\frontmatter@@indent{%
+ \skip@\@flushglue
+ \@flushglue\z@ plus.3\hsize\relax
+ \raggedright
+ \advance\leftskip.5in\relax
+ \@totalleftmargin\leftskip
+ \@flushglue\skip@
+}%
+\def\frontmatter at authorformat{%
+ \frontmatter@@indent
+ \sffamily
+%\advance\baselineskip\p@
+%\parskip11.5\p@\relax
+}%
+\renewcommand*\email[1][Electronic mail: ]{\begingroup\sanitize at url\@email{#1}}%
+%    \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\frontmatter at above@affilgroup}
+% The default amount of space above affiliation.
+%    \begin{macrocode}
+\def\frontmatter at above@affilgroup{%
+}%
+%    \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\frontmatter at above@affiliation}
+% \begin{macro}{\frontmatter at above@affiliation at script}
+% The default amount of space above affiliation.
+%    \begin{macrocode}
+\def\frontmatter at above@affiliation at script{%
+ \frontmatter@@indent
+%\addvspace{3.5\p@}%
+}%
+\def\frontmatter at above@affiliation{%
+}%
+%    \end{macrocode}
+% \end{macro}
+% \end{macro}
+%
+% \begin{macro}{\frontmatter at affiliationfont}
+% All AIP journals set the affiliation the same.
+% Like the author, but in italic. 
+%    \begin{macrocode}
+\def\frontmatter at affiliationfont{%
+ \frontmatter@@indent
+ \preprintsty at sw{}{\small}%
+ \it
+}%
+%    \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\frontmatter at collaboration@above}
+%    \begin{macrocode}
+\def\frontmatter at collaboration@above{%
+}%
+%    \end{macrocode}
+% \end{macro}
+%
+% Set up the default AIP style for title block authors and affiliations.
+%
+% \begin{macro}{\frontmatter at setup}
+% All AIP journals set the title page using the same font and size.
+% However, justification varies for the title block elements, so
+% we assert none here.
+%    \begin{macrocode}
+\def\frontmatter at setup{%
+ \normalfont
+}%
+%    \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\frontmatter at title@above}
+% \begin{macro}{\frontmatter at title@format}
+% \begin{macro}{\frontmatter at title@below}
+% All AIP journals set the article title 12 point Times Roman, bold, flush left.
+%
+%    \begin{macrocode}
+\def\frontmatter at title@above{\addvspace{6\p@}}%
+\def\frontmatter at title@format{%
+ \preprintsty at sw{}{\Large}%
+ \sffamily
+ \bfseries
+ \raggedright
+ \parskip\z at skip
+}%
+\def\frontmatter at title@below{\addvspace{3\p@}}%
+%    \end{macrocode}
+% \end{macro}
+% \end{macro}
+% \end{macro}
+%
+% \begin{macro}{\frontmatter at makefnmark}
+% All AIP journals share this procedure for setting the titlepage footnote text:
+% superior lowercase letter, with right parenthesis.
+%    \begin{macrocode}
+\def\@author at parskip{3\p@}%
+\@booleantrue\altaffilletter at sw
+\def\frontmatter at makefnmark{%
+ \@textsuperscript{%
+  \normalfont\@thefnmark%(
+  )%
+ }%
+}%
+\def\frontmatter at authorbelow{%
+	\addvspace{3\p@}%
+}%
+%    \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\affil at cutoff}
+% We override \cmd\affil at cutoff\ to enforce the rule that,
+% if a single affiliation appears on the title page, then
+% no affiliation superscript at all is produced.
+%    \begin{macrocode}
+\let\affil at cutoff\tw@
+%    \end{macrocode}
+% De awa. 
+% \end{macro}
+%
+% \begin{macro}{\frontmatter at RRAP@format}
+% All AIP journals use the same format for the ``Received, Revised, etc.'' block on the title page.
+%
+% Change note: 11.5 points b-b from author/affiliation down to date.
+%    \begin{macrocode}
+\def\frontmatter at RRAP@format{%
+  \addvspace{5\p@}%
+  \small
+  \raggedright
+  \advance\leftskip.5in\relax
+ \@totalleftmargin\leftskip
+% \preprintsty at sw{}{\parskip.5ex\relax}%
+  \everypar{%
+   \hbox\bgroup(\@gobble at leavemode@uppercase%)
+  }%
+  \def\par{%
+   \@ifvmode{}{%(
+    \unskip)\egroup\@@par
+   }%
+  }%
+}%
+\def\punct at RRAP{;\egroup\ \hbox\bgroup}%
+\def\@gobble at leavemode@uppercase#1#2{\expandafter\MakeTextUppercase}%
+%    \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\frontmatter at PACS@format}
+% 
+%    \begin{macrocode}
+\def\frontmatter at PACS@format{%
+   \addvspace{11\p@}%
+%  \footnotesize
+   \adjust at abstractwidth
+   \parskip\z at skip
+   \samepage
+}%
+%    \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\frontmatter at keys@format}
+% 
+%    \begin{macrocode}
+\def\frontmatter at keys@format{%
+%  \footnotesize
+   \adjust at abstractwidth
+   \samepage
+}%
+%    \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\ps at titlepage}
+% Title page style. Currently empty except for preprint header,
+% which consists of all the \cmd\preprint\ arguments,
+% stacked flush right at the right margin.
+%    \begin{macrocode}
+\def\ps at titlepage{%
+  \def\@oddhead{%
+   \@runningtitle
+   \hfill
+   \produce at preprints\@preprint
+  }%
+  \let\@evenhead\@oddhead
+  \def\@oddfoot{%
+   \hb at xt@\z@{\byrevtex\hss}%
+   \hfil
+   \preprintsty at sw{\thepage}{}%
+   \quad\checkindate
+   \hfil
+  }%
+  \let\@evenfoot\@oddfoot
+}%
+\def\byrevtex{\byrevtex at sw{Typeset by REV\TeX and AIP}{}}%
+%    \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\produce at preprints}
+%    \begin{macrocode}
+\def\produce at preprints#1{%
+ \preprint at sw{%
+  \vtop to \z@{%
+   \def\baselinestretch{1}%
+   \small
+   \let\preprint\preprint at count
+   \count@\z@#1\@ifnum{\count@>\tw@}{%
+    \hbox{%
+     \let\preprint\preprint at hlist
+     #1\setbox\z@\lastbox
+    }%
+   }{%
+    \let\preprint\preprint at cr
+    \halign{\hfil##\cr#1\crcr}%
+    \par
+    \vss
+   }%
+  }%
+ }{}%
+}%
+\def\preprint at cr#1{#1\cr}%
+\def\preprint at count#1{\advance\count@\@ne}%
+\def\preprint at hlist#1{#1\hbox{, }}%
+%    \end{macrocode}
+% \end{macro}
+%
+% \subsubsection{Lead-in paragraph}%
+%
+% The \env{Lead-in paragraph} environment formats the AIP ``lead paragraph''.
+% To avoid introducing new syntax, we take over the \env{quotation} environment
+% until the first \cmd\section\ (or other sectioning command) appears.
+%
+%    \begin{macrocode}
+\newenvironment{Lead at inParagraph}{%
+ \par
+ \bfseries
+ \@afterheading\@afterindentfalse
+}{%
+ \par
+ \hb at xt@\hsize{\hfil\leaders\hrule\hfil\leaders\hrule\hfil\hfil}%
+}%
+%    \end{macrocode}
+% At the beginning of the document temporarily change the meaning of 
+% the \env{quotation} environment, restoring it once the first sectioning
+% command is given. 
+%    \begin{macrocode}
+\appdef\frontmatter at init{%
+ \let at environment{quotation at ltx}{quotation}%
+ \let at environment{quotation}{Lead at inParagraph}%
+}%
+\appdef\@startsection at hook{%
+ \let at environment{quotation}{quotation at ltx}%
+}%
+%    \end{macrocode}
+%
+% \subsubsection{Stacked Heads}%
+% All AIP journals put a period (.), followed by quad space, after the section number.
+% Also, no hanging section number.
+%    \begin{macrocode}
+\def\@seccntformat#1{\csname the#1\endcsname.\quad}%
+\def\@hang at from#1#2#3{#1#2#3}%
+%    \end{macrocode}
+%
+% Note that in the following, we wish to set the section head uppercase, so we use
+% David Carlisle's \cmd\MakeTextUppercase. However, because this procedure effectively 
+% parses its argument (looking for things to \emph{not} translate), it has to be invoked
+% in such a way that the argument of the \cmd\section\ command is passed to it as its
+% own argument. 
+%
+% To accomplish this, we use the \cmd\@hangfrom@\ hook, which was developed for this 
+% purpose.
+%
+%    \begin{macrocode}
+\def\section{%
+  \@startsection
+    {section}%
+    {1}%
+    {\z@}%
+    {0.8cm \@plus1ex \@minus .2ex}%
+    {0.5cm}%
+    {%
+     \normalfont
+     \small
+     \sffamily
+     \bfseries
+     \raggedright
+    }%
+}%
+\def\@hangfrom at section#1#2#3{\@hangfrom{#1#2}\MakeTextUppercase{#3}}%
+\def\@hangfroms at section#1#2{#1\MakeTextUppercase{#2}}%
+%    \end{macrocode}
+%
+% See, e.g., BMF\_044101\_1 (1) or BMF\_044103\_1 (1)
+%    \begin{macrocode}
+\def\subsection{%
+  \@startsection
+    {subsection}%
+    {2}%
+    {\z@}%
+    {.8cm \@plus1ex \@minus .2ex}%
+    {.5cm}%
+    {%
+     \normalfont
+     \small
+     \sffamily
+     \bfseries
+     \raggedright
+    }%
+}%
+%    \end{macrocode}
+%
+% See, e.g., BMF\_044104\_1 (1), JMP\_123520\_1 (48), 
+%    \begin{macrocode}
+\def\subsubsection{%
+  \@startsection
+    {subsubsection}%
+    {3}%
+    {\z@}%
+    {.8cm \@plus1ex \@minus .2ex}%
+    {.5cm}%
+    {%
+     \normalfont
+     \small
+     \sffamily
+     \bfseries
+     \itshape
+     \raggedright
+    }%
+}%
+%    \end{macrocode}
+%
+% \subsubsection{Runin Heads}%
+%    \begin{macrocode}
+\def\paragraph{%
+  \@startsection
+    {paragraph}%
+    {4}%
+    {\parindent}%
+    {\z@}%
+    {-1em}%
+    {\normalfont\normalsize\itshape}%
+}%
+%    \end{macrocode}
+%
+%    \begin{macrocode}
+\def\subparagraph{%
+  \@startsection
+    {subparagraph}%
+    {5}%
+    {\parindent}%
+    {3.25ex \@plus1ex \@minus .2ex}%
+    {-1em}%
+    {\normalfont\normalsize\bfseries}%
+}%
+%    \end{macrocode}
+%
+% \begin{macro}{\section at preprintsty}
+% \begin{macro}{\subsection at preprintsty}
+% \begin{macro}{\subsubsection at preprintsty}
+% Here are the formatting procedures specific to the preprint style;
+% the only difference is that the heads are flush left instead of centered.
+%
+%    \begin{macrocode}
+\def\section at preprintsty{%
+  \@startsection
+    {section}%
+    {1}%
+    {\z@}%
+    {0.8cm \@plus1ex \@minus .2ex}%
+    {0.5cm}%
+    {%
+     \normalfont
+     \bfseries
+     \raggedright
+    }%
+}%
+%\def\@hangfrom at section@preprintsty#1#2#3{\@hangfrom{#1#2}\MakeTextUppercase{#3}}%
+%    \end{macrocode}
+%    \begin{macrocode}
+\def\subsection at preprintsty{%
+  \@startsection
+    {subsection}%
+    {2}%
+    {\z@}%
+    {.8cm \@plus1ex \@minus .2ex}%
+    {.5cm}%
+    {%
+     \normalfont
+     \bfseries
+     \raggedright
+    }%
+}%
+%    \end{macrocode}
+%    \begin{macrocode}
+\def\subsubsection at preprintsty{%
+  \@startsection
+    {subsubsection}%
+    {3}%
+    {\z@}%
+    {.8cm \@plus1ex \@minus .2ex}%
+    {.5cm}%
+    {%
+     \normalfont
+%    \small
+     \itshape\bfseries
+     \raggedright
+    }%
+}%
+%    \end{macrocode}
+% \end{macro}
+% \end{macro}
+% \end{macro}
+%
+% For examples of 
+% \env{theorem}, \env{proposition}, \env{lemma}, \env{remark}, \env{corollary}, \env{example},
+% and \env{proof} (with optional title), 
+% using independent numbering for each class,
+% and with numbered and roman lists therein, 
+% see JMP\_122901\_1 (48). 
+%
+% For theorems, etc, numbered by section, (and with theorems in the appendix)
+% but equations numbered throughout, 
+% see JMP\_123301\_1 (48). 
+%
+% For a (roman) list in text, theorem, and proof,
+% see JMP\_123514\_1 (48).
+%
+% For numbered list in text, 
+% and equations numbered by section, 
+% see JMP\_123518\_1 (48).
+%
+% All AIP journals use frontmatter footnotes by default. 
+%    \begin{macrocode}
+\let\frontmatter at footnote@produce\frontmatter at footnote@produce at footnote
+%    \end{macrocode}
+%
+%
+% \subsubsection{Table of Contents}%
+% The toc will itself make an entry in the toc, 
+% but we temporarily turn off toc formatting for the duration.
+%    \begin{macrocode}
+\def\@pnumwidth{1.55em}
+\def\@tocrmarg {2.55em}
+\def\@dotsep{2}
+\def\ltxu at dotsep{4.5pt}
+\setcounter{tocdepth}{3}
+%    \end{macrocode}
+%
+%    \begin{macrocode}
+\def\tableofcontents{%
+ \addtocontents{toc}{\string\tocdepth at munge}%
+ \print at toc{toc}%
+ \addtocontents{toc}{\string\tocdepth at restore}%
+}%
+%    \end{macrocode}
+%
+%    \begin{macrocode}
+\def\tocdepth at munge{%
+  \let\l at section@saved\l at section
+  \let\l at section\@gobble at tw@
+}%
+\def\@gobble at tw@#1#2{}%
+%    \end{macrocode}
+%
+%    \begin{macrocode}
+\def\tocdepth at restore{%
+  \let\l at section\l at section@saved
+}%
+%    \end{macrocode}
+%
+%    \begin{macrocode}
+\def\l at part#1#2{\addpenalty{\@secpenalty}%
+ \begingroup
+  \set at tocdim@pagenum{#2}%
+% \@tempdima 3em %
+  \parindent \z@
+  \rightskip\tocleft at pagenum plus 1fil\relax
+  \skip@\parfillskip\parfillskip\z@
+  \addvspace{2.25em plus\p@}%
+  \large \bf %
+  \leavevmode\ignorespaces#1\unskip\nobreak\hskip\skip@
+  \hb at xt@\rightskip{\hfil\unhbox\z@}\hskip-\rightskip\hskip\z at skip
+  \par
+  \nobreak %
+ \endgroup
+}%
+%    \end{macrocode}
+%
+% \begin{macro}{\l at section}
+% Determine which TOC elements are automatically indented.
+%    \begin{macrocode}
+\def\tocleft@{\z@}%
+\def\tocdim at min{5\p@}%
+\def\l at section{%
+ \l@@sections{}{section}% Implicit #3#4
+}%
+\def\l at f@section{%
+ \addpenalty{\@secpenalty}%
+ \addvspace{1.0em plus\p@}%
+ \bf
+}%
+\def\l at subsection{%
+ \l@@sections{section}{subsection}% Implicit #3#4
+}%
+\def\l at subsubsection{%
+ \l@@sections{subsection}{subsubsection}% Implicit #3#4
+}%
+\def\l at paragraph#1#2{}%
+\def\l at subparagraph#1#2{}%
+%    \end{macrocode}
+% \end{macro}
+%
+% Activate the auto TOC processing.
+%    \begin{macrocode}
+\let\toc at pre\toc at pre@auto
+\let\toc at post\toc at post@auto
+%    \end{macrocode}
+%
+%    \begin{macrocode}
+\def\listoffigures{\print at toc{lof}}%
+\def\l at figure{\@dottedtocline{1}{1.5em}{2.3em}}
+%    \end{macrocode}
+%
+%    \begin{macrocode}
+\def\listoftables{\print at toc{lot}}%
+\let\l at table\l at figure
+%    \end{macrocode}
+%
+% \subsubsection{Default column bottom}%
+% All AIP journal styles have flush bottoms.
+%
+%    \begin{macrocode}
+\@booleanfalse\raggedcolumn at sw
+%    \end{macrocode}
+%
+%
+% \subsubsection{Table alignment style}%
+%
+% \begin{macro}{\tableft at skip@float}
+% \begin{macro}{\tabmid at skip@float}
+% \begin{macro}{\tabright at skip@float}
+% \begin{macro}{\array at row@pre at float}
+% \begin{macro}{\array at row@pst at float}
+% All AIP publications have the same table specification:
+% Scotch rules above and below, centered in column.
+%    \begin{macrocode}
+\def\tableft at skip@float{\z@ plus\hsize}%
+\def\tabmid at skip@float{\@flushglue}%
+\def\tabright at skip@float{\z@ plus\hsize}%
+\def\array at row@pre at float{\hline\hline\noalign{\vskip\doublerulesep}}%
+\def\array at row@pst at float{\noalign{\vskip\doublerulesep}\hline\hline}%
+%    \end{macrocode}
+% \end{macro}
+% \end{macro}
+% \end{macro}
+% \end{macro}
+% \end{macro}
+%
+%
+% \subsubsection{Footnote formatting}%
+% We customize the formatting of footnotes for all AIP journals.
+% \begin{macro}{\@makefntext}
+%    \begin{macrocode}
+\def\@makefntext#1{%
+ \def\baselinestretch{1}%
+ \leftskip1em%
+ \parindent1em%
+ \noindent
+ \nobreak\hskip-\leftskip
+ \hb at xt@\leftskip{%
+  \hss\@makefnmark\ %
+ }%
+ #1%
+ \par
+}%
+%    \end{macrocode}
+% \end{macro}
+%
+%
+% \subsubsection{Appendix}%
+% \begin{macro}{\appendix}
+% \begin{macro}{\@hangfrom at appendix}
+% \begin{macro}{\@hangfroms at appendix}
+% \begin{macro}{\@appendixcntformat}
+%    \begin{macrocode}
+\prepdef\appendix{%
+ \par
+ \let\@hangfrom at section\@hangfrom at appendix
+%\let\@hangfroms at section\@hangfroms at appendix
+ \let\@sectioncntformat\@appendixcntformat
+}%
+\def\@hangfrom at appendix#1#2#3{%
+ #1%
+ \@if at empty{#2}{%
+  #3%
+ }{%
+  #2\@if at empty{#3}{}{:\ #3}%
+ }%
+}%
+\def\@hangfroms at appendix#1#2{%
+ #1#2%
+}%
+\def\@appendixcntformat#1{\appendixname\ \csname the#1\endcsname}%
+%    \end{macrocode}
+% \end{macro}
+% \end{macro}
+% \end{macro}
+% \end{macro}
+%
+% \subsubsection{Bibliography}%
+%
+% Customize the \revtex\ for the AIP society.
+% this task requires three components:
+% the \BibTeX\ \file{aipnum.bst} and \file{aipauth.bst} style files, 
+% customizing code for \file{natbib}, and
+% customizations of the \env{thebibliography} environment.
+%
+% \begin{macro}{\@bibstyle}
+% Define the argument of the \cmd\bibliographystyle\ command.
+% The user must have installed a \file{.bst} file of the corresponding name.
+% This file will then be used by \BibTeX\ when compiling the document's \file{.bbl} file.
+%
+% The default bibliography style for the AIP journal substyles are \file{aipnum.bst} and \file{aipauth.bst}. 
+%  To generate them, use \classname{custom-bib} version 4.21 or later.
+%  Run the \file{.bst} generator, \file{makebst.tex}, and
+%  accept all defaults, with the following exceptions:
+%
+% \begin{enumerate}
+% \item
+%  ORDERING OF REFERENCES: c: seq-no (references in order of Citation);
+% \item
+%  AUTHOR NAMES: i: nm-init,ed-au (Initials + surname);
+% \item
+%  NUMBER OF AUTHORS: l: max 12, min 12 (there will be three prompts total);
+% \item
+%  TYPEFACE FOR AUTHORS IN LIST OF REFERENCES: u: nmft,nmft-def (User defined author font);
+% \item
+%  FONT FOR FIRST NAMES: u: fnm-def (First names in user defined font);
+% \item
+%  EDITOR NAMES IN INCOLLECTION ETC: a: nmfted (Editors incollection like authors);
+% \item
+%  DATE FORMAT: p: yr-par (Date in parentheses);
+% \item
+%  SUPPRESS MONTH: x: xmth (Date is year only);
+% \item
+%  TITLE OF ARTICLE: i: tit-it (Title italic)
+% \item
+%  ARTICLE TITLE PRESENT: x: jtit-x (No article title);
+% \item
+%  JOURNAL NAME FONT: r: jttl-rm (Journal title normal);
+% \item
+%  TECHNICAL REPORT TITLE: b: trtit-b (Tech. report title like books);
+% \item
+%  JOURNAL VOLUME: b: vol-bf (Volume bold);
+% \item
+%  VOLUME PUNCTUATION: c: volp-com (Volume with comma);
+% \item
+%  PAGE NUMBERS: f: jpg-1 (Only start page number);
+% \item
+%  JOURNAL NAME PUNCTUATION: x: jnm-x (Space after journal);
+% \item
+%  PUBLISHER IN PARENTHESES: d: pub-date (Publisher and date in parentheses);
+% \item
+%  PUBLISHER POSITION: p: pre-pub (Publisher before chapter, pages);
+% \item
+% ISBN NUMBER: isbn: (Include ISBN for books, booklets)
+% \item
+% ISSN NUMBER: issn: (Include ISSN for periodicals)
+% \item
+%  EDITOR IN COLLECTIONS: b: edby (Booktitle, edited by \dots);
+% \item
+%  PUNCTUATION BETWEEN SECTIONS (BLOCKS): c: blk-com (Comma between blocks);
+% \item
+%  ABBREVIATE WORD `PAGES': a: pp (`Page' abbreviated);
+% \item
+%  ABBREVIATE WORD `EDITORS': a: ed (`Editor' abbreviated);
+% \item
+%  OTHER ABBREVIATIONS: a: abr (Abbreviations);
+% \item
+%  ABBREVIATION FOR `EDITION': a: ednx (`Edition' abbreviated as `ed');
+% \item
+%  EDITION NUMBERS: n: ord (Numerical editions);
+% \item
+%  STORED JOURNAL NAMES: a: jabr (Abbreviated journal names);
+% \item
+%  FONT OF `ET AL': i: etal-it (Italic et al);
+% \item
+%  ADDITIONAL REVTeX DATA FIELDS: r: revdata, eprint, url, url-blk (Include REVTeX data fields collaboration, eid, eprint, numpages, url)
+% \item
+%  NEW FONT SELECTION SCHEME: n: nfss (NFSS);
+% \item
+%  ADDITIONAL REVTeX DATA FIELDS: y: revdata (additional data fields);
+% \item
+%  REFERENCE COMPONENT TAGS: y: reference component tags;
+% \item
+%  URL ADDRESS: n: URL as note;
+% \end{enumerate}
+%
+% A file \file{aipnum.dbj} file equivalent to the following should result:
+% \begin{verbatim}
+%\input docstrip
+%\preamble
+%----------------------------------------
+%*** REVTeX-compatible aipnum4-1.bst 2009-10-08 ***
+%\endpreamble
+%\postamble
+%End of customized bst file
+%\endpostamble
+%\keepsilent
+%\askforoverwritefalse
+%\def\MBopts{\from{merlin.mbs}{%
+%  head,\MBopta}
+%\from{physjour.mbs}{\MBopta}
+%\from{geojour.mbs}{\MBopta}
+%\from{photjour.mbs}{\MBopta}
+%\from{merlin.mbs}{tail,\MBopta}}
+%\def\MBopta{%
+%  lang,%: Use language field to switch hyphenation patterns for title
+%  pres,pres-bf,%: Presentation, speaker bold face 
+%  seq-no,%: Citation order (unsorted, like unsrt.bst)
+%  vonx,%: Sort without von part (de la Maire after Mahone)
+%  nm-init,ed-au,%: Initials + surname (J. F. Smith)
+%  nmft,nmft-def,%: User defined author font (\bibnamefont)
+%  fnm-def,%: First names in user defined font (\bibfnamefont)
+%  nmfted,%: Editors incollection like authors font
+%  nmand-rm,%: `And' in normal font (JONES and JAMES)
+%  lab,lab-def,%: User defined citation font (\citenamefont)
+%  and-rm,%: Cited `and' in normal font 
+%  yr-par,%: Date in parentheses as (May 1993)
+%  date-nil-x,%: If date is empty, then do not produce the surrounding punctuation (parens, brackets, colon, comma)
+%  tit-qq,%: Title and punctuation in double quotes (``Title,'' ..)
+%  inproceedings-chapter,%: produce pages after chapter, just as in InBook
+%  jtit-x,%: Title is ignored
+%  inproceedings-chapter,%: produce pages after chapter just as in InBook
+%  article-booktitle,%: format booktitle 
+%  article-series,%: article can has series
+%  jttl-rm,%: Journal name normal font
+%  journal-address,%: Include address field (in parentheses) along with journal name
+%  book-bt,%: Field `booktitle', or if absent field `title', is book title 
+%  thesis-title-o,%: Title is optional: no warning issued if empty
+%  techreport-institution-par,%: format tech report institution like book publisher
+%  vol-bf,%: Volume bold as {\bf vol}(num)
+%  vnum-x,%: Journal vol, without number as 34
+%  volp-com,%: Volume with comma as vol(num), ppp
+%  jpg-1,%: Only start page number 
+%  book-editor-booktitle,%: Book permits empty author, produces title before editor in this case
+%  inbook-editor-booktitle,%: Allow using both title/booktitle, both author/editor
+%  bookaddress,%: Italic booktitle followed by bookaddress in roman
+%  num-xser,%: Allows number without series and suppresses word "number"
+%  number-cap,%: Capitalize word `number' as: "Number 123"
+%  chapter-cap,%: Capitalize word `chapter' as: `Chapter 42'
+%  series-number,%: Series number as: `Springer Lecture Notes No. 125'
+%  numser-booktitle,%: After book title and conference address, and before editors 
+%  ser-vol,%: Series, vol. 23
+%  ser-rm,%: format series roman , even when used with volume
+%  volume-cap,%: Capitalize word `volume', as: `Volume 7 in Lecture Series'
+%  ser-ed,%: Series and volume after booktitle and before editors
+%  jnm-x,%: Space after journal name
+%  pg-bk,book-chapter-pages,%: As chapter and page: chapter 42, page 345
+%  pub-date,%: Publisher with address and date in parentheses (Oxford, 1994)
+%  ay-empty-pub-parens-x,%: eliminate parentheses altogether if nothing inside
+%  pre-pub,%: Publisher before volume, chapter, pages 
+%  pre-edn,%: Edition before publisher
+%  pre-pub,pre-edn,%: Edition, publisher, volume, chapter, pages
+%  isbn,%: Include ISBN for books, booklets, etc.
+%  issn,%: Include ISSN for periodicals
+%  doi-link,doi,%: Doi forms a link to the publication, anchored to the volume or title
+%  edby,%: In booktitle, edited by ..  (where .. is names)
+%  blk-com,%: Comma between blocks 
+%  fin-endbibitem,%: Command at end instead of period 
+%  pp,%: `Page' abbreviated as p. or pp.
+%  ed,%: `Editor' abbreviated as ed. or eds.
+%  abr,%: Abbreviations of such words
+%  ednx,%: `Edition' abbreviated as `ed' 
+%  ord,%: Numerical editions as 1st, 2nd, 3rd, etc
+%  jabr,%: Abbreviated journal names 
+%  etal-it,%: Italic et al 
+%  revdata,eprint,url,url-blk,translation,%: Include REVTeX data fields collaboration, eid, eprint, archive, url, translation
+%  SLACcitation,%: Produce SLACcitation field
+%  numpages-x,%: Do not include numpages field 
+%  url,url-prefix-x,%: URL without prefix (default: `URL ')
+%  bibinfo,%: Reference component tags like \bibinfo in the content of \bibitem
+%  bibfield,%: Element tags like \bibfield in the content of \bibitem
+%  nfss,%: Use LaTeX commands which may not work with Plain TeX
+%,{%
+%  }}
+%\generate{\file{aipnum4-1.bst}{\MBopts}}
+%\endbatchfile
+% \end{verbatim}
+%
+% Between the two files \file{aipnum.dbj} and \file{aipauth.dbj}, 
+% the differences are limited:
+% \file{aipnum.dbj} has two lines lacking in \file{aipauth.dbj}:
+% \begin{verbatim}
+%  seq-no,%: Citation order (unsorted, like unsrt.bst)
+%  nm-init,ed-au,%: Initials + surname (J. F. Smith)
+% \end{verbatim}
+% thus, the ``numbered citation'' bibliography is sorted by citation order, and
+% the names are give first inital, then last name.
+%
+% Likewise, \file{aipauth.dbj} has one line lacking in \file{aipnum.dbj}:
+% \begin{verbatim}
+%  nm-rev,%: Surname + comma + initials (Smith, J. F.)
+% \end{verbatim}
+% Thus, the ``author-year'' bibliography is sorted by author name, and
+% names are given last name first, followed by initials.
+%
+% We ensure that the journal substyle has the first word
+% in the matter by installing the (default) AIP code 
+% later on (see Section~\ref{sec:aip-defaults}).
+% \end{macro}
+%
+% \begin{macro}{\pre at bibdata}
+% 
+% Set up to write endnotes to a .bib file; its data will be incorporated into the bibliography.
+%    \begin{macrocode}
+ \def\pre at bibdata{\jobname\bibdata at app}%
+%    \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\bibsection}
+% We define the sectioning command to use when starting the bibliography
+% (we use \cmd\refname). 
+%    \begin{macrocode}
+\def\refname{References}%
+\def\rtx at bibsection{%
+ \@ifx at empty\refname{%
+  \par\vspace{6\p@ plus 6\p@}%
+ }{%
+%    \end{macrocode}
+% The following line has been commented out:
+%    \begin{verbatim}
+% \let\@hangfroms at section\@hang at froms
+%    \end{verbatim}
+%    \begin{macrocode}
+  \expandafter\section\expandafter*\expandafter{\refname}%
+  \@nobreaktrue
+ }%
+}%
+%    \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\bibpreamble}
+% \begin{macro}{\bibsep}
+% \begin{macro}{\newblock}
+%    \begin{macrocode}
+\let\bibpreamble\@empty
+\appdef\setup at hook{%
+ \bibsep\z@\relax
+}%
+\def\newblock{\ }%
+%    \end{macrocode}
+% \end{macro}
+% \end{macro}
+% \end{macro}
+%
+% \begin{macro}{\bibfont}
+% We define the font switch that applies to the body of the bibliography.
+%
+%    \begin{macrocode}
+\appdef\setup at hook{%
+ \def\bibfont{%
+  \preprintsty at sw{}{\footnotesize}%
+  \@clubpenalty\clubpenalty
+  \labelsep\z@
+ }%
+}%
+\let\place at bibnumber\place at bibnumber@sup
+%    \end{macrocode}
+% \end{macro}
+%
+%
+% \subsubsection{Index}%
+%    \begin{macrocode}
+\newenvironment{theindex}{%
+ \columnseprule \z@
+ \columnsep 35\p@
+ \c at secnumdepth-\maxdimen
+ \onecolumngrid at push
+ \section{\indexname}%
+ \thispagestyle{plain}%
+ \parindent\z@
+ \parskip\z@ plus.3\p@\relax
+ \let\item\@idxitem
+ \onecolumngrid at pop
+}{%
+}%
+%
+\def\@idxitem{\par\hangindent 40\p@}
+%
+\def\subitem{\par\hangindent 40\p@ \hspace*{20\p@}}
+%
+\def\subsubitem{\par\hangindent 40\p@ \hspace*{30\p@}}
+%
+\def\indexspace{\par \vskip 10\p@ plus5\p@ minus3\p@\relax}
+%    \end{macrocode}
+%
+%
+% \subsubsection{Typesize Processing}%
+% The formatting specification for the preprint option is:
+% Times Roman 12 pt, double spacing, with 1-inch margins on letter paper.
+% Paragraphs indented ``five spaces''.
+% Display math on standard indent, with equation number flush right in parenthesis, with subequations roman.
+%
+% That for reprint option is to format similar to the printed journal; with most journals
+% set (approximately analyzed) 10-point, 2-column grid, letter paper.
+%    \begin{macrocode}
+\expandafter\def\csname rtx at aip10pt\endcsname{%
+ \let\@currname at class\@currname
+ \def\@currname{aps10pt\substyle at post}%
+ \class at info{Reading file \@currname.\substyle at ext}%
+ \input{\@currname.\substyle at ext}%
+ \let\@currname\@currname at class
+ \class at info{Overriding 10pt}%
+ \aipreprint
+}%
+\expandafter\def\csname rtx at aip11pt\endcsname{\csname rtx at aip12pt\endcsname}%
+\expandafter\def\csname rtx at aip12pt\endcsname{%
+ \let\@currname at class\@currname
+ \def\@currname{aps12pt\substyle at post}%
+ \class at info{Reading file \@currname.\substyle at ext}%
+ \input{\@currname.\substyle at ext}%
+ \let\@currname\@currname at class
+ \class at info{Overriding 12pt}%
+ \aippreprint
+}%
+%    \end{macrocode}
+%
+% \begin{macro}{\today}
+% Procedure \cmd\today\ is used in the article class, but not in 
+% this document class.
+%    \begin{macrocode}
+\def\today{%
+  \number\day\space
+  \ifcase\month
+   \or January\or February\or March\or     April\or   May\or      June%
+   \or July\or    August\or   September\or October\or November\or December%
+  \fi\space
+  \number\year
+}%
+%    \end{macrocode}
+%    \end{macro}
+% 
+% \subsection{A. Running Title}
+% User-provided running title \cmd\@shorttitle\ to be set.
+%
+% \subsection{B. Equation numbering, figure and table numbering}
+% Equations can be numbered throughout, or by section, with appendix equations prepended by the appendix label.
+% Figures and tables are numbered throughout.
+% 
+%
+% \subsection{C. Title}
+% Title page may break above abstract, within author list.
+% Title notes are signified by superior letter followed by right parenthesis.
+%
+% \subsection{D. Author footnote}
+% Set short line above these footnotes.
+%
+% \subsection{E. Author}
+% Class option \classoption{superscriptaddress} is standard.
+%    \begin{macrocode}
+ \clo at superscriptaddress
+%    \end{macrocode}
+%
+% \subsection{F. Affiliations}
+% Set italic.
+%
+% \subsection{G. Received date}
+% 
+%
+% \subsection{H. Abstract}
+% Single paragraph, no indent.
+%
+% \subsection{J. Lead Paragraph}
+% Set boldface, flush left before main text, single paragraph.
+% Separated from text by a short centered rule.
+%
+% \subsection{K. Headings}
+% Use labels: ROMAN, LETTER, arabic, letter.
+% Set ALLCAPS, boldface; Initial cap, boldface; Initial cap, bold-italic; Initial cap, italic.
+%
+% Theorem, proof title followed by colon. Follow author.
+%
+% \subsection{L. Text Footnotes}
+% Not permitted; use endnotes.
+%
+% \subsection{M. Citations and Bibliography}
+% Numerical \filename{aipnum.bst}, author-year \filename{aipauth.bst}, and numbered author-year \filename{aipnumauth.bst} are the available choices. 
+% Numerical is standard, with all styles permitted in journal classes 3a and 4b.
+%
+%
+% \subsection{N. References}
+% 
+% Article Title usage:
+%
+%			 Article title required in all journals with "unpublished", "to be published", "in press" and "submitted" refs.
+% 
+% Exceptions:
+%
+% Journal classes 1a,1b,2,4a:
+%
+%       Article title not allowed in published references, except in the case of  "in press" or submitted" (see sample references below). 
+%
+% Journal class 3a:
+%
+%       Article title allowed but not required in author-year references (use must be consistent within a single manuscript).
+%
+% Journal class 3b:
+%
+%       Article title required in all journal references and report references.
+%
+% Journal class 4b:
+%
+%       Article title allowed in journal references in author-year mode. 
+%
+% \subsection{O. Examples of Numerical References}
+% 
+%
+% \subsection{P. References in Author-year mode}
+% 
+%
+% \subsection{Q. Numbered Author-year References}
+% 
+%
+% \subsection{R. Tables}
+% Placed within text (floated), labeled with Roman numeral. 
+%
+% Table caption placed above table, followed by space, 
+% two double lines, space, table column headings, space, 
+% single line, table contents, two double lines.
+%
+% Footnotes labeled with superior lower-case letter, set below table contents. 
+%
+% \subsection{S. Figures}
+% Placed within text (floated), labeled with arabic numbers.
+% 
+% Caption set below figure. A citation to be set inline, not superscripted.
+%
+% \subsection{Society defaults}%
+%
+% After this society file is read in, we will process the 
+% \cmd\@journal- and \cmd\@pointsize-specific code. 
+% Here we define the defaults. 
+%
+% We select \textbf{Chaos} as the default journal substyle, because it is 
+% the most permissive in terms of bibliography and citation style,
+% and it is formatted in two column in the reprint style. 
+% 
+%    \begin{macrocode}
+\def\@journal at default{cha}%
+\def\@pointsize at default{12}%
+%    \end{macrocode}
+%
+% \subsection{Journal-Specific Code}%
+%
+% For AIP journals, we supply code specific to JCP, POP, RSI, JAP, APL, CHA, POF, BMF, RSE, JMP.
+%
+% \subsubsection{\classoption{jcp}}%
+%A member of the journal class 1a.
+%    \begin{macrocode}
+\def\rtx at aipjcp{%
+ \typeout{Using journal substyle \@journal.}%
+%    \end{macrocode}
+% Journal class 1a uses the (superscript) numerical citation style by default.
+%    \begin{macrocode}
+ \@booleanfalse\authoryear at sw
+%    \end{macrocode}
+%
+% End of \classoption{jcp} code.
+%    \begin{macrocode}
+}%
+%    \end{macrocode}
+%
+% \subsubsection{\classoption{pop}}%
+%A member of the journal class 1a.
+%    \begin{macrocode}
+\def\rtx at aippop{%
+ \typeout{Using journal substyle \@journal.}%
+%    \end{macrocode}
+% Journal class 1a uses the (superscript) numerical citation style by default.
+%    \begin{macrocode}
+ \@booleanfalse\authoryear at sw
+%    \end{macrocode}
+%
+% End of \classoption{pop} code.
+%    \begin{macrocode}
+}%
+%    \end{macrocode}
+%
+% \subsubsection{\classoption{rsi}}%
+%A member of the journal class 1a.
+%    \begin{macrocode}
+\def\rtx at aiprsi{%
+ \typeout{Using journal substyle \@journal.}%
+%    \end{macrocode}
+% Journal class 1a uses the (superscript) numerical citation style by default.
+%    \begin{macrocode}
+ \@booleanfalse\authoryear at sw
+%    \end{macrocode}
+%
+% End of \classoption{rsi} code.
+%    \begin{macrocode}
+}%
+%    \end{macrocode}
+%
+% \subsubsection{\classoption{jap}}%
+%Sole member of the journal class 1b.
+%
+% No running title.
+%    \begin{macrocode}
+\def\rtx at aipjap{%
+ \typeout{Using journal substyle \@journal.}%
+%    \end{macrocode}
+% Journal class 1b uses the (superscript) numerical citation style by default.
+%    \begin{macrocode}
+ \@booleanfalse\authoryear at sw
+ \let\@runningtitle\@empty
+%    \end{macrocode}
+%
+% End of \classoption{jap} code.
+%    \begin{macrocode}
+}%
+%    \end{macrocode}
+%
+% \subsubsection{\classoption{apl}}%
+%Sole member of the journal class 2.
+%
+% No running title.
+%    \begin{macrocode}
+\def\rtx at aipapl{%
+ \typeout{Using journal substyle \@journal.}%
+%    \end{macrocode}
+% Journal class 2 uses the (superscript) numerical citation style by default.
+%    \begin{macrocode}
+ \@booleanfalse\authoryear at sw
+ \let\@runningtitle\@empty
+%    \end{macrocode}
+%
+% End of \classoption{apl} code.
+%    \begin{macrocode}
+}%
+%    \end{macrocode}
+%
+% \subsubsection{\classoption{cha}}%
+%Sole member of the journal class 3a.
+%    \begin{macrocode}
+\def\rtx at aipcha{%
+ \typeout{Using journal substyle \@journal.}%
+%    \end{macrocode}
+% Article titles are allowed.
+%    \begin{macrocode}
+ \@booleanfalse\aip at jtitx@sw
+%    \end{macrocode}
+%
+% End of \classoption{cha} code.
+%    \begin{macrocode}
+}%
+%    \end{macrocode}
+%
+% \subsubsection{\classoption{pof}}%
+%Sole member of the journal class 3b.
+%    \begin{macrocode}
+\def\rtx at aippof{%
+ \typeout{Using journal substyle \@journal.}%
+%    \end{macrocode}
+% Journal class 3b uses the (superscript) numerical citation style by default.
+% Article titles are required, so we include them if available, 
+% but if absent, we can do no more than make a warning in the \file{.blg}.
+%    \begin{macrocode}
+ \@booleanfalse\authoryear at sw
+ \@booleanfalse\aip at jtitx@sw
+%    \end{macrocode}
+%
+% End of \classoption{pof} code.
+%    \begin{macrocode}
+}%
+%    \end{macrocode}
+%
+% \subsubsection{\classoption{bmf}}%
+% A member of the journal class 4a, 
+% the Biomicrofluidics journal is single column. 
+%    \begin{macrocode}
+\def\rtx at aipbmf{%
+ \typeout{Using journal substyle \@journal.}%
+%    \end{macrocode}
+% Journal class 4a uses the (superscript) numerical citation style by default.
+% Journal is formatted in a single column.
+%    \begin{macrocode}
+ \@booleanfalse\authoryear at sw
+ \@booleanfalse\twocolumn at sw
+%    \end{macrocode}
+%
+% End of \classoption{bmf} code.
+%    \begin{macrocode}
+}%
+%    \end{macrocode}
+%
+% \subsubsection{\classoption{rse}}%
+%A member of the journal class 4a.
+%    \begin{macrocode}
+\def\rtx at aiprse{%
+ \typeout{Using journal substyle \@journal.}%
+%    \end{macrocode}
+% Journal class 4a uses the (superscript) numerical citation style by default.
+%    \begin{macrocode}
+ \@booleanfalse\authoryear at sw
+%    \end{macrocode}
+%
+% End of \classoption{rse} code.
+%    \begin{macrocode}
+}%
+%    \end{macrocode}
+%
+% \subsubsection{\classoption{jmp}}%
+% Sole member of the journal class 4b, Journal of Mathematical Physics is single column.
+% For an example of \env{itemize}, see JMP\_122901\_1 (48).
+%    \begin{macrocode}
+\def\rtx at aipjmp{%
+ \typeout{Using journal substyle \@journal.}%
+%    \end{macrocode}
+% Article titles are allowed.
+% Journal is formatted in a single column.
+%    \begin{macrocode}
+ \@booleanfalse\aip at jtitx@sw
+ \@booleanfalse\twocolumn at sw
+%    \end{macrocode}
+%
+% End of \classoption{jmp} code.
+%    \begin{macrocode}
+}%
+%    \end{macrocode}
+%
+% \subsection{Establish AIP Defaults\label{sec:aip-defaults}}
+%
+% \begin{macro}{\footinbib at sw}
+% All AIP journals invoke the \classoption{footinbib} option.
+%    \begin{macrocode}
+\@booleantrue\footinbib at sw
+%    \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\place at bibnumber}
+% \begin{macro}{\@bibstyle}
+% \begin{macro}{\bibpunct}
+% We install code that will 
+% govern the style in which \cmd\cite\ commands are
+% formatted, 
+% select the presentation for \cmd\bibitem s
+% and control the \BibTeX\ processing.
+%
+% Note that a journal substyle may override these settings.
+% Likewise, document preamble may itself invoke \cmd\bibpunct\ or \cmd\bibliographystyle,
+% thereby overriding these settings and those of the journal substyle. 
+%
+% The numbered citations of \file{aipnum} and \file{aipauthnum}
+% are compatible with \classoption{footinbib} and 
+% the compression and coalescing features of \classname{natbib}, 
+% while \file{aipauth}'s author-year citations are not.
+% Therefore, we de-select such options if we are selecting author-year citations. 
+%
+% Note on \classname{natbib} presets:
+% \file{aipnum} and \file{aipauthnum} uses the Chicago \cmd\bibpunct\ style;
+% while \file{aipauth} uses that of Nature. 
+%
+% Note on \cmd\NAT at mcite: if not using numerical citations, we set \cmd\NAT at mcite\ 
+% to a lower value, to turn off the mcite semantics of \classname{natbib}. 
+%    \begin{macrocode}
+\let\place at bibnumber\place at bibnumber@sup
+\appdef\setup at hook{%
+ \authoryear at sw{%
+  \aip at jtitx@sw{%
+   \def\@bibstyle{aipauth\substyle at post}%
+  }{%
+   \def\@bibstyle{aipauth\substyle at post}%
+  }%
+  \authornum at sw{%
+   \bibpunct{}{}{,}{s}{}{\textsuperscript{,}}%
+   \let\onlinecite\rev at citealpnum
+  }{%
+   \bibhang10\p@
+   \bibpunct{(%)
+              }{%(
+                )}{; }{a}{,}{,}%
+   \@booleanfalse\footinbib at sw
+   \let\NAT at mcite\@ne
+   \let\NAT at sort\z@
+   \def\NAT at cmprs{\z@}%
+   \let\NAT at def@citea\rtx at def@citea
+   \let\NAT at def@citea at close\rtx at def@citea at close
+  }%
+ }{%
+  \aip at jtitx@sw{%
+   \def\@bibstyle{aipnum\substyle at post}%
+  }{%
+   \def\@bibstyle{aipnum\substyle at post}%
+  }%
+  \bibpunct{}{}{,}{s}{}{\textsuperscript{,}}%
+  \let\onlinecite\rev at citealpnum
+ }%
+}%
+\def\make at footnote@endnote{%
+ \footinbib at sw{%
+  \authoryear at sw{\authornum at sw{\false at sw}{\true at sw}}{\false at sw}%
+  {}{%
+   \ltx at footnote@push
+   \def\thempfn{Note\thefootnote}%
+   \let\ltx at footmark\rev at citemark
+   \let\ltx at foottext\rev at endtext
+   \appdef\class at enddocumenthook{\auto at bib}%
+   \let\printendnotes\relax
+  }%
+ }{}%
+}%
+%    \end{macrocode}
+% \end{macro}
+% \end{macro}
+% \end{macro}
+%
+% \begin{macro}{\aipreprint}%
+% We want to override \filename{aps10pt.rtx}.
+%    \begin{macrocode}
+\def\aipreprint{%
+}%
+%    \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\aippreprint}%
+% We want to override \filename{aps12pt.rtx}.
+%    \begin{macrocode}
+\def\aippreprint{%
+}%
+%    \end{macrocode}
+% \end{macro}
+%
+%    \begin{macrocode}
+%</package>
+%    \end{macrocode}
+%
+% \Finale
+% %Here ends the programmer's documentation.
+% \endinput
+%
+\endinput


Property changes on: trunk/Master/texmf-dist/source/latex/revtex/aip.dtx
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Modified: trunk/Master/texmf-dist/source/latex/revtex/aip4-2.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/revtex/aip4-2.dtx	2019-01-18 22:37:42 UTC (rev 49750)
+++ trunk/Master/texmf-dist/source/latex/revtex/aip4-2.dtx	2019-01-18 22:40:49 UTC (rev 49751)
@@ -1,6 +1,6 @@
 % \iffalse meta-comment
 % aip4-2.dtx: package to change page grid, MVL.
-% Copyright (c) 2014 American Institute of Physics
+% Copyright (c) 2019 American Institute of Physics
 % mailto:tex at aip.org
 %
 % Disclaimer
@@ -9,7 +9,7 @@
 %   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
 % License
 %   You may distribute this file under the conditions of the 
-%   LaTeX Project Public License 1.3 or later 
+%   LaTeX Project Public License 1.3c or later 
 %   (http://www.latex-project.org/lppl.txt).
 % ReadMe
 %   For the documentation and more detailed instructions for
@@ -18,7 +18,7 @@
 %   This work has the LPPL maintenance status "maintained";
 %   Current Maintainer of this work is Arthur Ogawa.
 %
-% Version (4.2a)
+% Version (4.2c)
 % Modified by Aptara
 %
 % This work consists of the main source file aip4-2.dtx
@@ -74,19 +74,19 @@
 instead, modify the original source file.
 See the URL in the file README-AIP.
 
-Copyright (c) 2014 American Institute of Physics.
+Copyright (c) 2019 American Institute of Physics.
 mailto:tex at aip.org
 
 Maintained by Arthur Ogawa (mailto:arthur_ogawa at sbcglobal.net)
 under contract to American Institute of Physics
 
-Version (4.2a)
+Version (4.2c)
 Modified by Aptara
 under contract to American Institute of Physics
 
 License
    You may distribute this file under the conditions of the 
-   LaTeX Project Public License 1.3 or later 
+   LaTeX Project Public License 1.3c or later 
    (http://www.latex-project.org/lppl.txt).
    
    This file is distributed WITHOUT ANY WARRANTY; 
@@ -151,16 +151,16 @@
 %<*package>
 %%%  @LaTeX-file{
 %%%     filename        = "aip4-2.dtx",
-%%%     version         = "4.2a",
-%%%     date            = "2014/12/31",
-%%%     time            = "20:33:00 GMT-8",
+%%%     version         = "4.2c",
+%%%     date            = "2019/01/18",
+%%%     time            = "14:29:48 GMT-5",
 %%%     checksum        = "6737",
 %%%     author          = "Arthur Ogawa (mailto:arthur_ogawa at sbcglobal.net),
 %%%                        commissioned by the American Institute of Physics.
 %%%                        ",
-%%%     copyright       = "Copyright (C) 2014 American Institute of Physics,
+%%%     copyright       = "Copyright (C) 2019 American Institute of Physics,
 %%%                        distributed under the terms of the 
-%%%                        LaTeX Project Public License, see
+%%%                        LaTeX Project Public License 1.3c, see
 %%%                        ftp://ctan.tug.org/macros/latex/base/lppl.txt
 %%%                        ",
 %%%     address         = "AIP Journal Program
@@ -261,7 +261,7 @@
 %    \begin{macrocode}
 %<*driver|package>
 %<version>
- [2014/12/31/20:33:00 4.2a AIP substyle for REVTeX]% \fileversion
+ [2019/01/18/14:29:48 4.2c AIP substyle for REVTeX]% \fileversion
 %</driver|package>
 %    \end{macrocode}
 %

Modified: trunk/Master/texmf-dist/source/latex/revtex/ltxdocext.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/revtex/ltxdocext.dtx	2019-01-18 22:37:42 UTC (rev 49750)
+++ trunk/Master/texmf-dist/source/latex/revtex/ltxdocext.dtx	2019-01-18 22:40:49 UTC (rev 49751)
@@ -8,7 +8,7 @@
 %   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
 % License
 %   You may distribute this file under the conditions of the 
-%   LaTeX Project Public License 1.3 or later 
+%   LaTeX Project Public License 1.3c or later 
 %   (http://www.latex-project.org/lppl.txt).
 % ReadMe
 %   For the documentation and more detailed instructions for
@@ -67,7 +67,7 @@
 
 License
    You may distribute this file under the conditions of the 
-   LaTeX Project Public License 1.3 or later 
+   LaTeX Project Public License 1.3c or later 
    (http://www.latex-project.org/lppl.txt).
    
    This file is distributed WITHOUT ANY WARRANTY; 

Modified: trunk/Master/texmf-dist/source/latex/revtex/ltxfront.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/revtex/ltxfront.dtx	2019-01-18 22:37:42 UTC (rev 49750)
+++ trunk/Master/texmf-dist/source/latex/revtex/ltxfront.dtx	2019-01-18 22:40:49 UTC (rev 49751)
@@ -8,7 +8,7 @@
 %   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
 % License
 %   You may distribute this file under the conditions of the 
-%   LaTeX Project Public License 1.3 or later 
+%   LaTeX Project Public License 1.3c or later 
 %   (http://www.latex-project.org/lppl.txt).
 % ReadMe
 %   For the documentation and more detailed instructions for
@@ -69,7 +69,7 @@
 
 License
    You may distribute this file under the conditions of the 
-   LaTeX Project Public License 1.3 or later 
+   LaTeX Project Public License 1.3c or later 
    (http://www.latex-project.org/lppl.txt).
    
    This file is distributed WITHOUT ANY WARRANTY; 
@@ -114,9 +114,9 @@
 %<*package>
 %%%  @LaTeX-file{
 %%%     filename        = "ltxfront.dtx",
-%%%     version         = "4.1r",
-%%%     date            = "2010/07/25",
-%%%     time            = "20:33:00 UT-8",
+%%%     version         = "4.2c",
+%%%     date            = "2019/01/18",
+%%%     time            = "14:29:48 UT-5",
 %%%     checksum        = "2012",
 %%%     author          = "Arthur Ogawa (mailto:arthur_ogawa at sbcglobal.net),
 %%%                        commissioned by the American Physical Society.
@@ -123,7 +123,7 @@
 %%%                        ",
 %%%     copyright       = "Copyright (C) 1999, 2009 Arthur Ogawa,
 %%%                        distributed under the terms of the 
-%%%                        LaTeX Project Public License, see
+%%%                        LaTeX Project Public License 1.3c, see
 %%%                        ftp://ctan.tug.org/macros/latex/base/lppl.txt
 %%%                        ",
 %%%     address         = "Arthur Ogawa,
@@ -219,7 +219,7 @@
 %    \begin{macrocode}
 %<*doc|package|kernel>
 %<version>
- [2018/12/26/17:08:09 4.2a frontmatter package (AO,DPC,MD)]% \fileversion
+ [2019/01/18/14:29:48 4.2c frontmatter package (AO,DPC,MD)]% \fileversion
 %</doc|package|kernel>
 %<kernel&!package&!doc>}%
 %    \end{macrocode}
@@ -328,7 +328,7 @@
 which contains fully unpacked, prebuilt runtime files and documentation.
 
 The \classname{ltxfront} package was commissioned by the American Physical Society
-and is distributed under the terms of the \LaTeX\ Project Public License,
+and is distributed under the terms of the \LaTeX\ Project Public License 1.3c,
 the same license under which all the portions of \LaTeX\ itself is distributed.
 Please see \url{http://ctan.tug.org/macros/latex/base/lppl.txt} for details.
 

Modified: trunk/Master/texmf-dist/source/latex/revtex/ltxgrid.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/revtex/ltxgrid.dtx	2019-01-18 22:37:42 UTC (rev 49750)
+++ trunk/Master/texmf-dist/source/latex/revtex/ltxgrid.dtx	2019-01-18 22:40:49 UTC (rev 49751)
@@ -8,7 +8,7 @@
 %   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
 % License
 %   You may distribute this file under the conditions of the 
-%   LaTeX Project Public License 1.3 or later 
+%   LaTeX Project Public License 1.3c or later 
 %   (http://www.latex-project.org/lppl.txt).
 % ReadMe
 %   For the documentation and more detailed instructions for
@@ -69,7 +69,7 @@
 
 License
    You may distribute this file under the conditions of the 
-   LaTeX Project Public License 1.3 or later 
+   LaTeX Project Public License 1.3c or later 
    (http://www.latex-project.org/lppl.txt).
    
    This file is distributed WITHOUT ANY WARRANTY; 
@@ -114,9 +114,9 @@
 %<*package>
 %%%  @LaTeX-file{
 %%%     filename        = "ltxgrid.dtx",
-%%%     version         = "4.2a",
-%%%     date            = "2018/12/26",
-%%%     time            = "17:28:09 UT-5",
+%%%     version         = "4.2c",
+%%%     date            = "2019/01/18",
+%%%     time            = "14:29:48 UT-5",
 %%%     checksum        = "5462",
 %%%     author          = "Arthur Ogawa (mailto:arthur_ogawa at sbcglobal.net),
 %%%                        commissioned by the American Physical Society.
@@ -123,7 +123,7 @@
 %%%                        ",
 %%%     copyright       = "Copyright (C) 1999, 2009 Arthur Ogawa,
 %%%                        distributed under the terms of the 
-%%%                        LaTeX Project Public License, see
+%%%                        LaTeX Project Public License 1.3c, see
 %%%                        ftp://ctan.tug.org/macros/latex/base/lppl.txt
 %%%                        ",
 %%%     address         = "Arthur Ogawa,
@@ -231,7 +231,7 @@
 %    \begin{macrocode}
 %<*doc|package|kernel>
 %<version>
- [2018/12/26/17:28:09 4.2a page grid package (portions licensed from W. E. Baxter web at superscript.com)]% \fileversion
+ [2019/01/18/14:29:48 4.2c page grid package (portions licensed from W. E. Baxter web at superscript.com)]% \fileversion
 %</doc|package|kernel>
 %<kernel&!package&!doc>}%
 %    \end{macrocode}
@@ -343,7 +343,7 @@
 which contains the REV\TeX\ package, and includes source and documentation for this package.
 
 The \classname{ltxgrid} package was commissioned by the American Physical Society
-and is distributed under the terms of the \LaTeX\ Project Public License,
+and is distributed under the terms of the \LaTeX\ Project Public License 1.3c,
 the same license under which all the portions of \LaTeX\ itself is distributed.
 Please see \url{http://ctan.tug.org/macros/latex/base/lppl.txt} for details.
 

Modified: trunk/Master/texmf-dist/source/latex/revtex/ltxutil.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/revtex/ltxutil.dtx	2019-01-18 22:37:42 UTC (rev 49750)
+++ trunk/Master/texmf-dist/source/latex/revtex/ltxutil.dtx	2019-01-18 22:40:49 UTC (rev 49751)
@@ -8,7 +8,7 @@
 %   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
 % License
 %   You may distribute this file under the conditions of the 
-%   LaTeX Project Public License 1.3 or later 
+%   LaTeX Project Public License 1.3c or later 
 %   (http://www.latex-project.org/lppl.txt).
 % ReadMe
 %   For the documentation and more detailed instructions for
@@ -67,7 +67,7 @@
 
 License
    You may distribute this file under the conditions of the 
-   LaTeX Project Public License 1.3 or later 
+   LaTeX Project Public License 1.3c or later 
    (http://www.latex-project.org/lppl.txt).
    
    This file is distributed WITHOUT ANY WARRANTY; 
@@ -114,16 +114,16 @@
 %<*package>
 %%%  @LaTeX-file{
 %%%     filename        = "ltxutil.dtx",
-%%%     version         = "4.2a",
-%%%     date            = "2018/12/26",
-%%%     time            = "16:53:27 UT-5",
+%%%     version         = "4.2c",
+%%%     date            = "2019/01/18",
+%%%     time            = "14:29:48 UT-5",
 %%%     checksum        = "4291",
 %%%     author          = "Arthur Ogawa (mailto:arthur_ogawa at sbcglobal.net),
-%%%                        commissioned by the American Physical Society. Minor changes by Mark Doyle for version 4.2a.
+%%%                        commissioned by the American Physical Society. Minor changes by Mark Doyle for version 4.2a-c.
 %%%                        ",
 %%%     copyright       = "Copyright (C) 1999, 2009 Arthur Ogawa,
 %%%                        distributed under the terms of the 
-%%%                        LaTeX Project Public License, see
+%%%                        LaTeX Project Public License 1.3c, see
 %%%                        ftp://ctan.tug.org/macros/latex/base/lppl.txt
 %%%                        ",
 %%%     address         = "Arthur Ogawa,
@@ -224,7 +224,7 @@
 %    \begin{macrocode}
 %<*doc|package|kernel>
 %<version>
- [2018/12/26/16:53:27 4.2a utilities package (portions licensed from W. E. Baxter web at superscript.com)]% \fileversion
+ [2019/01/18/14:29:48 4.2c utilities package (portions licensed from W. E. Baxter web at superscript.com)]% \fileversion
 %</doc|package|kernel>
 %<kernel&!package&!doc>}%
 %    \end{macrocode}
@@ -333,7 +333,7 @@
 ready to add to a TDS-compliant \TeX\ installation.
 
 The \classname{ltxutil} package was commissioned by the American Physical Society
-and is distributed under the terms of the \LaTeX\ Project Public License,
+and is distributed under the terms of the \LaTeX\ Project Public License 1.3c,
 the same license under which all the portions of \LaTeX\ itself are distributed.
 Please see \url{http://ctan.tug.org/macros/latex/base/lppl.txt} for details.
 

Added: trunk/Master/texmf-dist/source/latex/revtex/revtex4-1.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/revtex/revtex4-1.dtx	                        (rev 0)
+++ trunk/Master/texmf-dist/source/latex/revtex/revtex4-1.dtx	2019-01-18 22:40:49 UTC (rev 49751)
@@ -0,0 +1,8297 @@
+% \iffalse meta-comment balanced on line 122
+% revtex4-1.dtx: package to typeset APS, AIP, OSA, ASA, etc. journal articles
+% Copyright (c) 2009 The American Physical Society.
+% http://publish.aps.org/revtex4/
+% mailto:revtex 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.3 or later 
+%   (http://www.latex-project.org/lppl.txt).
+% ReadMe
+%   For the documentation and more detailed instructions for
+%   installation, typeset this document with \LaTeX.
+% Maintenance Status
+%   This work has the LPPL maintenance status "maintained";
+%   Current Maintainer of this work is Arthur Ogawa.
+%
+% This work consists of the main source file revtex4-1.dtx
+% and the derived files
+%    revtex4.cls, revtex4.pdf
+% Distribution:
+%    CTAN:macros/latex/contrib/revtex/
+%
+% Unpacking:
+%    tex revtex4-1.dtx
+%
+% Documentation:
+%    latex revtex4-1.dtx; ...
+%
+%    Programm calls to get the documentation (example):
+%       pdflatex revtex4-1.dtx
+%       makeindex -s gind.ist revtex4-1.idx
+%       makeindex -s gglo.ist -o revtex4-1.gls revtex4-1.glo
+%       pdflatex revtex4-1.dtx
+%       makeindex -s gind.ist revtex4-1.idx
+%       pdflatex revtex4-1.dtx
+%
+% Installation:
+%    TDS:bibtex/bst/revtex/
+%    TDS:doc/latex/revtex/
+%    TDS:tex/latex/revtex/
+%    TDS:source/latex/revtex/
+%
+% Thanks, Heiko!
+%    This method of letting a single .dtx file serve as both
+%    documentation (via latex) and installer (via tex) follows
+%    the example of Heiko Oberdiek. Thanks!
+%<*ignore>
+\begingroup
+  \def\x{LaTeX2e}%
+\expandafter\endgroup
+\ifcase
+ 0\expandafter\ifx\csname processbatchFile\endcsname\relax\else1\fi\ifx\fmtname\x\else 1\fi
+ \relax
+\else
+ \csname fi\endcsname
+%</ignore>
+%<*install>
+%% This file will generate documentation and runtime files
+%% from revtex4-1.dtx when run through TeX.
+\input docstrip
+\preamble
+
+This file is part of the APS files in the REVTeX 4 distribution.
+For the version number, search on the string %FileInfo
+
+Original version by David Carlisle
+Modified by Arthur Ogawa (mailto:arthur_ogawa at sbcglobal dot net)
+
+Copyright (c) 2009 The American Physical Society.
+http://publish.aps.org/revtex4/
+mailto:revtex4 at aps.org
+
+See the REVTeX 4 README file for restrictions and more information.
+
+\endpreamble
+\askforoverwritefalse
+\keepsilent
+\generate{%
+  \file{revtex4-1.cls}{%
+   \from{revtex4-1.dtx}{kernel}%
+   \from{ltxutil.dtx}{kernel}%
+   \from{ltxfront.dtx}{kernel}%
+   \from{ltxgrid.dtx}{kernel}%
+   \from{revtex4-1.dtx}{options}%
+   \from{ltxutil.dtx}{options}%
+   \from{ltxfront.dtx}{options}%
+   \from{ltxgrid.dtx}{options}%
+   \from{revtex4-1.dtx}{package}%
+  }%
+  \file{aps4-1.rtx}{\from{revtex4-1.dtx}{aps}}%
+  \file{apsrmp4-1.rtx}{\from{revtex4-1.dtx}{rmp}}%
+  \file{aps10pt4-1.rtx}{\from{revtex4-1.dtx}{10pt}}%
+  \file{aps11pt4-1.rtx}{\from{revtex4-1.dtx}{11pt}}%
+  \file{aps12pt4-1.rtx}{\from{revtex4-1.dtx}{12pt}}%
+  \file{revsymb4-1.sty}{\from{revtex4-1.dtx}{revsymb}}%
+}%
+\ifToplevel{
+\Msg{***********************************************************}
+\Msg{*}
+\Msg{* To finish the installation, please move}
+\Msg{*    *.cls, *.rtx, and *.sty }
+\Msg{* into a directory searched by TeX;}
+\Msg{* in a TDS-compliant installation:}
+\Msg{* texmf/tex/macros/latex/revtex/.}
+\Msg{*}
+\Msg{* To produce the documentation,
+       run revtex4-1.dtx through LaTeX.}
+\Msg{*}
+\Msg{* Happy TeXing}
+\Msg{***********************************************************}
+}
+\endbatchfile
+%</install>
+%<*ignore>
+\fi
+%</ignore>
+% \fi
+%
+% \GetFileInfo{revtex4-1.dtx}\CheckSum{7177}
+%
+% \iffalse ltxdoc klootch
+%<*package>
+%%%  @LaTeX-file{
+%%%     filename        = "revtex4-1.dtx",
+%%%     version         = "4.1r",
+%%%     date            = "2010/07/25",
+%%%     time            = "20:33:00 UT-8",
+%%%     checksum        = "7177",
+%%%     author          = "Arthur Ogawa (mailto:arthur_ogawa at sbcglobal.net),
+%%%                        commissioned by the American Physical Society.
+%%%                        ",
+%%%     copyright       = "Copyright (C) 1999, 2009 Arthur Ogawa,
+%%%                        distributed under the terms of the 
+%%%                        LaTeX Project Public License, see
+%%%                        ftp://ctan.tug.org/macros/latex/base/lppl.txt
+%%%                        ",
+%%%     address         = "Arthur Ogawa,
+%%%                        USA",
+%%%     telephone       = "",
+%%%     FAX             = "",
+%%%     email           = "mailto colon arthur_ogawa at sbcglobal.net",
+%%%     codetable       = "ISO/ASCII",
+%%%     keywords        = "latex, page grid, main vertical list",
+%%%     supported       = "yes",
+%%%     abstract        = "package to change page grid, MVL",
+%%%     docstring       = "The checksum field above generated by ltxdoc",
+%%%  }
+%</package>
+% \fi
+%
+% \iffalse ltxdoc klootch
+% The following references the \file{00readme.tex} file,
+% which contains the frontmatter for the programmer's docs.
+% The contents of this file are generated when
+% you typeset this file with LaTeX.
+% Search on "{filecontents*}{00readme.tex}" to locate it.
+% \fi\input{00readme.tex}%
+%
+% \subsection{Bill of Materials}
+%
+% Following is a list of the files in this distribution arranged
+% according to provenance.
+%
+% \subsubsection{Primary Source}%
+% One single file generates all.
+%\begin{verbatim}
+%revtex4-1.dtx
+%\end{verbatim}
+%
+% \subsubsection{Generated by \texttt{tex revtex4-1.dtx}}%
+% Typesetting ths file under \TeX\ itself runs the installer, 
+% which generates the package files.
+%\begin{verbatim}
+%revtex4-1.cls, revtex4.ins, revtex4.drv, aps4-1.rtx, 
+%aps10pt4-1.rtx, aps11pt4-1.rtx, aps12pt4-1.rtx, revsymp.sty
+%\end{verbatim}
+%
+% \subsubsection{Generated by \texttt{pdflatex revtex4-1.dtx}}%
+% Typesetting the source file under \LaTeX\
+% generates the documentation.
+%\begin{verbatim}
+%revtex4.pdf, 
+%\end{verbatim}
+%
+% \subsubsection{Auxiliary}%
+% The following are auxiliary files generated
+% in the course of running \LaTeX:
+% \begin{verbatim}
+%revtex4.aux revtex4.idx revtex4.ind revtex4.log revtex4.toc
+% \end{verbatim}
+%
+% \section{Code common to all modules}%
+%
+% The following may look a bit klootchy, but we
+% want to require only one place in this file
+% where the version number is stated,
+% and we also want to ensure that the version
+% number is embedded into every generated file.
+%
+% Now we declare that
+% these files can only be used with \LaTeXe.
+% An appropriate message is displayed if
+% a different \TeX{} format is used.
+%    \begin{macrocode}
+%<*doc|kernel|aps|rmp|revsymb>
+\NeedsTeXFormat{LaTeX2e}[1996/12/01]%
+%</doc|kernel|aps|rmp|revsymb>
+%<kernel>\ProvidesClass{revtex4-1}
+%<aps>\ProvidesFile{aps4-1}
+%<rmp>\ProvidesFile{apsrmp4-1}
+%<10pt>\ProvidesFile{aps10pt4-1}
+%<11pt>\ProvidesFile{aps11pt4-1}
+%<12pt>\ProvidesFile{aps12pt4-1}
+%<revsymb>\ProvidesPackage{revsymb4-1}
+%<*doc>
+\ProvidesFile{revtex4-1.dtx}
+%</doc>
+%<*!package&!options>
+%<version>
+ [2010/07/25/20:33:00 4.1r (http://publish.aps.org/revtex4/ for documentation)]% \fileversion
+%</!package&!options>
+%    \end{macrocode}
+% The current class name is remembered in \cmd\class at name.
+% This is something of a klootch, relying as it does on knowledge of the implementation of \cmd\ProvidesPackage.
+%    \begin{macrocode}
+%<kernel>\let\class at name\@gtempa
+%    \end{macrocode}
+%
+% \section{The driver module \texttt{driver}}
+%
+% This module, consisting of the present section,
+% typesets the programmer's documentation,
+% generating the \file{00readme.txt} and sample document as needed.
+%
+% Because the only uncommented-out lines of code at the beginning of
+% this file constitute the \file{driver} module itself,
+% we can simply typeset the \file{.dtx} file directly,
+% and there is thus rarely any need to
+% generate the ``driver'' {\sc docstrip} module.
+% Module delimiters are nonetheless required so that
+% this code does not find its way into the other modules.
+%
+% The \enve{document} command concludes the typesetting run.
+%
+%    \begin{macrocode}
+%<*doc>
+%    \end{macrocode}
+% The driver uses packages \file{ltxdoc.sty}, \file{ltxdocext.sty}, 
+% \file{hyperref.sty}, and whatever font package has been selected.
+%    \begin{macrocode}
+\documentclass{ltxdoc}
+\RequirePackage{ltxdocext}%
+\let\url\undefined
+\RequirePackage[colorlinks=true,linkcolor=blue]{hyperref}%
+\expandafter\ifx\csname package at font\endcsname\@undefined\else
+ \expandafter\RequirePackage\expandafter{\csname package at font\endcsname}%
+\fi
+%    \end{macrocode}
+% We ask for the usual indices and glossaries.
+%    \begin{macrocode}
+\CodelineIndex\EnableCrossrefs % makeindex -s gind.ist revtex4
+\RecordChanges % makeindex -s gglo.ist -o revtex4.gls revtex4.glo
+%    \end{macrocode}
+%
+% \subsubsection{Docstrip and info directives}
+%    We use so many {\sc docstrip} modules that we set the
+%    \texttt{StandardModuleDepth} counter to 1.
+%    \begin{macrocode}
+\setcounter{StandardModuleDepth}{1}
+%    \end{macrocode}
+%    The following command retrieves the date and version information
+%    from this file.
+%    \begin{macrocode}
+\expandafter\GetFileInfo\expandafter{\jobname.dtx}%
+%    \end{macrocode}
+%
+% \subsection{The Frontmatter File}
+% As promised above, here is the contents of the frontmatter file. 
+%    \begin{macrocode}
+\begin{filecontents*}{00readme.tex}
+\title{%
+ The \classname{revtex4-1} document class of the American Physical Society%
+ \protect\thanks{Work under hire to The American Physical Society.}%
+}%
+\author{Arthur Ogawa%
+ \protect\thanks{First revision of REV\TeX4.0 (unreleased) by David Carlisle}%
+}%
+\date{Version \fileversion, dated \filedate}%
+\newcommand\revtex{REV\TeX}
+
+\maketitle
+
+This file embodies the implementation of the APS \revtex\ 4.1 document class
+for electronic submissions to journals.
+
+The distribution point for this work is
+\url{http://publish.aps.org/revtex4/},
+which contains fully unpacked, prebuilt runtime files and documentation.
+
+\tableofcontents
+
+\section{Using \protect\revtex}
+
+The file \file{README} has retrieval and installation information.
+
+User documentation is presented separately in \file{auguide.tex}.
+
+The file \file{template.aps} is a boilerplate file. 
+
+\changes{4.0a}{1998/01/16}{Initial version}
+\changes{4.0a}{1998/01/31}{Move after process options, so \cs{clearpage} not in scope of twocolumn}
+\changes{4.0a}{1998/01/31}{Rearrange the ordering so numerical ones come first. AO: David, what does this mean?}
+\changes{4.0a}{1998/01/31}{use font-dependent spacing}
+\changes{4.0a}{1998/01/31}{4.0d had twoside option setting twoside switch to false}
+\changes{4.0a}{1998/01/31}{Move after process options, so the following test works}
+\changes{4.0a}{1998/01/31}{print homepage}
+\changes{4.0a}{1998/01/31}{protect against hyperref revtex kludges which are not needed now}
+\changes{4.0a}{1998/06/10}{multiple preprint commands}
+\changes{4.0a}{1998/06/10}{comma not space between email and homepage}
+\changes{4.0a}{1998/06/10}{single space footnotes}
+\changes{4.0b}{1999/06/20}{First modifications by Arthur Ogawa (mailto:arthur\_ogawa at sbcglobal dot net)}
+\changes{4.0b}{1999/06/20}{Added localization of \cs{figuresname}}
+\changes{4.0b}{1999/06/20}{Added localization of \cs{tablesname}}
+\changes{4.0b}{1999/06/20}{AO: all code for \protect\classoption{10pt} is in this module.}
+\changes{4.0b}{1999/06/20}{AO: all code for \protect\classoption{11pt} is in this module.}
+\changes{4.0b}{1999/06/20}{AO: all code for \protect\classoption{12pt} is in this module.}
+\changes{4.0b}{1999/06/20}{AO: made aps.rtx part of revtex4.dtx}
+\changes{4.0b}{1999/06/20}{AO: remove duplicates}
+\changes{4.0b}{1999/06/20}{call \cs{print at floats}}
+\changes{4.0b}{1999/06/20}{Defer assignment until \cs{AtBeginDocument} time.}
+\changes{4.0b}{1999/06/20}{Defer decision until \cs{AtBeginDocument} time}
+\changes{4.0b}{1999/06/20}{Define three separate environments, defer assignment to \cs{AtBeginDocument} time.}
+\changes{4.0b}{1999/06/20}{Frank Mittelbach, has stated in \protect\classname{multicol}: ``The kernel command \cs{@footnotetext} should not be modified.'' Thus, I have removed David Carlisle's redefinition of that command. Note, however, that later versions of \protect\classname{multicol} do not require this workaround. Belt and suspenders.}%
+\changes{4.0b}{1999/06/20}{Move this ``complex'' option to the front, where it can be overridden by ``simple'' options.}
+\changes{4.0b}{1999/06/20}{New option}
+\changes{4.0b}{1999/06/20}{One-line caption sets flush left.}
+\changes{4.0b}{1999/06/20}{only execute if appropriate}
+\changes{4.0b}{1999/06/20}{Processing delayed to \cs{AtBeginDocument} time}
+\changes{4.0b}{1999/06/20}{Removed invocation of nonexistent class option \protect\classoption{groupauthors} and all other class options that should only be invoked by the document. (Otherwise precedence of class options does not work.)}
+\changes{4.0b}{1999/06/20}{Restore all media size class option of \protect\file{classes.dtx}}
+\changes{4.0b}{1999/06/20}{Stack \cs{preprint} args flush right at right margin.}
+\changes{4.0c}{1999/11/13}{(AO, 115) If three or more preprints specified, set on single line, with commas.}
+\changes{4.0c}{1999/11/13}{(AO, 129) section* within appendix was producing appendixname}
+\changes{4.0c}{1999/11/13}{*-form mandates pagebreak}
+\changes{4.0c}{1999/11/13}{also spelled ``acknowledgements''.}
+\changes{4.0c}{1999/11/13}{Do not put by REVTeX in every page foot}
+\changes{4.0c}{1999/11/13}{grid changes via ltxgrid procedures}
+\changes{4.0c}{1999/11/13}{grid changes with ltxgrid}
+\changes{4.0c}{1999/11/13}{Insert procedure \cs{checkindate}}
+\changes{4.0c}{1999/11/13}{Lose compatability mode.}
+\changes{4.0c}{1999/11/13}{New ltxgrid-based  code, other bug fixes}
+\changes{4.0c}{1999/11/13}{New option ``checkin''}
+\changes{4.0c}{1999/11/13}{Prevent an inner footnote from performing twice}
+\changes{4.0d}{2000/04/10}{Also alter how lists get indented.}
+\changes{4.0d}{2000/04/10}{eprint takes an optional argument, syntactical only in this case.}
+\changes{4.0d}{2000/04/10}{New option}
+\changes{4.0d}{2000/05/10}{More features and bug fixes: compatability with longtable and array packages. Now certainly incompatible with multicol.}
+\changes{4.0d}{2000/05/17}{make longtable trigger the head, too}
+\changes{4.0d}{2000/05/18}{But alternative spelling is deprecated.}
+\changes{4.0e}{2000/09/20}{New option showkeys}
+\changes{4.0e}{2000/11/14}{Bug fixes and minor new features: title block affiliations can have ancillary data, just like authors; clearpage processing revamped, with floats staying in order; widetext ornaments.}
+\changes{4.0e}{2000/11/21}{adornments above and below.}
+\changes{4.0f}{2001/02/13}{Last bug fixes before release.}
+\changes{4.0rc1}{2001/06/17}{Running headers always as if two-sided}
+\changes{4.0rc1}{2001/06/18}{grid changes with push and pop}
+\changes{4.0rc1}{2001/06/18}{grid changes with push and pop}
+\changes{4.0rc4}{2001/07/23}{hyperref is no longer loaded via class option: use a usepackage statement instead}
+\changes{4.1a}{2008/01/18}{(AO, 457) Endnotes to be sorted in with numerical citations.}%
+\changes{4.1a}{2008/01/18}{(AO, 451) ``Cannot have more than 256 cites in a document''}%
+\changes{4.1a}{2008/01/18}{(AO, 457) Endnotes to be sorted in with numerical citations.}%
+\changes{4.1a}{2008/01/18}{(AO, 460) ``Proper style is "FIG. 1. ..." (no colon)''}%
+\changes{4.1a}{2008/01/18}{(AO, 478) \cs{ds at letterpaper}, so that ``letterpaper really is the default''}%
+\changes{4.1a}{2008/01/18}{(AO, 488) Change processing of options to allow an unused option to specify society and journal}%
+\changes{4.1a}{2008/01/19}{(AO, 461) Change the csname revtex uses from @dotsep to ltxu at dotsep. The former is understood in mu. (What we wanted was a dimension.)}%
+\changes{4.1a}{2008/01/19}{For natbib versions before 8.21, \cs{NAT at sort} was consulted only as natbib was being read in. Now it is fully dynamic.}
+\changes{4.1b}{2008/05/29}{The csname substyle at ext is now defined without a dot (.), to be compatible with \LaTeX usage (see @clsextension and @pkgextension).}
+\changes{4.1b}{2008/06/01}{(AO) Implement bibnotes through \cs{frontmatter at footnote@produce} instead of \cs{bibnotes at sw}}%
+\changes{4.1b}{2008/06/01}{Add option reprint, opposite of preprint, and preferred alternative to twocolumn}
+\changes{4.1b}{2008/06/29}{(AO, 455) Be nice to a list within the abstract (assign \cs{@totalleftmargin}).}
+\changes{4.1b}{2008/06/30}{(AO) Structure the Abstract using the \texttt{bibliography} environment}
+\changes{4.1b}{2008/07/01}{(AO) coordinate \cs{if at twoside} with \cs{twoside at sw}}
+\changes{4.1b}{2008/07/01}{(AO) make settings at class time instead of deferring them to later.}
+\changes{4.1b}{2008/07/01}{(AO) No longer need to test \cs{chapter} as of \texttt{natbib} version 8.2}
+\changes{4.1b}{2008/07/01}{(AO) No longer use \cs{secnumarabic at sw}, instead use \cs{setup at secnums}}
+\changes{4.1b}{2008/07/01}{(AO) Provide more diagnostics when \cs{@society} is assigned.}
+\changes{4.1b}{2008/07/01}{(AO) provide option longbibliography}
+\changes{4.1b}{2008/07/01}{Add \cs{@hangfroms at section}}
+\changes{4.1b}{2008/07/01}{Break out \cs{@caption at fignum@sep}}
+\changes{4.1b}{2008/07/01}{Class option galley sets \cs{preprintsty at sw} to false}
+\changes{4.1b}{2008/07/01}{Code relating to new syntax for frontmatter has been placed in \file{ltxfront.dtx}}
+\changes{4.1b}{2008/07/01}{Package textcase is now simply a required package}
+\changes{4.1b}{2008/07/01}{Procedures \cs{@parse at class@options at society} and \cs{@parse at class@options at journal} and friends}
+\changes{4.1b}{2008/07/01}{Read in all required packages together}
+\changes{4.1b}{2008/07/01}{Remove options newabstract and oldabstract}
+\changes{4.1b}{2008/08/01}{Section numbering via procedures \cs{secnums at rtx} and \cs{secnums at arabic}.}
+\changes{4.1b}{2008/08/04}{As with author formatting, rag the right more, and assign \cs{@totalleftmargin}. Also neutralize \cs{def at after@address}.}%
+\changes{4.1b}{2008/08/04}{Rag the right even more: .8\cs{hsize}. Also, assign \cs{@totalleftmargin}.}%
+\changes{4.1b}{2008/08/04}{The \texttt{rmp} journal substyle selects \texttt{groupedaddress} by default.}%
+\changes{4.1b}{2008/08/04}{Use \cs{setup at hook} to initialize all.}
+\changes{4.1c}{2008/08/15}{Document class option longbibliography via \cs{substyle at post}}
+\changes{4.1d}{2009/03/27}{Definition of \cs{	@fnsymbol} follows fixltx2e.sty}
+\changes{4.1e}{2008/06/29}{(AO, 455) be nice to a list within the abstract}
+\changes{4.1f}{2009/07/07}{(AO, 513) Add class option linenumbers: number the lines a la \classname{lineno}}
+\changes{4.1f}{2009/07/07}{(AO, 516) Merged references are separated with a semicolon}
+\changes{4.1f}{2009/07/10}{(AO, 520) Automatically produce \cs{bibliography} command when needed}%
+\changes{4.1f}{2009/07/11}{(AO, 521) Lonely bibliography head}%
+\changes{4.1f}{2009/07/11}{(AO, 522) Warn if software is expired}%
+\changes{4.1f}{2009/07/15}{(AO, 523) Add class option nomerge, to turn off new natbib 8.3 syntax}
+\changes{4.1f}{2009/07/20}{(AO, 524) Makes no sense if citations are superscript numbers and so are footnotes}
+\changes{4.1f}{2009/10/05}{(AO, 530) \cs{@fnsymbol}: Failed to import fixltx2e.sty technology. Return to LaTeX core.}
+\changes{4.1g}{2009/10/07}{(AO, 525) Remove phantom paragraph above display math that is given in vertical mode}%
+\changes{4.1g}{2009/10/07}{(AO, 538) \cs{MakeTextUppercase} inappropriately expands the double backslash}
+\changes{4.1h}{2009/10/09}{(AO) Remove expiry code in the release software}%
+\changes{4.1i}{2009/10/23}{(AO, 541) Defer assignment of \cs{cite} until after natbib loads}
+\changes{4.1j}{2009/10/24}{(AO, 549) Repairing natbib's \cs{BibitemShut} and \cs{bibAnnote}}
+\changes{4.1j}{2009/10/25}{(AO, 545) hypertext capabilities off by default; enable with \classoption{hypertext}}
+\changes{4.1j}{2009/10/25}{(AO, 552) Repair spacing in \cs{onlinecite}}
+\changes{4.1k}{2009/11/06}{(AO, 554) give the \cs{newlabel} command syntax appropriate to the hyperref package}
+\changes{4.1n}{2009/11/06}{(AO, 565) restore 4.0 behavior: invoking class option preprint implies class option preprintnumbers}
+\changes{4.1n}{2009/11/30}{(AO, 566) restore 4.0 behavior: flush column bottoms}
+\changes{4.1n}{2009/12/05}{(AO, 569) Use of \classname{hyperref} interferes with column balancing of last page}%
+\changes{4.1n}{2009/12/09}{(AO, 569) execute the after-last-shipout procedures from within the safety of the output routine}%
+\changes{4.1n}{2010/01/02}{(AO, 571) Interface \cs{set at footnotewidth} for determining the set width of footnotes}%
+\changes{4.1n}{2010/01/02}{(AO, 572) Independent footnote counter for title block. Abstract footnote counter shared with body.}%
+\changes{4.1n}{2009/12/13}{(AO, 573) arrange to load \classname{lineno} after any other packages.}%
+\changes{4.1n}{2010/01/04}{(AO, 575) the default for journal prstper is longbibliography}%
+\changes{4.1n}{2010/01/04}{(AO, 576) In .bst files, remove support for the annote field}%
+\changes{4.1n}{2010/01/02}{(AO) fine-tune spacing above and below widetext}%
+\changes{4.1n}{2010/01/02}{(AO, 571) class file must set \cs{splittopskip}; fine tune \cs{skip}\cs{footins}; \cs{footnoterule} defined in terms of \cs{skip}\cs{footins}}%
+\changes{4.1n}{2010/01/02}{(AO, 572) \cs{@makefntext} and \cs{frontmatter at makefntext} must be defined harmoniously}%
+\changes{4.1o}{2010/02/02}{(AO, 575) Automatically incorporate the (Bib\TeX-generated) .bbl into an explicit \env{thebibliography}}%
+\changes{4.1o}{2010/02/05}{(AO, 549) Remove patch to natbib, which is now at version 8.31a}
+\changes{4.1o}{2010/02/07}{(AO, 578) accommodate the possible space character preceding \cs{BibitemShut}.} 
+\changes{4.1o}{2010/02/05}{(AO, 579) Endnote shall comprise their own Bib\TeX\ entry type: @FOOTNOTE.} 
+\changes{4.1o}{2010/02/10}{(AO, 580) Provide a document class option to turn off production of eprint field in bibliography.} 
+\changes{4.1o}{2010/02/12}{(AO, 580) Control .bst at run time.}%
+\changes{4.1o}{2010/02/09}{(AO, 581) Handle case: merged references, with first ending in a stop character.} 
+\changes{4.1p}{2010/02/24}{(AO, 583) Provide interface to \classname{ltxgrid} \cs{onecolumn at grid@setup} and \cs{twocolumn at grid@setup}} 
+\changes{4.1p}{2010/02/24}{(AO, 584) Per MD, remove trailing space character from each journal abbreviation: it had caused an extraneous space in the .bbl} 
+\changes{4.1q}{2010/04/01}{(AO, 586) When .bbl is pasted into the document, prevent automatic bibliography inclusion.}%
+\changes{4.1q}{2010/04/13}{(AO, 588) Only write \revtex-specific BibTeX .bib data if the .bst style is set by REVTeX.}%
+\changes{4.1r}{2010/06/22}{(AO, 595) Provide \cs{lovname} along with other List of Videos definitions.}%
+
+\end{filecontents*}
+%    \end{macrocode}
+%
+% \subsection{The Document Body}
+%
+% Here is the document body, containing only a
+% \cmd\DocInput\ directive---referring to this very file.
+% This very cute self-reference is a common \classname{ltxdoc} idiom.
+%    \begin{macrocode}
+\begin{document}%
+\expandafter\DocInput\expandafter{\jobname.dtx}%
+\PrintChanges
+\end{document}
+%    \end{macrocode}
+% And that is the end of the driver for the programmer's documentation.
+%    \begin{macrocode}
+%</doc>
+%    \end{macrocode}
+%
+% \section{Overview}%
+% \revtex\ is a \LaTeXe\ document class, somewhat like a hybrid of 
+% the standard \LaTeX\ \classname{book} and \classname{article} classes.
+%
+% Certain packages are (should be) loaded by this class in any case:
+% \classname{amssymb}, \classname{amsmath}, \classname{bm}, \classname{natbib}.
+% 
+% Certain packages are automatically loaded by this class
+% when a corresponding class option has been invoked:
+% 
+% \begin{tabular}{ll}
+% \textbf{\revtex\ option}&\textbf{package}\\
+% \classoption{amsfonts}&\classname{amsfonts}\\
+% \classoption{amssymb}&\classname{amssymb}\\
+% \classoption{aps}&\classname{overcite}\\
+% \end{tabular}
+%
+% Certain other packages are to be loaded by the
+% document through explicit use of \cmd\usepackage.
+% Some mentioned in the user documentation are
+% \classname{graphicx}, \classname{longtable}, \classname{hyperref}, 
+% and \classname{bm}.
+%
+% Certain commonly used packages are known to be incompatible with
+% \revtex, among them \classname{multicol} and \classname{cite}.
+% If such a package is found to be loaded, \revtex\ issues an error message
+% and halts the job.
+% Halting might be considered severe punishment for loading an incompatible 
+% package, but if we were to proceed, an even weirder error might be encountered
+% further down the road.
+%
+% This document class implements the substyle: a set of mutually
+% exclusive class options that, in this case, allow the 
+% document class to address multiple societies.
+% It also implements a sub-substyle, giving the 
+% journal of the given society.
+% Any society may create a substyle;
+% this file generates one for \classoption{aps}.
+%
+% FIXME: should always load the \classname{graphicx} package. No, allow user to load whichever graphics package is desired.
+% 
+% QUERY: since \classname{amsfonts} and \classname{amssymb} extend
+% syntax, why not load them in any case?
+% 
+% Certain processing occurs at the endgame for reading in \revtex, thereby establishing
+% precedence for assignments to \LaTeX's (and \revtex's) parameters:
+% \begin{enumerate}
+% \item
+%  Figure out which society is operative and read in the indicated \file{.rtx} file.
+% \item
+%  Figure out which journal option is operative and execute the indicated journal command. This may lead to reading in a journal substyle \file{.rtx} file.
+% \item
+%  Figure out which pointsize is operative and execute the indicateded pointsize command. This may lead to reading in a pointsize  \file{.rtx} file.
+% \item
+%  Execute all of the document's options, in the order declared within the document.
+% \item
+%  Read in all required packages (like \classname{natbib}, \classname{amsfonts}, \classname{amssymb}), that were determined by class, society, and journal.
+% \item
+%  The last required package, if existing, is the document's style file, the \file{.rty} file. 
+%  Note that the \file{.rty} file can override the assignments of \revtex, society, journal, and required packages, and even load its own packages.
+%  It can also, via appendations to \cmd\setup at hook, override the setup code itself.
+% \item
+%  Execute all of the setup code accumulated. Such code can be queued by \revtex\ itself, by the society, by the journal, or by the pointsize. 
+% \item
+%  At this point, \revtex\ has completed the process of inputting itself, 
+%  and \LaTeX\ will now execute the \cmd\AtEndOfClass\ procedures.
+% \end{enumerate}
+%
+% \revtex\ will have enqueued code to execute at \cmd\AtBeginDocument\ time,
+% in two different queues. 
+% \cmd\document at inithook\ executes immediately upon encountering the \cmd\begin\env{document} statement, 
+% \cmd\class at documenthook\ at the end of all the code enqueued via \cmd\AtBeginDocument. 
+% \begin{enumerate}
+% \item
+%  Install procedures to execute at the very end of the class's
+%  \cmd\AtBeginDocument\ processing, such as
+%  \begin{enumerate}
+%  \item
+%   closing out the page grid
+%  \item
+%   putting out the LastPage label.
+%  \item
+%   issuing a \cmd\bibliographystyle\ command, based on the value set
+%   by the society substyle.
+%  \item
+%   setting default values for parameters used in the document.
+%FIXME: differentiate between class's parameters that can wait until
+% they are used in the document, and parameters that are used at \cmd\AtBeginDocument\ time.
+%  \end{enumerate}
+% \item
+%  Install procedures to execute the very last at \cmd\AtEndDocument\ time,
+%  such as the \cmd\clearpage\ processing.
+% \end{enumerate}
+%
+% Certain events are optionally scheduled for \cmd\AtBeginDocument\ time:
+% \begin{enumerate}
+% \item
+%  Setting default values for the Booleans and for other procedures used in formatting.
+% \item
+%  In response to class options options, adjusting parameters and procedures used in formatting.
+% \item
+%  Implementing the \classoption{eqsecnum} option, if required.
+% \item
+%  Setting the state engine for data commands.
+% \item
+%  Memorizing procedures for later use.
+% \item
+%  Setting type size and area, for use by later calculations.
+% \end{enumerate}
+%
+% Certain events are scheduled for \cmd\class at enddocumenthook\ time:
+% \begin{enumerate}
+% \item
+%  Print out the migrated floats or the end notes, if needed.
+% \item
+%  Close out the page grid.
+% \item
+%  Label the last page of the document
+% \item
+%  (\classname{natbib}) prepare to read in the \file{.aux} file.
+% \end{enumerate}
+%
+% \section{Writing journal-specifc extensions to \revtex}
+%
+% With this version of \revtex, we introduce a somewhat different
+% scheme for adapting \revtex\ to the needs of a specific journal.
+%
+% To create a journal substyle, you create new class options in 
+% \revtex\ for the society, say \classoption{osa}, and any of that society's journals,
+% one of which is, say, \classoption{josaa},
+% using the code for the APS as a guide.
+% In particular, each of your new options should separately define \cmd\@society\
+% and \cmd\@journal. That for the former will be the same for
+% all options relating to a particular society.
+%
+% Then, for the society, you create a corresponding \file{.rtx}
+% file, in our case \file{osa.rtx}.
+% Within that file, you override procedures and parameter assignments as you see fit.
+% Ideally they will be generally applicable to all of that society's
+% journals (see the file \file{aps.rtx} for a realization of this scheme).
+% Also within that file, you include a 
+% section of code for each journal, that for josaa looks like:
+% \begin{verbatim}
+% \@ifx{\@journal\journal at josaa}{%
+% <code specific to the josaa>
+% }{}%
+% \end{verbatim}
+% 
+% Thus far, the scheme is similar to that used in \revtex\ 3.1.
+% However, the new scheme does differ from the old in that 
+% the \file{.rtx} file should define no syntactical extensions
+% to \revtex.
+%
+% \section{The \classname{revtex4} Document Class}
+% Above, we took
+% advantage of 1) the \LaTeX\ definition of \cmd\ProvidesPackage\ and
+% 2) that the line of code immediately afterwards follows the \cmd\ProvidesClass\ statement above. 
+%    \begin{macrocode}
+%<*kernel>
+%    \end{macrocode}
+%
+% Print a banner in the log:
+%    \begin{macrocode}
+\GenericInfo{}{\space
+ Copyright (c) 2009 The American Physical Society.^^J
+ mailto:revtex at aps.org^^J
+ Licensed under the LPPL:^^Jhttp://www.ctan.org/tex-archive/macros/latex/base/lppl.txt^^J
+ Arthur Ogawa <arthur_ogawa at sbcglobal dot net>^^J
+ Based on work by David Carlisle <david at dcarlisle.demon.co.uk>%
+ \@gobble
+}%
+%    \end{macrocode}
+%
+% \subsection{Compatibility Processing}
+%
+% If the document has \cmd\documentstyle|{revtex4}|,
+% then, instead of attempting to run in compatability mode,
+% just complain and exit.
+% \changes{4.0c}{1999/11/13}{Lose compatability mode.}
+%    \begin{macrocode}
+\if at compatibility    
+  \edef\reserved at a{\errhelp{%
+   Change your \string\documentstyle\space statement to
+   \string\documentclass\space and rerun.
+  }}\reserved at a
+  \errmessage{You cannot run \class at name\space in compatability mode}%
+  \expandafter\@@end
+\fi
+%    \end{macrocode}
+%
+%
+% \section{Extensions to the \LaTeX\ Kernel}
+%
+%    \begin{macrocode}
+%</kernel>
+%    \end{macrocode}
+%
+% Here, we incorporate the utility, frontmatter, and page grid packages.
+% The \classname{ltxutil}, \classname{ltxfront}, and \classname{ltxgrid} source are distributed with 
+% \revtex.
+%
+% Here begins the \file{options} \textsc{docstrip} module.
+%    \begin{macrocode}
+%<*options>
+%    \end{macrocode}
+%
+% \subsection{Hooks}
+%
+% \begin{macro}{\setup at hook}
+% The procedure 
+% \cmd\setup at hook\
+% serves as the vehicle for all code that 
+% gives values to the class's parameters once all the 
+% society, journal, options, and packages have been processed. 
+%
+% Arrange for journal substyles to set their own default values.
+%    \begin{macrocode}
+\let\setup at hook\@empty
+%    \end{macrocode}
+% \end{macro}
+%
+% After preamble processing is complete,
+% detect whether package \classname{longtable} has been loaded and patch it.
+%    \begin{macrocode}
+\appdef\document at inithook{%
+ \switch at longtable
+ \let\LT at makecaption\LT at makecaption@rtx
+}%
+%    \end{macrocode}
+%
+% \begin{macro}{\LT at makecaption}
+% We override the caption processing method of the \classname{longtable} package:
+% space below the caption is created via strut instead of whitespace.
+%    \begin{macrocode}
+\def\LT at makecaption@rtx#1#2#3{%
+  \LT at mcol\LT at cols c{%
+    \hbox to\z@{%
+     \hss
+     \parbox[t]\LTcapwidth{%
+      \sbox\@tempboxa{#1{#2: }#3\unskip\nobreak\vrule\@width\z@\@height\z@\@depth .5\baselineskip}%
+      \ifdim\wd\@tempboxa>\hsize
+        #1{#2: }#3\unskip\nobreak\vrule\@width\z@\@height\z@\@depth .5\baselineskip
+      \else
+        \hbox to\hsize{\hfil\box\@tempboxa\hfil}%
+      \fi
+      \endgraf
+     }%
+     \hss
+    }%
+  }%
+}%
+%    \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\robust at boldmath}
+% Robustify the \cmd\boldmath command. 
+% If Team \LaTeX\ (or any package) ever gets around to fixing this problem, 
+% we will bow out. (This fix relates to bug \#394.)
+%    \begin{macrocode}
+\def\protectdef at boldmath{%
+ \expandafter\@ifnotrelax\csname boldmath \endcsname{}{%
+  \class at info{Robustifying \string\LaTeX's \string\boldmath\space command}%
+  \expandafter\let\csname boldmath \endcsname\boldmath
+  \expandafter\def\expandafter\boldmath\expandafter{\expandafter\protect\csname boldmath \endcsname}%
+ }%
+}%
+\appdef\document at inithook{%
+ \protectdef at boldmath
+}%
+%    \end{macrocode}
+% \end{macro}
+%
+% \section{Compatability with the geometry package}
+%
+% The \classname{geometry} package of Hideo Umeki provides a way to 
+% specify the metrics of the media and page layout.
+% We want to ensure that \revtex\ does not foreclose on the use of 
+% this or any other such package, nor to interfere with
+% explicit assignments of such metric parameters within the 
+% document preamble.
+% 
+% The \LaTeX\ parameters (resp. \TeX\ primitives) set by \classname{geometry} are:
+% \cmd\paperwidth, \cmd\paperheight, 
+% \cmd\textwidth, \cmd\textheight, 
+% \cmd\topmargin, \cmd\headheight, \cmd\headsep, 
+% \cmd\footskip, \cmd\skip\cmd\footins, 
+% \cmd\marginparwidth, \cmd\marginparsep, 
+% \cmd\oddsidemargin, \cmd\evensidemargin, 
+% \cmd\columnsep, 
+% \cmd\hoffset, \cmd\voffset, \cmd\mag, 
+% \cmd\if at twocolumn, \cmd\if at twoside, \cmd\if at mparswitch, \cmd\if at reversemargin, 
+%
+% \revtex's assignments can be overridden by 
+% any package or other statement in the document preamble, 
+% so it should be compatible. 
+%
+%FIXME: one parameter is rendered semantically void (by \file{ltxgrid.dtx}): 
+% \cmd\if at twocolumn. 
+%
+% \section{Options}\label{sec:options}%
+%
+% \subsection{Define Booleans Used in Options}%
+% The following Booleans are used within the document class to
+% allow the document or the substyle to make selections
+% of formatting.
+% An explicit document class option overrides an assignment made by a substyle.
+%
+% \subsection{Declare Options}%
+%
+% \subsubsection{Checkin: for Editorial Use}%
+% A document class option declaring that the document is being processed by the 
+% editorial staff.
+%
+% This option should:
+% \begin{itemize}
+% \item
+% put date in footer along with folio
+% \item
+% Have the effect of selecting the \classoption{preprint} class option.
+% \item
+% Have the effect of selecting the \classoption{showpacs} class option.
+% \item
+% specify that when a float is placed h or H, it will be allowed to break over pages.
+% (Note: be sure that if the enclosed \env{tabular} has an optional argument, you change it to [v], or remove it entirely.)
+% \end{itemize}
+% \changes{4.0c}{1999/11/13}{New option ``checkin''}
+%    \begin{macrocode}
+\DeclareOption{checkin}{%
+  \@booleantrue\dateinRH at sw
+  \@booleantrue\preprintsty at sw
+  \def\@pointsize{12}%
+  \@booleantrue\showPACS at sw
+  \@booleantrue\showKEYS at sw
+  \def\fp at proc@h{\allow at breaking@tables}%
+  \def\fp at proc@H{\allow at breaking@tables}%
+}%
+\@booleanfalse\dateinRH at sw
+\def\checkindate{\dateinRH at sw{{\tiny(\today)}}{}}%
+\def\allow at breaking@tables{%
+ \def\array at default{v}% tabular can break over pages
+ \@booleanfalse\floats at sw % table can break over pages
+}%
+%    \end{macrocode}
+%
+% \subsubsection{Preprint Style}%
+%
+% \begin{macro}{\preprintsty at sw}
+% The boolean \cmd\preprintsty at sw\ signifies that 
+% the document is to be formatted in preprint style.
+% \changes{4.0a}{1998/01/31}{Rearrange the ordering so numerical ones come first. AO: David, what does this mean?}
+% \changes{4.0a}{1998/06/10}{comma not space between email and homepage}
+% \changes{4.0b}{1999/06/20}{Move this ``complex'' option to the front, where it can be overridden by ``simple'' options.}
+% \changes{4.1b}{2008/06/01}{Add option reprint, opposite of preprint, and preferred alternative to twocolumn}
+%    \begin{macrocode}
+\DeclareOption{preprint}{%
+ \@booleantrue\preprintsty at sw
+ \ExecuteOptions{12pt}%
+}%
+\DeclareOption{reprint}{%
+ \@booleanfalse\preprintsty at sw
+ \@booleantrue\twocolumn at sw
+ \ExecuteOptions{10pt}%
+}%
+\DeclareOption{manuscript}{%
+ \class at warn{Document class option manuscript is obsolete; use preprint instead}%
+ \ExecuteOptions{preprint}%
+}%
+\@booleanfalse\preprintsty at sw
+%    \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\showPACS at sw}
+% \begin{macro}{\showKEYS at sw}
+% If \cmd\showPACS at sw\ is true, print the PACS information in the title block,
+% otherwise not.
+% Similarly for \cmd\showKEYS at sw\ and the keywords.
+% \subsubsection{Showing PACS and keywords}%
+% \changes{4.0b}{1999/06/20}{New option}
+% \changes{4.0e}{2000/09/20}{New option showkeys}
+%    \begin{macrocode}
+\DeclareOption{showpacs}{%
+  \@booleantrue\showPACS at sw
+}%
+\DeclareOption{noshowpacs}{%
+  \@booleanfalse\showPACS at sw
+}%
+\DeclareOption{showkeys}{%
+  \@booleantrue\showKEYS at sw
+}%
+\DeclareOption{noshowkeys}{%
+  \@booleanfalse\showKEYS at sw
+}%
+\@booleanfalse\showPACS at sw
+\@booleanfalse\showKEYS at sw
+%    \end{macrocode}
+% \end{macro}
+% \end{macro}
+%
+% \subsubsection{Balance the last page when in two-column page grid}%
+%
+% \begin{macro}{\balancelastpage at sw}
+% \changes{4.1b}{2008/07/01}{(AO) make settings at class time instead of deferring them to later.}
+% If we are in a two-column page grid, we may wish to balance the columns
+% of the last page. This will be done automatically if the 
+% \classoption{twocolumn} document class option is chosen.
+% This action will be turned off by the \classoption{nobalancelastpage}.
+% A complementary class option, \classoption{balancelastpage} is also provided.
+%    \begin{macrocode}
+\DeclareOption{balancelastpage}{%
+  \@booleantrue\balancelastpage at sw
+}%
+\DeclareOption{nobalancelastpage}{%
+  \@booleanfalse\balancelastpage at sw
+}%
+\@booleantrue\balancelastpage at sw
+%    \end{macrocode}
+% \end{macro}
+%
+% \subsubsection{Showing preprint numbers}%
+%
+% \begin{macro}{\preprint at sw}
+% \changes{4.0d}{2000/04/10}{New option}
+% \changes{4.1b}{2008/07/01}{(AO) make settings at class time instead of deferring them to later.}
+% \changes{4.1n}{2009/11/06}{(AO, 565) restore 4.0 behavior: default value of \cs{preprint at sw} follows \cs{preprintsty at sw}}
+% The boolean \cmd\preprint at sw\ signifies that 
+% the preprints (cf. \cmd\preprint) are to be formatted (usually on the title page).
+% The option \classoption{preprintnumbers} declares to do so,
+% \classoption{nopreprintnumbers} declares not to; 
+% the default is to follow \cmd\preprintsty at sw. 
+%    \begin{macrocode}
+\DeclareOption{nopreprintnumbers}{\@booleanfalse\preprint at sw}%
+\DeclareOption{preprintnumbers}{\@booleantrue\preprint at sw}%
+\appdef\setup at hook{%
+ \@ifxundefined\preprint at sw{\let\preprint at sw\preprintsty at sw}{}%
+}%
+%    \end{macrocode}
+% \end{macro}
+%
+% \subsubsection{Hypertext Option}%
+%
+% \changes{4.0a}{1998/01/31}{protect against hyperref revtex kludges which are not needed now}
+% \changes{4.0b}{1999/06/20}{Move this ``complex'' option to the front, where it can be overridden by ``simple'' options.}
+% \changes{4.0rc4}{2001/07/23}{hyperref is no longer loaded via class option: use a usepackage statement instead}
+%    \begin{macrocode}
+\DeclareOption{hyperref}{%
+%    \end{macrocode}
+% The following code had been commented out, it is now truly a comment:
+%    \begin{verbatim}
+%\AtEndOfClass{%
+% \begingroup
+%  \edef\@tempa{%
+%   \let
+%   \noexpand\@clsextension
+%   \noexpand\@empty
+%   \noexpand\RequirePackage{hyperref}%
+%   \def\noexpand
+%   \@clsextension{\@clsextension}%
+%  }%
+%  \expandafter
+% \endgroup
+% \@tempa
+%}%
+% \def\@pointsize{10}%
+%    \end{verbatim}
+%
+% If you have a hyper-foo enabled browser you may prefer this format
+% which does not print the URL for the home page, but just makes the
+% name a link, but by default print it so it works on paper.
+% \changes{4.0a}{1998/01/31}{print homepage}
+%
+%    \begin{macrocode}
+ \class at warn{Class option "hyperref" is no longer supported.^^JEmploy \string\usepackage{hyperref} instead}%
+}%
+%    \end{macrocode}
+%
+% \subsubsection{Type Size}%
+% \changes{4.1b}{2008/07/01}{(AO) make settings at class time instead of deferring them to later.}
+% Use \cmd\@pointsize|=10| rather than \cmd\@ptsize|=0| to allow easy extensions
+% to 9pt or whatever. 
+% Note: the three alternatives are mutually exclusive. 
+%
+% At this point, the parameter \cmd\@pointsize\ is set to \cmd\undefined:
+% a society \emph{must} give it a definition.
+%    \begin{macrocode}
+\DeclareOption{10pt}{\def\@pointsize{10}}%
+\DeclareOption{11pt}{\def\@pointsize{11}}%
+\DeclareOption{12pt}{\def\@pointsize{12}}%
+\let\@pointsize\@undefined
+%    \end{macrocode}
+%
+% \subsubsection{Media Size}%
+%
+% \begin{macro}{\paperheight}
+% \begin{macro}{\paperwidth}
+% \changes{4.0b}{1999/06/20}{Restore all media size class option of \protect\file{classes.dtx}}
+%    \begin{macrocode}
+\DeclareOption{a4paper}{%
+    \setlength\paperheight {297mm}%
+    \setlength\paperwidth  {210mm}%
+}%
+\DeclareOption{a5paper}{%
+    \setlength\paperheight {210mm}%
+    \setlength\paperwidth  {148mm}%
+}%
+\DeclareOption{b5paper}{%
+    \setlength\paperheight {250mm}%
+    \setlength\paperwidth  {176mm}%
+}%
+\DeclareOption{letterpaper}{%
+    \setlength\paperheight {11in}%
+    \setlength\paperwidth  {8.5in}%
+}%
+\DeclareOption{legalpaper}{%
+    \setlength\paperheight {14in}%
+    \setlength\paperwidth  {8.5in}%
+}%
+\DeclareOption{executivepaper}{%
+    \setlength\paperheight {10.5in}%
+    \setlength\paperwidth  {7.25in}%
+}%
+\DeclareOption{landscape}{%
+    \setlength\@tempdima   {\paperheight}%
+    \setlength\paperheight {\paperwidth}%
+    \setlength\paperwidth  {\@tempdima}%
+}%
+%    \end{macrocode}
+%
+% \changes{4.1a}{2008/01/18}{(AO, 478) \cs{ds at letterpaper}, so that ``letterpaper really is the default''}%
+% Effectively select \classoption{letterpaper}. 
+%    \begin{macrocode}
+\ds at letterpaper
+%    \end{macrocode}
+% \end{macro}
+% \end{macro}
+%
+% \subsubsection{Bibnotes}%
+%
+% \begin{macro}{\frontmatter at footnote@produce}
+% Frontmatter footnotes result from frontmatter commands like
+% \cmd\email, \cmd\homepage, \cmd\altaffiliation, and \cmd\thanks.
+% The default for \cmd\frontmatter at footnote@produce\ is
+% \cmd\frontmatter at footnote@produce at footnote, which formats the frontmatter footnotes
+% at the foot of the title page. The \classoption{bibnotes} class option
+% defers them to the bibliography.
+% \changes{4.1b}{2008/06/01}{(AO) Implement bibnotes through \cs{frontmatter at footnote@produce} instead of \cs{bibnotes at sw}}%
+%    \begin{macrocode}
+\DeclareOption{bibnotes}{\let\frontmatter at footnote@produce\frontmatter at footnote@produce at endnote}%
+\DeclareOption{nobibnotes}{\let\frontmatter at footnote@produce\frontmatter at footnote@produce at footnote}%
+\let\frontmatter at footnote@produce\frontmatter at footnote@produce at footnote
+\appdef\class at enddocumenthook{\auto at bib}%
+%    \end{macrocode}
+% \end{macro}
+%
+% \subsubsection{Footinbib}%
+%
+% \begin{macro}{\footinbib at sw}
+% The boolean \cmd\footinbib at sw\ signifies that 
+% text footnotes are to be set in the bibliography, as endnotes.
+% 
+% The document may set the value one way or the other via
+% the following two class options.
+%    \begin{macrocode}
+\DeclareOption{footinbib}{\@booleantrue\footinbib at sw}
+\DeclareOption{nofootinbib}{\@booleanfalse\footinbib at sw}
+%    \end{macrocode}
+% The default value is \cmd\false at sw, and the society or journal
+% may override the default. 
+% \changes{4.1b}{2008/07/01}{(AO) make settings at class time instead of deferring them to later.}
+%    \begin{macrocode}
+\@booleanfalse\footinbib at sw
+%    \end{macrocode}
+% \end{macro}
+%
+% \subsubsection{altaffilletter}%
+% 
+% \begin{macro}{\altaffilletter at sw}
+% \changes{4.1b}{2008/07/01}{(AO) make settings at class time instead of deferring them to later.}
+% Determine the procedure \cmd\thefootnote\ used in frontmatter: 
+% the footnote symbol used in titlepage footnotes.
+%     \begin{macrocode}
+\DeclareOption{altaffilletter}{\@booleantrue\altaffilletter at sw}%
+\DeclareOption{altaffilsymbol}{\@booleanfalse\altaffilletter at sw}%
+\@booleanfalse\altaffilletter at sw
+%    \end{macrocode}
+% \end{macro}
+%
+% \subsubsection{superbib}%
+%
+% \begin{macro}{\place at bibnumber}
+% \changes{4.1b}{2008/07/01}{(AO) make settings at class time instead of deferring them to later.}
+% The procedure \cmd\place at bibnumber\ produces the number
+% at the head of the \cmd\bibitem, in the bibliography.
+% By default, it has the \cmd\bibnumfmt\ meaning assigned by the \classname{natbib} package.
+% It may be overridden by society, journal, or by the document options.
+%
+%     \begin{macrocode}
+\DeclareOption{superbib}{%
+ \let\place at bibnumber\place at bibnumber@sup
+}%
+\def\place at bibnumber{\NATx at bibnumfmt}%
+%    \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\place at bibnumber@sup}
+% \begin{macro}{\place at bibnumber@inl}
+% For producing the \cmd\bibitem\ device,
+% we define two procedures to select from.
+%
+% Note that we could have used \classname{natbib}'s \cmd\ifNAT at super\
+% switch, but it does not allow for altering the meaning of \cmd\bibnumfmt.
+%    \begin{macrocode}
+\def\place at bibnumber@sup#1{\textsuperscript{#1}}%
+\def\place at bibnumber@inl#1{[#1]}%
+%    \end{macrocode}
+% \end{macro}
+% \end{macro}
+%
+% \subsubsection{citeautoscript}%
+% \begin{macro}{\citeautoscript at sw}
+% This class option allows you to automatically accomodate a change from non-superscripted, numbered references
+% to superscripted, bunmbered references.
+%
+% Note: you should always mark up your document with the assumption that references are \emph{not} going to be superscripted.
+% Otherwise this option has no hope of working properly.
+%
+%     \begin{macrocode}
+\DeclareOption{citeautoscript}{\@booleantrue\citeautoscript at sw}%
+\@booleanfalse\citeautoscript at sw
+%    \end{macrocode}
+% \end{macro}
+%
+% \subsubsection{Variants on the Bibliography Style}%
+% \changes{4.1b}{2008/07/01}{(AO) provide option longbibliography}
+%
+% \revtex\ anticipates that a society or journal will provide two related Bib\TeX bibliography style variants,
+% designating one as the default.
+% A pair of document class options \classoption{longbibliography} and \classoption{nolongbibliography}
+% allows the user to explicitly select between them. 
+% \begin{macro}{\longbibliography at sw}
+%
+% \revtex's default for \cmd\longbibliography at sw\ is \cmd\false at sw.
+%
+%     \begin{macrocode}
+\DeclareOption{longbibliography}{\@booleantrue\longbibliography at sw}%
+\DeclareOption{nolongbibliography}{\@booleanfalse\longbibliography at sw}%
+\@booleanfalse\longbibliography at sw
+%    \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\eprint at enable@sw}
+% \changes{4.1o}{2010/02/10}{(AO, 580) Provide a document class option to turn off production of eprint field in bibliography.} 
+%
+% The document class options \classoption{eprint} and \classoption{noeprint}
+% give the user the ability to turn off production of the \texttt{eprint} field in the bibliography. 
+%     \begin{macrocode}
+\DeclareOption{eprint}{\@booleantrue\eprint at enable@sw}%
+\DeclareOption{noeprint}{\@booleanfalse\eprint at enable@sw}%
+\@booleantrue\eprint at enable@sw
+%    \end{macrocode}
+% \end{macro}
+%
+% \subsubsection{Simplex/Duplex Pages}%
+%
+% \begin{macro}{\twoside at sw}
+% \changes{4.1b}{2008/07/01}{(AO) coordinate \cs{if at twoside} with \cs{twoside at sw}}
+% The flag \cmd\twoside at sw\ signifies that the document is to be 
+% formatted for duplex printing.
+% After the preamble is processed, we align the value
+% of the kernel \cmd\newif\ switch \cmd\if at twoside\ 
+% to that of \cmd\twoside at sw. 
+% \cmd\if at twoside\ itself is used in the kernel's
+% \cmd\cleardoublepage\ and \cmd\@outputpage\ procedures.
+%    \begin{macrocode}
+\@booleanfalse\twoside at sw
+\appdef\document at inithook{%
+ \twoside at sw{\@twosidetrue}{\@twosidefalse}%
+}%
+%    \end{macrocode}
+% \changes{4.0a}{1998/01/31}{4.d had twoside option setting twoside switch to false}
+% The complementary options \classoption{twoside} and \classoption{oneside}
+% assert formatting for duplex or simplex printing, respectively.
+% At the same time, we arrange for the selection of the page grid 
+% with respect to the marginal column:
+% Because \cmd\if at reversemargin\ remains default (false),
+% if duplex printing, this column will always be on the (right),
+% if simplex printing, it will always be on the (outside).
+% QUERY: correct choice?
+%FIXME: assign \cmd\if at mparswitch\ later (and protect the assignment, too). 
+%    \begin{macrocode}
+\DeclareOption{twoside}{\@booleantrue \twoside at sw\@mparswitchfalse}%
+\DeclareOption{oneside}{\@booleanfalse\twoside at sw\@mparswitchtrue}%
+%    \end{macrocode}
+% \end{macro}
+%
+% \subsubsection{Two-Column Page Grid}%
+%
+% \begin{macro}{\twocolumn at sw}
+% \changes{4.1b}{2008/07/01}{(AO) make settings at class time instead of deferring them to later.}
+% \changes{4.1p}{2010/02/24}{(AO, 583) Provide interface to \classname{ltxgrid} \cs{onecolumn at grid@setup} and \cs{twocolumn at grid@setup}} 
+% The flag \cmd\twocolumn at sw\ signifies that the document is to be 
+% formatted in the two-column page grid.
+%
+% If no options relating to page grid are invoked by 
+% \cmd\AtBeginDcoument\ time, we set default values.
+% Up to that point, the class can check if \cmd\twocolumn at sw\
+% is \cmd\undefined\ to see if any related options have been invoked.
+%
+% \classoption{onecolumn} specifies one-column page grid.
+% The \classoption{twocolumn} class option employs the standard mechanism for
+% changing the column grid: the \classname{ltxgrid} package.
+%    \begin{macrocode}
+\DeclareOption{onecolumn}{\@booleanfalse\twocolumn at sw}%
+\DeclareOption{twocolumn}{\@booleantrue \twocolumn at sw}%
+\@booleanfalse\twocolumn at sw
+%    \end{macrocode}
+% The column grid is determined by the state of the switch \cmd\twocolumn at sw
+% and is effected at \cmd\class at documenthook\ time.
+% The society or journal file may re-define \cmd\select at column@grid\ 
+% to accomodate, e.g., more than two choices for the page grid. 
+%
+% Note that \cmd\open at column@two\ adds items to the Main Vertical List, 
+% so constitutes the true beginning of the document.
+%
+% Note also that if the selected column grid is a one-column grid, 
+% there is nothing to do, because \classname{ltxgrid} has already
+% set that up via \cmd\@begindocumenthook.
+%    \begin{macrocode}
+\def\select at column@grid{%
+ \twocolumn at sw{%
+  \twocolumn at grid@setup
+  \open at twocolumn
+ }{%
+  \onecolumn at grid@setup
+%    \end{macrocode}
+%    \begin{verbatim}
+% \open at onecolumn
+%    \end{verbatim}
+%    \begin{macrocode}
+ }%
+}%
+\appdef\class at documenthook{%
+ \select at column@grid
+}%
+%    \end{macrocode}
+%
+% \end{macro}
+%
+% \begin{macro}{\clear at document}
+% \changes{4.1n}{2009/12/05}{(AO, 569) Use of \classname{hyperref} interferes with column balancing of last page}%
+%
+% We install into \cmd\class at enddocumenthook\ 
+% a trap for the procedure \cmd\clearpage\ that attempts to end the current page.
+% This procedure needs to be headpatched with \cmd\close at column\ to end the current page grid. 
+%
+% This procedure is executed after all typesetting is complete
+% i.e., after items like \cmd\printtables, as well as all commands queued up by \cmd\AtEndDocument. 
+%
+%    \begin{macrocode}
+\appdef\setup at hook{%
+ \let\clearpage at ltx\clearpage
+ \prepdef\clear at document{\let\clearpage\clearpage at ltx\let\clear at document\@empty\close at column}%
+ \appdef\class at documenthook{%
+  \appdef\class at enddocumenthook{%
+   \let\clearpage\clear at document
+  }%
+ }%
+}%
+%    \end{macrocode}
+%
+% \end{macro}
+%
+% \begin{macro}{\authoryear at sw}
+% \changes{4.1a}{2008/01/18}{(AO, 457) Endnotes to be sorted in with numerical citations.}%
+% The boolean \cmd\authoryear at sw\ signifies that we are to use author-year citations rather than numerical citations.
+% 
+% The \classoption{author-year} class option selects ``'author-year'' citations;  
+% \classoption{numerical} selectes ``numerical'' citations.
+% The former is the default.
+%    \begin{macrocode}
+\DeclareOption{author-year}{\@booleantrue\authoryear at sw}%
+\DeclareOption{numerical}{\@booleanfalse\authoryear at sw}%
+\@booleanfalse\authoryear at sw
+%    \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\galley at sw}
+% The boolean \cmd\galley at sw\ signifies that 
+% the document is to be formatted in galley style.
+%
+% Asserting both \cmd\galley at sw\ and \cmd\preprintsty at sw\ 
+% may produce strange formatting results, but it is not illegal.
+% However, it \emph{is} illegal to assert galley and any 
+% twocolumn option.
+%    \begin{macrocode}
+%    \end{macrocode}
+% \classoption{galley} emulates setting the galleys of
+% a two-column journal.
+% CHANGED: this option should effectively set \cmd\preprintsty at sw\ false.
+% NOTE: it makes no sense to assert both galley and twocolumn.
+% \changes{4.1b}{2008/07/01}{Class option galley sets \cs{preprintsty at sw} to false}
+% 
+%    \begin{macrocode}
+\DeclareOption{galley}{%
+  \ExecuteOptions{onecolumn}%
+  \@booleantrue\galley at sw
+  \@booleanfalse\preprintsty at sw
+  \appdef\setup at hook{%
+    \advance\textwidth-\columnsep
+    \textwidth.5\textwidth
+  }%
+}%
+\@booleanfalse\galley at sw
+%    \end{macrocode}
+% \end{macro}
+%
+% \subsubsection{raggedbottom or flushbottom}%
+% \begin{macro}{\raggedcolumn at sw}
+% \changes{4.1b}{2008/07/01}{(AO) make settings at class time instead of deferring them to later.}
+% The class options \classoption{raggedbottom} and \classoption{flushbottom} determine whether the columns (page)
+% are ragged bottom or flush bottom.
+% Note that we do not select a default here; that is done by the journal substyle.
+%    \begin{macrocode}
+\DeclareOption{raggedbottom}{\@booleantrue\raggedcolumn at sw}
+\DeclareOption{flushbottom}{\@booleanfalse\raggedcolumn at sw}
+\@booleanfalse\raggedcolumn at sw
+\appdef\setup at hook{%
+ \raggedcolumn at sw{\raggedbottom}{\flushbottom}%
+}%
+%    \end{macrocode}
+% \end{macro}
+%
+% \subsubsection{tightenlines}%
+%
+% This class option specifies that standard leading 
+% is to be used to set the type.
+% If lacking, the leading will be loose.
+%
+% \begin{macro}{\tightenlines at sw}
+% \changes{4.1b}{2008/07/01}{(AO) make settings at class time instead of deferring them to later.}
+% The boolean \cmd\tightenlines at sw\ signifies that 
+% the leading is to be made standard amount.
+% If false, it means that the leading is to be set extra open.
+% Has no effect on 10pt size option.
+%
+%    \begin{macrocode}
+\DeclareOption{tightenlines}{\@booleantrue\tightenlines at sw}
+\@booleanfalse\tightenlines at sw
+%    \end{macrocode}
+% \end{macro}
+%
+% \subsubsection{lengthcheck}%
+%
+% \begin{macro}{\lengthcheck at sw}
+% \changes{4.1b}{2008/07/01}{(AO) make settings at class time instead of deferring them to later.}
+% The flag \cmd\lengthcheck at sw\ signifies that 
+% the length checking is in effect.
+% It is up to the individual journal substyle 
+% to alter its formatting accordingly.
+%    \begin{macrocode}
+\@booleanfalse\lengthcheck at sw
+%    \end{macrocode}
+% This class option specifies that the formatted document 
+% should approach as closely as possible the
+% formatting of an actual journal article 
+% to facilitate the author's performance of a length check.
+%
+%FIXME: society or journal may have its own definition of this option.
+%    \begin{macrocode}
+\DeclareOption{lengthcheck}{%
+ \@booleantrue\lengthcheck at sw
+ \ExecuteOptions{reprint}%
+}%
+%    \end{macrocode}
+% In addition, if length checking is in effect, we will enable 
+% the tally of text length. 
+%    \begin{macrocode}
+\appdef\setup at hook{%
+ \lengthcheck at sw{\@booleantrue\tally at box@size at sw}{}%
+}%
+%    \end{macrocode}
+% \end{macro}
+%
+% \subsubsection{Draft and Final}%
+%
+% \begin{macro}{\draft at sw}
+% \changes{4.1b}{2008/07/01}{(AO) make settings at class time instead of deferring them to later.}
+% The flag \cmd\draft at sw\ signifies that the document is to be 
+% formatted in draft mode. 
+%
+%    \begin{macrocode}
+\appdef\setup at hook{%
+ \draft at sw{\overfullrule 5\p@}{\overfullrule\z@}%
+}%
+%    \end{macrocode}
+%
+% Certain packages may pay attention to the 
+% class option \classoption{draft} that sets this Boolean.
+%    \begin{macrocode}
+\DeclareOption{draft}{\@booleantrue\draft at sw}%
+\DeclareOption{final}{\@booleanfalse\draft at sw}%
+\@booleanfalse\draft at sw
+%    \end{macrocode}
+%
+% \end{macro}
+%
+% \subsubsection{eqsecnum}%
+%
+% \begin{macro}{\eqsecnum at sw}
+% The flag \cmd\eqsecnum at sw\ signifies that equations are to be 
+% numbered with the section, e.g., ``Eq. (2.13)''.
+%    \begin{macrocode}
+\appdef\setup at hook{%
+ \eqsecnum at sw{%
+  \@addtoreset{equation}{section}%
+  \def\theequation at prefix{\arabic{section}.}%
+ }{}%
+}%
+%    \end{macrocode}
+%
+% The \classoption{eqsecnum} class option signifies that equations are
+% to be numbered within sections.
+%    \begin{macrocode}
+\DeclareOption{eqsecnum}{\@booleantrue\eqsecnum at sw}%
+\@booleanfalse\eqsecnum at sw
+%    \end{macrocode}
+% \end{macro}
+%
+% \subsubsection{secnumarabic}%
+% \changes{4.1b}{2008/07/01}{(AO) No longer use \cs{secnumarabic at sw}, instead use \cs{setup at secnums}}
+% The \classoption{secnumarabic} class option signifies that sectioning commands are
+% to be numbered arabic: 
+% the procedure \cmd\secnums at arabic\ is executed as the default. 
+% Otherwise, the procedure \cmd\secnums at rtx\ determines things. 
+% The society or journal may redefine either procedure,
+% and may change the definition of \cmd\setup at secnums\ itself, 
+% thereby establishing a different default. 
+%    \begin{macrocode}
+\appdef\setup at hook{%
+ \setup at secnums
+}%
+\DeclareOption{secnumarabic}{%
+ \def\setup at secnums{\secnums at arabic}%
+}%
+\def\setup at secnums{\secnums at rtx}%
+%    \end{macrocode}
+% The code that defines \cmd\secnums at rtx\ and \cmd\secnums at arabic\ appears
+% in Section~\ref{sec:secnumarabic}.
+%
+% \begin{macro}{fleqn}
+% FIXME: model fleqn after amsfonts. I no longer understand why I said this.
+% \file{fleqn.clo} is not a package, so it can simply be \cmd\input. 
+%    \begin{macrocode}
+\DeclareOption{fleqn}{%
+ \input{fleqn.clo}%
+}%
+%    \end{macrocode}
+% \end{macro}
+%
+% \subsubsection{floats/endfloats}%
+%
+% \begin{macro}{\floats at sw}
+% \begin{macro}{\floatp at sw}
+% \changes{4.1b}{2008/07/01}{(AO) make settings at class time instead of deferring them to later.}
+% The Boolean \cmd\floats at sw\ signifies that floats are to be floated;
+% if false, that floats are to be deferred to the end of the document.
+% By default, the former.
+% Note that the state of this Boolean is to be changed by 
+% the document class in response to user-selected options.
+% 
+% This boolean and the assignment of its default value is done by
+% the \classname{ltxutil} package.
+%
+% The Boolean \cmd\floatp at sw\ signifies that endfloats are to be set one per page;
+% if false, that endfloats are to be set with multiple floats per page permitted.
+% By default, the latter.
+% Note that the state of this Boolean is to be changed by 
+% the document class in response to user-selected options.
+% The default is established here.
+%
+% These options control, via the Boolean \cmd\floats at sw, 
+% whether floats are to be migrated to the end of the document.
+%    \begin{macrocode}
+\DeclareOption{floats}{\@booleantrue\floats at sw\@booleanfalse\floatp at sw}
+\DeclareOption{endfloats}{\@booleanfalse\floats at sw\@booleanfalse\floatp at sw}
+\DeclareOption{endfloats*}{\@booleanfalse\floats at sw\@booleantrue\floatp at sw}
+\@booleantrue\floats at sw
+\@booleantrue\floatp at sw
+%    \end{macrocode}
+% \end{macro}
+% \end{macro}
+%
+% \subsubsection{titlepage/notitlepage}%
+% These options control, via \cmd\titlepage at sw, 
+% whether the title block is to be set on a separate page.
+%
+% \begin{macro}{\titlepage at sw}
+% \changes{4.1b}{2008/07/01}{(AO) make settings at class time instead of deferring them to later.}
+% The flag \cmd\titlepage at sw\ signifies that a forced 
+% page break is to follow the title page: the article
+% title appears on a page by itself.
+%
+%    \begin{macrocode}
+\DeclareOption{titlepage}{\@booleantrue\titlepage at sw}
+\DeclareOption{notitlepage}{\@booleanfalse\titlepage at sw}
+\@booleanfalse\titlepage at sw
+%    \end{macrocode}
+% \end{macro}
+%
+% \subsubsection{Substyle and Sub-substyle}%
+%
+% \begin{macro}{\change at society}
+% \begin{macro}{\change at journal}
+% \changes{4.1b}{2008/07/01}{(AO) Provide more diagnostics when \cs{@society} is assigned.}
+% If the society or, resp., journal has already been assigned,
+% notify user whether it is being overridden. 
+% 
+%    \begin{macrocode}
+\def\change at society#1{%
+ \def\@tempa{#1}%
+ \@ifxundefined\@society{%
+  \class at info{Selecting society \@tempa}%
+  \let\@society\@tempa
+ }{%
+  \@ifx{\@tempa\@society}{}{%
+   \class at warn{Conflicting society \@tempa<>\@society; not selected}%
+  }%
+ }%
+}%
+\def\change at journal#1{%
+ \def\@tempa{#1}%
+ \@ifxundefined\@journal{%
+  \class at info{Selecting journal \@tempa}%
+  \let\@journal\@tempa
+ }{%
+  \@ifx{\@tempa\@journal}{}{%
+   \class at warn{Conflicting journal \@tempa<>\@journal; not selected}%
+  }%
+ }%
+}%
+%    \end{macrocode}
+% \end{macro}
+% \end{macro}
+%
+% Here had been the class options relating to the APS.
+% Now that all societies are on an equal footing, this code is in the
+% respective \file{.rtx} file.
+%    \begin{macrocode}
+%    \end{macrocode}
+%
+% \subsubsection{Optical Society of America}%
+% Here are the class options relating to the Optical Society of America.
+%
+% Note: as of 2008, the only OSA module being distributed by ctan is \file{osajnl.rtx}.
+% The class options declared here are, I think, unused.
+%    \begin{macrocode}
+\DeclareOption{osa}{\change at society{osa}\let\@journal\@undefined}%
+\DeclareOption{osameet}{\change at society{osa}\def\@journal{osameet}}%
+\DeclareOption{opex}{\change at society{osa}\def\@journal{opex}}%
+\DeclareOption{tops}{\change at society{osa}\def\@journal{tops}}%
+\DeclareOption{josa}{\change at society{osa}\def\@journal{josa}}%
+%    \end{macrocode}
+%
+% \begin{macro}{\rtx at require@packages}
+% \changes{4.1b}{2008/07/01}{Read in all required packages together}
+% The procedure \cmd\rtx at require@packages\ accumulates all \cmd\RequirePackage\ statements
+% in the course of loading the document class. 
+% Carrying out these operations at that time is needed:
+% \cmd\ProcessOptions\ must be executed first. 
+%    \begin{macrocode}
+\let\rtx at require@packages\@empty
+%    \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\MakeUppercase}
+% \begin{macro}{\MakeLowercase}
+% \changes{4.1b}{2008/07/01}{Package textcase is now simply a required package}
+% \changes{4.1b}{2008/07/01}{Read in all required packages together}
+% \changes{4.1g}{2009/10/07}{(AO, 538) \cs{MakeTextUppercase} inappropriately expands the double backslash}
+% We load the \classname{textcase} package of David Carlisle.
+% Now that its bug of long standing has been repaired, we no longer need to doctor it up. 
+% And, because its loading has been deferred until \cmd\rtx at require@packages\ time, 
+% we no longer override \LaTeX\ here. Instead, the \classname{textcase} package
+% will be asked to do that. 
+%    \begin{macrocode}
+\appdef\rtx at require@packages{%
+ \RequirePackage[overload]{textcase}%
+}%
+%    \end{macrocode}
+% The following code used to
+% let the \classname{textcase} commands override those of \LaTeX:
+%    \begin{verbatim}
+%\appdef\setup at hook{%
+% \expandafter
+% \let\csname MakeUppercase \expandafter\endcsname
+%    \csname MakeTextUppercase \endcsname
+% \expandafter
+% \let\csname MakeLowercase \expandafter\endcsname
+%    \csname MakeTextLowercase \endcsname
+% }%
+%    \end{verbatim}
+% \end{macro}
+% \end{macro}
+%
+% \begin{macro}{amsfonts}
+% \changes{4.1b}{2008/07/01}{Read in all required packages together}
+% The class option \classoption{amsfonts} has the
+% same effect as if the document preamble contained
+% a \cmd\usepackage\verb${amsfonts}$ statement.
+%    \begin{macrocode}
+\DeclareOption{amsfonts}{%
+  \def\class at amsfonts{\RequirePackage{amsfonts}}%
+}%
+\DeclareOption{noamsfonts}{%
+  \let\class at amsfonts\@empty
+}%
+\appdef\rtx at require@packages{%
+ \@ifxundefined\class at amsfonts{}{\class at amsfonts}%
+}%
+%    \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{amssymb}
+% \changes{4.1b}{2008/07/01}{Read in all required packages together}
+% The class option \classoption{amssymb} has the
+% same effect as if the document preamble contained
+% a \cmd\usepackage\verb${amssymb}$ statement.
+%    \begin{macrocode}
+\DeclareOption{amssymb}{%
+  \def\class at amssymb{\RequirePackage{amssymb}}%
+}%
+\DeclareOption{noamssymb}{%
+  \let\class at amssymb\@empty
+}%
+\appdef\rtx at require@packages{%
+ \@ifxundefined\class at amssymb{}{\class at amssymb}%
+}%
+%    \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{amsmath}
+% \changes{4.1b}{2008/07/01}{Read in all required packages together}
+% The class option \classoption{amsmath} has the
+% same effect as if the document preamble contained
+% a \cmd\usepackage\verb${amsmath}$ statement.
+%
+% We require version 1.2 (datestamped 1997/03/20) or later.
+% The \expandafter\cmd\csname ver at amsmath.sty\endcsname, will 
+% 
+% \LaTeX\ note:
+% Certain \LaTeX\ procedures have an arbitrary and pointless restriction that they may be used only within the preamble.
+% We get around this by preserving the procedures in private \cmd\csname s.
+%
+% FIXME note: it is difficult to ensure that an error summary will be printed on the console at the very end,
+% but \classname{ltxgrid} allows accomplishing this via an interrupt, put down at \cmd\AtEndDocument\ time.
+%
+%    \begin{macrocode}
+\DeclareOption{amsmath}{%
+  \def\class at amsmath{\RequirePackage{amsmath}[\ver at amsmath@prefer]}%
+}%
+\DeclareOption{noamsmath}{%
+  \let\class at amsmath\@empty
+}%
+\appdef\rtx at require@packages{%
+ \preserve at LaTeX
+ \@ifxundefined\class at amsmath{}{\class at amsmath}%
+ \appdef\class at enddocumenthook{\test at amsmath@ver}%
+}%
+\appdef\preserve at LaTeX{%
+ \let\@ifl at aded@LaTeX\@ifl at aded
+ \let\@ifpackageloaded at LaTeX\@ifpackageloaded
+ \let\@pkgextension at LaTeX\@pkgextension
+ \let\@ifpackagelater at LaTeX\@ifpackagelater
+ \let\@ifl at ter@LaTeX\@ifl at ter
+ \let\@ifl at t@r at LaTeX\@ifl at t@r
+ \let\@parse at version@LaTeX\@parse at version
+}%
+\appdef\restore at LaTeX{%
+ \let\@ifl at aded\@ifl at aded@LaTeX
+ \let\@ifpackageloaded\@ifpackageloaded at LaTeX
+ \let\@pkgextension\@pkgextension at LaTeX
+ \let\@ifpackagelater\@ifpackagelater at LaTeX
+ \let\@ifl at ter\@ifl at ter@LaTeX
+ \let\@ifl at t@r\@ifl at t@r at LaTeX
+ \let\@parse at version\@parse at version@LaTeX
+}%
+\def\test at amsmath@ver{%
+ \begingroup
+  \restore at LaTeX
+  \@ifpackageloaded{amsmath}{%
+   \@ifpackagelater{amsmath}{\ver at amsmath@prefer}{}{%
+     \class at warn{%
+      You have loaded amsmath, version "\csname ver at amsmath.sty\endcsname",\MessageBreak
+      but this class requires version "\ver at amsmath@prefer", or later.\MessageBreak
+      Please update your LaTeX installation.
+     }%
+   }%
+  }{%
+  }%
+ \endgroup
+}%
+\def\ver at amsmath@prefer{2000/01/15 v2.05 AMS math features}%
+%    \end{macrocode}
+% \end{macro}
+%
+% \subsubsection{Presenting Authors and Their Affiliations}%
+% \changes{4.1b}{2008/07/01}{Code relating to new syntax for frontmatter has been placed in \file{ltxfront.dtx}}
+% Class options for presenting authors and their affiliations are now defined in 
+% \file{ltxfront.dtx}.
+%
+%    \begin{macrocode}
+%    \end{macrocode}
+%
+% \subsubsection{Typeset by \revtex}%
+%
+% \begin{macro}{\byrevtex at sw}
+% \changes{4.1b}{2008/07/01}{(AO) make settings at class time instead of deferring them to later.}
+% The flag \cmd\byrevtex at sw\ signifies that the document should
+% bear an imprint to the effect that it was formatted by this document class.
+%
+% The class option \classoption{byrevtex} signifies that you want the 
+% ``Typeset by \revtex'' byline to appear on your formatted output.
+% By default, no such byline appears.
+%    \begin{macrocode}
+\DeclareOption{byrevtex}{\@booleantrue\byrevtex at sw}%
+\@booleanfalse\byrevtex at sw
+%    \end{macrocode}
+% \end{macro}
+%
+% \subsection{Attempt to fix float placement failure}%
+% 
+% \begin{macro}{\force at deferlist@sw}
+% \changes{4.1b}{2008/07/01}{(AO) make settings at class time instead of deferring them to later.}
+% \revtex\ uses the \classname{ltxgrid} package, which provides the ability to attempt repairs when 
+% \LaTeX's float placement mechanism is about to fail, but that facility is turned off by default.
+% Users should invoke the \classoption{floatfix} document class option to enable this \LaTeX\ extension.
+% If not, a helpful message is printed in the log, indicating how to work around the difficulty.
+%    \begin{macrocode}
+\DeclareOption{floatfix}{\@booleantrue\force at deferlist@sw}%
+\DeclareOption{nofloatfix}{\@booleanfalse\force at deferlist@sw}%
+\@booleanfalse\force at deferlist@sw
+%    \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\@fltovf}
+% \begin{macro}{\@fltstk}
+%  The \LaTeX\ kernel error message \cmd\@fltovf\ may now be a bit more helpful to the user;
+%  likewise for the \cmd\@fltstk\ message of \classname{ltxgrid}.
+%    \begin{macrocode}
+\gdef\@fltovf{%
+ \@latex at error{%
+  Too many unprocessed floats%
+  \force at deferlist@sw{}{; try class option [floatfix]}%
+ }\@ehb
+}%
+\def\@fltstk{%
+ \@latex at warning{%
+  A float is stuck (cannot be placed)%
+  \force at deferlist@sw{}{; try class option [floatfix]}%
+ }%
+}%
+%    \end{macrocode}
+% \end{macro}
+% \end{macro}
+%
+% \begin{macro}{\ltxgrid at info@sw}
+% \begin{macro}{\outputdebug at sw}
+% The two options \classoption{ltxgridinfo} and \classoption{outputdebug} turn on informative diagnostics within the 
+% package \classname{ltxgrid}. Only people who really want to see this output will select these class options.
+% Consult documentation for the \classname{ltxgrid} package to see what output the related switches enable.
+%    \begin{macrocode}
+\DeclareOption{ltxgridinfo}{%
+ \@booleantrue\ltxgrid at info@sw
+%\@booleantrue\ltxgrid at foot@info at sw
+}%
+\DeclareOption{outputdebug}{%
+ \@booleantrue\outputdebug at sw
+ \@booleantrue\ltxgrid at info@sw
+ \@booleantrue\ltxgrid at foot@info at sw
+ \traceoutput
+}%
+%    \end{macrocode}
+% \end{macro}
+% \end{macro}
+%
+% \subsection{Option to relax page height}%
+% 
+% \begin{macro}{\textheight at sw}
+% The \classname{ltxgrid} package can set text pages to their natural height or force them to the full 
+% text height; the latter is the default.
+% If setting the pages with a variable length,
+% the running foot will move up or down with the natural length of the text column.
+% While I recommend against doing so, this option will turn that switch to the latter setting.
+%    \begin{macrocode}
+\DeclareOption{raggedfooter}{\@booleanfalse\textheight at sw}%
+\DeclareOption{noraggedfooter}{\@booleantrue\textheight at sw}%
+%    \end{macrocode}
+% \end{macro}
+%
+% \subsection{Selecting procedure for processing abstract}%
+% \changes{4.1b}{2008/07/01}{Remove options newabstract and oldabstract}
+% Code defining options \classoption{newabstract} and \classoption{oldabstract} has been removed.
+%
+% \subsection{Option to turn on diagnostics in the frontmatter}%
+% 
+% \begin{macro}{\frontmatterverbose at sw}
+% \changes{4.1b}{2008/07/01}{Code relating to new syntax for frontmatter has been placed in \file{ltxfront.dtx}}
+% A diagnostic option, not for the average enduser, which reveals 
+% the workings of the frontmatter.
+% This code interfaces to that of \file{ltxfront.dtx}.
+%    \begin{macrocode}
+\DeclareOption{frontmatterverbose}{\@booleantrue\frontmatterverbose at sw}%
+\@booleanfalse\frontmatterverbose at sw
+%    \end{macrocode}
+% \end{macro}
+% 
+% \begin{macro}{\linenumbers at sw}
+% \changes{4.1f}{2009/07/07}{(AO, 513) Add class option linenumbers: number the lines a la \classname{lineno}}
+% \changes{4.1n}{2009/12/13}{(AO, 573) arrange to load \classname{lineno} after any other packages.}%
+% An option to number the lines of type in the output in the manner of \classname{lineno}.
+%
+% At present, we use that very package to implement this functionality.
+% This means that users may modify the workings of that package per its documentation (which see).
+%
+% However, compatibility with \classname{amsmath} requires that \classname{lineno} be loaded afterwards.
+% Therefore, we defer loading of this package until after the preamble is completed. 
+%    \begin{macrocode}
+\DeclareOption{linenumbers}{%
+ \appdef
+ \class at documenthook{%
+  \RequirePackage{lineno}[2005/11/02 v4.41]%
+  \linenumbersep4pt\relax
+  \linenumbers\relax
+ }%
+}%
+%    \end{macrocode}
+% By default, line numbering is off. 
+% \end{macro}
+% 
+% \begin{macro}{\NAT at merge}
+% \changes{4.1f}{2009/07/15}{(AO, 523) Add class option nomerge, to turn off new natbib 8.3 syntax}
+% Add class option nomerge, to turn off natbib 8.3 syntax for citation key. 
+% The default value of REVTeX 4.1 for \cmd\NAT at merge is \cmd\thr@@, which turns on  
+% the new syntax along with its semantics. 
+% Legacy documents that would be incompatible with the new syntax can be successfully processed 
+% with class option \classoption{nomerge}.
+%    \begin{macrocode}
+\DeclareOption{nomerge}{%
+ \appdef\setup at hook{%
+  \@ifnum{\NAT at merge>\z@}{\let\NAT at merge\z@}{}%
+ }%
+}%
+%    \end{macrocode}
+% \end{macro}
+%
+% \subsection{Default Option, Society, Journal, and pointsize}%
+%
+% \changes{4.1a}{2008/01/18}{(AO, 488) Change processing of options to allow an unused option to specify society and journal}%
+% This change will not break OSA documents because that society is still built in to revtex4.
+%
+% \begin{macro}{\@parse at class@options at society}
+% \begin{macro}{\@parse at class@options@}
+% \changes{4.1b}{2008/07/01}{Procedures \cs{@parse at class@options at society} and \cs{@parse at class@options at journal} and friends}
+% The procedure \cmd\@parse at class@options at society\ parses the options passed to this document class 
+% for the \cmd\@society. 
+% It is like \cmd\ProcessOptions*\ in that it accesses
+% \cmd\@ptionlist\{\cmd\@currname.\cmd\@currext\}.
+% Any undefined option is considered: if there is a corresponding \file{.rtx} file,
+% it will change the society accordingly
+% and define a placeholder class option for the society thus found
+% (thus preventing a spurious "option not found" message). 
+% 
+% The procedure \cmd\@parse at class@options@\ parses the document's options
+% for any that set the \cmd\csname\ provided. 
+%    \begin{macrocode}
+\def\@parse at class@options at society{%
+ \edef\@tempa{\@ptionlist{\@currname.\@currext}}%
+ \expandafter\@for\expandafter\CurrentOption\expandafter:\expandafter=\@tempa\do{%
+  \expandafter\@ifnotrelax\csname ds@\CurrentOption\endcsname{}{%
+   \IfFileExists{\CurrentOption\substyle at post.\substyle at ext}{%
+    \expandafter\change at society\expandafter{\CurrentOption}%
+    \expandafter\let\csname ds@\CurrentOption\endcsname\@empty
+   }{}%
+  }%
+ }%
+}%
+\def\@parse at class@options@#1{%
+ \edef\@tempa{\@ptionlist{\@currname.\@currext}}%
+ \expandafter\@for\expandafter\CurrentOption\expandafter:\expandafter=\@tempa\do{%
+  \expandafter\@ifnotrelax\csname ds@\CurrentOption\endcsname{%
+   \begingroup\csname ds@\CurrentOption\endcsname
+    \@ifxundefined#1{%
+     \endgroup
+    }{%
+     \expandafter\endgroup\expandafter\def\expandafter#1\expandafter{#1}%
+    }%
+  }{}%
+ }%
+}%
+\def\@parse at class@options at journal{%
+ \edef\@tempa{\@ptionlist{\@currname.\@currext}}%
+ \expandafter\@for\expandafter\CurrentOption\expandafter:\expandafter=\@tempa\do{%
+  \expandafter\@ifnotrelax\csname ds@\CurrentOption\endcsname{%
+   \begingroup
+    \csname ds@\CurrentOption\endcsname
+    \@ifxundefined\@journal{%
+     \endgroup
+    }{%
+     \expandafter\endgroup\expandafter\def\expandafter\@journal\expandafter{\@journal}%
+    }%
+  }{}%
+ }%
+}%
+\def\@parse at class@options{%
+ \edef\@tempa{\@ptionlist{\@currname.\@currext}}%
+ \expandafter\@for\expandafter\CurrentOption\expandafter:\expandafter=\@tempa\do{%
+  \expandafter\@ifnotrelax\csname ds@\CurrentOption\endcsname{%
+   \begingroup
+    \csname ds@\CurrentOption\endcsname
+    \@ifxundefined\@pointsize{%
+     \endgroup
+    }{%
+     \expandafter\endgroup\expandafter\def\expandafter\@pointsize\expandafter{\@pointsize}%
+    }%
+  }{%
+   \IfFileExists{\CurrentOption\substyle at post.\substyle at ext}{%
+    \expandafter\change at society\expandafter{\CurrentOption}%
+    \expandafter\let\csname ds@\CurrentOption\endcsname\@empty
+   }{}%
+  }%
+ }%
+}%
+%    \end{macrocode}
+% \end{macro}
+% \end{macro}
+%
+% \changes{4.1j}{2009/10/25}{(AO, 545) hypertext capabilities off by default; enable with \classoption{hypertext}}
+% The class option \classoption{hypertext} enables the built-in hypertext capabilities,
+% which coincide with those of \classname{custom-bib}-generated BIBTeX styles
+% using the guard code \texttt{hypertext}. 
+%
+% Note that APS has these capabilities turned off by default;
+% Loading the hyperref package turns them on.
+%    \begin{macrocode}
+\DeclareOption{hypertext}{\hypertext at enable@ltx}%
+\appdef\document at inithook{\@ifpackageloaded{hyperref}{\hypertext at enable@ltx}{}}%
+%    \end{macrocode}
+%
+% The default handling for a document class option depends upon whether the \cmd\@society\ is 
+% defined. 
+%
+% If not, then hunt for a \file{.rtx} file with that name.
+% If it exists, then we will take this option as the name of the society, 
+% otherwise, declare the option as not used.
+% 
+% (This behavior is similar to the \LaTeX2.09 handling, where
+% one looked for a \file{.sty} file, except that 
+% in this case, we must provide for journal substyles that may be 
+% defined in the society file, or have their own journal substyle file.)
+%
+% At the point where the class file is finished loading, 
+% we then read in the society file. 
+% That file can define further class options, such as the journal substyle.
+%
+% For users, this will mean that they can specify the society and journal simply 
+% by specifying first the former and then the latter among their document class options.
+% The society \emph{must} have a corresponding \file{.rtx}.
+%
+% \changes{4.1b}{2008/05/29}{The csname substyle at ext is now defined without a dot (.), to be compatible with \LaTeX usage (see @clsextension and @pkgextension).}
+%
+%    \begin{macrocode}
+%</options>
+%    \end{macrocode}
+%
+%    \begin{macrocode}
+%<*package>
+%    \end{macrocode}
+%
+% \begin{macro}{\@process at society}
+% \begin{macro}{\@process at journal}
+% \begin{macro}{\@process at pointsize}
+%    \begin{macrocode}
+\def\substyle at post{4-1}%
+\def\substyle at ext{rtx}%
+\DeclareOption*{\OptionNotUsed}%
+%    \end{macrocode}
+% A society substyle may define its own options, via \cmd\DeclareOption. 
+%
+% At the end of this document class, we process the society file,
+% using \file{aps.rtx} if none has been specified in the document.
+%    \begin{macrocode}
+\def\@process at society#1{%
+ \@ifxundefined\@society{%
+  \class at warn{No Society specified, using default society #1}%
+  \def\@society{#1}\let\@journal\@undefined
+ }{}%
+ \expandafter\input\expandafter{\@society\substyle at post.\substyle at ext}%
+}%
+%    \end{macrocode}
+%
+% A society substyle can encompass any number of journal substyles;
+% we use the following procedure to invoke the proper one.
+%    \begin{macrocode}
+\def\@process at journal#1{%
+ \@ifxundefined\@journal{%
+  \class at warn{No journal specified, using default #1}%
+  \def\@journal{#1}%
+ }{}%
+ \expandafter\expandafter
+ \expandafter\rtx at do@substyle
+ \expandafter\expandafter
+ \expandafter{\expandafter\@society\@journal}%
+}%
+\def\rtx at do@substyle#1{%
+ \InputIfFileExists{#1\substyle at post.\substyle at ext}{}{\csname rtx@#1\endcsname}%
+}%
+%    \end{macrocode}
+% 
+% Document class options \classoption{10pt}, \classoption{11pt}, and \classoption{12pt} 
+% are implemented by \revtex\ itself and determine \cmd\@pointsize. 
+% These provide formatting settings appropriate to the society's journals. 
+%
+% If not specified by the document, a value \cmd\@pointsize at default\ is used. 
+% This default can be set by the journal. Here, the society sets its default. 
+%    \begin{macrocode}
+\def\@process at pointsize#1{%
+ \@ifxundefined\@pointsize{%
+  \def\@pointsize{#1}%
+  \class at warn{No type size specified, using default \@pointsize}%
+ }{}%
+ \expandafter\expandafter
+ \expandafter\rtx at do@substyle
+ \expandafter\expandafter
+ \expandafter{\expandafter\@society\@pointsize pt}%
+}%
+%    \end{macrocode}
+% \end{macro}
+% \end{macro}
+% \end{macro}
+%
+% \subsection{Class-Asserted Options}%
+% \changes{4.0b}{1999/06/20}{Removed invocation of nonexistent class option \protect\classoption{groupauthors} and all other class options that should only be invoked by the document. (Otherwise precedence of class options does not work.)}
+% Here we establish the default document class options.
+% Those of the document itself will override these.
+%
+% \section{Procedures Dependent Upon Options}
+%
+% Here we introduce \classname{classes.dtx} definitions for 
+% the page styles that people will expect to be able to use.
+% \begin{macro}{\ps at headings}
+% \begin{macro}{\ps at myheadings}
+%    \begin{macrocode}
+  \def\ps at headings{%
+      \let\@oddfoot\@empty\let\@evenfoot\@empty
+      \def\@evenhead{\thepage\hfil\slshape\leftmark}%
+      \def\@oddhead{{\slshape\rightmark}\hfil\thepage}%
+      \let\@mkboth\markboth
+    \def\sectionmark##1{%
+      \markboth {\MakeUppercase{%
+        \ifnum \c at secnumdepth >\z@
+          \thesection\quad
+        \fi
+        ##1}}{}}%
+    \def\subsectionmark##1{%
+      \markright {%
+        \ifnum \c at secnumdepth >\@ne
+          \thesubsection\quad
+        \fi
+        ##1}}}%
+\def\ps at myheadings{%
+    \let\@oddfoot\@empty\let\@evenfoot\@empty
+    \def\@evenhead{\thepage\hfil\slshape\leftmark}%
+    \def\@oddhead{{\slshape\rightmark}\hfil\thepage}%
+    \let\@mkboth\@gobbletwo
+    \let\sectionmark\@gobble
+    \let\subsectionmark\@gobble
+    }%
+%    \end{macrocode}
+% \end{macro}
+% \end{macro}
+%
+% \begin{macro}{\ps at article}
+% \begin{macro}{\ps at article@final}
+% \begin{macro}{\ps at preprint}
+% \changes{4.0a}{1998/01/31}{Move after process options, so the following test works}
+% \changes{4.0b}{1999/06/20}{Defer decision until \cs{AtBeginDocument} time}
+% \changes{4.0c}{1999/11/13}{Insert procedure \cs{checkindate}}
+% \changes{4.0rc1}{2001/06/17}{Running headers always as if two-sided}
+%    \begin{macrocode}
+\def\ps at article{%
+    \def\@evenhead{\let\\\heading at cr\thepage\quad\checkindate\hfil{\leftmark}}%
+    \def\@oddhead{\let\\\heading at cr{\rightmark}\hfil\checkindate\quad\thepage}%
+    \def\@oddfoot{}%
+    \def\@evenfoot{}%
+    \let\@mkboth\markboth
+  \let\sectionmark\@gobble
+  \let\subsectionmark\@gobble
+}%
+\def\ps at article@final{%
+    \def\@evenhead{\let\\\heading at cr\thepage\quad\checkindate\hfil{\leftmark}}%
+    \def\@oddhead{\let\\\heading at cr{\rightmark}\hfil\checkindate\quad\thepage}%
+    \def\@oddfoot{}%
+    \def\@evenfoot{}%
+    \let\@mkboth\markboth
+    \def\sectionmark##1{%
+      \markboth{%
+       \MakeTextUppercase{%
+        \@ifnum{\c at secnumdepth >\z@}{\thesection\hskip 1em\relax}{}%
+         ##1%
+       }%
+       }{}%
+    }%
+    \def\subsectionmark##1{%
+      \markright {%
+        \@ifnum{\c at secnumdepth >\@ne}{\thesubsection\hskip 1em\relax}{}%
+         ##1%
+      }%
+    }%
+}%
+%    \end{macrocode}
+%
+%    \begin{macrocode}
+\def\heading at cr{\unskip\space\ignorespaces}%
+%    \end{macrocode}
+%
+% \changes{4.0c}{1999/11/13}{Do not put by REVTeX in every page foot}
+% \changes{4.0c}{1999/11/13}{Insert procedure \cs{checkindate}}
+%    \begin{macrocode}
+\def\ps at preprint{%
+  \def\@oddfoot{\hfil\thepage\quad\checkindate\hfil}%
+  \def\@evenfoot{\hfil\thepage\quad\checkindate\hfil}%
+  \def\@oddhead{}%
+  \def\@evenhead{}%
+  \let\@mkboth\@gobbletwo
+  \let\sectionmark\@gobble
+  \let\subsectionmark\@gobble
+}%
+%    \end{macrocode}
+%
+%    \begin{macrocode}
+\let\@oddhead\@empty
+\let\@evenhead\@empty
+\let\@oddfoot\@empty
+\let\@evenfoot\@empty
+%    \end{macrocode}
+% \end{macro}
+% \end{macro}
+% \end{macro}
+%
+% \begin{macro}{\lastpage at putlabel}
+% Support the default meaning of \cmd\@endpage.
+% \changes{4.0a}{1998/01/31}{Move after process options, so \cs{clearpage} not in scope of twocolumn}
+% \changes{4.1k}{2009/11/06}{(AO, 554) give the \cs{newlabel} command syntax appropriate to the hyperref package}
+% Name of this macro (and the \cmd\label\ key) taken from 
+% \url{CTAN:/macros/latex/contrib/other/lastpage}%
+% with code optimised slightly.
+%    \begin{macrocode}
+\def\lastpage at putlabel{%
+ \if at filesw
+  \begingroup
+    \advance\c at page\m at ne
+    \immediate\write\@auxout{\string\newlabel{LastPage}{{}{\thepage}{}{}{}}}%
+  \endgroup
+ \fi
+}%
+%    \end{macrocode}
+% Install a procedure into document endgame processing that 
+% labels the last page of the document.
+% This is done just before the \file{.aux} file
+% is closed, and does not require a \cmd\shipout, because it writes
+% directly to the \file{.aux} file.
+% Note that we assume no further \cmd\shipout s will be done past this point.
+% \changes{4.1n}{2009/12/09}{(AO, 569) execute the after-last-shipout procedures from within the safety of the output routine}%
+%    \begin{macrocode}
+\appdef\clear at document{%
+ \do at output@cclv{%
+  \lastpage at putlabel
+  \tally at box@size at sw{\total at text}{}%
+ }%
+}%
+\providecommand\write at column@totals{}%
+%    \end{macrocode}
+% \end{macro}
+%
+%
+% \section{Required Packages}
+% \url{CTAN:macros/latex/contrib/other/misc/url.sty}%
+%    \begin{macrocode}
+\appdef\rtx at require@packages{%
+ \RequirePackage{url}%
+}%
+%    \end{macrocode}
+%
+% \section{Incompatible Packages}
+%
+% We wait until after the preamble is processed, then check for any packages 
+% that might have been loaded which we know to be incompatible with \revtex.
+%
+% The \classname{multicol} package is incompatible with \classname{ltxgrid}, which replaces it.
+% The \classname{cite} package is incompatible with \classname{natbib}, which replaces its functionality.
+% The functionality of the \classname{mcite} package is provided by \classname{natbib}. 
+%    \begin{macrocode}
+\appdef\document at inithook{%
+ \incompatible at package{cite}%
+ \incompatible at package{mcite}%
+ \incompatible at package{multicol}%
+}%
+%    \end{macrocode}
+%
+% \section{Society- and Journal-Specific Code}
+%
+% \begin{macro}{\@journal}
+% Journal test helper, used as
+% \begin{verbatim}
+%\@ifx{\@journal\journal at pra}{%
+%  <journal-specific setup>
+%\fi
+% \end{verbatim}
+% Journal code might like to further specify (if as yet undefined) or distinguish on
+% the following Booleans.
+%
+% Note: the journal substyle code should only alter the value of one of these Booleans if
+% the Boolean is \cmd\undefined. This convention is what makes the document's
+% options take precedence over the values set by the journal.
+% 
+% FIXME: make this table an exhaustive listing of all the parameters set by
+% the class options.
+%
+% \begin{tabular}{ll}
+% \cmd\@pointsize      &(10|11|12), depending on the type size\\
+% \cmd\footinbib at sw    &true if footnotes are to be formatted in the bibliography\\
+% \cmd\preprintsty at sw  &true for preprint and hyperpreprint\\
+% \cmd\eqsecnum at sw     &true means that equations are numbered within sections\\
+% \cmd\groupauthors at sw &true means authors listed separately for each address\\
+% \cmd\preprint at sw     &true means to produce the preprint numbers as part of the title block\\
+% \cmd\showPACS at sw     &true means to produce the PACS as part of the title block\\
+% \cmd\showKEYS at sw     &true means to produce the keywords as part of the title block\\
+% \cmd\@affils at sw      &true means each affiliation is printed, for each author\\
+% \cmd\runinaddress at sw &true means author addresses are printed run-in\\
+% \cmd\draft at sw        &true implies that PACS will be printed\\
+% \cmd\tightenlines at sw &true if preprint single spaced\\
+% \cmd\lengthcheck at sw  &true if length checking is in effect\\
+% \cmd\byrevtex at sw     &true means to announce ``typeset by \revtex''\\
+% \cmd\titlepage at sw    &true for title is to be set on a separate page\\
+% \cmd\twocolumn at sw    &true if two-column page grid\\
+% \cmd\twocolumn at sw    &true if we are to automatically balance the columns of the last page\\
+% \cmd\twoside at sw      &true means to format pages for duplex printing\\
+% \cmd\floats at sw       &false means floats are migrated to end of document\\
+% \cmd\floatp at sw       &true means endfloats are set one to a page\\
+% \cmd\class at amsfonts  &if \cmd\@empty, means that \classname{amsfonts} will \emph{not} be loaded\\
+% \cmd\class at amssymb   &if \cmd\@empty, means that \classname{amssymb} will \emph{not} be loaded\\
+% \cmd\frontmatter at footnote &if \cmd\undefined, means that the default (\cmd\footnote) will be used\\
+% \cmd\place at bibnumber &if \cmd\undefined, means that the default (inline) will be used\\
+% \end{tabular}
+%
+% Note: if \cmd\twocolumn at sw\ and \cmd\preprintsty at sw\ are both false,
+% then `galley' style is in effect. The \classoption{galley} option invokes
+% \classoption{onecolumn}, but does not affect the \cmd\preprintsty at sw.
+%
+% Note: \cmd\paperwidth\ and \cmd\paperheight\ are not integrated into this scheme,
+% and should be selected by the document alone.
+% \end{macro}
+%
+% \section{Body}
+%
+% \subsection{counters}
+% The following definitions are probably identical to those in 
+% \file{classes.dtx}%
+%    \begin{macrocode}
+\def\labelenumi{\theenumi.}
+\def\theenumi{\arabic{enumi}}
+%    \end{macrocode}
+%
+%    \begin{macrocode}
+\def\labelenumii{(\theenumii)}
+\def\theenumii{\alph{enumii}}
+\def\p at enumii{\theenumi}
+%    \end{macrocode}
+%
+%    \begin{macrocode}
+\def\labelenumiii{\theenumiii.}
+\def\theenumiii{\roman{enumiii}}
+\def\p at enumiii{\theenumi(\theenumii)}
+%    \end{macrocode}
+%
+%    \begin{macrocode}
+\def\labelenumiv{\theenumiv.}
+\def\theenumiv{\Alph{enumiv}}
+\def\p at enumiv{\p at enumiii\theenumiii}
+%    \end{macrocode}
+%
+%    \begin{macrocode}
+\def\labelitemi{\textbullet}
+\def\labelitemii{\normalfont\bfseries\textendash}
+\def\labelitemiii{\textasteriskcentered}
+\def\labelitemiv{\textperiodcentered}
+%    \end{macrocode}
+%
+%    \begin{macrocode}
+\pagenumbering{arabic}
+%    \end{macrocode}
+%
+% \subsection{float parameters}
+%
+% from the old aps.sty. (DPC: same as article I think)
+% AO: here, \LaTeX's standard classes fail very poorly
+% (the price of backward compatability): the values for
+% \cmd\floatpagefraction\ and \cmd\dblfloatpagefraction\
+% need to be raised to avoid creating extremely short
+% float pages.
+%    \begin{macrocode}
+\setcounter{topnumber}{2}
+\def\topfraction{.9}
+\setcounter{bottomnumber}{1}
+\def\bottomfraction{.9}
+\setcounter{totalnumber}{3}
+\def\textfraction{.1}
+\def\floatpagefraction{.9}
+\setcounter{dbltopnumber}{2}
+\def\dbltopfraction{.9}
+\def\dblfloatpagefraction{.9}
+%    \end{macrocode}
+%
+% \subsection{List Environments}
+%
+%    \begin{macrocode}
+\newenvironment{verse}{%
+  \let\\=\@centercr
+  \list{}{%
+    \itemsep\z@ \itemindent -1.5em\listparindent \itemindent
+    \rightmargin\leftmargin\advance\leftmargin 1.5em}\item[]%
+}{%
+ \endlist
+}%
+%    \end{macrocode}
+%
+%    \begin{macrocode}
+\newenvironment{quotation}{%
+  \list{}{%
+    \listparindent 1.5em
+    \itemindent\listparindent
+    \rightmargin\leftmargin \parsep \z@ \@plus\p@}\item[]%
+}{%
+ \endlist
+}%
+%    \end{macrocode}
+%
+%    \begin{macrocode}
+\newenvironment{quote}{%
+  \list{}{%
+  \rightmargin\leftmargin}\item[]%
+}{%
+ \endlist
+}%
+%    \end{macrocode}
+%
+% \changes{4.1b}{2008/06/30}{(AO) Structure the Abstract using the \texttt{bibliography} environment}
+%    \begin{macrocode}
+\def\descriptionlabel#1{%
+  \hspace\labelsep \normalfont\bfseries #1\unskip:%
+}%
+%    \end{macrocode}
+%
+%    \begin{macrocode}
+\newenvironment{description}{%
+ \list{}{%
+    \labelwidth\z@ \itemindent-\leftmargin
+    \let\makelabel\descriptionlabel
+ }%
+}{%
+ \endlist
+}%
+%    \end{macrocode}
+%
+% \subsection{Sectioning Commands\label{sec:secnumarabic}}
+%
+% \subsubsection{Sectioning Commands and Their Productions}%
+% The following counters are defined by LaTeX's standard document classes.
+% We do likewise, then assign flag values to the productions, awaiting
+% overrides.
+%    \begin{macrocode}
+\newcounter{part}%
+\let\thepart\@undefined
+\newcounter{section}%
+\let\thesection\@undefined
+\newcounter{subsection}[section]%
+\let\thesubsection\@undefined
+\newcounter{subsubsection}[subsection]%
+\let\thesubsubsection\@undefined
+\newcounter{paragraph}[subsubsection]%
+\let\theparagraph\@undefined
+\newcounter{subparagraph}[paragraph]%
+\let\thesubparagraph\@undefined
+%    \end{macrocode}
+% The procedure invoked by \cmd\setup at secnums\ provides meanings for these productions. 
+% 
+% \begin{macro}{\secnums at rtx}
+% \begin{macro}{\secnums at arabic}
+% These two procedures define the meanings of each of the productions
+% of the counters of the sectioning commands,
+% but only if nothing else has defined it.
+%    \begin{macrocode}
+\def\secnums at rtx{%
+ \@ifxundefined\thepart{%
+  \def\thepart{\Roman{part}}%
+ }{}%
+ \@ifxundefined\thesection{%
+  \def\thesection       {\Roman{section}}%
+  \def\p at section        {}%
+ }{}%
+ \@ifxundefined\thesubsection{%
+  \def\thesubsection    {\Alph{subsection}}%
+  \def\p at subsection     {\thesection\,}%
+ }{}%
+ \@ifxundefined\thesubsubsection{%
+  \def\thesubsubsection {\arabic{subsubsection}}%
+  \def\p at subsubsection  {\thesection\,\thesubsection\,}%
+ }{}%
+ \@ifxundefined\theparagraph{%
+  \def\theparagraph     {\alph{paragraph}}%
+  \def\p at paragraph      {\thesection\,\thesubsection\,\thesubsubsection\,}%
+ }{}%
+ \@ifxundefined\thesubparagraph{%
+  \def\thesubparagraph  {\arabic{subparagraph}}%
+  \def\p at subparagraph   {\thesection\,\thesubsection\,\thesubsubsection\,\theparagraph\,}%
+ }{}%
+}%
+\def\secnums at arabic{%
+ \@ifxundefined\thepart{%
+  \def\thepart          {\Roman{part}}%
+ }{}%
+ \@ifxundefined\thesection{%
+  \def\thesection       {\Roman{section}}%
+  \def\p at section        {}%
+ }{}%
+ \@ifxundefined\thesubsection{%
+  \def\thesubsection    {\thesection.\arabic{subsection}}%
+  \def\p at subsection     {}%
+ }{}%
+ \@ifxundefined\thesubsubsection{%
+  \def\thesubsubsection {\thesubsection.\arabic{subsubsection}}%
+  \def\p at subsubsection  {}%
+ }{}%
+ \@ifxundefined\theparagraph{%
+  \def\theparagraph     {\thesubsubsection.\arabic{paragraph}}%
+  \def\p at paragraph      {}%
+ }{}%
+ \@ifxundefined\thesubparagraph{%
+  \def\thesubparagraph  {\theparagraph.\arabic{subparagraph}}%
+  \def\p at subparagraph   {}%
+ }{}%
+}%
+%    \end{macrocode}
+% \end{macro}
+% \end{macro}
+%
+% \subsubsection{The Acknowledgments Environment}%
+% This user-level markup produces a head introducing 
+% the acknowledgments, and acts as a wrapper for the text.
+% In this implementation, it is an unnumbered section,
+% but appears within the toc.
+%
+% For compatiability's sake, we implement it under the alternative
+% spelling \env{acknowledgements}.
+% \changes{4.0c}{1999/11/13}{also spelled ``acknowledgements''.}
+% \changes{4.0d}{2000/05/18}{But alternative spelling is deprecated.}
+%    \begin{macrocode}
+\newenvironment{acknowledgments}{%
+ \acknowledgments at sw{%
+  \expandafter\section\expandafter*\expandafter{\acknowledgmentsname}%
+ }{%
+  \par
+  \phantomsection
+  \addcontentsline{toc}{section}{\protect\numberline{}\acknowledgmentsname}%
+ }%
+}{%
+ \par
+}%
+\@booleantrue\acknowledgments at sw
+\newenvironment{acknowledgements}{%
+ \replace at environment{acknowledgements}{acknowledgments}%
+}{%
+ \endacknowledgments
+}%
+%    \end{macrocode}
+%
+% \subsubsection{Part Opener}%
+% section setup copied verbatim from revtex3 aps/osa.
+% Does not explicitly depend on pointsize options.
+%    \begin{macrocode}
+\def\part{\par
+   \addvspace{4ex}%
+   \@afterindentfalse
+   \secdef\@part\@spart}%
+%    \end{macrocode}
+%
+%    \begin{macrocode}
+\def\@part[#1]#2{%
+ \@ifnum{\c at secnumdepth >\m at ne}{%
+        \refstepcounter{part}%
+        \addcontentsline{toc}{part}{\thepart\hspace{1em}#1}%
+ }{%
+      \addcontentsline{toc}{part}{#1}%
+ }%
+ \begingroup
+    \parindent \z@ \raggedright
+    \interlinepenalty\@M
+    \@ifnum{\c at secnumdepth >\m at ne}{%
+      \Large \bf \partname~\thepart%
+      \par\nobreak
+    }{}%
+    \huge \bf
+    #2%
+    \markboth{}{}\par
+ \endgroup
+   \nobreak
+   \vskip 3ex
+   \@afterheading
+}%
+%    \end{macrocode}
+%
+%    \begin{macrocode}
+\def\@spart#1{{\parindent \z@ \raggedright
+    \interlinepenalty\@M
+    \huge \bf
+    #1\par}
+    \nobreak
+    \vskip 3ex
+    \@afterheading}
+%    \end{macrocode}
+%
+% \subsubsection{Stacked Heads}%
+% Here are the class default definitions for sectioning commands.
+% A society or a journal substyle will likely override these definitions.
+%
+% In doing so, you can customize the formatting for a particular level by defining,
+% e.g., \cmd\@hangfrom at section\ or \cmd\@subsectioncntformat.
+%    \begin{macrocode}
+\def\section{%
+  \@startsection
+    {section}%
+    {1}%
+    {\z@}%
+    {0.8cm \@plus1ex \@minus .2ex}%
+    {0.5cm}%
+    {\normalfont\small\bfseries}%
+}%
+%    \end{macrocode}
+%
+%    \begin{macrocode}
+\def\subsection{%
+  \@startsection
+    {subsection}%
+    {2}%
+    {\z@}%
+    {.8cm \@plus1ex \@minus .2ex}%
+    {.5cm}%
+    {\normalfont\small\bfseries}%
+}%
+%    \end{macrocode}
+%
+%    \begin{macrocode}
+\def\subsubsection{%
+  \@startsection
+    {subsubsection}%
+    {3}%
+    {\z@}%
+    {.8cm \@plus1ex \@minus .2ex}%
+    {.5cm}%
+    {\normalfont\small\itshape}%
+}%
+%    \end{macrocode}
+%
+% \subsubsection{Runin Heads}%
+%    \begin{macrocode}
+\def\paragraph{%
+  \@startsection
+    {paragraph}%
+    {4}%
+    {\parindent}%
+    {\z@}%
+    {-1em}%
+    {\normalfont\normalsize\itshape}%
+}%
+%    \end{macrocode}
+%
+%    \begin{macrocode}
+\def\subparagraph{%
+  \@startsection
+    {subparagraph}%
+    {5}%
+    {\parindent}%
+    {3.25ex \@plus1ex \@minus .2ex}%
+    {-1em}%
+    {\normalfont\normalsize\bfseries}%
+}%
+%    \end{macrocode}
+%
+%
+% \subsection{Math}
+%
+% \begin{macro}{\theequation}
+% We change the production of the equation counter so that 
+% we can accomodate the \classoption{eqsecnum} option.
+%    \begin{macrocode}
+\def\theequation{%
+ \theequation at prefix\arabic{equation}%
+}%
+\def\theequation at prefix{}%
+%    \end{macrocode}
+% \end{macro}
+%
+%
+% \subsection{Type Size-Dependent Settings}
+%
+% \subsection{All Point Sizes}
+%    \begin{macrocode}
+\setcounter{secnumdepth}{4}
+%    \end{macrocode}
+%
+%    \begin{macrocode}
+\lineskip 1pt
+\normallineskip 1pt
+\def\baselinestretch{1}%
+%    \end{macrocode}
+%
+%    \begin{macrocode}
+\@lowpenalty   51
+\@medpenalty  151
+\@highpenalty 301
+%    \end{macrocode}
+%
+%    \begin{macrocode}
+\@beginparpenalty -\@lowpenalty
+\@endparpenalty   -\@lowpenalty
+\@itempenalty     -\@lowpenalty
+%    \end{macrocode}
+%
+%    \begin{macrocode}
+\arraycolsep 3pt
+\tabcolsep 2pt
+\arrayrulewidth .4pt
+\doublerulesep 2pt
+%    \end{macrocode}
+%
+%    \begin{macrocode}
+\skip\@mpfootins = 0pt
+%    \end{macrocode}
+%
+%    \begin{macrocode}
+\fboxsep  = 3.0pt
+\fboxrule = 0.4pt
+%    \end{macrocode}
+%
+% \subsection{Figures}
+% \changes{4.0b}{1999/06/20}{Processing delayed to \cs{AtBeginDocument} time}
+%
+% \begin{environment}{figure}
+% We define the \env{figure} environment.
+% Later, we will horse around with its meaning
+% in order to accomodate \cmd\floats at sw.
+%    \begin{macrocode}
+\newenvironment{figure}
+               {\@float{figure}}
+               {\end at float}
+\newenvironment{figure*}
+               {\@dblfloat{figure}}
+               {\end at dblfloat}
+%    \end{macrocode}
+% \end{environment}
+%
+%    \begin{macrocode}
+\def\listoffigures{\print at toc{lof}}%
+\def\l at figure{\@dottedtocline{1}{1.5em}{2.3em}}%
+%    \end{macrocode}
+%
+% \begin{macro}{\@makecaption}
+% If caption is one line long, to be centered; if lines turn, then set justified.
+%    \begin{macrocode}
+\newlength\abovecaptionskip
+\newlength\belowcaptionskip
+\setlength\abovecaptionskip{10\p@}
+\setlength\belowcaptionskip{2\p@}
+%    \end{macrocode}
+%
+% \changes{4.0b}{1999/06/20}{One-line caption sets flush left.}
+% \changes{4.0c}{1999/11/13}{Prevent an inner footnote from performing twice}
+% \changes{4.1a}{2008/01/18}{(AO, 460) ``Proper style is "FIG. 1. ..." (no colon)''}%
+% There is a hook \cmd\@caption at fignum@sep\ for determining 
+% the separator following the float number, e.g., ``Fig.1''.
+% Formerly, we had defined it to be ``: '', now the colon has been replace by a period (full stop). 
+%    \begin{macrocode}
+\long\def\@makecaption#1#2{%
+  \par
+% \nobreak
+  \vskip\abovecaptionskip
+  \begingroup
+   \small\rmfamily
+   \sbox\@tempboxa{%
+    \let\\\heading at cr
+    \@make at capt@title{#1}{#2}%
+   }%
+   \@ifdim{\wd\@tempboxa >\hsize}{%
+    \begingroup
+     \samepage
+     \flushing
+     \let\footnote\@footnotemark at gobble
+     \@make at capt@title{#1}{#2}\par
+    \endgroup
+   }{%
+     \global \@minipagefalse
+     \hb at xt@\hsize{\hfil\unhbox\@tempboxa\hfil}%
+   }%
+  \endgroup
+  \vskip\belowcaptionskip
+}%
+\def\@make at capt@title#1#2{%
+ \@ifx at empty\float at link{\@firstofone}{\expandafter\href\expandafter{\float at link}}%
+  {#1}\@caption at fignum@sep#2%
+}%
+\def\@footnotemark at gobble{%
+ \@footnotemark
+ \@ifnextchar[{\@gobble at opt@i}{\@gobble}%
+}%
+\def\@gobble at opt@i[#1]#2{}%
+\def\@mpmakefntext#1{%
+ \flushing
+ \parindent=1em
+ \noindent
+ \hb at xt@1em{\hss\@makefnmark}%
+ #1%
+}%
+\def\@caption at fignum@sep{. }%
+\def\setfloatlink{\def\float at link}%
+\let\float at link\@empty
+%    \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\thefigure}
+% The figure counter and float placement defaults.
+%    \begin{macrocode}
+\newcounter{figure}
+\renewcommand \thefigure {\@arabic\c at figure}
+%    \end{macrocode}
+% Note that we give the `!' modifier by default.
+% This is an effort to avoid the syndrome wherein
+% a deferred float finds itself unqualified for 
+% placement, thereby getting carried until \cmd\clearpage.
+%    \begin{macrocode}
+\def\fps at figure{tbp}
+\def\ftype at figure{1}
+\def\ext at figure{lof}
+\def\fnum at figure{\figurename~\thefigure}
+%    \end{macrocode}
+% We allocate a box register for use in tallying the column inches of floats of this type.
+%    \begin{macrocode}
+\expandafter\newbox\csname fbox@\ftype at figure\endcsname
+\expandafter\setbox\csname fbox@\ftype at figure\endcsname\hbox{}%
+%    \end{macrocode}
+% \end{macro}
+%
+% \subsubsection{Deferring \env{figure} Floats}%
+%
+% We determine if figures are to float or be deferred until \cmd\printfigures\ time. 
+% If so, we open the stream that will receive the deferred document portions. 
+%    \begin{macrocode}
+\appdef\class at documenthook{%
+ \do at if@floats{figure}{.fgx}%
+}%
+\appdef\class at enddocumenthook{%
+ \printfigures\relax
+}%
+%    \end{macrocode}
+% 
+% \begin{macro}{\printfigures}
+% The user-level command \cmd\printfigures\ determines
+% where the figures are to appear in a document in which
+% \cmd\floats at sw\ is false.
+% If the user invokes the \classoption{endfloats} class option and fails to
+% insert a \cmd\printfigures\ command, 
+% the figures will be printed at the end of the document.
+% If the command is given, but floats are not being deferred, 
+% it amounts to a no-op.
+% \changes{4.0b}{1999/06/20}{call \cs{print at floats}}
+% \changes{4.0c}{1999/11/13}{*-form mandates pagebreak}
+%    \begin{macrocode}
+\newcommand\printfigures{%
+ \@ifstar{\true at sw}{\floatp at sw{\true at sw}{\false at sw}}%
+ {%
+  \print at float{figure}{\oneapage}%
+ }{%
+  \print at float{figure}{}%
+ }%
+}%
+%    \end{macrocode}
+% \end{macro}
+%
+%
+% \begin{macro}{\@xfloat at prep}
+% We patch into the procedure \cmd\@xfloat at prep. 
+% This patch applies to all floats (not \env{figure} alone)
+% and makes the type center.
+%    \begin{macrocode}
+\appdef\@xfloat at prep{%
+ \appdef\@parboxrestore{\centering}%
+%\let\@makefnmark\@makefnmark at latex
+}%
+%    \end{macrocode}
+% \end{macro}
+%
+%
+% \subsection{Tables}
+% \changes{4.0b}{1999/06/20}{Processing delayed to \cs{AtBeginDocument} time}
+%
+% DPC: More or less taken from \file{revtex2} \file{aps.sty},
+% but using dcolumn for decimal alignment.
+% \begin{environment}{table}
+% We define the \env{table} environment.
+% Later, we will horse around with its meaning
+% in order to accomodate \cmd\floats at sw.
+%    \begin{macrocode}
+\newenvironment{table}
+               {\@float{table}}
+               {\end at float}
+\newenvironment{table*}
+               {\@dblfloat{table}}
+               {\end at dblfloat}
+%    \end{macrocode}
+% \end{environment}
+%
+% \begin{macro}{\thetable}
+% Table counter and default float placement declarations.
+%    \begin{macrocode}
+\newcounter{table}
+\renewcommand\thetable{\@Roman\c at table}
+%    \end{macrocode}
+% Note that we give the `!' modifier by default.
+% This is an effort to avoid the syndrome wherein
+% a deferred float finds itself unqualified for 
+% placement, thereby getting carried until \cmd\clearpage.
+%    \begin{macrocode}
+\def\fps at table{tbp}
+\def\ftype at table{2}
+\def\ext at table{lot}
+\def\fnum at table{\tablename~\thetable}
+%    \end{macrocode}
+% We allocate a box register for use in tallying the column inches of floats of this type.
+%    \begin{macrocode}
+\expandafter\newbox\csname fbox@\ftype at table\endcsname
+\expandafter\setbox\csname fbox@\ftype at table\endcsname\hbox{}%
+%    \end{macrocode}
+% \end{macro}
+%
+%    \begin{macrocode}
+\def\listoftables{\print at toc{lot}}%
+\let\l at table\l at figure
+%    \end{macrocode}
+%
+% \begin{macro}{\table at hook}
+% \begin{macro}{\squeezetable}
+% Assign a meaning to the hook installed into float processing.
+%
+% By default floats are \cmd\small. The \cmd\squeezetable\ declaration
+% makes them smaller (\cmd\scriptsize). In general you can locally
+% redefine \cmd\table at hook\ to be whatever you like.
+% (DPC: |\Huge\color{magenta}|\ldots?)
+%    \begin{macrocode}
+\def\table at hook{\small}%
+\def\squeezetable{\def\table at hook{\scriptsize}}%
+\appdef\@floatboxreset{\table at hook}%
+%    \end{macrocode}
+% \end{macro}
+% \end{macro}
+%
+% \subsubsection{Deferring \env{table} Floats}%
+%
+% After all packages are loaded, we decide
+% if tables will float or will be deferred until \cmd\printtables\ time.
+%
+% We also deal with the possibility of \env{longtable} environments.
+% 
+%    \begin{macrocode}
+\def\set at table@environments{%
+ \floats at sw{}{%
+  \let at environment{longtable at float}{longtable}%
+  \let at environment{longtable}{longtable at write}%
+  \let at environment{longtable*@float}{longtable*}%
+  \let at environment{longtable*}{longtable*@write}%
+  \let at environment{turnpage at float}{turnpage}%
+  \let at environment{turnpage}{turnpage at write}%
+ }%
+ \do at if@floats{table}{.tbx}%
+}%
+\appdef\document at inithook{%
+ \set at table@environments
+}%
+\appdef\class at enddocumenthook{%
+ \printtables\relax
+}%
+\newenvironment{longtable at write}{%
+ \write@@float{longtable}{table}%
+}{%
+ \endwrite at float
+}%
+\newenvironment{longtable*@write}{%
+ \write@@float{longtable*}{table}%
+}{%
+ \endwrite at float
+}%
+\newenvironment{turnpage at write}{%
+ \immediate\write\tablewrite{\string\begin{turnpage}}%
+}{%
+ \immediate\write\tablewrite{\string\end{turnpage}}%
+}%
+%    \end{macrocode}
+%
+% \begin{macro}{\printtables}
+% The user-level command \cmd\printtables\ determines
+% where the tables are to appear in a document in which
+% \cmd\floats at sw\ is false.
+% If the user invokes the \classoption{nofloats} and fails to
+% insert a \cmd\printtables\ command, 
+% the tables will be printed at the end of the document.
+% If the command is given, but floats are not being deferred, 
+% it amounts to a no-op.
+% \changes{4.0b}{1999/06/20}{only execute if appropriate}
+% \changes{4.0c}{1999/11/13}{*-form mandates pagebreak}
+% \changes{4.0d}{2000/05/17}{make longtable trigger the head, too}
+%    \begin{macrocode}
+\newcommand\printtables{%
+ \begingroup
+  \let at environment{longtable}{longtable at float}%
+  \let at environment{longtable*}{longtable*@float}%
+  \let at environment{turnpage}{turnpage at anchored}%
+  \prepdef\longtable{\trigger at float@par}%
+  \expandafter\prepdef\csname longtable*\endcsname{\trigger at float@par}%
+  \expandafter\prepdef\csname table at floats\endcsname{%
+   \onecolumngrid at push
+  }%
+  \expandafter\appdef\csname endtable at floats\endcsname{%
+   \onecolumngrid at pop
+  }%
+  \@ifstar{\true at sw}{\floatp at sw{\true at sw}{\false at sw}}%
+  {%
+   \print at float{table}{\oneapage}%
+  }{%
+   \print at float{table}{}%
+  }%
+ \endgroup
+}%
+\newenvironment{turnpage at anchored}{%
+ \onecolumngrid at push
+ \setbox\z@\vbox to\textwidth\bgroup
+  \columnwidth\textheight
+}{%
+  \vfil
+ \egroup
+ \rotatebox{90}{\box\z@}%
+ \onecolumngrid at pop
+}%
+%    \end{macrocode}
+% \end{macro}
+%
+%
+% \subsection{Videos}
+%\changes{4.1r}{2010/06/22}{(AO, 595) Provide \cs{lovname} along with other List of Videos definitions.}%
+%
+% \begin{environment}{video}
+% We define the \env{video} environment analogously to the 
+% \env{figure} and \env{table} environments; it is intended to contain a video.
+%
+%    \begin{macrocode}
+\newenvironment{video}
+ {\@float{video}}
+ {\end at float}%
+\newenvironment{video*}
+ {\@dblfloat{video}}
+ {\end at dblfloat}%
+%    \end{macrocode}
+% \end{environment}
+%
+% \begin{macro}{\thevideo}
+% The video counter, float placement defaults, strings.
+%    \begin{macrocode}
+\newcounter{video}
+\renewcommand \thevideo {\@arabic\c at video}
+%    \end{macrocode}
+%
+% File extension and localizable strings.
+%    \begin{macrocode}
+\def\ext at video{lov}%
+\def\fname at video{Video}%
+\def\lovname{List of Videos}%
+%    \end{macrocode}
+%
+% Float type and default placement. 
+%    \begin{macrocode}
+\def\fps at video{tbp}%
+\def\ftype at video{4}%
+\def\fnum at video{\fname at video~\thevideo}%
+\appdef\document at inithook{%
+ \@ifxundefined\c at float@type{}{%
+  \global\setcounter{float at type}{8}%
+ }%
+}%
+%    \end{macrocode}
+% We allocate a box register for use in tallying the column inches of floats of this type.
+%    \begin{macrocode}
+\expandafter\newbox\csname fbox@\ftype at video\endcsname
+\expandafter\setbox\csname fbox@\ftype at video\endcsname\hbox{}%
+%    \end{macrocode}
+% The documentation for the \classname{hyperref} package, \file{hyperref.dtx} states:
+% ``classes or package which introduce new elements need to define 
+%   an equivalent  \verb+\theH<name>+  for every  \verb+\the<name>+''
+% We do accordingly here.
+%    \begin{macrocode}
+\let\theHvideo\thevideo
+%    \end{macrocode}
+% But \file{hyperref.dtx} goes on to say, 
+% ``We do make a trap to make \verb+\theH<name>+ be the same as \verb+\arabic{<name>}+,
+% if \verb+\theH<name>+ is not defined\ldots''
+% However, it's not doing that right now (as of 6.77u), 
+% and I cannot find any such code in there anymore.
+% \end{macro}
+%
+%    \begin{macrocode}
+\def\listofvideos{\print at toc{lov}}%
+\let\l at video\l at figure
+%    \end{macrocode}
+%
+% \subsubsection{Deferring \env{video} Floats}%
+%
+% We determine if videos are to float or be deferred until \cmd\printvideos\ time. 
+% If so, we open the stream that will receive the deferred document portions. 
+%    \begin{macrocode}
+\appdef\class at documenthook{%
+ \do at if@floats{video}{.vdx}%
+}%
+\appdef\class at enddocumenthook{%
+ \printvideos\relax
+}%
+%    \end{macrocode}
+% 
+% \begin{macro}{\printvideos}
+% The user-level command \cmd\printvideos\ determines
+% where the videos are to appear in a document in which
+% \cmd\floats at sw\ is false.
+% If the user invokes the \classoption{endfloats} class option and fails to
+% insert a \cmd\printvideos\ command, 
+% the videos will be printed at the end of the document.
+% If the command is given, but floats are not being deferred, 
+% it amounts to a no-op.
+%    \begin{macrocode}
+\newcommand\printvideos{%
+ \@ifstar{\true at sw}{\floatp at sw{\true at sw}{\false at sw}}%
+ {%
+  \print at float{video}{\oneapage}%
+ }{%
+  \print at float{video}{}%
+ }%
+}%
+%    \end{macrocode}
+% \end{macro}
+%
+%
+% \section{Tabular}
+% Every APS tabular has a double (Scotch) rule above and below.
+% The column specifier ``d'' is implemented using the \classname{dcolumn}
+% package, if available.
+% FIXME: always load dcolumn!
+% \begin{macro}{\tabular at hook}
+% \begin{macro}{\endtabular at hook}
+% \begin{environment}{ruledtabular}
+%    \begin{macrocode}
+\def\endtabular at hook{}%
+%    \end{macrocode}
+%    \begin{verbatim}
+%\RequirePackage{dcolumn}%
+%    \end{verbatim}
+%    \begin{macrocode}
+\appdef\document at inithook{%
+ \@ifpackageloaded{dcolumn}{%
+  \expandafter\@ifnotrelax\csname NC at find@d\endcsname{}{%
+   \newcolumntype{d}{D{.}{.}{-1}}%
+  }%
+ }{}%
+}%
+\def\toprule{\hline\hline}%
+\def\colrule{\hline}%
+\def\botrule{\hline\hline}%
+\newenvironment{ruledtabular}{%
+ \def\array at default{v}%
+ \appdef\tabular at hook{\def\@halignto{to\hsize}}%
+ \let\tableft at skip@default\tableft at skip
+ \let\tableft at skip\tableft at skip@float
+ \let\tabmid at skip@default\tabmid at skip
+ \let\tabmid at skip\tabmid at skip@float
+ \let\tabright at skip@default\tabright at skip
+ \let\tabright at skip\tabright at skip@float
+ \let\array at row@pre at default\array at row@pre
+ \let\array at row@pre\array at row@pre at float
+ \let\array at row@pst at default\array at row@pst
+ \let\array at row@pst\array at row@pst at float
+ \appdef\array at row@rst{%
+  \let\array at row@pre\array at row@pre at default
+  \let\array at row@pst\array at row@pst at default
+  \let\tableft at skip\tableft at skip@default
+  \let\tabmid at skip\tabmid at skip@default
+  \let\tabright at skip\tabright at skip@default
+  \appdef\tabular at hook{\let\@halignto\@empty}%
+ }%
+}{%
+}%
+%    \end{macrocode}
+% \end{environment}
+% \end{macro}
+% \end{macro}
+%
+% \section{Footnote Text}
+%
+% \changes{4.0a}{1998/06/10}{single space footnotes}
+% \changes{4.0b}{1999/06/20}{Frank Mittelbach, has stated in \protect\classname{multicol}: ``The kernel command \cs{@footnotetext} should not be modified.'' Thus, I have removed David Carlisle's redefinition of that command. Note, however, that later versions of \protect\classname{multicol} do not require this workaround. Belt and suspenders.}%
+%
+% \begin{macro}{\@makefntext}
+% \begin{macro}{\@makefnmark}
+% We customize the presentation of the footnote mark: it will not be italic.
+%    \begin{macrocode}
+\def\@makefntext#1{%
+  \def\baselinestretch{1}%
+  \parindent1em%
+  \noindent
+  \hb at xt@1.8em{%
+   \hss\@makefnmark
+  }%
+  #1%
+  \par
+}%
+\def\@makefnmark{%
+ \hbox{%
+  \@textsuperscript{%
+   \normalfont\@thefnmark
+  }%
+ }%
+}%
+%    \end{macrocode}
+% \end{macro}
+% \end{macro}
+%
+%
+% \subsection{Citations, Bibliography, Endnotes}
+%
+% \subsubsection{Bibliography}
+%
+% Load Patrick Daly's \classname{natbib} package,
+% \url{ftp://ctan.tug.org/macros/latex/contrib/supported/natbib}
+%
+% Note that \classname{natbib} assumes that it loads
+% over a document class, such as the \classname{article} class, 
+% that has already defined \env{thebibliography} and \cmd\@listi.
+%
+% Note also that \classname{natbib} also installs a command
+% \cmd\NAT at set@cites\ into \cmd\AtBeginDocument\ which presumes
+% that the proper \cmd\bibpunct\ command has been issued.
+% 
+% Note that the macro \cmd\NAT at sort\ controls 
+% whether citations are left alone (\cmd\NAT at sort=0), sorted (\cmd\NAT at sort=1), or sorted and compressed (\cmd\NAT at sort=2).
+% Since we give \classname{natbib} the \classoption{sort\&compress} option,
+% if you prefer \classoption{sort}, you need only \cmd\let \cmd\NAT at sort\ to be \cmd\@ne.
+% However, if you prefer the effect of having neither \classoption{sort} nor \classoption{sort\&compress},
+% you must \cmd\let \cmd\NAT at sort\ to be \cmd\z@ and you must also define 
+% \cmd\let\cmd\NAT at cmprs\ to be \cmd\z at .
+%
+% As of version 8.2, \classname{natbib} now no longer binds at the point where it is read in.
+% This means that we can freely change \cmd\NAT at sort, \cmd\NAT at cmprs, and the new
+% \cmd\NAT at merge. Henceforth, we require that this later version be used.
+%
+% For other \classname{natbib} customizations, you may proceed as if you were going to use
+% the \file{natbib.cfg} file: anything that you can modify by this means is fair game.
+% Once \revtex\ is finished loading, you can assert any definitions for \classname{natbib} that you wish.
+%
+% \begin{macro}{\rev at citet}
+% \begin{macro}{\rev at citealp}
+% \begin{macro}{\rev at citealpnum}
+% We define variants on \classname{natbib}'s commands \cmd\citet, \cmd\citealp, and \cmd\citealpnum. 
+% \cmd\rev at citealpnum\ uses a numerical citation.
+% \cmd\rev at citealp\ and \cmd\rev at citealpnum\ are the aliases of \cmd\onlinecite,
+% \cmd\rev at citet\ that of \cmd\textcite.
+% 
+% In each case, we invoke \cmd\rtx at swap@citea\ to effect different productions between 
+% multiple arguments to the \cmd\cite\ command.
+%
+% \cmd\rev at citealpnum\ provides textual citations where superscript citations are the default.
+% These should be accessible via the \cmd\citet\ command.
+%
+% Therefore we remember how to do a numerical citation
+% even when the superscript citation has been selected.
+%    \begin{macrocode}
+\expandafter\DeclareRobustCommand
+\expandafter\rev at citet
+\expandafter{%
+ \expandafter\begingroup
+  \expandafter\rtx at swap@citea
+  \expandafter\g at bblefirsttoken
+              \csname citet \endcsname
+}%
+\expandafter\DeclareRobustCommand
+\expandafter\rev at citealp
+\expandafter{%
+ \expandafter\begingroup
+  \expandafter\rtx at swap@citea
+  \expandafter\g at bblefirsttoken
+              \csname citealp \endcsname
+}%
+\expandafter\DeclareRobustCommand
+\expandafter\rev at citealpnum
+\expandafter{%
+ \expandafter\begingroup
+  \expandafter\rtx at swap@citenum
+  \expandafter\g at bblefirsttoken
+              \csname citealp \endcsname
+}%
+\def\rtx at swap@citenum{%
+  \rtx at swap@citea
+  \let\@cite\NAT at citenum
+  \let\NAT at mbox\mbox
+  \let\citeyear\NAT at citeyear
+  \let\NAT at space\NAT at spacechar
+}%
+\def\g at bblefirsttoken{%
+ \expandafter\true at sw
+ \expandafter\@empty
+}%
+%    \end{macrocode}
+% \end{macro}
+% \end{macro}
+% \end{macro}
+%
+% \begin{macro}{\rtx at citesuper}
+% We prepare to redefine \classname{natbib}'s procedure \cmd\NAT at citesuper,
+% which is executed when setting a superscript citation.
+% The \cmd\hspace\ is removed: in any case, it
+% should really be \cmd\hspace*, to prevent an unwanted pagebreak.
+%    \begin{macrocode}
+\newcommand\rtx at citesuper[3]{%
+ \ifNAT at swa
+  \leavevmode
+  \unskip
+% \hspace{1\p@}%
+  \textsuperscript{\normalfont#1}%
+  \if*#3*\else\ (#3)\fi
+ \else
+  #1%
+ \fi
+ \endgroup
+}%
+%    \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\@makefnmark at cite}
+% We define a procedure that will set a footnote mark the same way that
+% a citation is set. If footnotes are put in the bibliography with
+% \cmd\footinbib at sw, then the corresponding mark should look the same
+% as the result of a \cmd\cite. This is how we do it.
+%    \begin{macrocode}
+\def\@makefnmark at cite{\begingroup\NAT at swatrue\@cite{{\@thefnmark}}{}{}}%
+%    \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\rtx at bibsection}
+% Prepare to override \classname{natbib}'s definition of \cmd\bibsection.
+%    \begin{macrocode}
+\def\rtx at bibsection{%
+ \@ifx at empty\refname{%
+  \par
+ }{%
+% \let\@hangfroms at section\@hang at froms
+  \expandafter\section\expandafter*\expandafter{\refname}%
+  \@nobreaktrue
+ }%
+}%
+%    \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\rtx at swap@citea}
+% \begin{macro}{\rtx at def@citea}
+% \begin{macro}{\rtx at def@citea at close}
+% \begin{macro}{\rtx at def@citea at box}
+% The procedures |\rtx at def@citea|, |\rtx at def@citea at close|, and |\rtx at def@citea at box| 
+% can take over the management of \classname{natbib}'s |\@citea| macro to effect more sophisticated
+% behavior of the punctuation between textual citations. The switch is performed by \cmd\rtx at swap@citea.
+%
+% \changes{4.1j}{2009/10/25}{(AO, 552) Repair spacing in \cs{onlinecite}}
+% In these procedures, we use \cmd\count@\ to count the number of arguments of the \cmd\cite\ command,
+% and we use \cmd\c at NAT@ctr\ to keep track of which argument we are processing.
+% The latter counter is created by \classname{natbib} and used there solely in bibliography processing,
+% where it keeps track of the reference number. 
+% We take over its use in these macros, but only locally; therefore these procedures should work properly, even within the bibliography.
+%FIXME: check whether this is true!
+%
+% Because we are using a scratch counter \cmd\count@, we are vulnerable to other \TeX\ programmers
+% who patch in to \classname{natbib}'s processing and who might use that counter at the same time we are doing so.
+% This is a potential source of trouble for us. 
+%FIXME: store the value of \cmd\count@\ in a private \cmd\csname!
+%
+% Note that \cmd\rtx at def@citea\ begins the same as \cmd\NAT at def@citea, which it replaces, 
+% then makes further decisions based on the values of the counters. 
+%
+% Note also that, in \classname{natbib}, the replacement part of \cmd\NAT at def@citea at close\ could be rewritten as
+% \cmd\NAT at def@citea\cmd\prepdef\cmd\@citea\verb+{+\cmd\NAT@@close\verb+}+, which 
+% would them obviate the need for us to override its meaning. 
+%
+% Note, too, the effect of \cmd\rtx at def@citea at box, which replaces \cmd\NAT at def@citea at box,
+% is almost the same as the latter, except the entire \cmd\@citea\ is given as the argument
+% of \cmd\NAT at mbox.
+%
+% Finally, bear in mind that the English (and some American editors) do not place a comma
+% before the ``and''; our procedures do (but they could be rewritten with that convention). 
+%    \begin{macrocode}
+\def\rtx at swap@citea{%
+ \let\NAT at def@citea\rtx at def@citea
+ \let\NAT at def@citea at close\rtx at def@citea at close
+ \let\NAT at def@citea at box\rtx at def@citea at box
+}%
+\def\rtx at def@citea{%
+ \def\@citea{\NAT at separator\NAT at space}%
+ \advance\c at NAT@ctr\@ne
+ \@ifnum{\count@>\tw@}{%
+  \@ifnum{\c at NAT@ctr=\count@}{\appdef\@citea{\NAT at conj\NAT at space}}{}%
+ }{%
+  \def\@citea{\NAT at space\NAT at conj\NAT at space}%
+ }%
+}%
+\def\rtx at def@citea at close{%
+ \rtx at def@citea
+ \prepdef\@citea{\NAT@@close}%
+}%
+\def\rtx at def@citea at box{%
+ \rtx at def@citea at close
+ \expandafter\def\expandafter\@citea\expandafter{\expandafter\NAT at mbox\expandafter{\@citea}}%
+}%
+\def\NAT at conj{and}%
+%    \end{macrocode}
+%
+% \end{macro}
+% \end{macro}
+% \end{macro}
+% \end{macro}
+%
+% \begin{macro}{\BibitemShut}
+% \begin{macro}{\bibAnnote}
+% \changes{4.1j}{2009/10/24}{(AO, 549) Repairing natbib's \cs{BibitemShut} and \cs{bibAnnote}}
+% \changes{4.1o}{2010/02/05}{(AO, 549) Remove patch to natbib, which is now at version 8.31a}
+% \changes{4.1o}{2010/02/07}{(AO, 578) accommodate the possible space character preceding \cs{BibitemShut}.} 
+% We remember a temporary patch to \classname{natbib}'s definition of \cmd\BibitemShut.
+%    \begin{macrocode}
+\def\NAT at BibitemShut#1{%
+ \def\@bibstop{#1}%
+ \let\bibitem at Stop\bibitemStop
+ \let\bibitem at NoStop\bibitemNoStop
+ \@ifx{\bibitemShut\relax}{\let\@bibitemShut\@empty}{%
+  \expandafter\def\expandafter\@bibitemShut\expandafter{\bibitemShut}%
+ }%
+}%
+%    \end{macrocode}
+% The following is a bug fix to \classname{natbib} version 8.31b.
+%    \begin{macrocode}
+\def\BibitemShut at ltx#1{%
+ \unskip
+ \def\@bibstop{#1}%
+ \let\bibitem at Stop\bibitemStop
+ \let\bibitem at NoStop\bibitemNoStop
+ \@ifx{\bibitemShut\relax}{\let\@bibitemShut\@empty}{%
+  \expandafter\def\expandafter\@bibitemShut\expandafter{\bibitemShut}%
+ }%
+}%
+%    \end{macrocode}
+%
+%    \begin{verbatim}
+%\providecommand{\bibAnnote}[3]{%
+%  \BibitemShut{#1}%
+%  \def\@tempa{#3}\@ifx{\@tempa\@empty}{}{%
+%   \begin{quotation}\noindent
+%    \textsc{Key:}\ #2\\\textsc{Annotation:}\ \@tempa
+%   \end{quotation}%
+%  }%
+%  \ignorespaces
+%}%
+%\def\@bibitemShut{}%
+%    \end{verbatim}
+% \end{macro}
+% \end{macro}
+%
+%
+%    \begin{macrocode}
+\newenvironment{thebibliography}{}{}%
+\let\@listi\@empty
+\appdef\rtx at require@packages{%
+ \RequirePackage[sort&compress]{natbib}[2009/11/07 8.31a (PWD, AO)]%
+ \let at environment{NAT at thebibliography}{thebibliography}%
+ \let at environment{thebibliography}{rtx at thebibliography}%
+ \let\bibliographystyle at latex\bibliographystyle
+ \let\NAT at citesuper\rtx at citesuper
+%    \end{macrocode}
+%
+% \begin{macro}{\NAT at bibsetnum}
+% \begin{macro}{\NAT at bibsetup}
+% \begin{macro}{\bibpreamble}
+% \begin{macro}{\newblock}
+% \begin{macro}{\bibnumfmt}
+% \begin{macro}{\NAT at merge}
+% We define the sectioning command to use when starting the bibliography
+% and gently coax \classname{natbib} into using
+% the formatting procedures that \emph{we} want it to use.
+%
+% This way of setting up \env{thebibliography} 
+% automatically sets the label width based on
+% the largest number used within the bibliography.
+% This scheme will not work properly using the
+% author/year style of bib entry, though.
+%
+% We define \cmd\bibnumfmt\ to be \cmd\place at bibnumber, which is a macro
+% managed by \revtex. If the document defines \cmd\bibnumfmt, then that
+% definition will be used instead, which is what the \classname{natbib}
+% package gives as its programming interface.
+%
+% We set \cmd\NAT at merge\ to \cmd\tw@, which turns on \classname{natbib}'s
+% \classname{mcite} capabilities. This is the default setting. 
+% If numerical citations are not to be used, then \cmd\NAT at merge\ 
+% should be set to \cmd\@ne\ (syntax is still enabled, but semantics are turned off). 
+%    \begin{macrocode}
+\let\bibsection\rtx at bibsection
+\let\NATx at bibsetnum\NAT at bibsetnum
+\def\NAT at bibsetnum#1{%
+ \setlength{\topsep}{\z@}%
+ \NATx at bibsetnum{\ref{LastBibItem}}%
+}%
+\let\NATx at bibsetup\NAT at bibsetup
+\def\NAT at bibsetup{%
+ \setlength{\labelwidth}{\z@}%
+ \setlength{\labelsep}{\z@}%
+ \setlength{\itemindent}{\z@}%
+ \setlength{\listparindent}{\z@}%
+ \setlength{\topsep}{\z@}%
+ \setlength{\parsep}{\z@}%
+ \NATx at bibsetup
+}%
+\let\bibpreamble\@empty
+\def\newblock{\ }%
+\let\NATx at bibnumfmt\bibnumfmt
+\def\bibnumfmt{\place at bibnumber}%
+\let\NAT at merge\thr@@
+\let\NAT at citeyear\citeyear
+\let\onlinecite\rev at citealp
+\let\textcite\rev at citet
+%    \end{macrocode}
+% The following is needed until \classname{natbib} is at 8.31b.
+%    \begin{macrocode}
+\@ifx{\BibitemShut\NAT at BibitemShut}{%
+ \class at info{Repairing natbib's \string\BibitemShut}%
+ \let\BibitemShut\BibitemShut at ltx
+}{}%
+%    \end{macrocode}
+% \end{macro}
+% \end{macro}
+% \end{macro}
+% \end{macro}
+% \end{macro}
+% \end{macro}
+%
+% \begin{macro}{\bibliographystyle}
+% \changes{4.1q}{2010/04/01}{(AO, 586) When .bbl is pasted into the document, prevent automatic bibliography inclusion.}%
+% \changes{4.1q}{2010/04/13}{(AO, 588) Only write \revtex-specific BibTeX .bib data if the .bst style is set by REVTeX.}%
+% We arrange for the selection of bibliography style
+% to occur either due to the document's explicit
+% \cmd\bibliographystyle\ statement or
+% via the journal substyle.
+%
+% Note that \revtex\ is incompatible with 
+% any package that patches \cmd\bibliographystyle.
+% Since \classname{natbib} does this, we need a fix.
+%
+% The Boolean \cmd\bibliographystyle at sw\ signifies that the document  contains explicit
+% \cmd\bibliographystyle\ markup. If, on the contrary, the bibliography style is set by
+% the the society or the journal, then no explicit \cmd\bibliographystyle\ command appears in the document instance.
+% In this case \cmd\bibliographystyle at sw\ will be \cmd\false at sw.
+%    \begin{macrocode}
+\let\bibliographystyle at latex\bibliographystyle
+\def\bibliographystyle{\@booleantrue\bibliographystyle at sw\def\@bibstyle}%
+\@booleanfalse\bibliographystyle at sw
+%    \end{macrocode}
+% \end{macro}
+%
+% \changes{4.1j}{2009/11/03}{(AO, 551) Punctuation at end of reference when optional arguments to the cite key are given.}
+% The following had been bug fixes to \classname{natbib} version 8.31a.
+%    \begin{verbatim}
+%\def\bibitemStop{\@bibitemShut}%
+%\def\NAT at bibitem@cont{%
+% \let\bibitem at Stop\bibitemContinue
+% \let\bibitem at NoStop\bibitemContinue
+%}%
+%    \end{verbatim}
+% The following are alterations to \classname{natbib} version 8.31a to 
+% accommodate the possible space character preceding \cmd\BibitemShut,
+% and to handle the case of merged references, where the first ends with a stop character. 
+% \changes{4.1o}{2010/02/07}{(AO, 578) accommodate the possible space character preceding \cs{BibitemShut}.} 
+% \changes{4.1o}{2010/02/09}{(AO, 581) Handle case: merged references, with first ending in a stop character.} 
+%    \begin{macrocode}
+\def\NAT at bibitem@cont{%
+ \let\bibitem at Stop\bibitemContinue at Stop
+ \let\bibitem at NoStop\bibitemContinue
+}%
+%    \end{macrocode}
+%    \begin{macrocode}
+\def\bibitemNoStop{%
+ \@ifx at empty\@bibitemShut{.\spacefactor\@mmm\space}{\@bibitemShut}%
+}%
+%    \end{macrocode}
+%    \begin{macrocode}
+\def\bibitemContinue{%
+ \@ifx at empty\@bibitemShut{;\spacefactor\@mmm\space}{\@bibitemShut}%
+}%
+%    \end{macrocode}
+%    \begin{macrocode}
+\def\bibitemContinue at Stop{%
+ \@ifx at empty\@bibitemShut{\spacefactor\@mmm\space}{\@bibitemShut}%
+}%
+%    \end{macrocode}
+%
+% \changes{4.1k}{2009/11/11}{(AO, 561) remove dead code relating to \cs{bibitemContinue}} 
+% We used to customize one of the productions of \classname{natbib}, but no longer.
+%    \begin{verbatim}
+%\let\bibitemContinue\bibitemContinue at rtx
+%    \end{verbatim}
+%
+% Here ends the code to be executed at \cmd\rtx at require@packages\ time.
+%    \begin{macrocode}
+}%
+%    \end{macrocode}
+% \changes{4.1f}{2009/07/07}{(AO, 516) Merged references are separated with a semicolon}
+% Redefine a macro of \classname{natbib} so that merged references are separated with a semicolon.
+% \changes{4.1k}{2009/11/11}{(AO, 561) remove dead code relating to \cs{bibitemContinue}} 
+%    \begin{verbatim}
+% \def\bibitemContinue at rtx{;\spacefactor\@mmm\space}%
+%    \end{verbatim}
+%
+% \begin{macro}{\onlinecite}
+% \begin{macro}{\textcite}
+% We extend \classname{natbib}'s syntax with two commands to set a citation
+% on the baseline (as opposed to superscripted) and as text (rather than parenthetical), respectively.
+% A journal substyle that makes citations be superscripted or parenthetical as the case may be, should ensure
+% that the author has continued access to these two styles. 
+%
+% Note that the society or journal substyle override the meanings of \cmd\@onlinecite\ or
+% \cmd\@textcite\ given here.
+% 
+%    \begin{macrocode}
+\DeclareRobustCommand\onlinecite{\@onlinecite}%
+\DeclareRobustCommand\textcite{\@textcite}%
+%    \end{macrocode}
+% \end{macro}
+% \end{macro}
+%
+% \begin{macro}{\bibliography}
+% \changes{4.1a}{2008/01/18}{(AO, 457) Endnotes to be sorted in with numerical citations.}%
+% Provide a hook for supplying Bib\TeX\ a bibliographic database that may contain, say, 
+% footnotes.
+% 
+% Note that Bib\TeX\ chokes if the argument of the \cmd\bibdata\ command has null fields,
+% hence these tests.
+%    \begin{macrocode}
+\let\bibliography at latex\bibliography
+\def\bibliography#1{%
+ \auto at bib@empty
+ \begingroup
+  \let\auto at bib@innerbib\@empty
+  \@ifx at empty{\pre at bibdata}{%
+   \bibliography at latex{#1}%
+  }{%
+   \@if at empty{#1}{%
+    \expandafter\bibliography at latex\expandafter{\pre at bibdata}%
+   }{%
+    \expandafter\bibliography at latex\expandafter{\pre at bibdata,#1}%
+   }%
+  }%
+ \endgroup
+}%
+\let\pre at bibdata\@empty
+%    \end{macrocode}
+% \end{macro}
+%
+% \begin{environment}{rtx at thebibliography}%
+% \begin{macro}{\present at bibnote}%
+% \changes{4.1f}{2009/07/11}{(AO, 521) Lonely bibliography head}%
+% \changes{4.1n}{2010/01/02}{(AO, 572) Independent footnote counter for title block. Abstract footnote counter shared with body.}%
+% \changes{4.1o}{2010/02/02}{(AO, 575) Automatically incorporate the (Bib\TeX-generated) .bbl into an explicit \env{thebibliography}}%
+% \changes{4.1q}{2010/04/01}{(AO, 586) When .bbl is pasted into the document, prevent automatic bibliography inclusion.}%
+% We put a tail patch into \cmd\thebibliogrphy\ and
+% a headpatch into \cmd\endthebibliography.
+%
+% Here we provide a default treatment for frontmatter notes 
+% deferred to the bibliography; a journal substyle 
+% might want to override the definition of \cmd\present at bibnote.
+%
+% We make provisions for the case where there are no \cmd\bibitem s 
+% for the bibliography: we produce no bibliography head at all.
+% 
+%    \begin{macrocode}
+\newenvironment{rtx at thebibliography}[1]{%
+ \NAT at thebibliography{#1}%
+ \let\@TBN at opr\present at bibnote
+ \@FMN at list
+}{%
+%    \end{macrocode}
+% The following line was commented out:
+%    \begin{verbatim}
+%\@endnotesinbib
+%    \end{verbatim}
+% The \cmd\auto at bib@innerbib\ directive has been moved from the begin processing to the end processing.
+% This means that the content of the \env{thebibliography} environment can itself prevent the 
+% automatic reading in of the .bbl file. This would be needed when the user has pasted in the 
+% content of the .bbl file into the document itself, something required by APS and AIP editorial direction.
+%    \begin{macrocode}
+ \auto at bib@innerbib
+ \edef\@currentlabel{\arabic{NAT at ctr}}%
+ \label{LastBibItem}%
+ \endNAT at thebibliography
+ \aftergroup\auto at bib@empty
+}%
+\def\present at bibnote#1#2{%
+ \item[%
+  \textsuperscript{%
+   \normalfont
+   \Hy at raisedlink{\hyper at anchorstart{frontmatter.#1}\hyper at anchorend}%
+   \begingroup
+    \csname c@\@mpfn\endcsname#1\relax
+    \frontmatter at thefootnote
+   \endgroup
+  }%
+ ]#2\par
+%    \end{macrocode}
+% The following line was commented out:
+%    \begin{verbatim}
+%\global\let\NAT at bibitem@first at sw\@secondoftwo
+%    \end{verbatim}
+%    \begin{macrocode}
+}%
+%    \end{macrocode}
+% \end{macro}
+% \end{environment}
+%
+% \begin{macro}{write at bibliographystyle}
+% \changes{4.1q}{2010/04/13}{(AO, 588) Only write \revtex-specific BibTeX .bib data if the .bst style is set by REVTeX.}%
+% We wish to delay committing the \cmd\bibliographystyle\ until as late as possible.
+% The journal substyle will define a default bibliography style, and 
+% the document's explicit \cmd\bibliographystyle\ command, if any, will override that default.
+%
+% The \cmd\bibstyle\ command is allowed appear quite late in the \file{.aux} file. 
+% We now delay the automatic writing of the \cmd\bibstyle\ command to the end of the job.
+%
+% The procedure \cmd\write at bibliographystyle\ tests whether a \cmd\bibliographystyle\ command has 
+% already been given.
+% If not, it effectively executes the needed \cmd\bibliographystyle\ command, then neutralizes itself
+% (we only need to do this once per job).
+%
+% If the document lacks explicit \cmd\bibliographystyle\ markup, we execute
+% \cmd\@bibdataout at rev, a hook for \revtex-aware processing. 
+%    \begin{macrocode}
+\def\write at bibliographystyle{%
+ \@ifxundefined\@bibstyle{}{%
+  \expandafter\bibliographystyle at latex\expandafter{\@bibstyle}%
+  \bibliographystyle at sw{}{\@bibdataout at rev}%
+ }%
+ \global\let\write at bibliographystyle\relax
+}%
+\AtEndDocument{\write at bibliographystyle}%
+%    \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\rtx@@citetp}
+% \begin{macro}{\rtx at citex}
+% \begin{macro}{\super at cite@let}
+% \begin{macro}{\super at cite@end}
+% \begin{macro}{\super at cite@swap}
+% We wish to extend \classname{natbib} to move spaces and citations around
+% a superscript-style citation, imitating Donald Arseneau's \classname{cite} package
+% with the \classoption{super}.
+%
+% The \cmd\rtx@@citetp\ procedure is substituted for \cmd\NAT@@citetp;
+% it then calls the \cmd\rtx at citex\ procedure and implements the features of the
+% \classoption{citeautoscript} class option.
+% In the end, \cmd\@citex\ is called with its customary parameters. 
+%
+% The document should be marked up as if citations were \emph{not} superscripted,
+% and then if you select a journal substyle that has superscripted citations, \revtex\ will do its best
+% to alter the formatting of the \cmd\cite s to accomodate superscript style.
+%
+% Only citations set as superscript are affected by this procedure,
+% because we check \cmd\@cite\ against \cmd\NAT at citesuper. 
+%
+% Here's a subtle point: when is the argument of \cmd\super at cite@swap\ not the same as the token \cmd\@let at token?
+% Answer: when the latter is \cmd\@sptoken! This case has to be handled separately.
+% 
+% Note that whether a punctuation is movable is determined by the definition
+% of a particular control sequence name.
+% A society or journal can alter things: to remove a character from the set,
+% do, say, \cmd\expandafter \cmd\let \cmd\csname \texttt{rtx at automove;} \cmd\endcsname \cmd\relax.
+% To add a character to the set, do, say, \cmd\expandafter \cmd\let \cmd\csname \texttt{rtx at automove;} \cmd\endcsname \cmd\@empty.
+%
+% Implementation note: due to a \TeX\ peculiarity, we have to check for the case
+% where \cmd\@let at token\ is a space token \emph{before} we parse forward.
+% At issue is the corner case where an end of file is at hand. If we 
+% were to let \cmd\super at cite@swap\ parse forward, we would encounter a \TeX\ end-of-file
+% error. Note that the test will be true in many distinct cases:
+% the file ends, the next character is a line terminator, the next character is a space.
+%    \begin{macrocode}
+\def\rtx@@citetp[#1]{\@ifnextchar[{\rtx at citex[#1]}{\rtx at citex[][#1]}}%
+\def\rtx at citex[#1][#2]#3{%
+ \begingroup
+  \def\@tempa{[#1][#2]{#3}}%
+  \@ifx{\@cite\NAT at citesuper}{%
+   \leavevmode
+   \skip@\lastskip
+   \unskip
+   \super at cite@let
+  }{%
+   \super at cite@end
+  }%
+}%
+\def\super at cite@let{%
+ \futurelet\@let at token\super at cite@check
+}%
+\def\super at cite@end{%
+ \aftergroup\@citex\expandafter\endgroup\@tempa
+}%
+\def\super at cite@check{%
+ \@ifx{\@let at token\@sptoken}{%
+  \super at cite@end
+ }{%
+  \super at cite@swap
+ }%
+}%
+\long\def\super at cite@swap#1{%
+ \expandafter\@ifx\expandafter{\csname rtx at automove#1\endcsname\@empty}{%
+  #1%
+  \super at cite@let
+ }{%
+  \super at cite@end
+  #1%
+ }%
+}%
+\expandafter\let\csname rtx at automove.\endcsname\@empty
+\expandafter\let\csname rtx at automove,\endcsname\@empty
+\expandafter\let\csname rtx at automove:\endcsname\@empty
+\expandafter\let\csname rtx at automove;\endcsname\@empty
+%    \end{macrocode}
+% \end{macro}
+% \end{macro}
+% \end{macro}
+% \end{macro}
+% \end{macro}
+%
+% The following must execute only after \classname{natbib} is loaded and has set
+% up its parameters (which it does at \cmd\AtBeginDocument\ time).
+% If superscript citations have been selected, and 
+% if the \classoption{citeautoscript} class option has been selected, 
+% we patch into \classname{natbib}'s mechanism to migrate punctuation around the 
+% citation, as in class \classname{cite} with the \classoption{superscript} option.
+%    \begin{macrocode}
+\appdef\class at documenthook{%
+ \citeautoscript at sw{%
+  \@ifx{\@cite\NAT at citesuper}{%
+   \let\NAT@@citetp\rtx@@citetp
+  }{}%
+ }{}%
+}%
+%    \end{macrocode}
+%
+% Resolve an incompatability between \classname{natbib} and \classname{listings}.
+% The latter package tests \cmd\chapter (which has now been \cmd\let\ to \cmd\relax\ as a side effect \classname{natbib}'s use of \LaTeX's \cmd\@ifundefined).
+%
+% We couch our fix in such terms that will not be disruptive if \cmd\chapter\ is actually defined at this point.
+%
+% \changes{4.1b}{2008/07/01}{(AO) No longer need to test \cs{chapter} as of \texttt{natbib} version 8.2}
+%    \begin{verbatim}
+%\@ifx{\chapter\relax}{\let\chapter\@undefined}{}%
+%    \end{verbatim}
+%
+%
+% \subsubsection{\cs{endnote}s and \cs{rtx at bibnote}s}
+%
+% \begin{macro}{\mini at note}
+% \begin{macro}{\save at note}
+% \changes{4.1n}{2010/01/02}{(AO, 572) Independent footnote counter for title block. Abstract footnote counter shared with body.}%
+% QUERY: how do footnotes get thrown to the bibliography. \cmd\footinbib at sw\ appears to be irrelevant. 
+%    \begin{macrocode}
+\def\mini at note{\save at note\mini at notes}%Implicit #2
+\def\save at note#1#2{%
+  \stepcounter\@mpfn
+  \protected at xdef\@thefnmark{\thempfn}%
+  \@footnotemark
+  \expandafter\g at addto@macro
+  \expandafter#1%
+  \expandafter{%
+  \expandafter \@@footnotetext
+  \expandafter {\@thefnmark}{#2}%
+              }%
+}%
+\long\def\@@footnotetext#1{\def\@thefnmark{#1}\@footnotetext}%
+\let\mini at notes\@empty
+%    \end{macrocode}
+% \end{macro}
+% \end{macro}
+%
+% \begin{macro}{\endnote}
+% A version of footnote that appears in the bibliography, or where \cmd\printendnotes\ appears.
+%    \begin{verbatim}
+%\def\@endnote{%
+% \begingroup
+%  \aftergroup\@footnotemark
+%  \aftergroup\@endnotetext
+%  \@ifnextchar[{%
+%   \@xendnote
+%  }{%
+%   \stepcounter{footnote}%
+%   \protected at xdef\@tempa{\thefootnote}%
+%   \expandafter\@xendnote\expandafter[\the\c at footnote]%
+% }%
+%}%
+%    \end{verbatim}
+% \end{macro}
+%
+% \begin{macro}{\@xendnote}
+% \changes{4.1a}{2008/01/18}{(AO, 457) Endnotes to be sorted in with numerical citations.}%
+% \begin{verbatim}
+%\def\unused at xendnote[#1]{%
+%  \begingroup
+%   \c at footnote#1\relax
+%    \end{macrocode}
+% New for 4.1
+%    \begin{macrocode}
+%   \unrestored at protected@xdef\@endnotelabel{Note\thefootnote}%
+%   \authoryear at sw{%
+%    \unrestored at protected@xdef\@thefnmark{\noexpand\ref{\@endnotelabel}}%
+%   }{%
+%    \unrestored at protected@xdef\@thefnmark{\@endnotelabel}%
+%   }%
+%    \end{macrocode}
+% Was:
+% \unrestored at protected@xdef\@thefnmark{endnote\thefootnote}%
+% End 4.1 changes
+%    \begin{macrocode}
+%  \endgroup
+% \endgroup
+%}%
+%\def\@endnotemark{%
+% \expandafter\cite\expandafter{\@thefnmark}%
+%}%
+% \end{verbatim}
+%    \begin{macrocode}
+\def\rev at citemark#1{%
+ \expandafter\cite\expandafter{\@thefnmark}%
+}%
+\def\rev at endtext#1{%
+ \let\@endnotelabel\@thefnmark
+ \@endnotetext
+}%
+%    \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\endnote at ext}
+% \begin{macro}{\bibdata at app}
+% \begin{macro}{\bibdata at ext}
+% The macro \cmd\endnote at ext\ is the file extension for the auxiliary file holding footnotes.
+% The \cmd\bibdata at app\ and \cmd\bibdata at ext\ macros are used to form the name of a
+% Bib\TeX\ database file holding footnotes.
+%    \begin{macrocode}
+\def\endnote at ext{.end}%
+\def\bibdata at app{Notes}%
+\def\bibdata at ext{bib}%
+%    \end{macrocode}
+% \end{macro}
+% \end{macro}
+% \end{macro}
+%
+% \begin{macro}{\@endnotetext}
+% \changes{4.1a}{2008/01/18}{(AO, 457) Endnotes to be sorted in with numerical citations.}%
+% The procedure \cmd\@endnotetext\ writes a Bib\TeX\ .bib file for the purpose
+% of insering a footnote into the (numbered, unsorted) bibliography.
+%
+% We need to define \cmd\pre at bibdata\ to be 
+% \cmd\jobname\cmd\endnote at ext, and we probably should define \cmd\endnote at ext\ to 
+% be something like ``Notes.bib''.
+%
+% In each case, the material to be written out requires robustification, provided by \cmd\endnote at relax.
+% The commands \cmd\label, \cmd\index, and \cmd\glossary,
+% which are robustified for \cmd\markright\ and \cmd\addcontentsline,
+% are likewise robustified here.
+%
+% Procedure \cmd\@endnotetext at note\ is the alias for \cmd\@endnotetext\ when the endnotes are to be
+% processed separately from the bibliography (generally true when citations are not sorted).
+%    \begin{verbatim}
+%\long\def\unused at endnotetext@note#1{%
+%  \@ifxundefined\@endnoteout{%
+%    \newwrite\@endnoteout
+%    \gdef\endnote at stream{\jobname\endnote at ext}%
+%    \immediate\openout\@endnoteout\endnote at stream\relax
+%  }{}%
+%  \begingroup
+%    \endnote at relax
+%    \immediate\write\@endnoteout{\string\@doendnote{\@endnotelabel}{#1}}%
+%  \endgroup
+%}%
+%    \end{verbatim}
+%
+% \cmd\@doendnote\ is obsolete.
+%    \begin{verbatim}
+%\def\@doendnote#1#2{\bibitem{#1}#2}%
+%    \end{verbatim}
+%
+% \changes{4.1o}{2010/02/05}{(AO, 579) Endnote shall comprise their own Bib\TeX\ entry type: @FOOTNOTE.} 
+% Procedure \cmd\@endnotetext\ is the operative procedure\ when the endnotes are to be
+% collated in with the other references, typically true when numerical citations are being used.
+% The technique involves writing a .bib file (\cmd\@bibdataout) with each endnote typed as 
+% a \texttt{@FOOTNOTE} entry. 
+%
+% Timing note: doing \cmd\openout\ should be deferred until the beginning of the document,
+% as is done here. This allows one to make a format (\filename{.fmt}) file out of this class.
+%    \begin{macrocode}
+\long\def\@endnotetext#1{%
+  \begingroup
+    \endnote at relax
+    \immediate\write\@bibdataout{%
+     @FOOTNOTE{%
+      \@endnotelabel,%
+%    \end{macrocode}
+% The \texttt{key} field is recommended in cases where there is no author (see \filename{btxdoc}).
+%    \begin{macrocode}
+      key="\@endnotelabel",%
+%    \end{macrocode}
+% The \texttt{note} field is simply the content of the footnote.
+%    \begin{macrocode}
+      note="#1"%
+     }%
+    }%
+  \endgroup
+}%
+\newwrite\@bibdataout
+%    \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\endnote at relax}
+% At \cmd\AtBeginDocument\ time, we open the job's \filename{.bib} file.
+%
+% Procedure \cmd\endnote at relax\ robustifies commands that ought not to be expanded when
+% the endnote is written out.
+% Note the similarity between \cmd\endnote at relax\ and  \cmd\protected at write.
+%    \begin{macrocode}
+\def\endnote at relax{%
+ \let\label\relax \let\index\relax \let\glossary\relax
+ \let\cite \relax \let\ref  \relax \let\pageref \relax
+ \let\(    \relax \let\)    \relax \let\\       \relax
+ \let~\relax
+%    \end{macrocode}
+%    \begin{verbatim}
+%\let\protect\noexpand
+%    \end{verbatim}
+%    \begin{macrocode}
+ \let \protect \@unexpandable at protect
+ \newlinechar`\^^M%
+%    \end{macrocode}
+%    \begin{verbatim}
+%\newlinechar`\ %
+%    \end{verbatim}
+%    \begin{macrocode}
+ \let\begin\relax \let\end\relax
+}%
+%    \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\@bibdataout at init}
+% \begin{macro}{\@bibdataout at aps}
+% \changes{4.1o}{2010/02/10}{(AO, 580) Provide a document class option to turn off production of eprint field in bibliography.} 
+% \changes{4.1o}{2010/02/12}{(AO, 580) Control .bst at run time.}%
+% \changes{4.1q}{2010/04/13}{(AO, 588) Only write \revtex-specific BibTeX .bib data if the .bst style is set by REVTeX.}%
+% At \cmd\AtBeginDocument\ time, we open the job's \filename{.bib} file.
+% The hook is available for use by a society to place its own @CONTROL record in the \cmd\@bibdataout\ stream.
+%    \begin{macrocode}
+\appdef\class at documenthook{\@bibdataout at init}%
+\def\@bibdataout at init{%
+ \immediate\openout\@bibdataout\pre at bibdata.\bibdata at ext\relax
+}%
+\def\@bibdataout at rev{%
+ \immediate\write\@bibdataout{%
+%    \end{macrocode}
+% The entry that controls processing of the \filename{.bst} file has entry type \texttt{@CONTROL}. 
+% The citation key (REVTEX41Control) is effectively a version number,
+% which the \filename{.bst} can use to interpret the bib entry.
+%    \begin{macrocode}
+  @CONTROL{%
+   REVTEX41Control%
+%    \end{macrocode}
+% Say if we want the \texttt{eprint} field disabled. Otherwise accept the default of the \filename{.bst}. 
+%    \begin{macrocode}
+   \eprint at enable@sw{}{,eprint=""}%
+  }%
+ }%
+%    \end{macrocode}
+% Place a \cmd\citation\ into the auxiliary file corresponding to this entry. 
+%    \begin{macrocode}
+ \if at filesw
+  \immediate\write\@auxout{\string\citation{REVTEX41Control}}%
+ \fi
+}%
+%    \end{macrocode}
+% \end{macro}
+% \end{macro}
+%
+% \begin{macro}{\printendnotes}
+% \changes{4.1f}{2009/07/10}{(AO, 520) Automatically produce \cs{bibliography} command when needed}%
+% We have removed the endnotes facility from REVTeX, so the \cmd\printendnotes\ command now does nothing.
+%
+% Moving footnotes to the bibliogrphy is now accomplished through 
+% the automatic generation of a job BiB\TeX\ database (called \cmd\pre at bibdata) containing the footnotes.
+%    \begin{macrocode}
+\def\printendnotes{%
+ \class at warn{The \string\printendnotes\space command no longer serves any function. Please remove it from your document.}%
+}%
+%    \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\@endnotesinbib}
+% \begin{macro}{\@endnotesinbibliography}
+% \changes{4.1a}{2008/01/18}{(AO, 457) Endnotes to be sorted in with numerical citations.}%
+% We define a function \cmd\@endnotesinbib,
+% and a variant \cmd\@endnotesinbibliography.
+% The former is invoked at the start of 
+% the end processing for \enve{thebibliography};
+% the latter is a synonym.
+%
+% The procedure typesets the footnotes that are to 
+% appear in the bibliography; the default is to
+% simply arrange for the footnote counter to be
+% reset at the start of the document.
+%
+% Note that this code make the assumption that 
+% the counter used in \env{thebibliography} is \cmd\c at NAT@ctr.
+% \changes{4.1f}{2009/07/10}{(AO, 520) Automatically produce \cs{bibliography} command when needed}%
+%
+% Here is the sole place where \cmd\footinbib at sw\ has an effect, other code simple assigning its value.
+% If it is false, or \cmd\authoryear at sw\ is true, then footnotes are handled by the default mechanism.
+%    \begin{macrocode}
+\def\make at footnote@endnote{%
+ \footinbib at sw{%
+  \authoryear at sw{}{%
+   \ltx at footnote@push
+   \def\thempfn{Note\thefootnote}%
+   \let\ltx at footmark\rev at citemark
+   \let\ltx at foottext\rev at endtext
+%    \end{macrocode}
+% The endnotes facility has been removed. 
+% Also, there is no need to queue up \cmd\auto at bib\ here, since it is always queued up elsewhere. 
+% \changes{4.1f}{2009/07/10}{(AO, 520) Automatically produce \cs{bibliography} command when needed}%
+%    \begin{verbatim}
+%  \appdef\class at enddocumenthook{\auto at bib}%
+%  \let\printendnotes\relax
+%    \end{verbatim}
+%    \begin{macrocode}
+  }%
+ }{}%
+}%
+%    \end{macrocode}
+% 
+%    \begin{macrocode}
+\def\ltx at footnote@push{%
+ \let\ltx at footmark@latex\ltx at footmark
+ \let\ltx at foottext@latex\ltx at foottext
+ \let\thempfn at latex\thempfn
+ \def\ltx at footnote@pop{%
+  \let\ltx at footmark\ltx at footmark@latex
+  \let\ltx at foottext\ltx at foottext@latex
+  \let\thempfn\thempfn at latex
+ }%
+}%
+%    \end{macrocode}
+%
+% The switchover to setting footnotes in the bibliography
+% changes the meaning of \cmd\footnote\ and
+% substitutes the synonym for \cmd\@endnotesinbib. 
+%
+% We arrange for the procedure \cmd\make at footnote@endnote\ to be executed
+% at \cmd\class at documenthook\ time (we mustn't do this earlier because
+% the meaning of \cmd\@footnotemark\ must not be changed before then, 
+% for the sake of \file{ltxutil.dtx}).
+%    \begin{macrocode}
+\appdef\class at documenthook{%
+ \make at footnote@endnote
+}%
+%    \end{macrocode}
+% \end{macro}
+% \end{macro}
+%
+% \begin{macro}{\auto at bib}
+% \begin{macro}{\auto at bib@empty}
+% \begin{macro}{\test at bbl@sw}
+% \begin{macro}{\bibitem at set}
+% \begin{macro}{\auto at bib@innerbib}
+% \begin{macro}{\thebibliography at nogroup}
+% \changes{4.1f}{2009/07/10}{(AO, 520) Automatically produce \cs{bibliography} command when needed}%
+% \changes{4.1n}{2010/01/02}{(AO, 572) Independent footnote counter for title block. Abstract footnote counter shared with body.}%
+% \changes{4.1o}{2010/02/02}{(AO, 575) Automatically incorporate the (Bib\TeX-generated) .bbl into an explicit \env{thebibliography}}%
+% Under some circumstances, we must typeset the bibliography automatically.
+% If the document requires footnotes to be  set in the bibliography (effectively, class option \texttt{footinbib}), 
+% or that frontmatter footnotes be set in the bibliography (effectively, class option \texttt{bibnotes}), 
+% but contains no explicit \cmd\bibliography\ statement.
+%
+% Note that this facility is not able to work more than once per document.
+% If multiple bibliographys are required (e.g., per article), it will be the responsibility of the journal style
+% to restore \cmd\auto at bib\ to its original meaning so it can be re-invoked.
+% 
+% In procedure \cmd\auto at bib, we first test for the presence of frontmatter footnotes deferred to the bibliography.
+% If none, we further test for the presence of \cmd\bibitem\ commands in the job's \filename{.bbl} file.
+% If either condition is met, we ask for a bibliography. 
+% We know that the document itself lacks a \cmd\bibliography\ statement, 
+% so we know the argument of the \cmd\bibliography\ that we will issue.
+%    \begin{macrocode}
+\def\auto at bib{%
+ \@ifx at empty\@FMN at list{%
+  \footinbib at sw{%
+   \@ifnum{\csname c@\@mpfn\endcsname>\z@}{%
+    \true at sw
+   }{%
+    \test at bbl@sw
+   }%
+  }{%
+   \test at bbl@sw
+  }%
+ }{%
+  \true at sw
+ }%
+ {%
+  \bibliography{}%
+ }{}%
+}%
+\def\auto at bib@empty{%
+ \let\auto at bib\@empty
+}%
+%    \end{macrocode}
+% Testing the \filename{.bbl} file involves defanging all expected commands
+% and processing that file inside a box register (that will be simply discarded).
+% We provide a new meaning for the \cmd\bibitem\ command: it queues a Boolean.
+%    \begin{macrocode}
+\def\test at bbl@sw{%
+ \setbox\z@\vbox\bgroup
+  \let\providecommand\providecommand at j@nk
+  \let\bibfield\@gobbletwo
+  \let\bibinfo\@gobbletwo
+  \let\translation\@gobble
+  \let\BibitemOpen\@empty
+  \let\bibitemStop\@empty
+  \let\bibitemNoStop\@empty
+  \let\EOS\@empty
+  \let\BibitemShut\@gobble
+  \let\bibAnnoteFile\@gobbletwo
+  \let\bibAnnote\@gobblethree
+  \let\textbf\@gobble
+  \let\emph\@gobble
+  \@booleanfalse\bibitem at sw
+  \let\bibitem\bibitem at set
+  \auto at bib@innerbib
+  \bibitem at sw{\aftergroup\true at sw}{\aftergroup\false at sw}%
+ \egroup
+}%
+%    \end{macrocode}
+% The \cmd\bibitem at set\ is an alias for \cmd\bibitem\ for the purpose of detecting a non-trivial bibliography.
+%    \begin{macrocode}
+\newcommand\bibitem at set[1][]{%
+ \bibitem at sw{}{%
+  \@booleantrue\bibitem at sw
+  \aftergroup\@booleantrue\aftergroup\bibitem at sw
+ }%
+}%
+%    \end{macrocode}
+% The \cmd\auto at bib@innerbib\ procedure reads in the \filename{.bbl} file (if it exists)
+% within a context where its \env{thebibliography} environment does nothing, not even establishing a group. 
+%    \begin{macrocode}
+\def\auto at bib@innerbib{%
+ \begingroup
+  \let at environment{thebibliography}{thebibliography at nogroup}%
+  \bibliography{}%
+ \endgroup
+}%
+%    \end{macrocode}
+% Environment \env{thebibliography at nogroup} is an alias of the \env{thebibliography} environment that cancels itself. 
+% It assumes that it is called within a \env{thebibliography} environment. 
+%    \begin{macrocode}
+\def\thebibliography at nogroup#1{%
+ \endgroup
+ \def\@currenvir{thebibliography}%
+}%
+\def\endthebibliography at nogroup{\begingroup}%
+%    \end{macrocode}
+% The following should be part of \filename{ltxutil}.
+%    \begin{macrocode}
+\long\def \@gobblethree #1#2#3{}%
+\def\providecommand at j@nk#1[#2]{%
+ \@ifnum{#2=\z@}{\def\j at nk}{%
+  \@ifnum{#2=\@ne}{\def\j at nk##1}{%
+   \@ifnum{#2=\tw@}{\def\j at nk##1##2}{%
+    \@ifnum{#2=\thr@@}{\def\j at nk##1##2##3}{%
+    }%
+   }%
+  }%
+ }%
+}%
+%    \end{macrocode}
+% \end{macro}
+% \end{macro}
+% \end{macro}
+% \end{macro}
+% \end{macro}
+% \end{macro}
+%
+% \section{Initial setup}
+% 
+% The standard LaTeX document classes execute certain commands 
+% that are best deferred until \cmd\class at documenthook\ time.
+% Here, we effectively split \cmd\pagenumbering\ into two halves,
+% with a default definition for \cmd\thepage
+% and an initialization of \cmd\c at page\ at \cmd\class at documenthook\ time.
+%
+% The meaning of \cmd\thepage\ can be overridden by society, journal, or
+% anywhere within the document pramble, and the counter itself will be 
+% preset at the beginning of the document. 
+%    \begin{macrocode}
+\def\thepage{\@arabic\c at page}%
+%    \end{macrocode}
+% \changes{4.0b}{1999/06/20}{Defer assignment until \cs{AtBeginDocument} time.}
+% Note that this code is executed at \cmd\setup at hook\ time 
+% to allow for the possibility of overrides by packages like \classname{geometry}.
+%    \begin{macrocode}
+\appdef\setup at hook{%
+ \tabbingsep \labelsep
+ \leftmargin\leftmargini
+ \labelwidth\leftmargin\advance\labelwidth-\labelsep
+ \let\@listi\@listI
+ \@listi
+}%
+%    \begin{macrocode}
+%
+% We ensure that the ``environment'' component mark (implemented by \file{ltxgrid.dtx}) 
+% is initialized properly (via a hook, itself defined via \file{ltxutil.dtx}). 
+%    \begin{macrocode}
+\appdef\class at documenthook{%
+ \global\c at page\@ne
+ \def\curr at envir{document}%
+ \mark at envir{\curr at envir}%
+}%
+%    \end{macrocode}
+%
+% \begin{macro}{\open at onecolumn}%
+% \begin{macro}{\open at column@two}%
+% \changes{4.0c}{1999/11/13}{Grid changes with ltxgrid}
+% \changes{4.0d}{2000/04/10}{Also alter how lists get indented.}
+% When setting the column grid, we have to override the procedure
+% for formatting lists. 
+% Because \cmd\twocolumngrid\ requires rebalancing columns at some points, 
+% typesetting must employ only the manipulation of 
+% \cmd\leftskip\ and \cmd\rightskip, and must avoid the use of
+% \cmd\moveleft, \cmd\moveright, and \cmd\parshape. 
+%
+% It is one of the stranger features of \TeX\ that these two separate
+% mechanisms exist. The latter three have the effect of adding things to the 
+% Main Vertical List that cannot be removed and later added back with all their
+% properties intact.
+%
+% In detail, \cmd\moveleft, say, adds a box to the MVL with
+% its reference point shifted horizontally by some amount relative to the 
+% reference point of the enclosing list. If that box is removed from the 
+% MVL (via a \cmd\lastbox\ operation in the output routine), and later
+% thrown back to the MVL, the shift of the box will have been ``forgotten'' by \TeX.
+% This is a bug, but not one ``acceptible to D. E. Knuth'', so it will never be fixed. 
+%
+%    \begin{macrocode}
+\def\open at onecolumn{%
+ \open at column@one\@ne
+ \set at colht
+ \@floatplacement
+ \@dblfloatplacement
+}%
+\def\open at twocolumn{%
+ \open at column@mlt\tw@
+ \set at colht
+ \@floatplacement
+ \@dblfloatplacement
+ \sloppy
+ \let\set at listindent\set at listindent@
+}%
+%    \end{macrocode}
+% \end{macro}
+% \end{macro}
+%
+% \section{\cs{appendix}}
+%
+%    \begin{macrocode}
+%\newif\ifappendixon
+%    \end{macrocode}
+% Note that, within appendices, 
+% equations are numbered within sections (appendices).
+%    \begin{macrocode}
+\def\appendix{%
+ \par
+%\appendixontrue
+ \setcounter{section}\z@
+ \setcounter{subsection}\z@
+ \setcounter{subsubsection}\z@
+ \def\thesubsection{\arabic{subsection}}%
+ \def\thesubsubsection{\alph{subsubsection}}%
+ \@addtoreset{equation}{section}%
+ \def\theequation at prefix{\thesection}%
+ \addtocontents{toc}{\protect\appendix}%
+ \@ifstar{%
+  \def\thesection{\unskip}%
+  \def\theequation at prefix{A.}%
+ }{%
+  \def\thesection{\Alph{section}}%
+ }%
+}%
+%    \end{macrocode}
+%
+% \section{Changing the page grid}
+% \changes{4.0b}{1999/06/20}{Define three separate environments, defer assignment to \cs{AtBeginDocument} time.}
+%
+% \subsection{Avoiding Grid Changes}%
+%
+% In preprint styles, ``wide text'' is a no-op, and the title page
+% processing involves no grid change.
+% 
+% \begin{macro}{\title at column}%
+% \begin{macro}{\close at column}%
+% Provide default meanings for \cmd\title at column\ and \cmd\close at column,
+% in case they were never defined. 
+% Note that the society or journal substyle may define 
+% \cmd\title at column\ or \cmd\close at column: this code will not override. 
+%    \begin{macrocode}
+\def\title at column#1{%
+ \minipagefootnote at init
+ #1%
+ \minipagefootnote at foot
+}%
+\def\close at column{%
+ \newpage
+}%
+%    \end{macrocode}
+% \end{macro}
+% \end{macro}
+%
+%
+% \subsection{Galley Style: Margin Changes}%
+% A variant of preprint processing. Emulate journal appearance somewhat.
+%
+% \begin{environment}{widetext at galley}
+% DPC: We're in galley style so do a lob sided display environment.
+%
+% QUERY: How can we be sure that we are in galley style?
+% ANSWER: as noted elsewhere, require that both \cmd\twocolumn at sw\ and \cmd\preprintsty at sw\ be false.
+%    \begin{macrocode}
+\def\galley at outdent{\rightmargin-\columnwidth\advance\rightmargin-\columnsep}%
+\let\widetext at outdent\@empty
+\newenvironment{widetext at galley}{%
+  \list{}{%
+    \topsep        \z at skip
+    \listparindent \parindent
+    \itemindent    \parindent
+    \leftmargin    \z@
+    \parsep        \z@\@plus\p@
+    \widetext at outdent
+    \relax
+  }%
+  \item\relax
+}{
+  \endlist
+}%
+%    \end{macrocode}
+% \end{environment}
+%
+%
+% \subsection{Grid Changing Via \classname{ltxgrid}}%
+%
+% In case \classoption{twocolumngrid} has been invoked,
+% switch column grid using the column grid-changing commands.
+% Supply stub definitions of those commands here.
+% \changes{4.0c}{1999/11/13}{grid changes with ltxgrid}
+%
+% \begin{macro}{\title at column@grid}%
+% \begin{macro}{\close at column@grid}%
+% The title block always starts at the top of a new page.
+% \changes{4.0c}{1999/11/13}{grid changes with ltxgrid}
+%
+% Note that, for the procedure \cmd\close at column@grid,
+% we balance columns by switching to the one-column page grid. 
+%    \begin{macrocode}
+\def\title at column@grid#1{%
+ \minipagefootnote at init
+  \onecolumngrid
+  \begingroup
+   \let\@footnotetext\frontmatter at footnotetext
+%<ignore>  \let\set at footnotewidth\set at footnotewidth@two
+   \ltx at no@footnote
+   #1%
+  \endgroup
+  \twocolumngrid
+ \minipagefootnote at foot
+}%
+\def\close at column@grid{%
+ \balancelastpage at sw{%
+  \onecolumngrid
+%<ignore>  \twocolumngrid
+ }{}%
+}%
+%    \end{macrocode}
+% \end{macro}
+% \end{macro}
+%
+% \begin{environment}{widetext at grid}
+% \changes{4.0c}{1999/11/13}{grid changes via ltxgrid procedures}
+% \changes{4.0e}{2000/11/21}{adornments above and below.}
+% \changes{4.1g}{2009/10/07}{(AO, 525) Remove phantom paragraph above display math that is given in vertical mode}%
+% We slip into the one-column page grid
+% within the scope of this environment.
+%
+% Note that we set adornments above and below the \env{widettext}.
+% These are set as leaders, so they will disappear at a page break.
+% \changes{4.1n}{2010/01/02}{(AO) fine-tune spacing above and below widetext}%
+%    \begin{macrocode}
+\newenvironment{widetext at grid}{%
+  \par\ignorespaces
+  \setbox\widetext at top\vbox{%
+%<ignore>  \vskip15\p@
+   \hb at xt@\hsize{%
+    \leaders\hrule\hfil
+    \vrule\@height6\p@
+   }%
+%<ignore>  \vskip6\p@
+  }%
+  \setbox\widetext at bot\hb at xt@\hsize{%
+    \vrule\@depth6\p@
+    \leaders\hrule\hfil
+  }%
+  \onecolumngrid
+  \vskip10\p@
+  \dimen@\ht\widetext at top\advance\dimen@\dp\widetext at top
+  \cleaders\box\widetext at top\vskip\dimen@
+%<ignore> \let\set at footnotewidth\set at footnotewidth@two
+  \vskip6\p@
+  \prep at math@patch
+}{%
+  \par
+  \vskip6\p@
+  \setbox\widetext at bot\vbox{%
+   \hb at xt@\hsize{\hfil\box\widetext at bot}%
+%<ignore>  \vskip14\p@
+  }%
+  \dimen@\ht\widetext at bot\advance\dimen@\dp\widetext at bot
+  \cleaders\box\widetext at bot\vskip\dimen@
+  \vskip8.5\p@
+  \twocolumngrid\global\@ignoretrue
+  \@endpetrue
+}%
+\newbox\widetext at top
+\newbox\widetext at bot
+%    \end{macrocode}
+% \end{environment}
+%
+%
+% Decide, finally, how the page grid is to be manipulated.
+%    \begin{macrocode}
+\def\set at page@grid{%
+ \twocolumn at sw{%
+%    \end{macrocode}
+% The following two assignments determine what procedures are to be executed when 
+% the footnote set width is calculated, and how footnotes are to be composed at the bottom of the page. 
+% A society or journal wishing to do otherwise will override this code. 
+%    \begin{macrocode}
+  \let\set at footnotewidth\set at footnotewidth@two
+  \let\compose at footnotes\compose at footnotes@two
+  \let at environment{widetext}{widetext at grid}%
+  \let\title at column\title at column@grid
+  \let\close at column\close at column@grid
+ }{%
+  \let at environment{widetext}{widetext at galley}%
+  \preprintsty at sw{%
+%    \end{macrocode}
+% Change the page grid not at all.
+%    \begin{macrocode}
+  }{%
+%    \end{macrocode}
+% If we are galley style, change the page margin only.
+%    \begin{macrocode}
+   \galley at sw{%
+    \let\widetext at outdent\galley at outdent
+   }{}%
+  }%
+ }%
+}%
+\appdef\setup at hook{\set at page@grid}%
+%    \end{macrocode}
+%
+% \section{Old font commands}
+%
+%    \begin{macrocode}
+\DeclareOldFontCommand{\rm}{\normalfont\rmfamily}{\mathrm}
+\DeclareOldFontCommand{\sf}{\normalfont\sffamily}{\mathsf}
+\DeclareOldFontCommand{\tt}{\normalfont\ttfamily}{\mathtt}
+\DeclareOldFontCommand{\bf}{\normalfont\bfseries}{\mathbf}
+\DeclareOldFontCommand{\it}{\normalfont\itshape}{\mathit}
+\DeclareOldFontCommand{\sl}{\normalfont\slshape}{\@nomath\sl}
+\DeclareOldFontCommand{\sc}{\normalfont\scshape}{\@nomath\sc}
+\DeclareRobustCommand*\cal{\@fontswitch\relax\mathcal}
+\DeclareRobustCommand*\mit{\@fontswitch\relax\mathnormal}
+%    \end{macrocode}
+%
+% \section{English-Language Texts}
+% As this class is just for English language journals, we
+% could hardwire these texts,
+% but to make it easier to use this as a
+% basis for the code for similar journal styles, separate out all the
+% fixed text strings into babel-style macros of the form 
+% |\|\ldots|name|
+%
+% Note: for babel compatability, use version 1999/05/05 v3.6x or later.
+%
+% Some of these might need changing in the society-specific code.
+%
+% \begin{macro}{\today}
+% Procedure \cmd\today\ is used in the article class, but not in 
+% this document class.
+%    \begin{macrocode}
+\def\today{\ifcase\month\or
+  January\or February\or March\or April\or May\or June\or
+  July\or August\or September\or October\or November\or December\fi
+  \space\number\day, \number\year}
+%    \end{macrocode}
+%    \end{macro}
+%
+% \begin{macro}{\notesname}
+% Text entity \cmd\notesname\ had been used in \cmd\printendnotes.
+% \changes{4.1f}{2009/07/10}{(AO, 520) Automatically produce \cs{bibliography} command when needed}%
+% However, we have removed the endnotes facility from REVTeX.
+% 
+%    \begin{verbatim}
+%\def\notesname{Notes}
+%    \end{verbatim}
+%    \end{macro}
+%
+% \begin{macro}{\partname}
+% Text entity \cmd\partname\ is used in \cmd\@part.
+%    \begin{macrocode}
+\def\partname{Part}
+%    \end{macrocode}
+%    \end{macro}
+%
+% \begin{macro}{\tocname}
+% Text entity \cmd\tocname\ is used in \cmd\tableofcontents,
+% as defined in the standard \LaTeX\ book class.
+%    \begin{macrocode}
+\def\tocname{Contents}
+%    \end{macrocode}
+%    \end{macro}
+%
+% \begin{macro}{\lofname}
+% Text entity \cmd\lofname\ is used in \cmd\listoffigures,
+% as defined in the standard \LaTeX\ book class.
+%    \begin{macrocode}
+\def\lofname{List of Figures}
+%    \end{macrocode}
+%    \end{macro}
+%
+% \begin{macro}{\lotname}
+% Text entity \cmd\lotname\ is used in \cmd\listoftables,
+% as defined in the standard \LaTeX\ book class.
+%    \begin{macrocode}
+\def\lotname{List of Tables}
+%    \end{macrocode}
+%    \end{macro}
+%
+% \begin{macro}{\refname}
+% Text entity \cmd\refname\ is used in \env{thebibliography}.
+%    \begin{macrocode}
+\def\refname{References}
+%    \end{macrocode}
+%    \end{macro}
+%
+% \begin{macro}{\indexname}
+% Text entity \cmd\indexname\ is used in \env{theindex},
+% as defined in the standard \LaTeX\ book class.
+%    \begin{macrocode}
+\def\indexname{Index}
+%    \end{macrocode}
+%    \end{macro}
+%
+% \begin{macro}{\figurename}
+% \changes{4.0b}{1999/06/20}{Added localization of \cs{figuresname}}
+% Text entity \cmd\figurename\ is used in \env{figure},
+% \cmd\figuresname\ in \cmd\printfigures.
+%    \begin{macrocode}
+\def\figurename{FIG.}
+\def\figuresname{Figures}%
+%    \end{macrocode}
+%    \end{macro}
+%
+% \begin{macro}{\tablename}
+% \changes{4.0b}{1999/06/20}{Added localization of \cs{tablesname}}
+% Text entity \cmd\tablename\ is used in \env{table},
+% \cmd\tablesname\ in \cmd\printtables.
+%    \begin{macrocode}
+\def\tablename{TABLE}
+\def\tablesname{Tables}%
+%    \end{macrocode}
+%    \end{macro}
+%
+% \begin{macro}{\abstractname}
+% Text entity \cmd\abstractname\ is used in \env{abstract}.
+%    \begin{macrocode}
+\def\abstractname{Abstract}
+%    \end{macrocode}
+%    \end{macro}
+%
+% \begin{macro}{\appendixesname}
+% \begin{macro}{\appendixname}
+% Text entity \cmd\appendixesname\ is used in TOC.
+%    \begin{macrocode}
+\def\appendixesname{Appendixes}%
+\def\appendixname{Appendix}%
+%    \end{macrocode}
+%    \end{macro}
+%    \end{macro}
+%
+% \begin{macro}{\acknowledgmentsname}
+% Text entity \cmd\acknowledgmentsname\ is used in \env{acknowledgments}.
+%    \begin{macrocode}
+\def\acknowledgmentsname{Acknowledgments}
+%    \end{macrocode}
+%    \end{macro}
+%
+% \begin{macro}{\journalname}
+% This should be set by the society journal options, eg `pra'.
+%    \begin{macrocode}
+\def\journalname{??}
+%    \end{macrocode}
+%    \end{macro}
+%
+% \begin{macro}{\copyrightname}
+% Default layout does not assign copyright, but a journal that wants
+% to might use this.
+%    \begin{macrocode}
+\def\copyrightname{??}
+%    \end{macrocode}
+%    \end{macro}
+%
+% \begin{macro}{\andname}
+% The text string ``and'' for use in author lists.
+%    \begin{macrocode}
+\def\andname{and}
+%    \end{macrocode}
+%    \end{macro}
+%
+% \begin{macro}{\@pacs at name}
+% \begin{macro}{\@keys at name}
+% The text string prepended to PACS numbers, resp. to keywords.
+%    \begin{macrocode}
+\def\@pacs at name{PACS numbers: }%
+\def\@keys at name{Keywords: }%
+%    \end{macrocode}
+%    \end{macro}
+%    \end{macro}
+%
+% \begin{macro}{\ppname}
+% The text string ``pp'' for use in page ranges.
+%    \begin{macrocode}
+\def\ppname{pp}
+%    \end{macrocode}
+%    \end{macro}
+%
+% \begin{macro}{\numbername}
+% The text string ``number'' for use in article reference.
+%    \begin{macrocode}
+\def\numbername{number}
+%    \end{macrocode}
+%    \end{macro}
+%
+% \begin{macro}{\volumename}
+% The text string ``volume'' for use in article reference.
+%    \begin{macrocode}
+\def\volumename{volume}
+%    \end{macrocode}
+%    \end{macro}
+%
+% \begin{macro}{\Dated at name}
+% \begin{macro}{\Received at name}
+% \begin{macro}{\Revised at name}
+% \begin{macro}{\Accepted at name}
+% \begin{macro}{\Published at name}
+% These texts are used in the \cmd\date, et al. commands.
+%    \begin{macrocode}
+\def\Dated at name{Dated: }%
+\def\Received at name{Received }%
+\def\Revised at name{Revised }%
+\def\Accepted at name{Accepted }%
+\def\Published at name{Published }%
+%    \end{macrocode}
+%    \end{macro}
+%    \end{macro}
+%    \end{macro}
+%    \end{macro}
+%    \end{macro}
+%
+% \section{Legacy Commands}
+% We define some commands left over from version 3.1, or give default meanings.
+% Some definitions can be overridden
+% in the document preamble or in included packages.
+%
+% Note on the namespace: command names like \cmd\REV@\emph{name} are used here,
+% because it is not clear that any of this code is generally useful.
+%    \begin{macrocode}
+\def\address{\replace at command\address\affiliation}%
+\def\altaddress{\replace at command\altaddress\altaffiliation}%
+\newenvironment{references}{%
+ \class at warn@end{The references environment is not supported; use thebibliography instead.}
+ \gdef\references{\thebibliography{}}\references
+}{%
+ \endthebibliography
+}%
+\def\draft{%
+ \class at warn@end{Command \string\draft\space is obsolete;^^JInvoke option draft instead.}%
+ \@booleantrue\draft at sw
+}%
+\def\tighten{%
+ \class at warn@end{Command \string\tighten\space is obsolete;^^JInvoke option tightenlines instead.}%
+ \@booleantrue\tightenlines at sw
+}%
+\def\tableline{%
+ \noalign{%
+  \class at warn@end{Command \string\tableline\space is obsolete;^^JUse \string\colrule\space instead.}%
+  \global\let\tableline\colrule
+ }%
+ \tableline
+}%
+\def\case{\replace at command\case\frac}%
+\def\slantfrac{\replace at command\slantfrac\frac}%
+\def\tablenote{\replace at command\tablenote\footnote}%
+\def\tablenotemark{\replace at command\tablenotemark\footnotemark}%
+\def\tablenotetext{\replace at command\tablenotetext\footnotetext}%
+% Lose the following definition:
+\DeclareRobustCommand\REV at text[1]{%
+ \relax
+ \ifmmode
+  \mathchoice
+   {\hbox{{\everymath{\displaystyle     }#1}}}%
+   {\hbox{{\everymath{\textstyle        }#1}}}%
+   {\hbox{{\everymath{\scriptstyle      }\let\f at size\sf at size\selectfont#1}}}%
+   {\hbox{{\everymath{\scriptscriptstyle}\let\f at size\ssf at size\selectfont#1}}}%
+  \glb at settings
+ \else
+  \mbox{#1}%
+ \fi
+}%
+% Lose the following definition:
+\DeclareRobustCommand\REV at bbox[1]{%
+ \relax
+ \ifmmode
+  \mathchoice
+   {\hbox{{\everymath{\displaystyle     }\boldmath$#1$}}}%
+   {\hbox{{\everymath{\textstyle        }\boldmath$#1$}}}%
+   {\hbox{{\everymath{\scriptstyle      }\boldmath$#1$}}}%
+   {\hbox{{\everymath{\scriptscriptstyle}\boldmath$#1$}}}%
+  \glb at settings
+ \else
+  \mbox{#1}%
+ \fi
+}%
+\DeclareRobustCommand\REV at bm[1]{%
+ \class at warn@end{To use \string\bm, please load the bm package!}%
+ \global\let\bm\relax
+}%
+\def\FL{\obsolete at command\FL}%
+\def\FR{\obsolete at command\FR}%
+\def\narrowtext{\obsolete at command\narrowtext}%
+\def\mediumtext{\obsolete at command\mediumtext}%
+\newenvironment{quasitable}{%
+ \let at environment{tabular}{longtable}%
+}{%
+}%
+%    \end{macrocode}
+%
+% \begin{macro}{\text}
+% \begin{macro}{\bm}
+% \begin{macro}{\bibinfo}
+% \begin{macro}{\eprint}
+% \begin{macro}{\url}
+% 
+% If not otherwise defined, give default meanings to certain commands.
+% \changes{4.0d}{2000/04/10}{eprint takes an optional argument, syntactical only in this case.}
+%FIXME: \cmd\bibinfo?
+%    \begin{macrocode}
+\let\text\REV at text
+\let\bm\REV at bm
+\appdef\setup at hook{%
+ \providecommand\bibinfo[2]{#2}%
+ \providecommand\eprint[2][]{#2}%
+%\providecommand\url[1]{#1}%
+}%
+%    \end{macrocode}
+% \end{macro}
+% \end{macro}
+% \end{macro}
+% \end{macro}
+% \end{macro}
+%
+% \begin{macro}{\bbox}
+% 
+%    \begin{macrocode}
+\def\bbox#1{%
+ \class at warn@end{\string\bbox\space is obsolete,^^Jload the bm package and use \string\bm\space instead.}%
+ \global\let\bbox\relax
+}%
+%    \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\mathletters}
+%
+%    \begin{macrocode}
+\newenvironment{mathletters}{%
+ \class at warn@end{Environment {mathletters} is obsolete;^^Jload the amsmath package and use {subequations}!}%
+ \global\let\mathletters\@empty
+}{%
+}%
+%    \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\eqnum}
+% 
+%    \begin{macrocode}
+\def\eqnum#1{%
+ \class at warn@end{\string\eqnum\space is obsolete, load the amsmath package and use \string\tag!}%
+ \global\let\eqnum\@gobble
+}%
+%    \end{macrocode}
+% \end{macro}
+%
+% We read in the symbol definitions.
+%    \begin{macrocode}
+\appdef\rtx at require@packages{%
+ \RequirePackage{revsymb4-1}%
+}%
+\appdef\class at documenthook{\revsymb at inithook}%
+%    \end{macrocode}
+%
+% \section{Patches for lineno.sty}
+%
+% The \classname{lineno} package detects the case where the package has been loaded
+% and the document invokes \cmd\linelabel, but the \cmd\linenumbers\ command has not been
+% issued: it treats this case as an error. 
+%
+% It is wrong for validity of document syntax to be dependent upon package semantics: 
+% we make the condition a warning rather than an error.  
+% 
+%    \begin{macrocode}
+\def\@LN at LLerror@org{%
+ \PackageError{lineno}{%
+  \string\linelabel\space without \string\linenumbers
+ }{% 
+  Just see documentation. (New feature v4.11)%
+ }%
+ \@gobble
+}%
+\def\@LN at LLerror@ltx{%
+ \PackageWarning{lineno}{%
+  To make the \string\linelabel\space command work, you must issue the \string\linenumbers\ command 
+ }%
+ \@gobble
+}%
+%    \end{macrocode}
+% 
+% If appropriate, enable line numbering within the abstract. 
+%
+% This mechanism applies generally:
+% Create the box in a context in which the meaning of \cmd\par\ has been patched by \classname{lineno},
+% then \cmd\unvbox\ the box in a context where \cmd\set at linepenalties\ has been executed, and 
+% follow up with \cmd\@linenumberpar, which forces a visit to the output routine just there.
+% Note that here, we have to de-fang \cmd\@LN at parpgbrk, which would otherwise causes the appearance
+% of a box with depth -1000 points. Go figure.
+%    \begin{macrocode}
+\appdef\class at documenthook{%
+ \@ifx{\@LN at LLerror\@LN at LLerror@org}{%
+  \class at info{Overriding \string\@LN at LLerror}%
+  \let\@LN at LLerror\@LN at LLerror@ltx
+ }{}%
+ \@ifpackageloaded{lineno}{%
+  \@ifxundefined{\set at linepenalties}{}{%
+   \def\prep at absbox{\set at linepenalties}%
+   \def\post at absbox{\let\@LN at parpgbrk\@empty\@linenumberpar}%
+  }%
+ }{}%
+}%
+%    \end{macrocode}
+%
+% One may well ask: how to obtain line numbering within an alignment in a float?
+% This objective, along with line numbering within footnotes, would require extraordinary measures.
+% The float would have to be thrown onto the MVL in order to acquire its line numbers, but
+% that fragment of MVL would then have to be protected from being shipped out.
+% The question of how to coordinate those lines' numbers with those of lines in the MVL would 
+% also require dealing with.
+%
+% \section{Endgame for the Document Class}
+%
+% We provide for a ``job macro package'' that can override
+% definitions and assignments made by the class or any other packages it loads.
+%
+% \subsection{Job Macro Package}
+% You can create a ``job macro package'' for your document
+% that will be read in automatically every time
+% your document is processed.
+% Thus, if your job is a file called \file{myarticle.tex},
+% then the file \file{myarticle.rty} will be read in
+% just the same as if you had placed a 
+% \cmd\usepackage|{myarticle.rty}| statement
+% immediately following your \cmd\documentclass\ statement.
+%
+% Within your \file{.rty} file,
+% you can define and use control sequence names that use the |@| character
+% and you can override any of the definitions or assignments made 
+% by the \revtex\ document class or the selected journal substyle.
+% That is, you have the power to really mess things up badly.
+%
+% If you choose to have a job macro package, you are well 
+% advised to read the \LaTeX\ guide to document classes,
+% \file{clsguide.tex} or read up on the subject 
+% in a book like the \LaTeX\ Companion.
+%
+% The file \file{template.rty} contains a template for
+% creating your own job macro package.
+%
+%    \begin{macrocode}
+\appdef\rtx at require@packages{%
+ \InputIfFileExists{\jobname.rty}{}{}%
+}%
+%    \end{macrocode}
+%
+% \subsection{Endgame Processing for the Document Class}
+%
+% The remaining steps in processing the document class involve
+% determining the needed society, journal, and pointsize from 
+% the document's class options and inputting the needed files or
+% executing the indicated procedures. 
+%
+% Note that the society file is expected to declare options that will
+% allow us to determine the journal involved, and the society and journal
+% themselves determine the which pointsize options are declared, along with
+% their meanings. 
+% 
+% Note also that required packages are read in only after the document options
+% have been processed, because the latter can affect the former. 
+% 
+% Finally, the setup code is executed: this is code that depends on the 
+% meanings of the switches we define and on the code within the packages we load. 
+%
+% Note that there are other hooks in use: \cmd\document at inithook, which is 
+% executed right at the beginning of the document, and \cmd\class at documenthook, 
+% which serves as a vehicle for any \cmd\AtBeginDocument\ code we might wish to
+% execute. 
+%
+%FIXME: use \cmd\class at documenthook\ only for things that bear on the MVL; 
+% use \cmd\document at inithook\ for all patches to procedures defined within the preamble. 
+%
+% Remember that \classname{natbib} changes its state at \cmd\AtBeginDocument\ time,
+% so we have to install our own code at a later point in the processing.
+%
+% We determine the proper \cmd\@society\ by examining the document's class options. 
+%    \begin{macrocode}
+\@parse at class@options at society
+%    \end{macrocode}
+%
+% Then, we input the society's substyle
+% (which may in turn lead to loading a journal substyle or a pointsize substyle). 
+% The substyle should not assume the value of any class option: 
+% instead, it should install code into \cmd\setup at hook. 
+%    \begin{macrocode}
+\@process at society{aps}%
+%    \end{macrocode}
+%
+% Now that the society has defined the class options relating to journals,
+% and has defined \cmd\@journal at default, we can process the journal substyle. 
+% We parse the options for one that sets \cmd\@journal.
+%    \begin{macrocode}
+\@parse at class@options@\@journal
+%    \end{macrocode}
+% And we process the journal. 
+% Note that \emph{it is an error} for a society file to fail to define
+% \cmd\@journal at default.
+%
+%    \begin{macrocode}
+\expandafter\@process at journal\expandafter{\@journal at default}%
+%    \end{macrocode}
+%
+% Now that the society and journal have finished defining any options relating to 
+% point size, we process the class options for any that set \cmd\@pointsize.
+%    \begin{macrocode}
+\@parse at class@options@\@pointsize
+%    \end{macrocode}
+% And we process the pointsize.
+% Note that it is an error for the society and journal to leave \cmd\@pointsize at default\ 
+% undefined at this point, however, the journal may have overriden the assignment of the society. 
+%
+%    \begin{macrocode}
+\expandafter\@process at pointsize\expandafter{\@pointsize at default}%
+%    \end{macrocode}
+%
+% Next, we process the class options for once and all. 
+% Doing so sets values for some of the Booleans that were introduced along with
+% the \cmd\DeclareOption\ statements above. 
+%
+%CHANGE: We process the options in the order declared in the document; this 
+% gives the document greater control. 
+%
+%    \begin{macrocode}
+\@options
+%    \end{macrocode}
+% 
+% Now that the class options have been processed, we can load all the 
+% packages that we know need loading.
+%    \begin{macrocode}
+\rtx at require@packages
+%    \end{macrocode}
+%
+% At this point, the society substyle, the journal substyle, and the 
+% pointsize have all been processed, along with the document class options.
+% Some of these have left things for later; we do these now.
+%
+% \begin{macro}{\setup at hook}
+%
+% This portion of the code for this class file
+% \emph{must} appear at the very end:
+% The procedure 
+% \cmd\setup at hook\
+% should be executed at the very end of the class file. 
+% Any code that relies on the value of any of the \texttt{@sw} switches
+% or will patch the code of one of the required packages
+% should be executed here. 
+%
+%    \begin{macrocode}
+\setup at hook
+%    \end{macrocode}
+% \end{macro}
+%
+%
+% Warn if past maturation date. This code to be enabled only in beta software.
+% \changes{4.1f}{2009/07/11}{(AO, 522) Warn if software is expired}%
+% \changes{4.1h}{2009/10/09}{(AO) Remove expiry code in the release software}%
+%    \begin{macrocode}
+%<*ignore>
+ \def\rtx at fin@year{2010}%
+ \def\rtx at fin@month{01}%
+ \def\rtx at fin@day{01}%
+ \def\rtx at fin@warn{%
+  \@ifnum{\rtx at fin@year>\the\year\relax}{\true at sw}{%
+   \@ifnum{\rtx at fin@month>\the\month\relax}{\true at sw}{%
+    \@ifnum{\rtx at fin@day>\the\day\relax}{\true at sw}{%
+     \false at sw
+    }%
+   }%
+  }%
+  {%
+   \class at info{Beta software expires \rtx at fin@year-\rtx at fin@month-\rtx at fin@day; updates available at http://publish.aps.org/revtex4/}%
+  }{%
+   \class at warn{Outdated software expired \rtx at fin@year-\rtx at fin@month-\rtx at fin@day; please retrieve an update at http://publish.aps.org/revtex4/}%
+  }%
+ }%
+%</ignore>
+%    \end{macrocode}
+% In shipping (non-beta) software, the following line should be commented out.
+% \changes{4.1f}{2009/07/11}{(AO, 522) Warn if software is expired}%
+%    \begin{verbatim}
+%\appdef\class at enddocumenthook{\rtx at fin@warn}%
+%    \end{verbatim}
+%
+% End of the class file.
+%    \begin{macrocode}
+%</package>
+%    \end{macrocode}
+%
+%
+% \section{Symbols: the \texttt{revsymb} module}
+% We immediately define a utility command: this module's warning.
+%    \begin{macrocode}
+%<*revsymb>
+\def\REVSYMB at warn#1{\PackageWarningNoLine{revsymb}{#1}}%
+%    \end{macrocode}
+%
+% \begin{macro}{\lambdabar}
+%    \begin{macrocode}
+\DeclareRobustCommand\lambdabar{%
+  \bgroup
+    \def\@tempa{%
+      \hbox{%
+        \raise.73\ht\z@
+        \hb at xt@\z@{%
+          \kern.25\wd\z@
+          \vrule \@width.5\wd\z@\@height.1\p@\@depth.1\p@
+          \hss
+        }%
+        \box\z@
+      }%
+    }%
+    \mathchoice
+      {\setbox\z@\hbox{$\displaystyle     \lambda$}\@tempa}%
+      {\setbox\z@\hbox{$\textstyle        \lambda$}\@tempa}%
+      {\setbox\z@\hbox{$\scriptstyle      \lambda$}\@tempa}%
+      {\setbox\z@\hbox{$\scriptscriptstyle\lambda$}\@tempa}%
+  \egroup
+}%
+%    \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\openone}
+% DPC: Really should use a font that includes this glyph.
+% Unfortunately not in AMS ones, but is in bbold, cmbb.
+% (I think, must check),
+% \changes{4.0a}{1998/01/31}{use font-dependent spacing}
+% FIXME: check for bbold.
+%    \begin{macrocode}
+\DeclareRobustCommand\openone{\leavevmode\hbox{\small1\normalsize\kern-.33em1}}%
+%    \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\corresponds}
+% \begin{macro}{\overdots}
+% \begin{macro}{\overcirc}
+% J\"org Knappen suggests the replacements:
+% replace \cmd\corresponds\ with \cmd\triangleq, source \classname{amssymb};
+% replace \cmd\overcirc\ with \cmd\mathring, source \classname{latex2e};
+% replace \cmd\overdots\ with \cmd\dddot, source \classname{amsmath}.
+%
+% Any use of any of these commands will result in a warning message at the end 
+% of the log file. If the corresponding package is not loaded, a
+% definition will quietly be provided.
+%    \begin{macrocode}
+\DeclareRobustCommand\corresponds{\replace at command\corresponds\triangleq}%
+\DeclareRobustCommand\overcirc{\replace at command\overcirc\mathring}%
+\DeclareRobustCommand\overdots{\replace at command\overdots\dddot}%
+\DeclareRobustCommand\REV at triangleq{%
+ {\lower.2ex\hbox{=}}{\kern-.75em^\triangle}%
+}%
+\DeclareRobustCommand\REV at dddot[1]{%
+ \@ontopof{#1}{\cdots}{1.0}\mathord{\box2}%
+}%
+%    \end{macrocode}
+% \end{macro}
+% \end{macro}
+% \end{macro}
+%
+% \begin{macro}{\succsim}
+% \begin{macro}{\precsim}
+% \begin{macro}{\lesssim}
+% \begin{macro}{\gtrsim}
+% \begin{macro}{\alt}
+% \begin{macro}{\agt}
+% These version 3.1 commands are always supplied, 
+% but the definitions in \classname{amssymb} are preferred.
+%    \begin{macrocode}
+\DeclareRobustCommand\altsuccsim{\succ\kern-.9em_\sim\kern.3em}%
+\DeclareRobustCommand\altprecsim{\prec\kern-1em_\sim\kern.3em}%
+\let\REV at succsim\altsuccsim
+\let\REV at precsim\altprecsim
+\DeclareRobustCommand\REV at lesssim{\mathrel{\mathpalette\vereq{<}}}%
+\DeclareRobustCommand\REV at gtrsim{\mathrel{\mathpalette\vereq{>}}}%
+\DeclareRobustCommand\alt{\lesssim}
+\DeclareRobustCommand\agt{\gtrsim}
+\def\vereq#1#2{%
+ \lower3\p@\vbox{%
+  \baselineskip1.5\p@
+  \lineskip1.5\p@
+  \ialign{$\m at th#1\hfill##\hfil$\crcr#2\crcr\sim\crcr}%
+ }%
+}%
+%    \end{macrocode}
+% \end{macro}
+% \end{macro}
+% \end{macro}
+% \end{macro}
+% \end{macro}
+% \end{macro}
+%
+% \begin{macro}{\tensor}
+% \begin{macro}{\overstar}
+% \begin{macro}{\loarrow}
+% \begin{macro}{\roarrow}
+% \changes{4.0b}{1999/06/20}{AO: remove duplicates}
+%    \begin{macrocode}
+\DeclareRobustCommand\tensor[1]{\@ontopof{#1}{\leftrightarrow}{1.15}\mathord{\box2}}
+\DeclareRobustCommand\overstar[1]{\@ontopof{#1}{\ast}{1.15}\mathord{\box2}}
+\DeclareRobustCommand\loarrow[1]{\@ontopof{#1}{\leftarrow}{1.15}\mathord{\box2}}
+\DeclareRobustCommand\roarrow[1]{\@ontopof{#1}{\rightarrow}{1.15}\mathord{\box2}}
+%    \end{macrocode}
+% \end{macro}
+% \end{macro}
+% \end{macro}
+% \end{macro}
+%
+% \begin{macro}{\@ontopof}
+%    \begin{macrocode}
+\def\@ontopof#1#2#3{%
+ {%
+  \mathchoice
+    {\@@ontopof{#1}{#2}{#3}\displaystyle     \scriptstyle      }%
+    {\@@ontopof{#1}{#2}{#3}\textstyle        \scriptstyle      }%
+    {\@@ontopof{#1}{#2}{#3}\scriptstyle      \scriptscriptstyle}%
+    {\@@ontopof{#1}{#2}{#3}\scriptscriptstyle\scriptscriptstyle}%
+ }%
+}%
+%    \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\@@ontopof}
+% Same as \revtex3, more or less.
+%    \begin{macrocode}
+\def\@@ontopof#1#2#3#4#5{%
+  \setbox\z@\hbox{$#4#1$}%
+  \setbox\f at ur\hbox{$#5#2$}%
+  \setbox\tw@\null\ht\tw@\ht\z@ \dp\tw@\dp\z@
+  \@ifdim{\wd\z@>\wd\f at ur}{%
+    \setbox\f at ur\hb at xt@\wd\z@{\hss\box\f at ur\hss}%
+    \mathord{\rlap{\raise#3\ht\z@\box\f at ur}\box\z@}%
+  }{%
+    \setbox\f at ur\hb at xt@.9\wd\f at ur{\hss\box\f at ur\hss}%
+    \setbox\z@\hb at xt@\wd\f at ur{\hss$#4\relax#1$\hss}%
+    \mathord{\rlap{\copy\z@}\raise#3\ht\z@\box\f at ur}%
+  }%
+}%
+%    \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\frak}
+% Deal with legacy \cmd\frak:
+% if \classname{amsfonts} not loaded, defined in such a way as to ask for that package.
+% Also, says to use \cmd\mathfrak\ instead.
+%    \begin{macrocode}
+\DeclareRobustCommand\frak{%
+ \REVSYMB at warn{%
+  Command \string\frak\space unsupported:^^J%
+  please use \string\mathfrak\space instead.%
+ }%
+ \global\let\frak\mathfrak
+ \frak
+}%
+\DeclareRobustCommand\REV at mathfrak{%
+ \REVSYMB at warn{%
+  Command \string\mathfrak\space undefined:^^J%
+  please specify the amsfonts or amssymb option!%
+ }%
+ \global\let\mathfrak\@firstofone
+ \mathfrak
+}%
+%    \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\Bbb}
+% Deal with legacy \cmd\Bbb:
+% if \classname{amsfonts} not loaded, defined in such a way as to ask for that package.
+% Also, says to use \cmd\mathbb\ instead.
+%    \begin{macrocode}
+\DeclareRobustCommand\Bbb{%
+ \REVSYMB at warn{%
+  Command \string\Bbb\space unsupported:^^J%
+  please use \string\mathbb\space instead.%
+ }%
+ \global\let\Bbb\mathbb
+ \Bbb
+}%
+\DeclareRobustCommand\REV at mathfrak{%
+ \REVSYMB at warn{%
+  Command \string\mathbb\space undefined:^^J%
+  please specify the amsfonts or amssymb option!%
+ }%
+ \global\let\mathbb\@firstofone
+ \mathbb
+}%
+%    \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\Bigglb}
+% Deal with legacy bold delimiters. 
+% Each of the following takes an implicit argument consisting of
+% the delimiter to be made big and bold.
+% FIXME: \cmd\DeclareBoldMathCommand\ is not the right tool!
+%    \begin{macrocode}
+\def\Bigglb{\REV at boldopen \Bigg}%
+\def\Biglb {\REV at boldopen \Big }%
+\def\bigglb{\REV at boldopen \bigg}%
+\def\biglb {\REV at boldopen \big }%
+\def\Biggrb{\REV at boldclose\Bigg}%
+\def\Bigrb {\REV at boldclose\Big }%
+\def\biggrb{\REV at boldclose\bigg}%
+\def\bigrb {\REV at boldclose\big }%
+\def\REV at pmb#1{%
+ \hbox{%
+  \setbox\z@=\hbox{#1}%
+  \kern-.02em\copy\z@\kern-\wd\z@
+  \kern .04em\copy\z@\kern-\wd\z@
+  \kern-.02em
+  \raise.04em\copy\z@
+ }%
+}%
+\def\REV at boldopen #1#2{\mathopen {\REV at pmb{$#1#2$}}}%
+\def\REV at boldclose#1#2{\mathclose{\REV at pmb{$#1#2$}}}%
+%    \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\revsymb at inithook}
+% \changes{4.1b}{2008/07/01}{(AO) make settings at class time instead of deferring them to later.}
+% Package dependencies are taken care of at \cmd\setup at hook\ time.
+%    \begin{macrocode}
+\def\revsymb at inithook{%
+ \@ifxundefined\dddot{\let\dddot\REV at dddot}{}%
+ \@ifxundefined\triangleq{\let\triangleq\REV at triangleq}{}%
+ \@ifxundefined\succsim{\let\succsim\altsuccsim}{}%
+ \@ifxundefined\precsim{\let\precsim\altprecsim}{}%
+ \@ifxundefined\lesssim{\let\lesssim\REV at lesssim}{}%
+ \@ifxundefined\gtrsim {\let\gtrsim \REV at gtrsim }{}%
+ \@ifxundefined\mathfrak{\let\mathfrak\REV at mathfrak}{}%
+ \@ifxundefined\mathbb{\let\mathbb\REV at mathbb}{}%
+}%
+%    \end{macrocode}
+% \end{macro}
+%
+%    \begin{macrocode}
+%</revsymb>
+%    \end{macrocode}
+%
+% \section{The \classoption{10pt} class option: the \texttt{10pt} module}
+% \changes{4.0b}{1999/06/20}{AO: all code for \protect\classoption{10pt} is in this module.}
+% The file \file{aps10pt.rtx} is read in by the \classname{revtex4} document class
+% if \cmd\@pointsize\ has the value 10.
+%
+%    \begin{macrocode}
+%<*10pt>
+%    \end{macrocode}
+%
+% \subsection{Defend Against Forseeable Errors}%
+% Protect this file from being read in by anything but \revtex.
+%    \begin{macrocode}
+\ifx\undefined\substyle at ext
+ \def\@tempa{%
+  \endinput
+  \GenericWarning{I must be read in by REVTeX! (Bailing out)}%
+ }%
+ \expandafter\else
+  \def\@tempa{}%
+ \expandafter\fi\@tempa
+ \class at info{RevTeX pointsize 10pt selected}%
+%    \end{macrocode}
+%
+%    \begin{macrocode}
+\def\normalsize{%
+   \@setfontsize\normalsize\@xpt{11.5}%
+   \abovedisplayskip 10\p@ \@plus2\p@ \@minus5\p@
+   \belowdisplayskip \abovedisplayskip
+   \abovedisplayshortskip  \abovedisplayskip
+   \belowdisplayshortskip \abovedisplayskip
+   \let\@listi\@listI
+}%
+%    \end{macrocode}
+%
+%    \begin{macrocode}
+\def\small{%
+  \@setfontsize\small\@ixpt{10.5}%
+  \abovedisplayskip 8.5\p@ \@plus3\p@ \@minus4\p@
+  \belowdisplayskip \abovedisplayskip
+  \abovedisplayshortskip \z@ \@plus2\p@
+  \belowdisplayshortskip 4\p@ \@plus2\p@ \@minus2\p@
+  \def\@listi{%
+    \leftmargin\leftmargini
+    \topsep 4\p@ \@plus2\p@ \@minus2\p@
+    \parsep 2\p@ \@plus\p@ \@minus\p@
+    \itemsep \parsep
+  }%
+}%
+%    \end{macrocode}
+%
+%    \begin{macrocode}
+\def\footnotesize{%
+  \@setfontsize\footnotesize\@viiipt{9.5pt}%
+  \abovedisplayskip 6\p@ \@plus2\p@ \@minus4\p@
+  \belowdisplayskip \abovedisplayskip
+  \abovedisplayshortskip \z@ \@plus\p@
+  \belowdisplayshortskip 3\p@ \@plus\p@ \@minus2\p@
+  \def\@listi{%
+    \leftmargin\leftmargini
+    \topsep 3\p@ \@plus\p@ \@minus\p@
+    \parsep 2\p@ \@plus\p@ \@minus\p@
+    \itemsep \parsep
+  }%
+}%
+%    \end{macrocode}
+%
+%    \begin{macrocode}
+\def\scriptsize{%
+ \@setfontsize\scriptsize\@viipt\@viiipt
+}%
+\def\tiny{%
+ \@setfontsize\tiny\@vpt\@vipt
+}%
+\def\large{%
+ \@setfontsize\large\@xiipt{14pt}%
+}%
+\def\Large{%
+ \@setfontsize\Large\@xivpt{18pt}%
+}%
+\def\LARGE{%
+ \@setfontsize\LARGE\@xviipt{22pt}%
+}%
+\def\huge{%
+ \@setfontsize\huge\@xxpt{25pt}%
+}%
+\def\Huge{%
+ \@setfontsize\Huge\@xxvpt{30pt}%
+}%
+%    \end{macrocode}
+%
+% The values of these margin parameters are dependent upon 
+% \cmd\twoside at sw; any society or journal that 
+% has its own preferences should override these assignments
+% by doing \cmd\appdef\cmd\setup at hook.
+%    \begin{macrocode}
+\appdef\setup at hook{%
+ \twoside at sw{%
+%   \oddsidemargin  -.1in
+%   \evensidemargin -.4in
+    \oddsidemargin  -20pt
+    \evensidemargin -20pt
+    \marginparwidth 107pt
+ }{%
+    \oddsidemargin  -.25in
+    \evensidemargin -.25in
+    \marginparwidth 30pt
+ }%
+}%
+%    \end{macrocode}
+%
+%    \begin{macrocode}
+\marginparsep 6pt
+%    \end{macrocode}
+%
+%    \begin{macrocode}
+\topmargin -61pt
+%    \end{macrocode}
+%
+%    \begin{macrocode}
+\headheight 25pt
+\headsep 16pt
+%    \end{macrocode}
+%
+% \changes{4.1n}{2010/01/02}{(AO, 571) class file must set \cs{splittopskip}; fine tune \cs{skip}\cs{footins}; \cs{footnoterule} defined in terms of \cs{skip}\cs{footins}}%
+%    \begin{macrocode}
+\topskip 10pt
+\splittopskip\topskip
+%    \end{macrocode}
+%
+%    \begin{macrocode}
+\footskip 30pt
+%    \end{macrocode}
+% 
+%    \begin{macrocode}
+ \textheight = 56pc
+%    \end{macrocode}
+%
+%    \begin{macrocode}
+\textwidth42.5pc
+%    \end{macrocode}
+%
+%    \begin{macrocode}
+\columnsep 1.5pc
+\columnseprule 0pt
+%    \end{macrocode}
+%
+% \changes{4.1n}{2010/01/02}{(AO, 571) class file must set \cs{splittopskip}; fine tune \cs{skip}\cs{footins}; \cs{footnoterule} defined in terms of \cs{skip}\cs{footins}}%
+%    \begin{macrocode}
+\footnotesep 1pt
+\skip\footins 39pt plus 4pt minus 12pt
+\def\footnoterule{%
+ \dimen@\skip\footins\divide\dimen@\tw@
+ \kern-\dimen@\hrule width.5in\kern\dimen@
+}%
+%    \end{macrocode}
+%
+%    \begin{macrocode}
+\floatsep 12pt plus 2pt minus 2pt
+\textfloatsep 20pt plus 2pt minus 4pt
+\intextsep 12pt plus 2pt minus 2pt
+%    \end{macrocode}
+%
+%    \begin{macrocode}
+\dblfloatsep 12pt plus 2pt minus 2pt
+\dbltextfloatsep 20pt plus 2pt minus 4pt
+%    \end{macrocode}
+%
+%    \begin{macrocode}
+\@fptop 0pt plus 1fil
+\@fpsep 8pt plus 2fil
+\@fpbot 0pt plus 1fil
+\@dblfptop 0pt plus 1fil
+\@dblfpsep 8pt plus 2fil
+\@dblfpbot 0pt plus 1fil
+%    \end{macrocode}
+%
+%    \begin{macrocode}
+\marginparpush 5pt
+%    \end{macrocode}
+%
+%    \begin{macrocode}
+\parskip 0pt plus 1pt
+\parindent 10pt
+\emergencystretch8\p@
+%    \end{macrocode}
+%
+%    \begin{macrocode}
+\partopsep 2pt plus 1pt minus 1pt
+%    \end{macrocode}
+%
+%    \begin{macrocode}
+\leftmargini 25pt
+\leftmarginii 22pt
+\leftmarginiii 18.7pt
+\leftmarginiv 17pt
+\leftmarginv 10pt
+\leftmarginvi 10pt
+%    \end{macrocode}
+%
+%    \begin{macrocode}
+\def\@listI{%
+  \leftmargin\leftmargini
+  \parsep 4\p@ plus2\p@ minus\p@
+  \topsep 8\p@ plus2\p@ minus4\p@
+  \itemsep 4\p@ plus2\p@ minus\p@
+}%
+%    \end{macrocode}
+%
+%    \begin{macrocode}
+\labelsep 4pt
+%    \end{macrocode}
+%
+%    \begin{macrocode}
+\def\@listii{%
+  \leftmargin\leftmarginii
+  \labelwidth\leftmarginii
+  \advance\labelwidth-\labelsep
+  \topsep 4\p@ plus2\p@ minus\p@
+  \parsep 2\p@ plus\p@ minus\p@
+  \itemsep \parsep
+}%
+%    \end{macrocode}
+%
+%    \begin{macrocode}
+\def\@listiii{%
+  \leftmargin\leftmarginiii
+  \labelwidth\leftmarginiii
+  \advance\labelwidth-\labelsep
+  \topsep 2\p@ plus\p@ minus\p@
+  \parsep \z@
+  \partopsep \p@ plus\z@ minus\p@
+  \itemsep \topsep
+}%
+%    \end{macrocode}
+%
+%    \begin{macrocode}
+\def\@listiv{%
+  \leftmargin\leftmarginiv
+  \labelwidth\leftmarginiv
+  \advance\labelwidth-\labelsep
+}%
+%    \end{macrocode}
+%
+%    \begin{macrocode}
+\def\@listv{%
+  \leftmargin\leftmarginv
+  \labelwidth\leftmarginv
+  \advance\labelwidth-\labelsep
+}%
+%    \end{macrocode}
+%
+%    \begin{macrocode}
+\def\@listvi{%
+  \leftmargin\leftmarginvi
+  \labelwidth\leftmarginvi
+  \advance\labelwidth-\labelsep
+}%
+%    \end{macrocode}
+%
+%    \begin{macrocode}
+%</10pt>
+%    \end{macrocode}
+%
+% \section{The \classoption{11pt} class option: the \texttt{11pt} module}
+% \changes{4.0b}{1999/06/20}{AO: all code for \protect\classoption{11pt} is in this module.}
+% The file \file{11pt.rtx} is read in by the \classname{revtex4} document class
+% if \cmd\@pointsize\ has the value 11.
+%
+%    \begin{macrocode}
+%<*11pt>
+%    \end{macrocode}
+%
+% \subsection{Defend Against Forseeable Errors}%
+% Protect this file from being read in by anything but \revtex.
+%    \begin{macrocode}
+\ifx\undefined\substyle at ext
+ \def\@tempa{%
+  \endinput
+  \GenericWarning{I must be read in by REVTeX! (Bailing out)}%
+ }%
+ \expandafter\else
+  \def\@tempa{}%
+ \expandafter\fi\@tempa
+ \class at info{RevTeX pointsize 11pt selected}%
+%    \end{macrocode}
+%
+%    \begin{macrocode}
+\def\normalsize{%
+    \@setfontsize\normalsize\@xipt{13.6}%
+    \abovedisplayskip 11\p@ \@plus3\p@ \@minus6\p@
+    \belowdisplayskip \abovedisplayskip
+    \abovedisplayshortskip  \abovedisplayskip
+    \belowdisplayshortskip \abovedisplayskip
+    \let\@listi\@listI
+}%
+%    \end{macrocode}
+%
+%    \begin{macrocode}
+\def\small{%
+   \@setfontsize\small\@xpt\@xiipt
+   \abovedisplayskip 10\p@ \@plus2\p@ \@minus5\p@
+   \abovedisplayshortskip \z@ \@plus3\p@
+   \belowdisplayshortskip 6\p@ \@plus3\p@ \@minus3\p@
+   \def\@listi{\leftmargin\leftmargini
+               \topsep 6\p@ \@plus2\p@ \@minus2\p@
+               \parsep 3\p@ \@plus2\p@ \@minus\p@
+               \itemsep \parsep
+   }%
+   \belowdisplayskip \abovedisplayskip
+}%
+%    \end{macrocode}
+%
+%    \begin{macrocode}
+\def\footnotesize{%
+   \@setfontsize\footnotesize\@ixpt{11}%
+   \abovedisplayskip 8\p@ \@plus2\p@ \@minus4\p@
+   \abovedisplayshortskip \z@ \@plus\p@
+   \belowdisplayshortskip 4\p@ \@plus2\p@ \@minus2\p@
+   \def\@listi{\leftmargin\leftmargini
+               \topsep 4\p@ \@plus2\p@ \@minus2\p@
+               \parsep 2\p@ \@plus\p@ \@minus\p@
+               \itemsep \parsep
+   }%
+   \belowdisplayskip \abovedisplayskip
+}%
+%    \end{macrocode}
+%
+%    \begin{macrocode}
+\def\scriptsize{%
+  \@setfontsize\scriptsize\@viiipt{9.5}%
+}%
+\def\tiny{%
+  \@setfontsize\tiny\@vipt\@viipt
+}%
+\def\large{%
+  \@setfontsize\large\@xiipt{14}%
+}%
+\def\Large{%
+  \@setfontsize\Large\@xivpt{18}%
+}%
+\def\LARGE{%
+  \@setfontsize\LARGE\@xviipt{22}%
+}%
+\def\huge{%
+    \@setfontsize\huge\@xxpt{25pt}%
+}%
+\def\Huge{%
+  \@setfontsize\Huge\@xxvpt{30pt}%
+}%
+%    \end{macrocode}
+%
+%    \begin{macrocode}
+%</11pt>
+%    \end{macrocode}
+%
+% \section{The \classoption{12pt} class option: the \texttt{12pt} module}
+% \changes{4.0b}{1999/06/20}{AO: all code for \protect\classoption{12pt} is in this module.}
+% The file \file{12pt.rtx} is read in by the \classname{revtex4} document class
+% if \cmd\@pointsize\ has the value 12.
+%
+%    \begin{macrocode}
+%<*12pt>
+%    \end{macrocode}
+%
+% \subsection{Defend Against Forseeable Errors}%
+% Protect this file from being read in by anything but \revtex.
+%    \begin{macrocode}
+\ifx\undefined\substyle at ext
+ \def\@tempa{%
+  \endinput
+  \GenericWarning{I must be read in by REVTeX! (Bailing out)}%
+ }%
+ \expandafter\else
+  \def\@tempa{}%
+ \expandafter\fi\@tempa
+ \class at info{RevTeX pointsize 12pt selected}%
+%    \end{macrocode}
+%
+%    \begin{macrocode}
+\def\normalsize{%
+  \@setfontsize\normalsize\@xiipt{14pt}%
+  \abovedisplayskip 12\p@ \@plus3\p@ \@minus7\p@
+  \belowdisplayskip \abovedisplayskip
+  \abovedisplayshortskip  \z@ plus3\p@
+  \belowdisplayshortskip  6.5\p@ \@plus3.5\p@ \@minus3\p@
+  \let\@listi\@listI
+}%
+%    \end{macrocode}
+%
+%    \begin{macrocode}
+ \def\small{%
+  \@setfontsize\small\@xipt{14.5pt}%
+  \abovedisplayskip 8\p@ \@plus3\p@ \@minus6\p@
+  \belowdisplayskip \abovedisplayskip
+  \abovedisplayshortskip \z@ \@plus3\p@
+  \belowdisplayshortskip 6.5\p@ \@plus3.5\p@ \@minus3\p@
+  \def\@listi{%
+    \leftmargin\leftmargini
+    \topsep 9\p@ \@plus3\p@ \@minus5\p@
+    \parsep 4.5\p@ \@plus2\p@ \@minus\p@
+    \itemsep \parsep
+  }%
+}%
+%    \end{macrocode}
+%
+% Same baselineskip as \cmd\small\ ?
+%    \begin{macrocode}
+ \def\footnotesize{%
+  \@setfontsize\footnotesize\@xpt{14.5pt}%
+  \abovedisplayskip 10\p@ \@plus2\p@ \@minus5\p@
+  \belowdisplayskip \abovedisplayskip
+  \abovedisplayshortskip \z@ \@plus3\p@
+  \belowdisplayshortskip 6\p@ \@plus3\p@ \@minus3\p@
+  \def\@listi{%
+    \leftmargin\leftmargini
+    \topsep 6\p@ \@plus2\p@ \@minus2\p@
+    \parsep 3\p@ \@plus2\p@ \@minus\p@
+    \itemsep \parsep
+  }%
+}%
+%    \end{macrocode}
+%
+%    \begin{macrocode}
+\def\scriptsize{%
+  \@setfontsize\scriptsize\@viiipt{9.5pt}%
+}%
+\def\tiny{%
+  \@setfontsize\tiny\@vipt{7pt}%
+}%
+\def\large{%
+  \@setfontsize\large\@xivpt{18pt}%
+}%
+\def\Large{%
+  \@setfontsize\Large\@xviipt{22pt}%
+}%
+\def\LARGE{%
+  \@setfontsize\LARGE\@xxpt{25pt}%
+}%
+\def\huge{%
+    \@setfontsize\huge\@xxvpt{30pt}%
+}%
+\let\Huge=\huge
+%    \end{macrocode}
+%
+%    \begin{macrocode}
+%</12pt>
+%    \end{macrocode}
+%
+% \section{Page parameters}%
+% This code is common to both \classoption{11pt} and \classoption{12pt}.
+%
+%    \begin{macrocode}
+%<*11pt|12pt>
+%    \end{macrocode}
+%
+%    \begin{macrocode}
+\appdef\setup at hook{%
+ \twoside at sw{%
+  \oddsidemargin   0pt
+  \evensidemargin  0pt
+  \marginparwidth 60pt
+ }{%
+  \oddsidemargin 0pt
+  \evensidemargin 0pt
+  \marginparwidth 44pt
+ }%
+}%
+%    \end{macrocode}
+%
+%    \begin{macrocode}
+\marginparsep 10pt
+%    \end{macrocode}
+%
+%    \begin{macrocode}
+\topmargin -37pt
+%    \end{macrocode}
+%
+%    \begin{macrocode}
+\headheight 12pt
+\headsep 25pt
+%    \end{macrocode}
+%
+% \changes{4.1n}{2010/01/02}{(AO, 571) class file must set \cs{splittopskip}; fine tune \cs{skip}\cs{footins}; \cs{footnoterule} defined in terms of \cs{skip}\cs{footins}}%
+%    \begin{macrocode}
+\topskip 10pt
+\splittopskip\topskip
+%    \end{macrocode}
+%
+%    \begin{macrocode}
+\footskip 30pt
+%    \end{macrocode}
+% 
+%    \begin{macrocode}
+\textheight=665.5\p@
+%    \end{macrocode}
+% 
+%    \begin{macrocode}
+\appdef\setup at hook{%
+ \tightenlines at sw{%
+  \def\baselinestretch{1}%
+ }{%
+  \def\baselinestretch{1.5}%
+ }%
+}%
+%    \end{macrocode}
+%
+%    \begin{macrocode}
+\textwidth 468pt
+%    \end{macrocode}
+%
+%    \begin{macrocode}
+\columnsep 10pt
+\columnseprule 0pt
+%    \end{macrocode}
+%
+% \changes{4.1n}{2010/01/02}{(AO, 571) class file must set \cs{splittopskip}; fine tune \cs{skip}\cs{footins}; \cs{footnoterule} defined in terms of \cs{skip}\cs{footins}}%
+%    \begin{macrocode}
+\footnotesep 1pt
+\skip\footins 25.25pt plus 4pt minus 12pt
+\def\footnoterule{%
+ \dimen@\skip\footins\divide\dimen@\f at ur
+ \kern-\dimen@\hrule width.5in\kern\dimen@
+}%
+%    \end{macrocode}
+%
+%    \begin{macrocode}
+\floatsep        14pt plus 2pt minus 4pt
+\textfloatsep    20pt plus 2pt minus 4pt
+\intextsep       14pt plus 4pt minus 4pt
+%    \end{macrocode}
+%
+%    \begin{macrocode}
+\dblfloatsep     14pt plus 2pt minus 4pt
+\dbltextfloatsep 20pt plus 2pt minus 4pt
+%    \end{macrocode}
+%
+%    \begin{macrocode}
+\@fptop 0pt plus 1fil
+\@fpsep 10pt plus 2fil
+\@fpbot 0pt plus 1fil
+\@dblfptop 0pt plus 1fil
+\@dblfpsep 10pt plus 2fil%
+\@dblfpbot 0pt plus 1fil
+%    \end{macrocode}
+%
+%    \begin{macrocode}
+\marginparpush 7pt
+%    \end{macrocode}
+%
+%    \begin{macrocode}
+\parskip 0pt plus 1pt
+\parindent 15pt
+\emergencystretch8\p@
+\partopsep 3pt plus 2pt minus 2pt
+%    \end{macrocode}
+%
+%    \begin{macrocode}
+\leftmargini   30pt
+\leftmarginii  26pt
+\leftmarginiii 22pt
+\leftmarginiv  20pt
+\leftmarginv   12pt
+\leftmarginvi  12pt
+%    \end{macrocode}
+%
+%    \begin{macrocode}
+\def\@listI{\leftmargin\leftmargini \parsep 5\p@ plus2.5\p@ minus\p@
+  \topsep 10\p@ plus4\p@ minus6\p@
+  \itemsep 5\p@ plus2.5\p@ minus\p@
+}%
+%    \end{macrocode}
+%
+%    \begin{macrocode}
+\labelsep 6pt
+%    \end{macrocode}
+%
+%    \begin{macrocode}
+\def\@listii{\leftmargin\leftmarginii
+  \labelwidth\leftmarginii\advance\labelwidth-\labelsep
+  \topsep 5\p@ plus2.5\p@ minus\p@
+  \parsep 2.5\p@ plus\p@ minus\p@
+  \itemsep \parsep
+}%
+%    \end{macrocode}
+%
+%    \begin{macrocode}
+\def\@listiii{\leftmargin\leftmarginiii
+  \labelwidth\leftmarginiii\advance\labelwidth-\labelsep
+  \topsep 2.5\p@ plus\p@ minus\p@
+  \parsep \z@ \partopsep \p@ plus\z@ minus\p@
+  \itemsep \topsep
+}%
+%    \end{macrocode}
+%
+%    \begin{macrocode}
+\def\@listiv{\leftmargin\leftmarginiv
+  \labelwidth\leftmarginiv\advance\labelwidth-\labelsep
+}%
+%    \end{macrocode}
+%
+%    \begin{macrocode}
+\def\@listv{\leftmargin\leftmarginv
+  \labelwidth\leftmarginv\advance\labelwidth-\labelsep
+}%
+%    \end{macrocode}
+%
+%    \begin{macrocode}
+\def\@listvi{\leftmargin\leftmarginvi
+  \labelwidth\leftmarginvi\advance\labelwidth-\labelsep
+}%
+%    \end{macrocode}
+%
+%    \begin{macrocode}
+%</11pt|12pt>
+%    \end{macrocode}
+%
+% \section{The \classoption{aps} class extension: the \texttt{aps} module}
+% \changes{4.0b}{1999/06/20}{AO: made aps.rtx part of revtex4.dtx}
+% The file \file{aps.rtx} is read in by the \classname{revtex4} document class
+% if \cmd\@society\ has the value \classoption{aps}.
+%
+% Here, code specific to APS journals is separated out from the \revtex\ document class.
+% (Other societies can customize \revtex\ by supplying their own \file{.rtx} file.)
+%
+% This class extension file is a model for a class extension you might write yourself.
+%
+% First, incorporate a \cmd\ProvidesFile\ command with an optional argument giving
+% the version information, e.g.,
+% \begin{verbatim}
+% \ProvidesFile{foo}[2001/09/11 v1.1 Docinfo]%
+% \end{verbatim}
+%
+% Within the society substyle, there are two things we must do as well:
+% define the default journal, 
+%    \begin{verbatim}
+% \def\@journal at default{pra}%
+%    \end{verbatim}
+% And do likewise for the point size:
+%    \begin{verbatim}
+% \def\@pointsize at default{10}%
+%    \end{verbatim}
+%
+% We first define some text entities (amounting to journal abbreviations),
+% then some APS-specific initialisations,
+% then code for particular APS journals.
+% In the latter case, the choice is 
+% keyed off the macro \cmd\@journal.
+%
+%    \begin{macrocode}
+%<*aps>
+%    \end{macrocode}
+%
+% \subsection{Defend Against Forseeable Errors}%
+% Protect this file from being read in by anything but \revtex.
+%    \begin{macrocode}
+\ifx\undefined\substyle at ext
+ \def\@tempa{%
+  \endinput
+  \GenericWarning{I must be read in by REVTeX! (Bailing out)}%
+ }%
+ \expandafter\else
+  \def\@tempa{}%
+ \expandafter\fi\@tempa
+ \class at info{RevTeX society APS selected}%
+%    \end{macrocode}
+%
+% Here are the class options relating to the APS:
+%    \begin{macrocode}
+\DeclareOption{pra}{\change at journal{pra}}%
+\DeclareOption{prb}{\change at journal{prb}}%
+\DeclareOption{prc}{\change at journal{prc}}%
+\DeclareOption{prd}{\change at journal{prd}}%
+\DeclareOption{pre}{\change at journal{pre}}%
+\DeclareOption{prl}{\change at journal{prl}}%
+\DeclareOption{prstab}{\change at journal{prstab}}%
+\DeclareOption{prstper}{\change at journal{prstper}}%
+\DeclareOption{rmp}{\change at journal{rmp}}%
+%    \end{macrocode}
+%
+% \subsection{Abbreviations}%
+% \changes{4.1p}{2010/02/24}{(AO, 584) Per MD, remove trailing space character from each journal abbreviation: it had caused an extraneous space in the .bbl} 
+% The following macros constitute typing shortcuts for
+% certain journal names.
+%    \begin{macrocode}
+\def\ao{Appl.\  Opt.}%
+\def\ap{Appl.\  Phys.}%
+\def\apl{Appl.\ Phys.\ Lett.}%
+\def\apj{Astrophys.\ J.}%
+\def\bell{Bell Syst.\ Tech.\ J.}%
+\def\jqe{IEEE J.\ Quantum Electron.}%
+\def\assp{IEEE Trans.\ Acoust.\ Speech Signal Process.}%
+\def\aprop{IEEE Trans.\ Antennas Propag.}%
+\def\mtt{IEEE Trans.\ Microwave Theory Tech.}%
+\def\iovs{Invest.\ Ophthalmol.\ Vis.\ Sci.}%
+\def\jcp{J.\ Chem.\ Phys.}%
+\def\jmo{J.\ Mod.\ Opt.}%
+\def\josa{J.\ Opt.\ Soc.\ Am.}%
+\def\josaa{J.\ Opt.\ Soc.\ Am.\ A}%
+\def\josab{J.\ Opt.\ Soc.\ Am.\ B}%
+\def\jpp{J.\ Phys.\ (Paris)}%
+\def\nat{Nature (London)}%
+\def\oc{Opt.\ Commun.}%
+\def\ol{Opt.\ Lett.}%
+\def\pl{Phys.\ Lett.}%
+\def\pra{Phys.\ Rev.\ A}%
+\def\prb{Phys.\ Rev.\ B}%
+\def\prc{Phys.\ Rev.\ C}%
+\def\prd{Phys.\ Rev.\ D}%
+\def\pre{Phys.\ Rev.\ E}%
+\def\prl{Phys.\ Rev.\ Lett.}%
+\def\rmp{Rev.\ Mod.\ Phys.}%
+\def\pspie{Proc.\ Soc.\ Photo-Opt.\ Instrum.\ Eng.}%
+\def\sjqe{Sov.\ J.\ Quantum Electron.}%
+\def\vr{Vision Res.}%
+%    \end{macrocode}
+%
+% \subsection{APS Setup}%
+% Here we define the default procedures for APS journals.
+% Individual APS journals may override these definitions.
+%
+% \subsubsection{Title block}%
+%
+% The specifics of the title block.
+% Apply to all APS journals; individual journals may override these settings.
+%
+% \begin{macro}{\@fnsymbol}
+% The \LaTeX\ kernel definition of \cmd\@fnsymbol\ is overridden.
+% The definition in \filename{fixltx2e.sty} serves as a guide to the new way to symbol,
+% working in both text- and math modes. 
+%
+% \filename{fixltx2e.sty} duplicates some features of \filename{ltxgrid} and \filename{ltxutil},
+% however, so it may be incompatible with \revtex. 
+% In case it is not loaded, we must provide a meaning for \cmd\TextOrMath,
+% which that package makes robust. 
+% I believe that it is \cmd\@fnsymbol\ itself that ought to be robustified.
+% e\TeX\ further complicates matters; we do not especially accomodate it. 
+%
+% \changes{4.1d}{2009/03/27}{Definition of \cs{	@fnsymbol} follows fixltx2e.sty}
+%
+% Not! \cmd\TextOrMath\ must be made robust in any case (Bug 530). I return things to follow
+% core \LaTeXe\ (\filename{latex.ltx}). 
+% \changes{4.1f}{2009/10/05}{(AO, 530) \cs{@fnsymbol}: Failed to import fixltx2e.sty technology. Return to LaTeX core.}
+%    \begin{macrocode}
+\def\@fnsymbol#1{%
+ \ensuremath{%
+  \ifcase#1\or 
+   *\or
+   \dagger\or
+   \ddagger\or
+   \mathsection\or
+   \mathparagraph\or
+%  \|\or
+   **\or
+   \dagger\dagger\or
+   \ddagger\ddagger\else
+   \mathsection\mathsection\or
+   \mathparagraph\mathparagraph\or
+   ***\or
+   \dagger\dagger\dagger\or
+   \ddagger\ddagger\ddagger\else
+   \mathsection\mathsection\mathsection\or
+   \mathparagraph\mathparagraph\mathparagraph\or
+%
+   \@ctrerr 
+  \fi
+ }%
+}%
+\appdef\document at inithook{%
+ \@ifxundefined\TextOrMath{%
+  \DeclareRobustCommand\TextOrMath{\@ifmmode{\false at sw}{\true at sw}}%
+ }{}%
+}%
+\let\thefootnote at latex\thefootnote
+%    \end{macrocode}
+% \end{macro}
+%
+% We assign the default titlepage style for APS; a journal or document instance 
+% may override by invoking one of the other \cmd\clo at ... procedures defined in \revtex.
+%    \begin{macrocode}
+\clo at groupedaddress
+%    \end{macrocode}
+%
+% \begin{macro}{\titlepage}
+%    \begin{macrocode}
+\renewenvironment{titlepage}{%
+  \let\wastwocol at sw\twocolumn at sw
+  \onecolumngrid
+  \newpage
+  \thispagestyle{titlepage}%
+  \c at page\z@
+%    \end{macrocode}
+% A comment: ``article.cls sets this to one not zero?''
+%    \begin{macrocode}
+}{%
+  \wastwocol at sw{\twocolumngrid}{\newpage}%
+}%
+%    \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\frontmatter at abstractheading}
+% APS Journals all set the abstract head the same way, with no head.
+% However, if the user has specified the \classoption{preprint} class option,
+% then the abstract will have a head.
+%    \begin{macrocode}
+\def\frontmatter at abstractheading{%
+ \preprintsty at sw{%
+  \begingroup
+   \centering\large
+   \abstractname
+   \par
+  \endgroup
+ }{}%
+}%
+%    \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\frontmatter at abstractwidth}
+% All APS journals set the abstract to the same width.
+%    \begin{macrocode}
+\def\frontmatter at abstractwidth{400\p@}%
+%    \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\frontmatter at abstractfont}
+% All APS journals set the abstract body the same way.
+% \changes{4.0c}{1999/11/13}{(AO, 123) add parskip to the abstract.}
+% \changes{4.1e}{2008/06/29}{(AO, 455) be nice to a list within the abstract}
+%    \begin{macrocode}
+\def\frontmatter at abstractfont{%
+ \small
+ \parindent1em\relax
+ \adjust at abstractwidth
+}%
+\def\adjust at abstractwidth{%
+ \dimen@\textwidth\advance\dimen at -\frontmatter at abstractwidth
+ \divide\dimen@\tw@
+ \galley at sw{%
+  \advance\rightskip\tw@\dimen@
+ }{%
+  \advance\leftskip\dimen@
+  \advance\rightskip\dimen@
+ }%
+ \@totalleftmargin\leftskip
+}%
+%    \end{macrocode}
+% \end{macro}
+%
+% All APS journal preprints use separate titlepage and full-width abstract.
+% 
+% In effect, we establish a society default value for \cmd\preprintsty at sw,
+% and for \cmd\titlepage at sw.
+%    \begin{macrocode}
+\@booleanfalse\preprintsty at sw
+\@booleantrue\titlepage at sw
+%    \end{macrocode}
+%
+% We choose the page style for all APS journals. 
+% The journal may override by inserting its own code in \cmd\setup at hook. 
+% Users wishing to customize their documents will be able to invoke a \cmd\pagestyle\
+% command anywhere in the preamble; it will override the assignments here. 
+%
+% Here is the big switch for APS preprints. Note that \cmd\preprintsty at sw
+% is also consulted in various procedures, but we assume its value does 
+% not change after \cmd\setup at hook\ time. 
+%    \begin{macrocode}
+\appdef\setup at hook{%
+  \preprintsty at sw{%
+   \ps at preprint
+   \def\frontmatter at abstractwidth{\textwidth}%
+   \def\frontmatter at affiliationfont{\it}%
+   \let\section\section at preprintsty
+%    \end{macrocode}
+% The following line of code had been commented out at this point.
+%    \begin{verbatim}
+%  \let\@hangfrom at section\@hangfrom at section@preprintsty
+%    \end{verbatim}
+%    \begin{macrocode}
+   \let\subsection\subsection at preprintsty
+   \let\subsubsection\subsubsection at preprintsty
+  }{%
+   \ps at article
+  }%
+}%
+%    \end{macrocode}
+%
+% \begin{macro}{\frontmatter at authorformat}
+% All APS journals set the author list the same.
+% The leading is 11.5 points, and
+% there is 11.5 points of extra space above the first author line
+% (which amounts to the same thing as 11.5 points extra below the title)
+% for a total of 23 points base-to-base.
+%
+%    \begin{macrocode}
+\def\frontmatter at authorformat{%
+ \skip@\@flushglue
+ \@flushglue\z@ plus.3\hsize\relax
+ \centering
+ \advance\baselineskip\p@
+ \parskip11.5\p@\relax
+ \@flushglue\skip@
+%    \end{macrocode}
+% The following line of code had been commented out at this point.
+%    \begin{verbatim}
+%\preprintsty at sw{}{%
+% \addvspace{0\p@}%
+%}%
+%    \end{verbatim}
+%    \begin{macrocode}
+}%
+%    \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\frontmatter at above@affilgroup}
+% The default amount of space above affiliation.
+% APS Journals have 24 points b-b above an affiliation group.
+%    \begin{macrocode}
+\def\frontmatter at above@affilgroup{%
+%    \end{macrocode}
+% The following line of code had been commented out at this point.
+%    \begin{verbatim}
+%\preprintsty at sw{}{%
+% \addvspace{11\p@}%
+%}%
+%    \end{verbatim}
+%    \begin{macrocode}
+}%
+%    \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\frontmatter at above@affiliation}
+% \begin{macro}{\frontmatter at above@affiliation at script}
+% The default amount of space above affiliation.
+% APS Journals have no extra space between author group down to common affiliation.
+%    \begin{macrocode}
+\def\frontmatter at above@affiliation at script{%
+ \skip@\@flushglue
+ \@flushglue\z@ plus.3\hsize\relax
+ \centering
+ \@flushglue\skip@
+ \addvspace{3.5\p@}%
+}%
+\def\frontmatter at above@affiliation{%
+ \preprintsty at sw{}{%
+%    \end{macrocode}
+% The following line of code had been commented out at this point.
+%    \begin{verbatim}
+% \addvspace{12\p@}%
+%    \end{verbatim}
+%    \begin{macrocode}
+ }%
+}%
+%    \end{macrocode}
+% \end{macro}
+% \end{macro}
+%
+% \begin{macro}{\frontmatter at affiliationfont}
+% All APS journals set the affiliation the same.
+%    \begin{macrocode}
+\def\frontmatter at affiliationfont{%
+ \small\it
+}%
+%    \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\frontmatter at collaboration@above}
+% PRL: 1.5 points extra: 13 points base-to-base above.
+%    \begin{macrocode}
+\def\frontmatter at collaboration@above{%
+ \preprintsty at sw{%
+ }{%
+  \parskip1.5\p@\relax
+ }%
+}%
+%    \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\frontmatter at setup}
+% All APS journals set the title page using the same font and size.
+% However, justification varies for the title block elements, so
+% we assert none here.
+%    \begin{macrocode}
+\def\frontmatter at setup{%
+ \normalfont
+}%
+%    \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\frontmatter at title@above}
+% \begin{macro}{\frontmatter at title@format}
+% \begin{macro}{\frontmatter at title@below}
+% All APS journals set the article title the same.
+%
+% Note: Spacing from title to author is 23 points base-to-base.
+%    \begin{macrocode}
+\def\frontmatter at title@above{\addvspace{6\p@}}%
+\def\frontmatter at title@format{\large\bfseries\centering\parskip\z at skip}%
+\def\frontmatter at title@below{}%
+%    \end{macrocode}
+% \end{macro}
+% \end{macro}
+% \end{macro}
+%
+% \begin{macro}{\frontmatter at makefnmark}
+% All APS journals share this procedure for setting the titlepage footnote text.
+%    \begin{macrocode}
+\def\@author at parskip{3\p@}%
+\def\frontmatter at makefnmark{%
+ \@textsuperscript{%
+  \normalfont\@thefnmark
+ }%
+}%
+\def\frontmatter at authorbelow{%
+ \addvspace{3\p@}%
+}%
+%    \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\frontmatter at RRAP@format}
+% All APS journals use the same format for the ``Received, Revised, etc.'' block on the title page.
+%
+% Change note: 11.5 points b-b from author/affiliation down to date.
+%    \begin{macrocode}
+\def\frontmatter at RRAP@format{%
+  \small
+  \centering
+%    \end{macrocode}
+% The following line of code had been commented out at this point.
+%    \begin{verbatim}
+% \preprintsty at sw{}{\parskip.5ex\relax}%
+%    \end{verbatim}
+%    \begin{macrocode}
+  \everypar{\hbox\bgroup(\@gobble at leavemode@uppercase}%
+  \def\par{\@ifvmode{}{\unskip)\egroup\@@par}}%
+}%
+\def\punct at RRAP{;\egroup\ \hbox\bgroup}%
+\def\@gobble at leavemode@uppercase#1#2{\expandafter\MakeTextUppercase}%
+%    \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\frontmatter at PACS@format}
+% 
+%    \begin{macrocode}
+\def\frontmatter at PACS@format{%
+   \addvspace{11\p@}%
+   \footnotesize
+   \adjust at abstractwidth
+   \parindent\z@
+   \parskip\z at skip
+   \samepage
+}%
+%    \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\frontmatter at keys@format}
+% 
+%    \begin{macrocode}
+\def\frontmatter at keys@format{%
+   \footnotesize
+   \adjust at abstractwidth
+   \parindent\z@
+   \samepage
+}%
+%    \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\ps at titlepage}
+% \changes{4.0a}{1998/06/10}{multiple preprint commands}
+% \changes{4.0b}{1999/06/20}{Stack \cs{preprint} args flush right at right margin.}
+% Title page style. Currently empty except for preprint header,
+% which consists of all the \cmd\preprint\ arguments,
+% stacked flush right at the right margin.
+% \changes{4.0c}{1999/11/13}{Insert procedure \cs{checkindate}}
+%    \begin{macrocode}
+\def\ps at titlepage{%
+  \def\@oddhead{%
+   \hfill
+   \preprint at sw{%
+    \expandafter\produce at preprints\expandafter{\@preprint}%
+   }{}%
+  }%
+  \let\@evenhead\@oddhead
+  \def\@oddfoot{%
+   \hb at xt@\z@{\byrevtex\hss}%
+   \hfil
+   \preprintsty at sw{\thepage}{}%
+   \quad\checkindate
+   \hfil
+  }%
+  \let\@evenfoot\@oddfoot
+}%
+\def\byrevtex{\byrevtex at sw{Typeset by REV\TeX}{}}%
+%    \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\produce at preprints}
+% \changes{4.0c}{1999/11/13}{(AO, 115) If three or more preprints specified, set on single line, with commas.}
+%    \begin{macrocode}
+\def\produce at preprints#1{%
+ \vtop to \z@{%
+  \def\baselinestretch{1}%
+  \small
+  \let\preprint\preprint at count
+  \count@\z@
+  #1%
+  \@ifnum{\count@>\tw@}{%
+   \hbox{%
+    \let\preprint\preprint at hlist
+    #1%
+    \setbox\z@\lastbox
+   }%
+  }{%
+   \let\preprint\preprint at cr
+   \halign{\hfil##\cr#1\crcr}%
+   \par
+   \vss
+  }%
+ }%
+}%
+\def\preprint at cr#1{#1\cr}%
+\def\preprint at count#1{\advance\count@\@ne}%
+\def\preprint at hlist#1{#1\hbox{, }}%
+%    \end{macrocode}
+% \end{macro}
+%
+% \subsubsection{Stacked Heads}%
+% All APS journals put a period (.), followed by quad space, after the section number.
+% Also, no hanging section number.
+%    \begin{macrocode}
+\def\@seccntformat#1{\csname the#1\endcsname.\quad}%
+\def\@hang at from#1#2#3{#1#2#3}%
+%    \end{macrocode}
+%
+% Note that in the following, we wish to set the section head uppercase, so we use
+% David Carlisle's \cmd\MakeTextUppercase. However, because this procedure effectively 
+% parses its argument (looking for things to \emph{not} translate), it has to be invoked
+% in such a way that the argument of the \cmd\section\ command is passed to it as its
+% own argument. 
+%
+% To accomplish this, we use the \cmd\@hangfrom@\ hook, which was developed for this 
+% purpose.
+%
+%    \begin{macrocode}
+\def\section{%
+  \@startsection
+    {section}%
+    {1}%
+    {\z@}%
+    {0.8cm \@plus1ex \@minus .2ex}%
+    {0.5cm}%
+    {%
+      \normalfont\small\bfseries
+      \centering
+    }%
+}%
+\def\@hangfrom at section#1#2#3{\@hangfrom{#1#2}\MakeTextUppercase{#3}}%
+\def\@hangfroms at section#1#2{#1\MakeTextUppercase{#2}}%
+%    \end{macrocode}
+%
+%    \begin{macrocode}
+\def\subsection{%
+  \@startsection
+    {subsection}%
+    {2}%
+    {\z@}%
+    {.8cm \@plus1ex \@minus .2ex}%
+    {.5cm}%
+    {%
+     \normalfont\small\bfseries
+     \centering
+    }%
+}%
+%    \end{macrocode}
+%
+%    \begin{macrocode}
+\def\subsubsection{%
+  \@startsection
+    {subsubsection}%
+    {3}%
+    {\z@}%
+    {.8cm \@plus1ex \@minus .2ex}%
+    {.5cm}%
+    {%
+     \normalfont\small\itshape
+     \centering
+    }%
+}%
+%    \end{macrocode}
+%
+% \subsubsection{Runin Heads}%
+%    \begin{macrocode}
+\def\paragraph{%
+  \@startsection
+    {paragraph}%
+    {4}%
+    {\parindent}%
+    {\z@}%
+    {-1em}%
+    {\normalfont\normalsize\itshape}%
+}%
+%    \end{macrocode}
+%
+%    \begin{macrocode}
+\def\subparagraph{%
+  \@startsection
+    {subparagraph}%
+    {5}%
+    {\parindent}%
+    {3.25ex \@plus1ex \@minus .2ex}%
+    {-1em}%
+    {\normalfont\normalsize\bfseries}%
+}%
+%    \end{macrocode}
+%
+%
+%
+% \begin{macro}{\section at preprintsty}
+% \begin{macro}{\subsection at preprintsty}
+% \begin{macro}{\subsubsection at preprintsty}
+% Here are the formatting procedures specific to the preprint style;
+% the only difference is that the heads are flush left instead of centered.
+%
+%    \begin{macrocode}
+\def\section at preprintsty{%
+  \@startsection
+    {section}%
+    {1}%
+    {\z@}%
+    {0.8cm \@plus1ex \@minus .2ex}%
+    {0.5cm}%
+    {%
+      \normalfont\small\bfseries
+%     \centering
+    }%
+}%
+%\def\@hangfrom at section@preprintsty#1#2#3{\@hangfrom{#1#2}\MakeTextUppercase{#3}}%
+%    \end{macrocode}
+%    \begin{macrocode}
+\def\subsection at preprintsty{%
+  \@startsection
+    {subsection}%
+    {2}%
+    {\z@}%
+    {.8cm \@plus1ex \@minus .2ex}%
+    {.5cm}%
+    {%
+     \normalfont\small\bfseries
+%    \centering
+    }%
+}%
+%    \end{macrocode}
+%    \begin{macrocode}
+\def\subsubsection at preprintsty{%
+  \@startsection
+    {subsubsection}%
+    {3}%
+    {\z@}%
+    {.8cm \@plus1ex \@minus .2ex}%
+    {.5cm}%
+    {%
+     \normalfont\small\itshape
+%    \centering
+    }%
+}%
+%    \end{macrocode}
+% \end{macro}
+% \end{macro}
+% \end{macro}
+%
+% By default, APS journals set titlepage notes as footnotes.
+%    \begin{verbatim}
+\let\frontmatter at footnote@produce\frontmatter at footnote@produce at footnote
+%    \end{verbatim}
+%
+% \subsubsection{Table of Contents}%
+% The toc will itself make an entry in the toc, 
+% but we temporarily turn off toc formatting for the duration.
+% \changes{4.1a}{2008/01/19}{(AO, 461) Change the csname revtex uses from @dotsep to ltxu at dotsep. The former is understood in mu. (What we wanted was a dimension.)}%
+%    \begin{macrocode}
+\def\@pnumwidth{1.55em}%
+\def\@tocrmarg {2.55em}%
+\def\@dotsep{2}%
+\def\ltxu at dotsep{4.5pt}%
+\setcounter{tocdepth}{3}%
+%    \end{macrocode}
+%
+%    \begin{macrocode}
+\def\tableofcontents{%
+ \addtocontents{toc}{\string\tocdepth at munge}%
+ \print at toc{toc}%
+ \addtocontents{toc}{\string\tocdepth at restore}%
+}%
+%    \end{macrocode}
+%
+%    \begin{macrocode}
+\def\tocdepth at munge{%
+  \let\l at section@saved\l at section
+  \let\l at section\@gobble at tw@
+}%
+\def\@gobble at tw@#1#2{}%
+%    \end{macrocode}
+%
+%    \begin{macrocode}
+\def\tocdepth at restore{%
+  \let\l at section\l at section@saved
+}%
+%    \end{macrocode}
+%
+% The following definition of \cmd\l at part\ is a variant on
+% the definition of \cmd\l@@sections\ in \file{ltxutil.dtx}.
+%    \begin{macrocode}
+\def\l at part#1#2{\addpenalty{\@secpenalty}%
+ \begingroup
+  \set at tocdim@pagenum\@tempboxa{#2}%
+% \@tempdima 3em %
+  \parindent \z@
+  \rightskip\tocleft at pagenum plus 1fil\relax
+  \skip@\parfillskip\parfillskip\z@
+  \addvspace{2.25em plus\p@}%
+  \large \bf %
+  \leavevmode\ignorespaces#1\unskip\nobreak\hskip\skip@
+  \hb at xt@\rightskip{\hfil\unhbox\@tempboxa}\hskip-\rightskip\hskip\z at skip
+  \par
+  \nobreak %
+ \endgroup
+}%
+%    \end{macrocode}
+%
+% \begin{macro}{\l at section}
+% Determine which TOC elements are automatically indented.
+%
+% We set the TOC to the standard of RMP. 
+% If APS has its own specification, we will code it, and RMP must override.
+%    \begin{macrocode}
+\def\tocleft@{\z@}%
+\def\tocdim at min{5\p@}%
+\def\l at section{%
+ \l@@sections{}{section}% Implicit #3#4
+}%
+\def\l at f@section{%
+ \addpenalty{\@secpenalty}%
+ \addvspace{1.0em plus\p@}%
+ %\bf
+}%
+\def\l at subsection{%
+ \l@@sections{section}{subsection}% Implicit #3#4
+}%
+\def\l at subsubsection{%
+ \l@@sections{subsection}{subsubsection}% Implicit #3#4
+}%
+\def\l at paragraph#1#2{}%
+\def\l at subparagraph#1#2{}%
+%    \end{macrocode}
+% \end{macro}
+%
+% Activate the auto TOC processing.
+%    \begin{macrocode}
+\let\toc at pre\toc at pre@auto
+\let\toc at post\toc at post@auto
+%    \end{macrocode}
+%
+% \subsubsection{Default column bottom}%
+% All APS journal styles have flush bottoms.
+%\changes{4.1n}{2009/11/30}{(AO, 566) restore 4.0 behavior: flush column bottoms}
+%    \begin{macrocode}
+\@booleanfalse\raggedcolumn at sw
+%    \end{macrocode}
+%
+%
+% \subsubsection{Table alignment style}%
+%
+% \begin{macro}{\tableft at skip@float}
+% \begin{macro}{\tabmid at skip@float}
+% \begin{macro}{\tabright at skip@float}
+% \begin{macro}{\array at row@pre at float}
+% \begin{macro}{\array at row@pst at float}
+% All APS publications have the same table specification:
+% Scotch rules above and below, centered in column.
+%    \begin{macrocode}
+\def\tableft at skip@float{\z@ plus\hsize}%
+\def\tabmid at skip@float{\@flushglue}%
+\def\tabright at skip@float{\z@ plus\hsize}%
+\def\array at row@pre at float{\hline\hline\noalign{\vskip\doublerulesep}}%
+\def\array at row@pst at float{\noalign{\vskip\doublerulesep}\hline\hline}%
+%    \end{macrocode}
+% \end{macro}
+% \end{macro}
+% \end{macro}
+% \end{macro}
+% \end{macro}
+%
+%
+% \subsubsection{Footnote formatting}%
+% \changes{4.1n}{2010/01/02}{(AO, 572) \cs{@makefntext} and \cs{frontmatter at makefntext} must be defined harmoniously}%
+% We customize the formatting of footnotes for all APS journals.
+% \begin{macro}{\@makefntext}
+%    \begin{macrocode}
+\long\def\@makefntext#1{%
+ \def\baselinestretch{1}%
+ \leftskip1em%
+ \parindent1em%
+ \noindent
+ \nobreak\hskip-\leftskip
+ \hb at xt@\leftskip{%
+  \hss\@makefnmark\ %
+ }%
+ #1%
+ \par
+}%
+%    \end{macrocode}
+% \end{macro}
+% \begin{macro}{\frontmatter at makefntext}
+% We ensure that frontmatter footnotes format similarly to body footnotes. 
+% But we provide our own hypertext anchor, otherwise not provided.
+% \changes{4.1n}{2010/01/02}{(AO, 572) Independent footnote counter for title block. Abstract footnote counter shared with body.}%
+%    \begin{macrocode}
+\long\def\frontmatter at makefntext#1{%
+ \def\baselinestretch{1}%
+ \leftskip1em%
+ \parindent1em%
+ \noindent
+ \nobreak\hskip-\leftskip
+ \Hy at raisedlink{\hyper at anchorstart{frontmatter.\expandafter\the\csname c@\@mpfn\endcsname}\hyper at anchorend}%
+ \hb at xt@\leftskip{%
+  \hss\@makefnmark\ %
+ }%
+ #1%
+ \par
+}%
+%    \end{macrocode}
+% \end{macro}
+%
+%
+% \subsubsection{Appendix}%
+% \begin{macro}{\appendix}
+% \begin{macro}{\@hangfrom at appendix}
+% \begin{macro}{\@hangfroms at appendix}
+% \begin{macro}{\@appendixcntformat}
+% \changes{4.0c}{1999/11/13}{(AO, 129) section* within appendix was producing appendixname}
+%    \begin{macrocode}
+\prepdef\appendix{%
+ \par
+ \let\@hangfrom at section\@hangfrom at appendix
+%\let\@hangfroms at section\@hangfroms at appendix
+ \let\@sectioncntformat\@appendixcntformat
+}%
+\def\@hangfrom at appendix#1#2#3{%
+ #1%
+ \@if at empty{#2}{%
+  #3%
+ }{%
+  #2\@if at empty{#3}{}{:\ #3}%
+ }%
+}%
+\def\@hangfroms at appendix#1#2{%
+ #1#2%
+}%
+\def\@appendixcntformat#1{\appendixname\ \csname the#1\endcsname}%
+%    \end{macrocode}
+% \end{macro}
+% \end{macro}
+% \end{macro}
+% \end{macro}
+%
+% \subsubsection{Bibliography}%
+% \changes{4.1n}{2010/01/04}{(AO, 576) In .bst files, remove support for the annote field}%
+%
+% Customize \revtex\ for the journal substyle;
+% this task requires three components:
+% the \BibTeX\ \file{apsrev.bst} and \file{apsrmp.bst} style files, and
+% customizations of the \env{thebibliography} environment.
+%
+% \begin{macro}{\@bibstyle}
+% Define the argument of the \cmd\bibliographystyle\ command
+% (if the document does not do so).
+% The user must have installed a \file{.bst} file of the corresponding name.
+% This file will then be used by \BibTeX\ when compiling the document's \file{.bbl} file.
+%
+%  To generate \file{apsrev.bst}, use \classname{custom-bib} version 4.21 or later.
+%  Run the \file{.bst} generator, \file{makebst.tex}, and
+%  accept all defaults, with the following exceptions:
+%
+% \def\QandA#1#2#3{\item#1: \textbf{#2}: \texttt{#3}---}%
+% \def\CandE#1{\item\relax\texttt{#1}---}%
+% \begin{enumerate}
+% \QandA{LANGUAGE FIELD}{l}{lang}Use language field to switch hyphenation patterns for title
+% \QandA{PRESENTATIONS}{b}{pres,pres-bf}Presentation, speaker bold face 
+% \QandA{ORDERING OF REFERENCES}{c}{seq-no}Citation order (unsorted, like unsrt.bst)
+% \QandA{ORDER ON VON PART}{x}{vonx}Sort without von part (de la Maire after Mahone)
+% \QandA{AUTHOR NAMES}{i}{nm-init,ed-au}Initials + surname (J. F. Smith)
+% \QandA{POSITION OF JUNIOR}{*}{jnrlst}Junior comes last as Smith, John, Jr.
+% \QandA{TYPEFACE FOR AUTHORS IN LIST OF REFERENCES}{u}{nmft,nmft-def}User defined author font (\cmd\bibnamefont)
+% \QandA{FONT FOR FIRST NAMES}{u}{fnm-def}First names in user defined font (\cmd\bibfnamefont)
+% \QandA{EDITOR NAMES IN INCOLLECTION ETC}{a}{nmfted}Editors incollection like authors font
+% \QandA{FONT FOR `AND' IN LIST}{r}{nmand-rm}`And' in normal font (JONES and JAMES)
+% \QandA{FONT OF CITATION LABELS IN TEXT}{u}{lab,lab-def}User defined citation font (\cmd\citenamefont)
+% \QandA{FONT FOR `AND' IN CITATIONS}{r}{and-rm}Cited `and' in normal font 
+% \QandA{DATE FORMAT}{*}{yr-par}Date in parentheses as (May 1993)
+% \QandA{DATE EMPTY}{-}{date-nil-x}If date is empty, then do not produce the surrounding punctuation (parens, brackets, colon, comma)
+% \QandA{TITLE OF ARTICLE}{d}{tit-qq}Title and punctuation in double quotes (``Title,'' ..)
+% \QandA{INPROCEEDINGS CHAPTER AND PAGES, LIKE INBOOK}{-}{inproceedings-chapter}produce pages after chapter, just as in InBook
+% \QandA{TITLE PRESENT IN ARTICLE, INCOLLECTION, AND INPROCEEDINGS}{x}{jtit-x}Title is ignored
+% \QandA{INPROCEEDINGS CHAPTER AND PAGES, LIKE INBOOK}{y}{inproceedings-chapter}produce pages after chapter, just as in InBook
+% \QandA{ARTICLE BOOKTITLE PRESENT}{}{article-booktitle}format booktitle 
+% \QandA{ARTICLE SERIES PRESENT}{}{article-series}article can has series
+% \QandA{JOURNAL NAME FONT}{r}{jttl-rm}Journal name normal font
+% \QandA{JOURNAL NAME WITH ADDRESS}{y}{journal-address}Include address field (in parentheses) along with journal name
+% \QandA{BOOK TITLE FIELDS}{y}{book-bt}Field `booktitle', or if absent field `title', is book title 
+% \QandA{THESIS TITLE OPTIONAL}{}{thesis-title-o}Title is optional: no warning issued if empty
+% \QandA{TECHNICAL REPORT TITLE}{b}{trtit-b}Tech. report title like books 
+% \QandA{TECHNICAL REPORT INSTITUTION}{}{techreport-institution-par}format tech report institution like book publisher
+% \QandA{JOURNAL VOLUME}{b}{vol-bf}Volume bold as {\bf vol}(num)
+% \QandA{JOURNAL VOL AND NUMBER}{x}{vnum-x}Journal vol, without number as 34
+% \QandA{VOLUME PUNCTUATION}{c}{volp-com}Volume with comma as vol(num), ppp
+% \QandA{PAGE NUMBERS}{f}{jpg-1}Only start page number 
+% \QandA{BOOK EDITOR W/O AUTHOR}{}{book-editor-booktitle}Book permits empty author, produces title before editor in this case
+% \QandA{INBOOK PERMITS TITLE, BOOKTITLE, AUTHOR, EDITOR}{a}{inbook-editor-booktitle}Allow using both title/booktitle, both author/editor
+% \QandA{CONFERENCE ADDRESS FOR BOOK, INBOOK, INCOLLECTION, INPROCEEDINGS, PROCEEDINGS}{a}{bookaddress}Italic booktitle followed by bookaddress in roman
+% \QandA{NUMBER AND SERIES FOR BOOK, INBOOK, INCOLLECTION, INPROCEEDINGS, PROCEEDINGS}{*}{num-xser}Allows number without series and suppresses word "number"
+% \QandA{WORD NUMBER CAPITALIZED FOR NUMBER AND SERIES}{c}{number-cap}Capitalize word `number' as: "Number 123"
+% \QandA{WORD CHAPTER CAPITALIZED}{c}{chapter-cap}Capitalize word `chapter' as: `Chapter 42'
+% \QandA{COMBINING NUMBER AND SERIES}{x}{series-number}Series number as: `Springer Lecture Notes No. 125'
+% \QandA{POSITION OF NUMBER AND SERIES}{b}{numser-booktitle}After book title and conference address, and before editors 
+% \QandA{VOLUME AND SERIES FOR BOOKS/COLLECTIONS}{s}{ser-vol}Series, vol. 23
+% \QandA{VOLUME AND SERIES FORMATTING}{y}{ser-rm}format series roman , even when used with volume
+% \QandA{WORD VOLUME CAPITALIZED FOR VOLUME AND SERIES}{y}{volume-cap}Capitalize word `volume', as: `Volume 7 in Lecture Series'
+% \QandA{POSITION OF VOLUME AND SERIES FOR INCOLLECTION, INBOOK, AND INPROCEEDINGS}{e}{ser-ed}Series and volume after booktitle and before editors
+% \QandA{JOURNAL NAME PUNCTUATION}{x}{jnm-x}Space after journal name
+% \QandA{PAGES IN BOOK}{*}{pg-bk,book-chapter-pages}As chapter and page: chapter 42, page 345
+% \QandA{PUBLISHER IN PARENTHESES}{d}{pub-date}Publisher with address and date in parentheses (Oxford, 1994)
+% \QandA{EMPTY PUBLISHER PARENTHESES}{y}{ay-empty-pub-parens-x}eliminate parentheses altogether if nothing inside
+% \QandA{PUBLISHER POSITION}{}{pre-pub}Publisher before volume, chapter, pages 
+% \QandA{}{}{pre-edn}Edition before publisher
+% \QandA{}{p}{pre-pub,pre-edn}Edition, publisher, volume, chapter, pages
+% \QandA{ISBN NUMBER}{*}{isbn}Include ISBN for books, booklets, etc.
+% \QandA{ISSN NUMBER}{*}{issn}Include ISSN for periodicals
+% \QandA{DOI NUMBER}{a}{doi-link,doi}Doi forms a link to the publication, anchored to the volume or title
+% \QandA{EDITOR IN COLLECTIONS}{b}{edby}In booktitle, edited by ..  (where .. is names)
+% \QandA{PUNCTUATION BETWEEN SECTIONS (BLOCKS)}{c}{blk-com}Comma between blocks 
+% \QandA{FINAL PUNCTUATION}{c}{fin-endbibitem}Command at end instead of period 
+% \QandA{ABBREVIATE WORD `PAGES'}{a}{pp}`Page' abbreviated as p. or pp.
+% \QandA{ABBREVIATE WORD `EDITORS'}{a}{ed}`Editor' abbreviated as ed. or eds.
+% \QandA{OTHER ABBREVIATIONS}{a}{abr}Abbreviations of such words
+% \QandA{ABBREVIATION FOR `EDITION'}{a}{ednx}`Edition' abbreviated as `ed' 
+% \QandA{EDITION NUMBERS}{n}{ord}Numerical editions as 1st, 2nd, 3rd, etc
+% \QandA{STORED JOURNAL NAMES}{a}{jabr}Abbreviated journal names 
+% \QandA{FONT OF `ET AL'}{i}{etal-it}Italic et al 
+% \QandA{ADDITIONAL REVTeX DATA FIELDS}{r}{revdata,eprint,url,url-blk,translation}Include REVTeX data fields collaboration, eid, eprint, archive, url, translation
+% \QandA{SLACcitation FIELD}{}{SLACcitation}Produce SLACcitation field
+% \QandA{NUMPAGES DATA FIELD}{*}{numpages-x}Do not include numpages field 
+% \QandA{URL ADDRESS}{*}{url,url-prefix-x}URL without prefix (default: `URL ')
+% \QandA{REFERENCE COMPONENT TAGS}{b}{bibinfo}Reference component tags like \cmd\bibinfo in the content of \cmd\bibitem
+% \QandA{ELEMENT TAGS}{b}{bibfield}Element tags like \cmd\bibfield in the content of \cmd\bibitem
+% \QandA{COMPATIBILITY WITH PLAIN TEX}{*}{nfss}Use LaTeX commands which may not work with Plain TeX
+% \end{enumerate}
+%
+% A file \file{apsrev.dbj} file equivalent to the following should result:
+% \begin{verbatim}
+%\input docstrip
+%\preamble
+%----------------------------------------
+%*** REVTeX-compatible Phys Rev 2010-02-12 ***
+%\endpreamble
+%\postamble
+%End of customized bst file
+%\endpostamble
+%\keepsilent
+%\askforoverwritefalse
+%\def\MBopts{\from{merlin.mbs}{%
+%  head,\MBopta}
+%\from{physjour.mbs}{\MBopta}
+%\from{geojour.mbs}{\MBopta}
+%\from{photjour.mbs}{\MBopta}
+%\from{merlin.mbs}{tail,\MBopta}}
+%\def\MBopta{%
+%  ay,%: Author-year with some non-standard interface
+%  nat,%: Natbib for use with natbib v5.3 or later
+%  lang,%: Use language field to switch hyphenation patterns for title
+%  pres,pres-bf,%: Presentation, speaker bold face 
+%  seq-no,%: Citation order (unsorted, only meaningful for numericals)
+%  vonx,%: Sort without von part (de la Maire after Mahone)
+%  nm-init,ed-au,%: Initials + surname (J. F. Smith)
+%  jnrlst,%: Junior comes last as Smith, John, Jr.
+%  nmft,nmft-def,%: User defined author font (\bibnamefont)
+%  fnm-def,%: First names in user defined font (\bibfnamefont)
+%  nmfted,%: Editors incollection like authors font
+%  nmand-rm,%: `And' in normal font (JONES and JAMES)
+%  lab,lab-def,%: User defined citation font (\citenamefont)
+%  and-rm,%: Cited `and' in normal font 
+%  keyxyr,%: Year blank when KEY replaces missing author (for natbib 7.0)
+%  blkyear,%: Missing date left blank 
+%  yr-par,%: Year in parentheses as (1993)
+%  dtrev,%: Date as year month 
+%  date-nil-x,%: If date is empty, then do not produce the surrounding punctuation (parens, brackets, colon, comma)
+%  tit-qq,%: Title and punctuation in double quotes (``Title,'' ..)
+%  inproceedings-chapter,%: produce pages after chapter, just as in InBook
+%  jtit-x,%: Title is ignored
+%  inproceedings-chapter,%: produce pages after chapter just as in InBook
+%  article-booktitle,%: format booktitle 
+%  article-series,%: article can has series
+%  jttl-rm,%: Journal name normal font
+%  journal-address,%: Include address field (in parentheses) along with journal name
+%  book-bt,%: Field `booktitle', or if absent field `title', is book title 
+%  thesis-title-o,%: Title is optional: no warning issued if empty
+%  trtit-b,%: Tech. report title like books 
+%  techreport-institution-par,%: format tech report institution like book publisher
+%  vol-bf,%: Volume bold as {\bf vol}(num)
+%  vnum-x,%: Journal vol, without number as 34
+%  volp-com,%: Volume with comma as vol(num), ppp
+%  jpg-1,%: Only start page number 
+%  book-editor-booktitle,%: Book permits empty author, produces title before editor in this case
+%  inbook-editor-booktitle,%: Allow using both title/booktitle, both author/editor
+%  bookaddress,%: Italic booktitle followed by bookaddress in roman
+%  num-xser,%: Allows number without series and suppresses word "number"
+%  number-cap,%: Capitalize word `number' as: "Number 123"
+%  chapter-cap,%: Capitalize word `chapter' as: `Chapter 42'
+%  series-number,%: Series number as: `Springer Lecture Notes No. 125'
+%  numser-booktitle,%: After book title and conference address, and before editors 
+%  ser-vol,%: Series, vol. 23
+%  ser-rm,%: format series roman , even when used with volume
+%  volume-cap,%: Capitalize word `volume', as: `Volume 7 in Lecture Series'
+%  ser-ed,%: Series and volume after booktitle and before editors
+%  jnm-x,%: Space after journal name
+%  pg-bk,book-chapter-pages,%: As chapter and page: chapter 42, page 345
+%  pub-date,%: Publisher with address and date in parentheses (Oxford, 1994)
+%  ay-empty-pub-parens-x,%: eliminate parentheses altogether if nothing inside
+%  pre-pub,pre-edn,%: Edition, publisher, volume, chapter, pages
+%  isbn,%: Include ISBN for books, booklets, etc.
+%  issn,%: Include ISSN for periodicals
+%  doi-link,doi,%: Doi forms a link to the publication, anchored to the volume or title
+%  edby,%: In booktitle, edited by ..  (where .. is names)
+%  blk-com,%: Comma between blocks 
+%  fin-endbibitem,%: Command at end instead of period 
+%  pp,%: `Page' abbreviated as p. or pp.
+%  ed,%: `Editor' abbreviated as ed. or eds.
+%  abr,%: Abbreviations of such words
+%  ednx,%: `Edition' abbreviated as `ed' 
+%  ord,%: Numerical editions as 1st, 2nd, 3rd, etc
+%  jabr,%: Abbreviated journal names 
+%  etal-it,%: Italic et al 
+%  revdata,eprint,url,url-blk,translation,%: Include REVTeX data fields collaboration, eid, eprint, archive, url, translation
+%  SLACcitation,%: Produce SLACcitation field
+%  numpages-x,%: Do not include numpages field 
+%  url,url-prefix-x,%: URL without prefix (default: `URL ')
+%  bibinfo,%: Reference component tags like \bibinfo in the content of \bibitem
+%  bibfield,%: Element tags like \bibfield in the content of \bibitem
+%  nfss,%: Use LaTeX commands which may not work with Plain TeX
+%,{%
+%  }}
+%\generate{\file{apsrev4-1.bst}{\MBopts}}
+%\endbatchfile
+% \end{verbatim}
+%
+% \subsubsection{Comparing apsrev.bst and apsrmp.bst}\label{sec:CompRevRmp}
+% These two bibliographic styles differ as follows:
+% \file{apsrev.dbj} has the following guard codes, which \file{apsrmp.dbj} does not:
+% \begin{itemize}
+% \CandE{seq-no}%
+%    Citation order (unsorted, like unsrt.bst)
+% \CandE{nm-init,ed-au}%
+%    Initials + surname (J. F. Smith)
+% \CandE{blkyear}%
+%    Missing date left blank 
+% \CandE{date-nil-x}%
+%    If date is empty, then do not produce the surrounding punctuation (parens, brackets, colon, comma)
+% \CandE{inproceedings-chapter}%
+%    produce pages after chapter, just as in InBook
+% \CandE{techreport-institution-par}%
+%    format tech report institution like book publisher
+% \CandE{vnum-x}%
+%    Journal vol, without number as `34'
+% \CandE{pub-date}%
+%    Publisher with address and date in parentheses (Oxford, 1994)
+% \CandE{pre-pub}%
+%    Edition, publisher, volume, chapter, pages. Note that both use guard code pre-edn.
+% \end{itemize}
+%
+% \file{apsrmp.dbj} has the following guard codes, which \file{apsrev.dbj} does not:
+% \begin{itemize}
+% \CandE{nm-rev1}%
+%    Only first name reversed, initials (AGU style: Smith, J. F., H. K. Jones)
+% \CandE{dt-beg}%
+%    Date after authors 
+% \CandE{vnum-sp}%
+%    Journal vol (num) as `34 (2)'
+% \CandE{pp-last}%
+%    Pages at end, but before any notes
+% \CandE{pub-par}%
+%    Publisher in parentheses
+% \CandE{school-par}%
+%    School/address in parens: `(school, address)' 
+% \CandE{bkedcap}%
+%    `Name Editor,' as above, editor upper case
+% \CandE{and-com}%
+%    Comma even with 2 authors as `Tom, and Harry'
+%    
+% \end{itemize}
+%
+% We ensure that the journal substyle has the first word
+% in the matter by installing the (default) APS code 
+% later on (see Section~\ref{sec:aps-defaults}).
+% \end{macro}
+%
+% \begin{macro}{\authoryear at sw}
+% \changes{4.1a}{2008/01/18}{(AO, 457) Endnotes to be sorted in with numerical citations.}%
+% Numerical citations: default value of \cmd\authoryear at sw\ is false.
+%    \begin{macrocode}
+\@booleanfalse\authoryear at sw
+%    \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\bibpunct}
+% The following commands effectively establish the style in which \cmd\cite\ commands are
+% formatted.
+% You can think of them as the second needed component for the bibliography.
+% 
+% Set up for APS numerical citations (once the packages are loaded). 
+% The journal substyle can override these choices.
+%
+% Note that, prior to \classname{natbib} version 8.21, changing \cmd\NAT at sort\ at this late hour would not be totally effective;
+% you would have to give \classname{natbib} the relevant options at load time.
+% From version 8.21 on, \cmd\NAT at sort\ and \cmd\NAT at cmprs\ are not bound at all. 
+% \changes{4.1a}{2008/01/19}{For natbib versions before 8.21, \cs{NAT at sort} was consulted only as natbib was being read in. Now it is fully dynamic.}
+%    \begin{macrocode}
+\appdef\setup at hook{%
+ \bibpunct{[}{]}{,}{n}{}{,}%
+}%
+%    \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\pre at bibdata}
+% 
+% Set up to write endnotes to a .bib file; its data will be incorporated into the bibliography.
+%    \begin{macrocode}
+ \def\pre at bibdata{\jobname\bibdata at app}%
+%    \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\bibsection}
+% We define the sectioning command to use when starting the bibliography.
+%
+% \changes{4.0rc1}{2001/06/18}{grid changes with push and pop}
+%    \begin{macrocode}
+\appdef\setup at hook{%
+ \def\bibsection{%
+  \par
+  \onecolumngrid at push
+  \begingroup
+   \baselineskip26\p@
+   \bib at device{\textwidth}{245.5\p@}%
+  \endgroup
+  \nobreak\@nobreaktrue
+  \addvspace{19\p@}%
+  \par
+  \onecolumngrid at pop
+ }%
+}%
+%    \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\bib at device}
+% \begin{macro}{\bibpreamble}
+% \begin{macro}{\bibsep}
+% \begin{macro}{\newblock}
+% We define the sectioning command to use when starting the bibliography.
+%    \begin{macrocode}
+\def\bib at device#1#2{%
+ \hb at xt@\z@{%
+  \hb at xt@#1{%
+   \hfil
+   \phantomsection
+   \addcontentsline {toc}{section}{\protect\numberline{}\refname}%
+%  \hyper at anchorstart {\@currentHref }%
+   \hb at xt@#2{%
+    \skip@\z@\@plus-1fil\relax
+                           \leaders\hrule height.25 \p@ depth.25 \p@ \hskip\z@\@plus1fil
+    \hskip\skip@
+    \hskip\z@\@plus0.125fil\leaders\hrule height.375\p@ depth.375\p@ \hskip\z@\@plus0.75fil \hskip\z@\@plus0.125fil
+    \hskip\skip@
+    \hskip\z@\@plus0.25 fil\leaders\hrule height.5  \p@ depth.5  \p@ \hskip\z@\@plus0.5 fil \hskip\z@\@plus0.25 fil
+    \hskip\skip@
+    \hskip\z@\@plus0.375fil\leaders\hrule height.625\p@ depth.625\p@ \hskip\z@\@plus0.25fil \hskip\z@\@plus0.375fil
+ %  \hskip\skip@
+ %  \hfil
+   }%
+%  \hyper at anchorend
+   \hfil
+  }%
+  \hss
+ }%
+}%
+\appdef\setup at hook{%
+ \let\bibpreamble\@empty
+ \bibsep\z@\relax
+ \def\newblock{\ }%
+}%
+%    \end{macrocode}
+% \end{macro}
+% \end{macro}
+% \end{macro}
+% \end{macro}
+%
+% \begin{macro}{\bibfont}
+% We define the font switch that applies to the body of the bibliography.
+%
+%    \begin{macrocode}
+\appdef\setup at hook{%
+ \def\bibfont{%
+  \small
+  \@clubpenalty\clubpenalty
+ }%
+}%
+%    \end{macrocode}
+% \end{macro}
+%
+%
+% \subsubsection{Index}%
+% FIXME: the following call to \cmd\twocolumn\ appears wrong if we were in two-column grid.
+% \changes{4.0c}{1999/11/13}{grid changes with ltxgrid}
+% \changes{4.0rc1}{2001/06/18}{grid changes with push and pop}
+%    \begin{macrocode}
+\newenvironment{theindex}{%
+ \columnseprule \z@
+ \columnsep 35\p@
+ \c at secnumdepth-\maxdimen
+ \onecolumngrid at push
+ \section{\indexname}%
+ \thispagestyle{plain}%
+ \parindent\z@
+ \parskip\z@ plus.3\p@\relax
+ \let\item\@idxitem
+ \onecolumngrid at pop
+}{%
+%\onecolumngrid at pop
+}%
+%
+\def\@idxitem{\par\hangindent 40\p@}%
+%
+\def\subitem{\par\hangindent 40\p@ \hspace*{20\p@}}%
+%
+\def\subsubitem{\par\hangindent 40\p@ \hspace*{30\p@}}%
+%
+\def\indexspace{\par \vskip 10\p@ plus5\p@ minus3\p@\relax}%
+%    \end{macrocode}
+%
+%
+% \subsection{Journal- and Pointsize-Specific Code}%
+%
+% After this substyle is read in, we will execute the code specific to the selected 
+% journal: execute the society/journal \file{.rtx} file if it exists, or
+% execute the society/journal macro (if the latter is not defined, it will \cmd\relax\ out). 
+% Here we define the default journal.
+%    \begin{macrocode}
+\def\@journal at default{pra}%
+%    \end{macrocode}
+%
+% \subsection{Typesize-Specific Code}%
+%
+% After this society file is read in, we will process the \cmd\@pointsize-specific
+% code. Here we define the default.
+%    \begin{macrocode}
+\def\@pointsize at default{10}%
+%    \end{macrocode}
+%
+% Note: the convention in \revtex\ and its substyles is that 
+% the substyle must not override any explicit class options
+% declared by the document.
+% This means that the various Booleans of Section~\ref{sec:options}
+% may be assigned here only if they are still undefined at this point.
+%
+% For the APS, we supply code specific to journals PRA, PRB, PRC, PRD, PRE, PRL, and RMP.
+% At present, they are identical,
+% with the exception of PRB and RMP.
+%
+% For most all of the APS journals, the journal-dependent 
+% code is relatively meager and is therefore embedded in this file.
+% However, the RMP code is sufficiently extensive that 
+% splitting it out into a separate file is more convenient.
+%
+% \subsubsection{\classoption{pra}}%
+% There is no code specific to \classoption{pra}.
+%    \begin{macrocode}
+\def\rtx at apspra{%
+ \class at info{APS journal PRA selected}%
+}%
+%    \end{macrocode}
+%
+% \subsubsection{\classoption{prb}}%
+% We define a \cmd\citealp-like procedure that uses a numerical citation; it is for use in 
+% the PRB journal.
+%    \begin{macrocode}
+\def\rtx at apsprb{%
+ \class at info{APS journal PRB selected}%
+%    \end{macrocode}
+% PRB requires superscript citations.
+% We use Patrick Daly's \classname{natbib} package,
+% and hyperref and other packages are already set up to cope with this.
+%
+% \begin{macro}{\bibpunct}
+% By default, PRB selects the \classoption{bibnotes} option.
+% We also set up for numerical citations.
+%    \begin{macrocode}
+ \let\frontmatter at footnote@produce\frontmatter at footnote@produce at endnote
+ \appdef\setup at hook{%
+  \bibpunct{}{}{,}{s}{}{\textsuperscript{,}}%
+  \let\onlinecite\rev at citealpnum
+ }%
+%    \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\pre at bibdata}
+% \begin{macro}{\@endnotetext}
+% \changes{4.1a}{2008/01/18}{(AO, 457) Endnotes to be sorted in with numerical citations.}%
+% 
+% Set up to write endnotes to a .bib file; its data will be incorporated into the bibliography.
+%    \begin{macrocode}
+ \def\pre at bibdata{\jobname\bibdata at app}%
+%    \end{macrocode}
+% \end{macro}
+% \end{macro}
+%
+% Invoke \classoption{superbib} option. 
+% If the document makes a selection of its own, it will override this assignment.
+%    \begin{macrocode}
+ \let\place at bibnumber\place at bibnumber@sup
+%    \end{macrocode}
+%
+% End of \classoption{prb} code.
+%    \begin{macrocode}
+}%
+%    \end{macrocode}
+%
+% \subsubsection{\classoption{prc}}%
+% There is no code specific to \classoption{prc}. 
+%    \begin{macrocode}
+\def\rtx at apsprc{%
+ \class at info{APS journal PRC selected}%
+}%
+%    \end{macrocode}
+%
+% \subsubsection{\classoption{prd}}%
+% There is no code specific to \classoption{prd}. 
+%    \begin{macrocode}
+\def\rtx at apsprd{%
+ \class at info{APS journal PRD selected}%
+}%
+%    \end{macrocode}
+%
+% \subsubsection{\classoption{pre}}%
+% There is no code specific to \classoption{pre}. 
+%    \begin{macrocode}
+\def\rtx at apspre{%
+ \class at info{APS journal PRE selected}%
+}%
+%    \end{macrocode}
+%
+% \subsubsection{\classoption{prl}}%
+%    \begin{macrocode}
+\def\rtx at apsprl{%
+ \class at info{APS journal PRL selected}%
+%    \end{macrocode}
+% In PRL, the default is the \classoption{bibnotes} option,
+% and the Acknowledgments section has no head.
+%
+% The References head is a device that may be described as a lozenge centered on the baseline,
+% 71 points wide by 2 points thick, with the ends tapering to a half point in thickness.
+% Space above 26 points base to base, below 31 base to base.
+%FIXME: this code may confound \classname{geometry}
+%    \begin{macrocode}
+ \let\frontmatter at footnote@produce\frontmatter at footnote@produce at endnote
+ \@booleanfalse\acknowledgments at sw
+ \appdef\setup at hook{%
+  \def\bibsection{%
+   \par
+   \begingroup
+    \baselineskip26\p@
+    \bib at device{\hsize}{72\p@}%
+   \endgroup
+   \nobreak\@nobreaktrue
+   \addvspace{19\p@}%
+  }%
+ }%
+%    \end{macrocode}
+% Implement length checking.
+% Use the \classname{times} and \classname{mathtime} packages,
+% plus whatever other processing is required
+% to make the formatted output be true
+% to the metrics of the journal.
+%
+%    \begin{macrocode}
+\appdef\setup at hook{%
+  \lengthcheck at sw{%
+   \RequirePackage{times}%
+%    \end{macrocode}
+% Wait. Do not use mathtime after all. APS has their own way of doing math pi, involving
+% Adobe Mathematical Pi and other fonts.
+%    \begin{verbatim}
+%  \RequirePackage{mathtime}%
+%    \end{verbatim}
+%    \begin{macrocode}
+  }{}%
+}%
+%    \end{macrocode}
+% A PRL does not have numbered sections.
+%    \begin{macrocode}
+ \c at secnumdepth=-\maxdimen
+%    \end{macrocode}
+% Note: we defer this code until after type size file is read in.
+%    \begin{macrocode}
+ \appdef\setup at hook{%
+  \@ifnum{\@pointsize=10\relax}{%
+   \lengthcheck at sw{%
+    \def\large{%
+     \@setfontsize\large{12.5}{14\p@}%
+    }%
+    \def\normalsize{%
+     \@setfontsize\normalsize{10.5}\@xiipt
+     \abovedisplayskip 6\p@ \@plus6\p@ \@minus5\p@
+     \belowdisplayskip \abovedisplayskip
+     \abovedisplayshortskip  \abovedisplayskip
+     \belowdisplayshortskip \abovedisplayskip
+     \let\@listi\@listI
+    }%
+    \def\small{%
+     \@setfontsize\small{9.5}\@xipt
+     \abovedisplayskip 5\p@ \@plus5\p@ \@minus4\p@
+     \belowdisplayskip \abovedisplayskip
+     \abovedisplayshortskip  \abovedisplayskip
+     \belowdisplayshortskip \abovedisplayskip
+     \let\@listi\@listI
+    }%
+    \DeclareMathSizes{12.5}{12.5}{9}{6}%
+    \DeclareMathSizes{10.5}{10.5}{7.5}{5}%
+    \DeclareMathSizes{9.5}{9.5}{7.0}{5}%
+   }{%
+    \def\normalsize{%
+     \@setfontsize\normalsize\@xpt\@xiipt
+     \abovedisplayskip 10\p@ \@plus2\p@ \@minus5\p@
+     \belowdisplayskip \abovedisplayskip
+     \abovedisplayshortskip  \abovedisplayskip
+     \belowdisplayshortskip \abovedisplayskip
+     \let\@listi\@listI
+    }%
+   }%
+  }{}%
+ }%
+ \textheight = 694.0\p@
+%    \end{macrocode}
+%
+% End of \classoption{prl} code.
+%    \begin{macrocode}
+}%
+%    \end{macrocode}
+%
+% \subsubsection{\classoption{per}}%
+% Here is code specific to \classoption{per}. 
+%    \begin{macrocode}
+\def\rtx at apsprstper{%
+ \class at info{APS journal PRST-PER selected}%
+%    \end{macrocode}
+% To first order, PER is the same as PRB, with superscript citations.
+%
+%    \begin{macrocode}
+ \rtx at apsprb
+%    \end{macrocode}
+% Per Mark Doyle (2009-12-22), the default is longbibliography.
+% \changes{4.1n}{2010/01/04}{(AO, 575) the default for journal prstper is longbibliography}%
+%    \begin{macrocode}
+ \@booleantrue\longbibliography at sw
+%    \end{macrocode}
+%
+% ``Section heads are bold, centered (Roman numeral, Latin letter)''
+% 
+% Article titles do not have surrounding double-quotes!
+%
+% End of \classoption{prb} code.
+%    \begin{macrocode}
+}%
+%    \end{macrocode}
+%
+% \subsubsection{\classoption{prstab}}%
+% There is no code specific to \classoption{prstab}. 
+%    \begin{macrocode}
+\def\rtx at apsprstab{%
+ \class at info{APS journal PRSTAB selected}%
+}%
+%    \end{macrocode}
+%
+% \subsubsection{\classoption{rmp}}%
+% If this option has been selected, we will read in the needed code from the file \file{apsrmp.rtx}. 
+%
+% \subsection{Establish APS Defaults}\label{sec:aps-defaults}
+%
+% \begin{macro}{\footinbib at sw}
+% All APS journals except RMP effectively invoke the \classoption{footinbib} option.
+% We rely on the RMP-specific code to override this assignment. 
+%    \begin{macrocode}
+\@booleantrue\footinbib at sw
+%    \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\@bibdataout at init}
+% \begin{macro}{\@bibdataout at aps}
+% \changes{4.1o}{2010/02/12}{(AO, 580) Control .bst at run time.}%
+% Procedure \cmd\@bibdataout at aps\ has the job of writing the control record into the
+% job's \cmd\jobname\filename{.bib} file, where it will adjust the options to \filename{.bst} processing. 
+% It is installed into the initialization procedure \cmd\@bibdataout at init, and its meaning 
+% is set by the society (APS) and journal. 
+% For all but RMP, we select the Physical Review style.
+% For the latter case, we change the meaning, per the code in \file{apsrmp.rtx}.
+% 
+%    \begin{macrocode}
+\appdef\@bibdataout at rev{\@bibdataout at aps}%
+\def\@bibdataout at aps{%
+ \immediate\write\@bibdataout{%
+%    \end{macrocode}
+% An entry that controls processing of the \filename{.bst} file has entry type \texttt{@CONTROL}. 
+%    \begin{macrocode}
+  @CONTROL{%
+   apsrev41Control%
+%    \end{macrocode}
+% Say whether we want long bibliography style (the default), or the abbreviated style. 
+%    \begin{macrocode}
+   \longbibliography at sw{%
+    ,author="00",editor="1",pages="1",title="0",year="0"%
+   }{%
+    ,author="08",editor="1",pages="0",title="",year="1"%
+   }%
+  }%
+ }%
+%    \end{macrocode}
+% Place a \cmd\citation\ into the auxiliary file corresponding to this entry. 
+%    \begin{macrocode}
+ \if at filesw
+  \immediate\write\@auxout{\string\citation{apsrev41Control}}%
+ \fi
+}%
+%    \end{macrocode}
+% \end{macro}
+% \end{macro}
+%
+% \begin{macro}{\place at bibnumber}
+% \begin{macro}{\@bibstyle}
+% We install code that will select the presentation for \cmd\bibitem s
+% and govern the \BibTeX\ processing.
+%    \begin{macrocode}
+\let\place at bibnumber\place at bibnumber@inl
+\def\@bibstyle{apsrev\substyle at post}%
+%    \end{macrocode}
+% \begin{verbatim}
+%\appdef\setup at hook{%
+% \longbibliography at sw{%
+% \appdef\@bibstyle{long}%
+% }{}%
+%}%
+% \end{verbatim}
+% \end{macro}
+% \end{macro}
+%
+% \subsection{APS Sanity Checking}\label{sec:aps-sanity}
+% \changes{4.1f}{2009/07/20}{(AO, 524) Makes no sense if citations are superscript numbers and so are footnotes}
+%
+% Rule: if \cmd\place at bibnumber\ is \cmd\place at bibnumber@sup\ 
+% (citations are numbered and set superscript),
+% then it makes no sense for \cmd\footinbib at sw\ to be \cmd\false at sw\ 
+% (footnotes set in the bibliography, as endnotes). 
+% If both conditions prevailed, then the document would have footnotes
+% and citations both as superscript arabic numbers, but independently numbered, 
+% which would be confusing. 
+%
+% Any society that provides for both superscript numbered citations as well as for 
+% numbered footnotes should check for this same condition, and deal with it. 
+%
+% Note: an alternative would be for footnotes to use the same sequence of footnote devices
+% that are used by the frontmatter footnotes 
+% (\cmd\frontmatter at thefootnote\ instead of arabic numbers). 
+%
+% In this case, we would want to refrain from resetting \cmd\c at footnote\ at the end of 
+% the title page formatting.
+% We would also want to treat body footnotes identically to frontmatter footnotes: 
+% the assignments in \cmd\titleblock at produce\ would persist throughout the document.
+%
+% But APS do not choose to go that route. 
+%    \begin{macrocode}
+\appdef\setup at hook{%
+ \@ifx{\place at bibnumber\place at bibnumber@sup}{%
+  \footinbib at sw{}{%
+   \class at warn{Citations are superscript numbers: footnotes must be endnotes; changing to that configuration}%
+   \@booleantrue\footinbib at sw
+  }%
+ }{}%
+}%
+%    \end{macrocode}
+% 
+% Here ends the substyle for society APS.
+%    \begin{macrocode}
+%</aps>
+%    \end{macrocode}
+%
+%
+% \section{The \classoption{rmp} journal substyle: the \texttt{rmp} module}
+%
+% The file \file{apsrmp.rtx} is read in by the \classname{revtex4} document class
+% if \cmd\@society\ has the value \classoption{aps}
+% and \cmd\@journal\ has the value \classoption{rmp}.
+%
+% It is read at the end of the \file{aps.rtx}, so all definitions
+% and assignments in that file are operative unless overridden here.
+%
+%
+%    \begin{macrocode}
+%<*rmp>
+%    \end{macrocode}
+%
+% Protect this file from being read in by anything but \revtex.
+%    \begin{macrocode}
+\ifx\undefined\substyle at ext
+ \def\@tempa{%
+  \endinput
+  \GenericWarning{I must be read in by REVTeX! (Bailing out)}%
+ }%
+ \expandafter\else
+  \def\@tempa{}%
+ \expandafter\fi\@tempa
+%    \end{macrocode}
+%
+% Protect this file from being read in as a society instead of a journal.
+% In such a case, \cmd\@journal\ will be undefined. 
+%    \begin{macrocode}
+\@ifxundefined\@journal{%
+%    \end{macrocode}
+% One alternative: abort the document.
+% Another alternative: try to recover: force load the aps society file
+%    \begin{macrocode}
+ \class at warn{Please specify the REVTeX options [aps,rmp]!}%
+ \@@end
+}{}%
+%    \end{macrocode}
+% Log the journal substyle.
+%    \begin{macrocode}
+ \class at info{APS journal RMP selected}%
+%    \end{macrocode}
+%
+% \subsection{Frontmatter}%
+%
+% We assign the titlepage style for RMP; a document instance 
+% may override by invoking one of the class options of \revtex.
+%    \begin{macrocode}
+\clo at groupedaddress
+%    \end{macrocode}
+%
+% \begin{macro}{\frontmatter at setup}
+% 
+%    \begin{macrocode}
+\def\frontmatter at setup{%
+ \normalfont\sffamily\raggedright
+}%
+%    \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\PACS at warn}
+% Per Mark Doyle, RMP  never displays the PACS, so they don't want the `use showpacs' warning spit out.
+%    \begin{macrocode}
+\def\PACS at warn{RMP documents do not display PACS. Your \string\pacs\space will be ignored}%
+%    \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\frontmatter at title@above}
+% \begin{macro}{\frontmatter at title@format}
+% \begin{macro}{\frontmatter at title@below}
+% 
+%    \begin{macrocode}
+\def\frontmatter at title@above{}%
+\def\frontmatter at title@format{\Large\bfseries\raggedright}% HelveticaNeue-Medium(Italic) 14pt.
+\def\frontmatter at title@below{\addvspace{12\p@}}% 24pt b-b down to first author
+%    \end{macrocode}
+% \end{macro}
+% \end{macro}
+% \end{macro}
+%
+% \begin{macro}{\frontmatter at authorformat}
+% \changes{4.1b}{2008/08/04}{Rag the right even more: .8\cs{hsize}. Also, assign \cs{@totalleftmargin}.}%
+% \changes{4.1b}{2008/06/29}{(AO, 455) Be nice to a list within the abstract (assign \cs{@totalleftmargin}).}
+% Set the rag to a milder value, because we want to do true ragged right
+% typesetting, as opposed to the \LaTeX\ default, which gives very poor results.
+%
+% Note: author font is 9.8bp. 19.2bp/14.3bp above/below.
+%    \begin{macrocode}
+\def\frontmatter at authorformat{%
+ \preprintsty at sw{\vskip0.5pc\relax}{}%
+ \@tempskipa\@flushglue
+ \@flushglue\z@ plus.8\hsize
+ \raggedright\advance\leftskip.5in\relax
+ \@flushglue\@tempskipa
+ \parskip\z at skip
+ \@totalleftmargin\leftskip
+}%
+%    \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\frontmatter at affiliationfont}
+% \changes{4.1b}{2008/08/04}{As with author formatting, rag the right more, and assign \cs{@totalleftmargin}. Also neutralize \cs{def at after@address}.}%
+% \changes{4.1b}{2008/06/29}{(AO, 455) Be nice to a list within the abstract (assign \cs{@totalleftmargin}).}
+% The hook \cmd\frontmatter at affiliationfont\ controls the formatting of affiliations and affiliation groups.
+% The hook \cmd\frontmatter at above@affilgroup\ is invoked just before proceeding with author/affiliation processing.
+% The \cmd\frontmatter at above@affiliation\ is the amount of space above affiliations in the \classoption{groupedaddress} style,
+% and \cmd\frontmatter at above@affiliation at script\ is that for \classoption{superscriptaddress}.
+%
+% Note: affiliation font is 9.03/10.4bp, 14.3bp/19.2bp b-b above/below
+%    \begin{macrocode}
+\def\frontmatter at affiliationfont{% Helvetica 9/10.2
+ \small\slshape\selectfont\baselineskip10.5\p@\relax
+ \@tempskipa\@flushglue
+ \@flushglue\z@ plus.8\hsize
+ \raggedright\advance\leftskip.5in\relax
+ \@flushglue\@tempskipa
+ \@totalleftmargin\leftskip
+ \let\def at after@address\def at after@address at empty
+}%
+\def\frontmatter at above@affilgroup{\addvspace{7.2\p@}}% additional leading above an author
+\def\frontmatter at above@affiliation{\addvspace{5.3\p@}}%
+\def\frontmatter at above@affiliation at script{}%
+%    \end{macrocode}
+% \end{macro}
+%
+% Set up the default RMP style for title block authors and affiliations.
+% We assign the titlepage style for RMP; a document instance 
+% may override by invoking one of the class options of \revtex.
+% \changes{4.1b}{2008/08/04}{The \texttt{rmp} journal substyle selects \texttt{groupedaddress} by default.}%
+% \changes{4.1b}{2008/07/01}{(AO) make settings at class time instead of deferring them to later.}
+%
+% This command should override the effect of the 
+% corresponding command in the society substyle,
+% and any document class option bearing on same will in turn override. 
+%    \begin{macrocode}
+\clo at groupedaddress
+%    \end{macrocode}
+%
+% \begin{macro}{\frontmatter at RRAP@format}
+% \changes{4.1b}{2008/06/29}{(AO, 455) Be nice to a list within the abstract (assign \cs{@totalleftmargin}).}
+% Note: in RMP, if we are not in preprint mode, the date will not be produced.
+%
+% Note: Helvetica C/lc, 8.98bp, space above: 16.3bp b-b.
+%    \begin{macrocode}
+\def\frontmatter at RRAP@format{%
+  \addvspace{7.3\p@}%
+  \small
+  \raggedright\advance\leftskip.5in\relax
+ \@totalleftmargin\leftskip
+}%
+\def\produce at RRAP#1{%
+  \@if at empty{#1}{}{%
+   \@ifvmode{\leavevmode}{}%
+   \unskip(\ignorespaces#1\unskip)\quad
+  }%
+}%
+%    \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\frontmatter at abstractheading}
+% Space above 21.8bp b-b.
+%    \begin{macrocode}
+\def\frontmatter at abstractheading{%
+ \preprintsty at sw{%
+  \begingroup
+   \centering\large
+   \abstractname
+   \par
+  \endgroup
+  \vspace{.5pc}%
+ }{}%
+}%
+%    \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\frontmatter at abstractfont}
+% TimesTen 8.93bp/9.6bp X 360bp, indented 36bp, with 21.9/37.6bp b-b above/below
+% \changes{4.1b}{2008/06/29}{(AO, 455) Be nice to a list within the abstract (assign \cs{@totalleftmargin}).}
+%    \begin{macrocode}
+\def\frontmatter at abstractfont{%
+ \footnotesize
+ \hsize360\p@
+ \leftskip=0.5in
+ \parindent\z@
+ \@totalleftmargin\leftskip
+}%
+%    \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\frontmatter at preabstractspace}
+% \begin{macro}{\frontmatter at postabstractspace}
+% Space above and space below abstract in title block.
+% Should be 22/36 points base-to-base.
+%    \begin{macrocode}
+\def\frontmatter at preabstractspace{7.7\p@}%
+\def\frontmatter at postabstractspace{24.6\p@}%
+%    \end{macrocode}
+% \end{macro}
+% \end{macro}
+%
+% FIXME: Not done: PACS.
+% FIXME: TOC: Head is same as \section: HelveticaNeue 8.98. 32/22bp b-b above/below,
+%             Body: TimesTen 8/10.5.
+%
+% \subsection{General Text}%
+%
+% \changes{4.1b}{2008/07/01}{(AO) make settings at class time instead of deferring them to later.}
+% If not in preprint mode, RMP sets the type size to 10/12 point. Note: s/b 11.6bp leading
+%FIXME: define \cmd\normalsize\ only if nobody else has done so. 
+%    \begin{macrocode}
+ \appdef\setup at hook{%
+  \preprintsty at sw{}{%
+   \def\normalsize{%
+    \@setsize\normalsize{12pt}\xpt\@xpt
+    \abovedisplayskip 10\p@ plus2\p@ minus5\p@
+    \belowdisplayskip \abovedisplayskip
+    \abovedisplayshortskip  \abovedisplayskip
+    \belowdisplayshortskip \abovedisplayskip
+    \let\@listi\@listI
+   }%
+  }%
+ }%
+%    \end{macrocode}
+%
+% Footnote mods:
+% \changes{4.1n}{2010/01/02}{(AO, 571) class file must set \cs{splittopskip}; fine tune \cs{skip}\cs{footins}; \cs{footnoterule} defined in terms of \cs{skip}\cs{footins}}%
+%    \begin{macrocode}
+ \footnotesep 9.25pt
+ \skip\footins 36pt plus 4pt minus 12pt
+ \def\footnoterule{%
+  \dimen@\skip\footins\divide\dimen@\thr@@
+  \kern-\dimen@\hrule width.5in\kern\dimen@
+ }%
+%    \end{macrocode}
+%
+%
+% \subsection{Sectioning}
+% \changes{4.1b}{2008/08/04}{Use \cs{setup at hook} to initialize all.}
+% \changes{4.1b}{2008/08/01}{Section numbering via procedures \cs{secnums at rtx} and \cs{secnums at arabic}.}
+%
+% We override the meaning of \cmd\secnums at rtx. 
+% The class option \classoption{secnumarabic} will continue to work.
+%    \begin{macrocode}
+\def\secnums at rtx{%
+ \@ifxundefined\thepart{%
+  \def\thepart{\Roman{part}}%
+ }{}%
+ \@ifxundefined\thesection{%
+  \def\thesection       {\Roman{section}}%
+  \def\p at section        {}%
+ }{}%
+ \@ifxundefined\thesubsection{%
+  \def\thesubsection    {\Alph{subsection}}%
+  \def\p at subsection     {\thesection.}%
+ }{}%
+ \@ifxundefined\thesubsubsection{%
+  \def\thesubsubsection {\arabic{subsubsection}}%
+  \def\p at subsubsection  {\thesection.\thesubsection.}%
+ }{}%
+ \@ifxundefined\theparagraph{%
+  \def\theparagraph     {\alph{paragraph}}%
+  \def\p at paragraph      {\thesection.\thesubsection.\thesubsubsection.}%
+ }{}%
+ \@ifxundefined\thesubparagraph{%
+  \def\thesubparagraph  {\arabic{subparagraph}}%
+  \def\p at subparagraph   {\thesection.\thesubsection.\thesubsubsection.\theparagraph.}%
+ }{}%
+}%
+%    \end{macrocode}
+%
+% In RMP, put a period (.), followed by `nut space', after the section number.
+% Also, hang the section number (the \LaTeX\ default).
+%    \begin{macrocode}
+\def\@seccntformat#1{\csname the#1\endcsname.\hskip0.5em\relax}%
+%    \end{macrocode}
+%
+% Note that we wish to set the section head uppercase, so we use
+% David Carlisle's \cmd\MakeTextUppercase. However, because this procedure effectively 
+% parses its argument (looking for things to \emph{not} translate), it has to be invoked
+% in such a way that the argument of the \cmd\section\ command is passed to it as its
+% own argument. 
+%
+% To accomplish this, we use the \cmd\@hangfrom@\ hook, which was developed for this 
+% purpose.
+% \changes{4.1b}{2008/07/01}{Add \cs{@hangfroms at section}}
+%    \begin{macrocode}
+ \def\section{%
+  \@startsection{section}{1}{\z@}{0.8cm plus1ex minus.2ex}{0.4cm}%
+  {%
+   \small\sffamily\bfseries\selectfont
+   \raggedright
+   \parindent\z@
+  }%
+ }%
+ \def\@hangfrom at section#1#2#3{\@hangfrom{#1#2}\MakeTextUppercase{#3}}%
+ \def\@hangfroms at section#1#2{#1\MakeTextUppercase{#2}}%
+ \def\subsection{%
+  \@startsection{subsection}{2}{\z@}{0.8cm plus1ex minus.2ex}{0.4cm}%
+  {%
+   \small\sffamily\bfseries
+   \raggedright
+   \parindent\z@
+  }%
+ }%
+ \def\subsubsection{%
+  \@startsection{subsubsection}{3}{\z@}{.8cm plus1ex minus.2ex}{0.4cm}%
+  {%
+   \small\sffamily\selectfont
+   \raggedright
+   \parindent\z@
+  }%
+ }%
+ \def\paragraph{%
+  \@startsection{paragraph}{4}{\z@}{.8cm plus1ex minus.2ex}{-1em}%
+  {%
+   \small\slshape\selectfont
+   \raggedright
+   \parindent\z@
+  }%
+ }%
+ \def\subparagraph{%
+  \@startsection{subparagraph}{4}{\parindent}{3.25ex plus1ex minus.2ex}{-1em}%
+  {\normalsize\bfseries\selectfont}%
+ }%
+%
+ \setcounter{tocdepth}{4}% FIXME: has no effect
+%    \end{macrocode}
+%
+% \begin{macro}{\appendix}
+% \begin{macro}{\@hangfrom at appendix}
+% \begin{macro}{\@hangfroms at appendix}
+% \begin{macro}{\@appendixcntformat}
+% \changes{4.1b}{2008/07/01}{Add \cs{@hangfroms at section}}
+%    \begin{macrocode}
+\appdef\appendix{%
+ \let\@hangfrom at section\@hangfrom at appendix
+ \let\@sectioncntformat\@appendixcntformat
+}%
+\def\@hangfrom at appendix#1#2#3{%
+ #1%
+ \@if at empty{#2}{%
+  #3%
+ }{%
+  #2\@if at empty{#3}{}{:\ #3}%
+ }%
+}%
+\def\@hangfroms at appendix#1#2{%
+ #1\appendixname\@if at empty{#2}{}{:\ #2}%
+}%
+\def\@appendixcntformat#1{\appendixname\ \csname the#1\endcsname}%
+%    \end{macrocode}
+% \end{macro}
+% \end{macro}
+% \end{macro}
+% \end{macro}
+%
+%
+% \subsection{Figure and Table Caption Formatting}
+% \begin{macro}{\@makecaption}
+% \changes{4.1b}{2008/07/01}{Break out \cs{@caption at fignum@sep}}
+%
+%    \begin{macrocode}
+\setlength\belowcaptionskip{2\p@}
+\long\def\@makecaption#1#2{%
+  \vskip\abovecaptionskip
+  \vbox{%
+   \flushing
+   \small\rmfamily
+   \noindent
+   #1\@caption at fignum@sep#2\par
+  }%
+  \vskip\belowcaptionskip
+}%
+\def\@caption at fignum@sep{\nobreak\hskip.5em plus.2em\ignorespaces}%
+%    \end{macrocode}
+% \end{macro}
+%
+% \subsection{Citations and Bibliography}%
+%
+% Customize \revtex\ for the journal substyle;
+% this task requires three components:
+% a \BibTeX\ \file{.bst} style file,
+% customizing code for \file{natbib}, and
+% customizations of the \env{thebibliography} environment.
+%
+% \begin{macro}{\@bibstyle}
+% Define the argument of the \cmd\bibliographystyle\ command
+% (if the document does not do so).
+%
+% The user must have installed a \file{.bst} file of the corresponding name.
+% This file will then be used by \BibTeX\ when compiling the document's \file{.bbl} file.
+%
+%  To generate \file{apsrmp.bst}, use \classname{custom-bib} version 3.89d1 or later.
+%  Run the \file{.bst} generator, \file{makebst.tex}, with the following options:
+%
+% \def\QandA#1#2#3{\item#1: \textbf{#2}: \texttt{#3}---}%
+% \def\CandE#1{\item\relax\texttt{#1}---}%
+% \begin{enumerate}
+% \QandA{STYLE OF CITATIONS}{a}{ay}Author-year with some non-standard interface
+% \QandA{AUTHOR}{*}{nat}Natbib for use with natbib v5.3 or later
+% \QandA{LANGUAGE FIELD}{l}{lang}Use language field to switch hyphenation patterns for title
+% \QandA{PRESENTATIONS}{b}{pres,pres-bf}Presentation, speaker bold face 
+% \QandA{ORDER ON VON PART }{x}{vonx}Sort without von part (de la Maire after Mahone)
+% \QandA{AUTHOR NAMES}{a}{nm-rev1}Only first name reversed, initials (AGU style: Smith, J. F., H. K. Jones)
+% \QandA{POSITION OF JUNIOR }{*}{jnrlst}Junior comes last as Smith, John, Jr.
+% \QandA{TYPEFACE FOR AUTHORS IN LIST OF REFERENCES}{u}{nmft,nmft-def}User defined author font (\cmd\bibnamefont)
+% \QandA{FONT FOR FIRST NAMES }{u}{fnm-def}First names in user defined font (\cmd\bibfnamefont)
+% \QandA{EDITOR NAMES IN INCOLLECTION ETC}{a}{nmfted}Editors incollection like authors font
+% \QandA{FONT FOR `AND' IN LIST}{r}{nmand-rm}`And' in normal font (JONES and JAMES)
+% \QandA{FONT OF CITATION LABELS IN TEXT }{u}{lab,lab-def}User defined citation font (\cmd\citenamefont)
+% \QandA{FONT FOR `AND' IN CITATIONS }{r}{and-rm}Cited `and' in normal font 
+% \QandA{LABEL WHEN AUTHORS MISSING }{*}{keyxyr}Year blank when KEY replaces missing author (for natbib 7.0)
+% \QandA{DATE POSITION}{b}{dt-beg}Date after authors 
+% \QandA{DATE FORMAT }{m}{yr-com}Date preceded by comma as `, 1993'
+% \QandA{INCLUDE MONTHS}{m}{aymth}Include month in date 
+% \QandA{REVERSED DATE }{r}{dtrev}Date as year month 
+% \QandA{TRUNCATE YEAR }{*}{note-yr}Year text full as 1990--1993 or `in press'
+% \QandA{TITLE OF ARTICLE}{d}{tit-qq}Title and punctuation in double quotes (``Title,'' ..)
+% \QandA{TITLE PRESENT IN ARTICLE, INCOLLECTION, AND INPROCEEDINGS}{x}{jtit-x}Title is ignored
+% \QandA{INPROCEEDINGS CHAPTER AND PAGES, LIKE INBOOK}{y}{inproceedings-chapter}produce pages after chapter just as in InBook
+% \QandA{ARTICLE BOOKTITLE PRESENT}{?}{article-booktitle}format booktitle 
+% \QandA{ARTICLE SERIES PRESENT}{?}{article-series}article can has series
+% \QandA{JOURNAL NAME FONT}{r}{jttl-rm}Journal name normal font
+% \QandA{JOURNAL NAME WITH ADDRESS}{y}{journal-address}Include address field (in parentheses) along with journal name
+% \QandA{BOOK TITLE FIELDS}{y}{book-bt}Field `booktitle', or if absent field `title', is book title 
+% \QandA{THESIS TITLE OPTIONAL}{?}{thesis-title-o}Title is optional: no warning issued if empty
+% \QandA{TECHNICAL REPORT TITLE}{b}{trtit-b}Tech. report title like books 
+% \QandA{JOURNAL VOLUME}{b}{vol-bf}Volume bold as {\bf vol}(num)
+% \QandA{JOURNAL VOL AND NUMBER}{s}{vnum-sp}Journal vol (num) as 34 (2)
+% \QandA{VOLUME PUNCTUATION}{c}{volp-com}Volume with comma as vol(num), ppp
+% \QandA{PAGE NUMBERS}{f}{jpg-1}Only start page number 
+% \QandA{POSITION OF PAGES}{e}{pp-last}Pages at end but before any notes
+% \QandA{BOOK EDITOR W/O AUTHOR}{}{book-editor-booktitle}Book permits empty author, produces title before editor in this case
+% \QandA{INBOOK PERMITS TITLE, BOOKTITLE, AUTHOR, EDITOR}{a}{inbook-editor-booktitle}Allow using both title/booktitle, both author/editor
+% \QandA{CONFERENCE ADDRESS FOR BOOK, INBOOK, INCOLLECTION, INPROCEEDINGS, PROCEEDINGS}{a}{bookaddress}Italic booktitle followed by bookaddress in roman
+% \QandA{NUMBER AND SERIES FOR BOOK, INBOOK, INCOLLECTION, INPROCEEDINGS, PROCEEDINGS}{*}{num-xser}Allows number without series and suppresses word "number"
+% \QandA{WORD NUMBER CAPITALIZED FOR NUMBER AND SERIES}{c}{number-cap}Capitalize word `number' as: "Number 123"
+% \QandA{WORD CHAPTER CAPITALIZED}{c}{chapter-cap}Capitalize word `chapter' as: `Chapter 42'
+% \QandA{COMBINING NUMBER AND SERIES}{x}{series-number}Series number as: `Springer Lecture Notes No. 125'
+% \QandA{POSITION OF NUMBER AND SERIES}{b}{numser-booktitle}After book title and conference address, and before editors 
+% \QandA{VOLUME AND SERIES FOR BOOKS}{s}{ser-vol}Series, vol. 23
+% \QandA{VOLUME AND SERIES FORMATTING}{y}{ser-rm}format series roman , even when used with volume
+% \QandA{WORD VOLUME CAPITALIZED FOR VOLUME AND SERIES}{y}{volume-cap}Capitalize word `volume', as: `Volume 7 in Lecture Series'
+% \QandA{POSITION OF VOLUME AND SERIES FOR INCOLLECTION, INBOOK, AND INPROCEEDINGS}{e}{ser-ed}Series and volume after booktitle and before editors
+% \QandA{JOURNAL NAME PUNCTUATION}{x}{jnm-x}Space after journal name
+% \QandA{PAGES IN BOOK}{*}{pg-bk,book-chapter-pages}As chapter and page: chapter 42, page 345
+% \QandA{PUBLISHER IN PARENTHESES}{p}{pub-par}Publisher in parentheses 
+% \QandA{EMPTY PUBLISHER PARENTHESES}{y}{ay-empty-pub-parens-x}eliminate parentheses altogether if nothing inside
+% \QandA{PUBLISHER POSITION}{e}{pre-edn}Edition before publisher
+% \QandA{SCHOOL}{p}{school-par}school/address in parens: `(school, address)' 
+% \QandA{ISBN NUMBER}{*}{isbn}Include ISBN for books, booklets, etc.
+% \QandA{ISSN NUMBER}{*}{issn}Include ISSN for periodicals
+% \QandA{DOI NUMBER}{a}{doi-link,doi}Doi forms a link to the publication, anchored to the volume or title
+% \QandA{`EDITOR' AFTER NAMES}{a}{bkedcap}`Name Editor,' as above, editor upper case
+% \QandA{EDITOR IN COLLECTIONS}{b}{edby}In booktitle, edited by ..  (where .. is names)
+% \QandA{PUNCTUATION BETWEEN SECTIONS }{c}{blk-com}Comma between blocks 
+% \QandA{FINAL PUNCTUATION}{c}{fin-endbibitem}Command at end instead of period 
+% \QandA{ABBREVIATE WORD `PAGES' }{a}{pp}`Page' abbreviated as p. or pp.
+% \QandA{ABBREVIATE WORD `EDITORS'}{a}{ed}`Editor' abbreviated as ed. or eds.
+% \QandA{OTHER ABBREVIATIONS}{a}{abr}Abbreviations of such words
+% \QandA{ABBREVIATION FOR `EDITION' }{a}{ednx}`Edition' abbreviated as `ed' 
+% \QandA{EDITION NUMBERS}{n}{ord}Numerical editions as 1st, 2nd, 3rd, etc
+% \QandA{STORED JOURNAL NAMES}{a}{jabr}Abbreviated journal names 
+% \QandA{COMMA BEFORE `AND'}{c}{and-com}Comma even with 2 authors as `Tom, and Harry'
+% \QandA{FONT OF `ET AL'}{i}{etal-it}Italic et al 
+% \QandA{ADDITIONAL REVTeX DATA FIELDS}{r}{revdata,eprint,url,url-blk,translation}Include REVTeX data fields collaboration, eid, eprint, archive, url, translation
+% \QandA{SLACcitation FIELD}{?}{SLACcitation}Produce SLACcitation field
+% \QandA{NUMPAGES DATA FIELD}{*}{numpages-x}Do not include numpages field 
+% \QandA{REFERENCE COMPONENT TAGS}{b}{bibinfo}Reference component tags like \cmd\bibinfo\ in the content of \cmd\bibitem
+% \QandA{ELEMENT TAGS}{b}{bibfield}Element tags like \cmd\bibfield\ in the content of \cmd\bibitem
+% \QandA{COMPATIBILITY WITH PLAIN TEX}{*}{nfss}Use LaTeX commands which may not work with Plain TeX
+% \end{enumerate}
+%
+% A file \file{apsrmp.dbj} file equivalent to the following should result:
+% \begin{verbatim}
+%\input docstrip
+%\preamble
+%----------------------------------------
+%*** REVTeX-compatible RMP 2010-02-12 ***
+%\endpreamble
+%\postamble
+%End of customized bst file
+%\endpostamble
+%\keepsilent
+%\askforoverwritefalse
+%\def\MBopts{\from{merlin.mbs}{%
+%  head,\MBopta}
+%\from{physjour.mbs}{\MBopta}
+%\from{geojour.mbs}{\MBopta}
+%\from{photjour.mbs}{\MBopta}
+%\from{merlin.mbs}{tail,\MBopta}}
+%\def\MBopta{%
+%  ay,%: Author-year with some non-standard interface
+%  nat,%: Natbib for use with natbib v5.3 or later
+%  lang,%: Use language field to switch hyphenation patterns for title
+%  pres,pres-bf,%: Presentation, speaker bold face 
+%  vonx,%: Sort without von part (de la Maire after Mahone)
+%  nm-rev1,%: Only first name reversed, initials (AGU style: Smith, J. F., H. K. Jones)
+%  jnrlst,%: Junior comes last as Smith, John, Jr.
+%  nmft,nmft-def,%: User defined author font (\bibnamefont)
+%  fnm-def,%: First names in user defined font (\bibfnamefont)
+%  nmfted,%: Editors incollection like authors font
+%  nmand-rm,%: `And' in normal font (JONES and JAMES)
+%  lab,lab-def,%: User defined citation font (\citenamefont)
+%  and-rm,%: Cited `and' in normal font 
+%  keyxyr,%: Year blank when KEY replaces missing author (for natbib 7.0)
+%  dt-beg,%: Date after authors 
+%  yr-par,%: Year in parentheses as (1993)
+%  dtrev,%: Date as year month 
+%  date-nil-x,%: If date is empty, then do not produce the surrounding punctuation (parens, brackets, colon, comma)
+%  tit-qq,%: Title and punctuation in double quotes (``Title,'' ..)
+%  inproceedings-chapter,%: produce pages after chapter, just as in InBook
+%  jtit-x,%: Title is ignored
+%  inproceedings-chapter,%: produce pages after chapter just as in InBook
+%  article-booktitle,%: format booktitle 
+%  article-series,%: article can has series
+%  jttl-rm,%: Journal name normal font
+%  journal-address,%: Include address field (in parentheses) along with journal name
+%  book-bt,%: Field `booktitle', or if absent field `title', is book title 
+%  thesis-title-o,%: Title is optional: no warning issued if empty
+%  trtit-b,%: Tech. report title like books 
+%  techreport-institution-par,%: format tech report institution like book publisher
+%  vol-bf,%: Volume bold as {\bf vol}(num)
+%  vnum-sp,%: Journal vol (num) as 34 (2)
+%  volp-com,%: Volume with comma as vol(num), ppp
+%  jpg-1,%: Only start page number 
+%  pp-last,%: Pages at end but before any notes
+%  book-editor-booktitle,%: Book permits empty author, produces title before editor in this case
+%  inbook-editor-booktitle,%: Allow using both title/booktitle, both author/editor
+%  bookaddress,%: Italic booktitle followed by bookaddress in roman
+%  num-xser,%: Allows number without series and suppresses word "number"
+%  number-cap,%: Capitalize word `number' as: "Number 123"
+%  chapter-cap,%: Capitalize word `chapter' as: `Chapter 42'
+%  series-number,%: Series number as: `Springer Lecture Notes No. 125'
+%  numser-booktitle,%: After book title and conference address, and before editors 
+%  ser-vol,%: Series, vol. 23
+%  ser-rm,%: format series roman , even when used with volume
+%  volume-cap,%: Capitalize word `volume', as: `Volume 7 in Lecture Series'
+%  ser-ed,%: Series and volume after booktitle and before editors
+%  jnm-x,%: Space after journal name
+%  pg-bk,book-chapter-pages,%: As chapter and page: chapter 42, page 345
+%  pub-par,%: Publisher in parentheses 
+%  ay-empty-pub-parens-x,%: eliminate parentheses altogether if nothing inside
+%  pre-edn,%: Edition before publisher
+%  school-par,%: school/address in parens: `(school, address)' 
+%  isbn,%: Include ISBN for books, booklets, etc.
+%  issn,%: Include ISSN for periodicals
+%  doi-link,doi,%: Doi forms a link to the publication, anchored to the volume or title
+%  bkedcap,%: `Name Editor,' as above, editor upper case
+%  edby,%: In booktitle, edited by ..  (where .. is names)
+%  blk-com,%: Comma between blocks 
+%  fin-endbibitem,%: Command at end instead of period 
+%  pp,%: `Page' abbreviated as p. or pp.
+%  ed,%: `Editor' abbreviated as ed. or eds.
+%  abr,%: Abbreviations of such words
+%  ednx,%: `Edition' abbreviated as `ed' 
+%  ord,%: Numerical editions as 1st, 2nd, 3rd, etc
+%  jabr,%: Abbreviated journal names 
+%  and-com,%: Comma even with 2 authors as `Tom, and Harry'
+%  etal-it,%: Italic et al 
+%  revdata,eprint,url,url-blk,translation,%: Include REVTeX data fields collaboration, eid, eprint, archive, url, translation
+%  SLACcitation,%: Produce SLACcitation field
+%  numpages-x,%: Do not include numpages field 
+%  url,url-prefix-x,%: URL without prefix (default: `URL ')
+%  bibinfo,%: Reference component tags like \bibinfo in the content of \bibitem
+%  bibfield,%: Element tags like \bibfield in the content of \bibitem
+%  nfss,%: Use LaTeX commands which may not work with Plain TeX
+%,{%
+%  }}
+%\generate{\file{apsrmp4-1.bst}{\MBopts}}
+%\endbatchfile
+% \end{verbatim}
+%
+% For a comparison between apsrmp.bst and apsrev.bst, see Section~\ref{sec:CompRevRmp}. 
+%
+% \changes{4.1c}{2008/08/15}{Document class option longbibliography via \cs{substyle at post}}
+%    \begin{macrocode}
+\def\@bibstyle{apsrmp\substyle at post}%
+%    \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\authoryear at sw}
+% \changes{4.1a}{2008/01/18}{(AO, 457) Endnotes to be sorted in with numerical citations.}%
+% Author-year citations: default value of \cmd\authoryear at sw\ is true.
+%    \begin{macrocode}
+\@booleantrue\authoryear at sw
+%    \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\@bibdataout at rmp}
+% \changes{4.1o}{2010/02/12}{(AO, 580) Control .bst at run time.}%
+% When the journal is RMP, the meaning of the procedure \cmd\@bibdataout at aps\ needs to be different 
+% because of the way the author names are formatted. In other respects, it is the same. 
+%    \begin{macrocode}
+\def\@bibdataout at aps{%
+ \immediate\write\@bibdataout{%
+%    \end{macrocode}
+% An entry that controls processing of the \filename{.bst} file has entry type \texttt{@CONTROL}. 
+% This entry's cite key is \texttt{apsrmp41Control}, which serves as a version number.
+%    \begin{macrocode}
+  @CONTROL{%
+   apsrmp41Control%
+%    \end{macrocode}
+% Say whether we want long bibliography style (the default), or the abbreviated style. 
+%    \begin{macrocode}
+   \longbibliography at sw{%
+    ,author="03",editor="0",pages="1",title="0",year="0"%
+   }{%
+    ,author="0B",editor="0",pages="0",title="",year="1"%
+   }%
+  }%
+ }%
+%    \end{macrocode}
+% Place a \cmd\citation\ into the auxiliary file corresponding to this entry. 
+%    \begin{macrocode}
+ \if at filesw
+  \immediate\write\@auxout{\string\citation{apsrmp41Control}}%
+ \fi
+}%
+%    \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\bibpunct}
+% \begin{macro}{\bibsection}
+% \begin{macro}{\bibpreamble}
+% \begin{macro}{\newblock}
+% \begin{macro}{\bibhang}
+% \begin{macro}{\bibsep}
+% \begin{macro}{\cite}
+% The following commands effectively establish the style in which \cmd\cite\ commands are
+% formatted.
+% You can think of them as the second needed component for the bibliography.
+% 
+% Set up for author-year citations:
+% when \cmd\NAT at set@cites\ executes (at \envb{document} time), the \cmd\@biblabel\ will
+% be set to \cmd\NAT at biblabel.
+%
+% Per Karie Friedman (friedman at phys.washington.edu), multiple citations are separated by semicolons, e.g., 
+% (Jones, 1999; Abbott and Smith, 2000; Wortley, 2001a), 
+% and 
+% multiple citations by the same author by commas, e.g., 
+% Abela et al. (1995, 1997a, 1997b).
+% The third argument of \cmd\bibpunct\ handles the former.
+%
+% The fifth argument puts a comma after the author when the year is not in parens:
+% (Lee et al., 1996).
+%
+% Incidently, this \cmd\bibpunct\ command specifies the \classname{natbib} default values. 
+%
+% We define the sectioning command to use when starting the bibliography.
+%
+% We change \classname{natbib}'s \cmd\NAT at def@citea\ procedure to effect more elaborate
+% punctuation for RMP: see item 473: 
+% \cmd\cite\ order punctuation: ``If possible, \cmd\textcite should put the word 'and' between two citations and before the last citation in a list of 3 or more.''
+%
+%    \begin{macrocode}
+\appdef\setup at hook{%
+%    \end{macrocode}
+%
+% We define the punctuation to use in the \cmd\cite\ command's production.
+%
+%    \begin{macrocode}
+ \bibpunct{(%)
+ }{%(
+ )}{;}{a}{,}{,}%
+%    \end{macrocode}
+%
+% We define the sectioning command to use when starting the bibliography.
+%
+%    \begin{macrocode}
+ \def\bibsection{%
+  \expandafter\section\expandafter*\expandafter{\refname}%
+  \@nobreaktrue
+ }%
+ \let\bibpreamble\@empty
+ \def\newblock{\ }%
+ \bibhang10\p@
+ \bibsep\z@
+%    \end{macrocode}
+%
+% Per Mark Doyle, \cmd\cite\ is mapped to \cmd\citep\ in RMP.
+% \changes{4.1i}{2009/10/23}{(AO, 541) Defer assignment of \cs{cite} until after natbib loads}
+%    \begin{macrocode}
+ \let\cite\citep
+%    \end{macrocode}
+%
+% End of code to be delayed until after \classname{natbib} loads.
+%    \begin{macrocode}
+}%
+%    \end{macrocode}
+% \end{macro}
+% \end{macro}
+% \end{macro}
+% \end{macro}
+% \end{macro}
+% \end{macro}
+% \end{macro}
+%
+% \begin{macro}{\footinbib at sw}
+% Footnotes in bibliography are consistent only with numbered citations,
+% and are particularly nasty under \classname{natbib}:
+% the packcage will automatically change to numbered references if
+% any \cmd\bibitem\ commands lack the optional argument.
+% Therefore, we must uninvoke it now, even if invoked by the document.
+% The same is quietly done with 
+% \classname{natbib}'s \classoption{mcite} and \classoption{compress} options. 
+% 
+% \changes{4.1f}{2009/07/15}{(AO, 523) Add class option nomerge, to turn off new natbib 8.3 syntax}
+% (AO 523) I changed the code that alters \cmd\NAT at merge\ so that it will not override
+% when \cmd\NAT at merge\ has been set to \cmd\z at .
+%    \begin{macrocode}
+\@booleanfalse\footinbib at sw
+\appdef\setup at hook{%
+ \footinbib at sw{%
+  \class at warn{%
+   Footnotes in bibliography are incompatible with RMP.^^J%
+   Undoing the footinbib option.
+  }%
+  \@booleanfalse\footinbib at sw
+ }{}%
+ \@ifnum{\NAT at merge>\@ne}{\let\NAT at merge\@ne}{}%
+ \def\NAT at cmprs{\z@}%
+}%
+%    \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\eprint}
+% RMP requires the \cmd\eprint\ field in the bib entry to be set off with the word ``eprint''.
+%    \begin{macrocode}
+\def\eprint#1{eprint #1}%
+%    \end{macrocode}
+% \end{macro}
+%
+% \subsection{Table of Contents}
+%
+% We set up for auto-sizing of certain TOC elements.
+% 
+% To do this, we override the definitions for 
+% the default TOC font (\cmd\toc@@font),
+% and define
+% formatting for the needed elements (\cmd\l@\dots).
+% Finally, we activate the autosizing by 
+% assigning \cmd\toc at pre\ and \cmd\toc at post.
+%
+% \begin{macro}{\toc@@font}
+% \changes{4.1a}{2008/01/19}{(AO, 461) Change the csname revtex uses from @dotsep to ltxu at dotsep. The former is understood in mu. (What we wanted was a dimension.)}%
+% Set the formatting characteristics of the auto-indenting part
+%  of the TOC.
+%    \begin{macrocode}
+\def\toc@@font{%
+ \footnotesize\rmfamily
+ \def\\{\space\ignorespaces}%
+}%
+\def\ltxu at dotsep{5.5pt}%
+%    \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\l at section}
+% Determine which TOC elements are automatically indented.
+%    \begin{macrocode}
+\def\tocleft@{\z@}%
+\def\tocdim at min{5\p@}%
+\def\l at section{%
+ \l@@sections{}{section}% Implicit #3#4
+}%
+\def\l at subsection{%
+ \l@@sections{section}{subsection}% Implicit #3#4
+}%
+\def\l at subsubsection{%
+ \l@@sections{subsection}{subsubsection}% Implicit #3#4
+}%
+%\def\l at subsubsection#1#2{}%
+\def\l at paragraph#1#2{}%
+\def\l at subparagraph#1#2{}%
+%    \end{macrocode}
+% \end{macro}
+%
+% Activate the TOC processing.
+%    \begin{macrocode}
+\let\toc at pre\toc at pre@auto
+\let\toc at post\toc at post@auto
+%    \end{macrocode}
+%
+%
+%    \begin{macrocode}
+%</rmp>
+%    \end{macrocode}
+%
+%
+% \Finale
+% %Here ends the programmer's documentation.
+% \endinput
+%
+\endinput


Property changes on: trunk/Master/texmf-dist/source/latex/revtex/revtex4-1.dtx
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Modified: trunk/Master/texmf-dist/source/latex/revtex/revtex4-2.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/revtex/revtex4-2.dtx	2019-01-18 22:37:42 UTC (rev 49750)
+++ trunk/Master/texmf-dist/source/latex/revtex/revtex4-2.dtx	2019-01-18 22:40:49 UTC (rev 49751)
@@ -1,6 +1,6 @@
 % \iffalse meta-comment balanced on line 122
 % revtex4-2.dtx: package to typeset APS, AIP, SOR, ASA, etc. journal articles
-% Copyright (c) 2018 American Physical Society.
+% Copyright (c) 2019 American Physical Society.
 % https://journals.aps.org/revtex/
 % mailto:revtex at aps.org
 %
@@ -10,7 +10,7 @@
 %   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
 % License
 %   You may distribute this file under the conditions of the 
-%   LaTeX Project Public License 1.3 or later 
+%   LaTeX Project Public License 1.3c or later 
 %   (http://www.latex-project.org/lppl.txt).
 % ReadMe
 %   For the documentation and more detailed instructions for
@@ -74,7 +74,7 @@
 Version (4.2a, unreleased)
 Modified by Aptara on behalf of American Physical Society and American Institute of Physics
 
-Version (4.2b)
+Version (4.2b,4.2c)
 Modified by Mark Doyle, American Physical Society (mailto:revtex at aps.org)
 
 Copyright (c) 2019 American Physical Society.
@@ -135,9 +135,9 @@
 %<*package>
 %%%  @LaTeX-file{
 %%%     filename        = "revtex4-2.dtx",
-%%%     version         = "4.2b",
-%%%     date            = "2018/12/26",
-%%%     time            = "16:06:17 UT-5",
+%%%     version         = "4.2c",
+%%%     date            = "2019/01/18",
+%%%     time            = "14:29:48 UT-5",
 %%%     checksum        = "6584",
 %%%     author          = "Mark Doyle (mailto: revtex at aps.org), Arthur Ogawa (mailto:arthur_ogawa at sbcglobal.net),
 %%%                        commissioned by the American Physical Society.
@@ -144,7 +144,7 @@
 %%%                        ",
 %%%     copyright       = "Copyright (C) 1999, 2009 Arthur Ogawa, Version 4.2 Copyright (C) 2019 American Physical Society
 %%%                        distributed under the terms of the 
-%%%                        LaTeX Project Public License, see
+%%%                        LaTeX Project Public License 1.3c, see
 %%%                        ftp://ctan.tug.org/macros/latex/base/lppl.txt
 %%%                        ",
 %%%     address         = "Mark Doyle,
@@ -230,7 +230,7 @@
 %</doc>
 %<*!package&!options>
 %<version>
- [2018/12/26/16:06:17 4.2b (https://journals.aps.org/revtex/ for documentation)]% \fileversion
+ [2019/01/18/14:29:48 4.2c (https://journals.aps.org/revtex/ for documentation)]% \fileversion
 %</!package&!options>
 %    \end{macrocode}
 % The current class name is remembered in \cmd\class at name.
@@ -293,7 +293,7 @@
  \protect\thanks{Work under hire to American Physical Society. Version \fileversion\ \copyright\ 2019 American Physical Society}%
 }%
 \author{Arthur Ogawa and Mark Doyle%
- \protect\thanks{First revision of REV\TeX4.0 (unreleased) by David Carlisle, all released versions of 4.0 and 4.1 by Art Ogawa, 4.2a (unreleased) by Aptara, 4.2b by Mark Doyle}%
+ \protect\thanks{First revision of REV\TeX4.0 (unreleased) by David Carlisle, all released versions of 4.0 and 4.1 by Art Ogawa, 4.2a (unreleased) by Aptara, 4.2b,c by Mark Doyle}%
 }%
 \date{Version \fileversion, dated \filedate}%
 \newcommand\revtex{REV\TeX}
@@ -652,7 +652,7 @@
  Licensed under the LPPL:^^Jhttp://www.ctan.org/tex-archive/macros/latex/base/lppl.txt^^J
  Arthur Ogawa <arthur_ogawa at sbcglobal dot net>^^J
  Based on work by David Carlisle <david at dcarlisle.demon.co.uk>%
- Version (4.2b): Modified by Mark Doyle^^J
+ Version (4.2c): Modified by Mark Doyle^^J
  \@gobble
 }%
 %    \end{macrocode}

Modified: trunk/Master/texmf-dist/tex/latex/revtex/aapm4-2.rtx
===================================================================
--- trunk/Master/texmf-dist/tex/latex/revtex/aapm4-2.rtx	2019-01-18 22:37:42 UTC (rev 49750)
+++ trunk/Master/texmf-dist/tex/latex/revtex/aapm4-2.rtx	2019-01-18 22:40:49 UTC (rev 49751)
@@ -11,19 +11,19 @@
 %% instead, modify the original source file.
 %% See the URL in the file README-AIP.
 %% 
-%% Copyright (c) 2014 American Institute of Physics.
+%% Copyright (c) 2019 American Institute of Physics.
 %% mailto:tex at aip.org
 %% 
 %% Maintained by Arthur Ogawa (mailto:arthur_ogawa at sbcglobal.net)
 %% under contract to American Institute of Physics
 %% 
-%% Version (4.2a)
+%% Version (4.2c)
 %% Modified by Aptara
 %% under contract to American Institute of Physics
 %% 
 %% License
 %%    You may distribute this file under the conditions of the
-%%    LaTeX Project Public License 1.3 or later
+%%    LaTeX Project Public License 1.3c or later
 %%    (http://www.latex-project.org/lppl.txt).
 %% 
 %%    This file is distributed WITHOUT ANY WARRANTY;

Added: trunk/Master/texmf-dist/tex/latex/revtex/aip4-1.rtx
===================================================================
--- trunk/Master/texmf-dist/tex/latex/revtex/aip4-1.rtx	                        (rev 0)
+++ trunk/Master/texmf-dist/tex/latex/revtex/aip4-1.rtx	2019-01-18 22:40:49 UTC (rev 49751)
@@ -0,0 +1,668 @@
+%%
+%% This is file `aip4-1.rtx',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% aip.dtx  (with options: `package')
+%% 
+%% This is a generated file;
+%% altering it directly is inadvisable;
+%% instead, modify the original source file.
+%% See the URL in the file README.
+%% 
+%% Copyright (c) 2008 American Institute of Physics.
+%% mailto:tex at aip.org
+%% 
+%% Maintained by Arthur Ogawa (mailto:arthur_ogawa at sbcglobal.net)
+%% under contract to American Institute of Physics.
+%% 
+%% License
+%%    You may distribute this file under the conditions of the
+%%    LaTeX Project Public License 1.3 or later
+%%    (http://www.latex-project.org/lppl.txt).
+%% 
+%%    This file is distributed WITHOUT ANY WARRANTY;
+%%    without even the implied warranty of MERCHANTABILITY
+%%    or FITNESS FOR A PARTICULAR PURPOSE.
+%% 
+%%%  @LaTeX-file{
+%%%     filename        = "aip.dtx",
+%%%     version         = "4.1r",
+%%%     date            = "2010/07/25",
+%%%     time            = "20:32:00 GMT-8",
+%%%     checksum        = "1163",
+%%%     author          = "Arthur Ogawa (mailto:arthur_ogawa at sbcglobal.net),
+%%%                        commissioned by the American Institute of Physics.
+%%%                        ",
+%%%     copyright       = "Copyright (C) 2008 American Institute of Physics,
+%%%                        distributed under the terms of the
+%%%                        LaTeX Project Public License, see
+%%%                        ftp://ctan.tug.org/macros/latex/base/lppl.txt
+%%%                        ",
+%%%     address         = "AIP Journal Program
+%%%                        American Institute of Physics,
+%%%                        Suite 1NO1, 2 Huntington Quadrangle,
+%%%                        Melville, NY 11747 USA",
+%%%     telephone       = "",
+%%%     FAX             = "",
+%%%     email           = "mailto colon tex at aip.org",
+%%%     codetable       = "ISO/ASCII",
+%%%     keywords        = "latex, page grid, main vertical list",
+%%%     supported       = "yes",
+%%%     abstract        = "aip substyle for REVTeX",
+%%%     docstring       = "The checksum field above generated by ltxdoc",
+%%%  }
+\NeedsTeXFormat{LaTeX2e}[1996/12/01]%
+\ProvidesFile{aip4-1.rtx}%
+ [2010/07/25 4.1r AIP substyle for REVTeX]% \fileversion
+\ifx\undefined\substyle at ext
+ \def\@tempa{%
+  \endinput
+  \GenericWarning{I must be read in by REVTeX! (Bailing out)}%
+ }%
+ \expandafter\else
+  \def\@tempa{}%
+ \expandafter\fi\@tempa
+ \class at info{RevTeX society AIP selected}%
+\DeclareOption{jcp}{\change at journal{jcp}}%
+\DeclareOption{pop}{\change at journal{pop}}%
+\DeclareOption{rsi}{\change at journal{rsi}}%
+\DeclareOption{jap}{\change at journal{jap}}%
+\DeclareOption{apl}{\change at journal{apl}}%
+\DeclareOption{cha}{\change at journal{cha}}%
+\DeclareOption{pof}{\change at journal{pof}}%
+\DeclareOption{bmf}{\change at journal{bmf}}%
+\DeclareOption{rse}{\change at journal{rse}}%
+\DeclareOption{jmp}{\change at journal{jmp}}%
+\DeclareOption{author-numerical}{%
+  \@booleantrue\authoryear at sw
+  \@booleantrue\authornum at sw
+}%
+\DeclareOption{article-title}{%
+  \@booleanfalse\aip at jtitx@sw
+}%
+\@booleantrue \aip at jtitx@sw
+\@booleanfalse\authoryear at sw
+\@booleanfalse\authornum at sw
+\appdef\@bibdataout at rev{\@bibdataout at aip}%
+\def\@bibdataout at aip{%
+ \immediate\write\@bibdataout{%
+  @CONTROL{%
+   aip41Control%
+   \longbibliography at sw{\true at sw}{\aip at jtitx@sw{\false at sw}{\true at sw}}%
+   {%
+    ,pages="1",title="0"%
+   }{%
+    ,pages="0",title=""%
+   }%
+  }%
+ }%
+ \if at filesw
+  \immediate\write\@auxout{\string\citation{aip41Control}}%
+ \fi
+}%
+\@booleantrue\preprintsty at sw
+\@booleantrue\showPACS at sw
+\@booleantrue\showKEYS at sw
+\appdef\setup at hook{%
+ \preprintsty at sw{}{%
+  \let\refname\@empty
+ }%
+}%
+\appdef\setup at hook{%
+ \preprintsty at sw{%
+  \ps at preprint
+ }{%
+  \ps at article
+ }%
+}%
+\def\ps at preprint{%
+  \def\@oddhead{\@runningtitle\hfil}%
+  \def\@evenhead{\@runningtitle\hfil}%
+  \def\@oddfoot{\hfil\thepage\quad\checkindate\hfil}%
+  \def\@evenfoot{\hfil\thepage\quad\checkindate\hfil}%
+  \let\@mkboth\@gobbletwo
+  \let\sectionmark\@gobble
+  \let\subsectionmark\@gobble
+}%
+\def\ps at article{%
+  \def\@evenhead{\let\\\heading at cr\thepage\quad\checkindate\hfil\@runningtitle}%
+  \def\@oddhead{\let\\\heading at cr\@runningtitle\hfil\checkindate\quad\thepage}%
+  \def\@oddfoot{}%
+  \def\@evenfoot{}%
+  \let\@mkboth\@gobbletwo
+  \let\sectionmark\@gobble
+  \let\subsectionmark\@gobble
+}%
+\def\@runningtitle{\@shorttitle}%
+\renewenvironment{titlepage}{%
+  \let\wastwocol at sw\twocolumn at sw
+  \onecolumngrid
+  \newpage
+  \thispagestyle{titlepage}%
+  \c at page\z@% article sets this to one not zero???
+}{%
+  \wastwocol at sw{\twocolumngrid}{\newpage}%
+}%
+\let\@fnsymbol at latex\@fnsymbol
+\let\@fnsymbol\@alph
+\def\adjust at abstractwidth{%
+ \parindent1em\relax
+ \advance\leftskip.5in\relax
+ \@totalleftmargin\leftskip
+ \@afterheading\@afterindentfalse
+}%
+\def\frontmatter at abstractheading{}%
+\def\frontmatter at abstractfont{%
+ \adjust at abstractwidth
+}%
+\appdef\setup at hook{%
+ \preprintsty at sw{%
+  \@booleantrue\titlepage at sw
+  \let\section\section at preprintsty
+  \let\subsection\subsection at preprintsty
+  \let\subsubsection\subsubsection at preprintsty
+ }{}%
+}%
+\def\frontmatter@@indent{%
+ \skip@\@flushglue
+ \@flushglue\z@ plus.3\hsize\relax
+ \raggedright
+ \advance\leftskip.5in\relax
+ \@totalleftmargin\leftskip
+ \@flushglue\skip@
+}%
+\def\frontmatter at authorformat{%
+ \frontmatter@@indent
+ \sffamily
+}%
+\renewcommand*\email[1][Electronic mail: ]{\begingroup\sanitize at url\@email{#1}}%
+\def\frontmatter at above@affilgroup{%
+}%
+\def\frontmatter at above@affiliation at script{%
+ \frontmatter@@indent
+}%
+\def\frontmatter at above@affiliation{%
+}%
+\def\frontmatter at affiliationfont{%
+ \frontmatter@@indent
+ \preprintsty at sw{}{\small}%
+ \it
+}%
+\def\frontmatter at collaboration@above{%
+}%
+\def\frontmatter at setup{%
+ \normalfont
+}%
+\def\frontmatter at title@above{\addvspace{6\p@}}%
+\def\frontmatter at title@format{%
+ \preprintsty at sw{}{\Large}%
+ \sffamily
+ \bfseries
+ \raggedright
+ \parskip\z at skip
+}%
+\def\frontmatter at title@below{\addvspace{3\p@}}%
+\def\@author at parskip{3\p@}%
+\@booleantrue\altaffilletter at sw
+\def\frontmatter at makefnmark{%
+ \@textsuperscript{%
+  \normalfont\@thefnmark%(
+  )%
+ }%
+}%
+\def\frontmatter at authorbelow{%
+\addvspace{3\p@}%
+}%
+\let\affil at cutoff\tw@
+\def\frontmatter at RRAP@format{%
+  \addvspace{5\p@}%
+  \small
+  \raggedright
+  \advance\leftskip.5in\relax
+ \@totalleftmargin\leftskip
+  \everypar{%
+   \hbox\bgroup(\@gobble at leavemode@uppercase%)
+  }%
+  \def\par{%
+   \@ifvmode{}{%(
+    \unskip)\egroup\@@par
+   }%
+  }%
+}%
+\def\punct at RRAP{;\egroup\ \hbox\bgroup}%
+\def\@gobble at leavemode@uppercase#1#2{\expandafter\MakeTextUppercase}%
+\def\frontmatter at PACS@format{%
+   \addvspace{11\p@}%
+   \adjust at abstractwidth
+   \parskip\z at skip
+   \samepage
+}%
+\def\frontmatter at keys@format{%
+   \adjust at abstractwidth
+   \samepage
+}%
+\def\ps at titlepage{%
+  \def\@oddhead{%
+   \@runningtitle
+   \hfill
+   \produce at preprints\@preprint
+  }%
+  \let\@evenhead\@oddhead
+  \def\@oddfoot{%
+   \hb at xt@\z@{\byrevtex\hss}%
+   \hfil
+   \preprintsty at sw{\thepage}{}%
+   \quad\checkindate
+   \hfil
+  }%
+  \let\@evenfoot\@oddfoot
+}%
+\def\byrevtex{\byrevtex at sw{Typeset by REV\TeX and AIP}{}}%
+\def\produce at preprints#1{%
+ \preprint at sw{%
+  \vtop to \z@{%
+   \def\baselinestretch{1}%
+   \small
+   \let\preprint\preprint at count
+   \count@\z@#1\@ifnum{\count@>\tw@}{%
+    \hbox{%
+     \let\preprint\preprint at hlist
+     #1\setbox\z@\lastbox
+    }%
+   }{%
+    \let\preprint\preprint at cr
+    \halign{\hfil##\cr#1\crcr}%
+    \par
+    \vss
+   }%
+  }%
+ }{}%
+}%
+\def\preprint at cr#1{#1\cr}%
+\def\preprint at count#1{\advance\count@\@ne}%
+\def\preprint at hlist#1{#1\hbox{, }}%
+\newenvironment{Lead at inParagraph}{%
+ \par
+ \bfseries
+ \@afterheading\@afterindentfalse
+}{%
+ \par
+ \hb at xt@\hsize{\hfil\leaders\hrule\hfil\leaders\hrule\hfil\hfil}%
+}%
+\appdef\frontmatter at init{%
+ \let at environment{quotation at ltx}{quotation}%
+ \let at environment{quotation}{Lead at inParagraph}%
+}%
+\appdef\@startsection at hook{%
+ \let at environment{quotation}{quotation at ltx}%
+}%
+\def\@seccntformat#1{\csname the#1\endcsname.\quad}%
+\def\@hang at from#1#2#3{#1#2#3}%
+\def\section{%
+  \@startsection
+    {section}%
+    {1}%
+    {\z@}%
+    {0.8cm \@plus1ex \@minus .2ex}%
+    {0.5cm}%
+    {%
+     \normalfont
+     \small
+     \sffamily
+     \bfseries
+     \raggedright
+    }%
+}%
+\def\@hangfrom at section#1#2#3{\@hangfrom{#1#2}\MakeTextUppercase{#3}}%
+\def\@hangfroms at section#1#2{#1\MakeTextUppercase{#2}}%
+\def\subsection{%
+  \@startsection
+    {subsection}%
+    {2}%
+    {\z@}%
+    {.8cm \@plus1ex \@minus .2ex}%
+    {.5cm}%
+    {%
+     \normalfont
+     \small
+     \sffamily
+     \bfseries
+     \raggedright
+    }%
+}%
+\def\subsubsection{%
+  \@startsection
+    {subsubsection}%
+    {3}%
+    {\z@}%
+    {.8cm \@plus1ex \@minus .2ex}%
+    {.5cm}%
+    {%
+     \normalfont
+     \small
+     \sffamily
+     \bfseries
+     \itshape
+     \raggedright
+    }%
+}%
+\def\paragraph{%
+  \@startsection
+    {paragraph}%
+    {4}%
+    {\parindent}%
+    {\z@}%
+    {-1em}%
+    {\normalfont\normalsize\itshape}%
+}%
+\def\subparagraph{%
+  \@startsection
+    {subparagraph}%
+    {5}%
+    {\parindent}%
+    {3.25ex \@plus1ex \@minus .2ex}%
+    {-1em}%
+    {\normalfont\normalsize\bfseries}%
+}%
+\def\section at preprintsty{%
+  \@startsection
+    {section}%
+    {1}%
+    {\z@}%
+    {0.8cm \@plus1ex \@minus .2ex}%
+    {0.5cm}%
+    {%
+     \normalfont
+     \bfseries
+     \raggedright
+    }%
+}%
+\def\subsection at preprintsty{%
+  \@startsection
+    {subsection}%
+    {2}%
+    {\z@}%
+    {.8cm \@plus1ex \@minus .2ex}%
+    {.5cm}%
+    {%
+     \normalfont
+     \bfseries
+     \raggedright
+    }%
+}%
+\def\subsubsection at preprintsty{%
+  \@startsection
+    {subsubsection}%
+    {3}%
+    {\z@}%
+    {.8cm \@plus1ex \@minus .2ex}%
+    {.5cm}%
+    {%
+     \normalfont
+     \itshape\bfseries
+     \raggedright
+    }%
+}%
+\let\frontmatter at footnote@produce\frontmatter at footnote@produce at footnote
+\def\@pnumwidth{1.55em}
+\def\@tocrmarg {2.55em}
+\def\@dotsep{2}
+\def\ltxu at dotsep{4.5pt}
+\setcounter{tocdepth}{3}
+\def\tableofcontents{%
+ \addtocontents{toc}{\string\tocdepth at munge}%
+ \print at toc{toc}%
+ \addtocontents{toc}{\string\tocdepth at restore}%
+}%
+\def\tocdepth at munge{%
+  \let\l at section@saved\l at section
+  \let\l at section\@gobble at tw@
+}%
+\def\@gobble at tw@#1#2{}%
+\def\tocdepth at restore{%
+  \let\l at section\l at section@saved
+}%
+\def\l at part#1#2{\addpenalty{\@secpenalty}%
+ \begingroup
+  \set at tocdim@pagenum{#2}%
+  \parindent \z@
+  \rightskip\tocleft at pagenum plus 1fil\relax
+  \skip@\parfillskip\parfillskip\z@
+  \addvspace{2.25em plus\p@}%
+  \large \bf %
+  \leavevmode\ignorespaces#1\unskip\nobreak\hskip\skip@
+  \hb at xt@\rightskip{\hfil\unhbox\z@}\hskip-\rightskip\hskip\z at skip
+  \par
+  \nobreak %
+ \endgroup
+}%
+\def\tocleft@{\z@}%
+\def\tocdim at min{5\p@}%
+\def\l at section{%
+ \l@@sections{}{section}% Implicit #3#4
+}%
+\def\l at f@section{%
+ \addpenalty{\@secpenalty}%
+ \addvspace{1.0em plus\p@}%
+ \bf
+}%
+\def\l at subsection{%
+ \l@@sections{section}{subsection}% Implicit #3#4
+}%
+\def\l at subsubsection{%
+ \l@@sections{subsection}{subsubsection}% Implicit #3#4
+}%
+\def\l at paragraph#1#2{}%
+\def\l at subparagraph#1#2{}%
+\let\toc at pre\toc at pre@auto
+\let\toc at post\toc at post@auto
+\def\listoffigures{\print at toc{lof}}%
+\def\l at figure{\@dottedtocline{1}{1.5em}{2.3em}}
+\def\listoftables{\print at toc{lot}}%
+\let\l at table\l at figure
+\@booleanfalse\raggedcolumn at sw
+\def\tableft at skip@float{\z@ plus\hsize}%
+\def\tabmid at skip@float{\@flushglue}%
+\def\tabright at skip@float{\z@ plus\hsize}%
+\def\array at row@pre at float{\hline\hline\noalign{\vskip\doublerulesep}}%
+\def\array at row@pst at float{\noalign{\vskip\doublerulesep}\hline\hline}%
+\def\@makefntext#1{%
+ \def\baselinestretch{1}%
+ \leftskip1em%
+ \parindent1em%
+ \noindent
+ \nobreak\hskip-\leftskip
+ \hb at xt@\leftskip{%
+  \hss\@makefnmark\ %
+ }%
+ #1%
+ \par
+}%
+\prepdef\appendix{%
+ \par
+ \let\@hangfrom at section\@hangfrom at appendix
+ \let\@sectioncntformat\@appendixcntformat
+}%
+\def\@hangfrom at appendix#1#2#3{%
+ #1%
+ \@if at empty{#2}{%
+  #3%
+ }{%
+  #2\@if at empty{#3}{}{:\ #3}%
+ }%
+}%
+\def\@hangfroms at appendix#1#2{%
+ #1#2%
+}%
+\def\@appendixcntformat#1{\appendixname\ \csname the#1\endcsname}%
+ \def\pre at bibdata{\jobname\bibdata at app}%
+\def\refname{References}%
+\def\rtx at bibsection{%
+ \@ifx at empty\refname{%
+  \par\vspace{6\p@ plus 6\p@}%
+ }{%
+  \expandafter\section\expandafter*\expandafter{\refname}%
+  \@nobreaktrue
+ }%
+}%
+\let\bibpreamble\@empty
+\appdef\setup at hook{%
+ \bibsep\z@\relax
+}%
+\def\newblock{\ }%
+\appdef\setup at hook{%
+ \def\bibfont{%
+  \preprintsty at sw{}{\footnotesize}%
+  \@clubpenalty\clubpenalty
+  \labelsep\z@
+ }%
+}%
+\let\place at bibnumber\place at bibnumber@sup
+\newenvironment{theindex}{%
+ \columnseprule \z@
+ \columnsep 35\p@
+ \c at secnumdepth-\maxdimen
+ \onecolumngrid at push
+ \section{\indexname}%
+ \thispagestyle{plain}%
+ \parindent\z@
+ \parskip\z@ plus.3\p@\relax
+ \let\item\@idxitem
+ \onecolumngrid at pop
+}{%
+}%
+\def\@idxitem{\par\hangindent 40\p@}
+\def\subitem{\par\hangindent 40\p@ \hspace*{20\p@}}
+\def\subsubitem{\par\hangindent 40\p@ \hspace*{30\p@}}
+\def\indexspace{\par \vskip 10\p@ plus5\p@ minus3\p@\relax}
+\expandafter\def\csname rtx at aip10pt\endcsname{%
+ \let\@currname at class\@currname
+ \def\@currname{aps10pt\substyle at post}%
+ \class at info{Reading file \@currname.\substyle at ext}%
+ \input{\@currname.\substyle at ext}%
+ \let\@currname\@currname at class
+ \class at info{Overriding 10pt}%
+ \aipreprint
+}%
+\expandafter\def\csname rtx at aip11pt\endcsname{\csname rtx at aip12pt\endcsname}%
+\expandafter\def\csname rtx at aip12pt\endcsname{%
+ \let\@currname at class\@currname
+ \def\@currname{aps12pt\substyle at post}%
+ \class at info{Reading file \@currname.\substyle at ext}%
+ \input{\@currname.\substyle at ext}%
+ \let\@currname\@currname at class
+ \class at info{Overriding 12pt}%
+ \aippreprint
+}%
+\def\today{%
+  \number\day\space
+  \ifcase\month
+   \or January\or February\or March\or     April\or   May\or      June%
+   \or July\or    August\or   September\or October\or November\or December%
+  \fi\space
+  \number\year
+}%
+ \clo at superscriptaddress
+\def\@journal at default{cha}%
+\def\@pointsize at default{12}%
+\def\rtx at aipjcp{%
+ \typeout{Using journal substyle \@journal.}%
+ \@booleanfalse\authoryear at sw
+}%
+\def\rtx at aippop{%
+ \typeout{Using journal substyle \@journal.}%
+ \@booleanfalse\authoryear at sw
+}%
+\def\rtx at aiprsi{%
+ \typeout{Using journal substyle \@journal.}%
+ \@booleanfalse\authoryear at sw
+}%
+\def\rtx at aipjap{%
+ \typeout{Using journal substyle \@journal.}%
+ \@booleanfalse\authoryear at sw
+ \let\@runningtitle\@empty
+}%
+\def\rtx at aipapl{%
+ \typeout{Using journal substyle \@journal.}%
+ \@booleanfalse\authoryear at sw
+ \let\@runningtitle\@empty
+}%
+\def\rtx at aipcha{%
+ \typeout{Using journal substyle \@journal.}%
+ \@booleanfalse\aip at jtitx@sw
+}%
+\def\rtx at aippof{%
+ \typeout{Using journal substyle \@journal.}%
+ \@booleanfalse\authoryear at sw
+ \@booleanfalse\aip at jtitx@sw
+}%
+\def\rtx at aipbmf{%
+ \typeout{Using journal substyle \@journal.}%
+ \@booleanfalse\authoryear at sw
+ \@booleanfalse\twocolumn at sw
+}%
+\def\rtx at aiprse{%
+ \typeout{Using journal substyle \@journal.}%
+ \@booleanfalse\authoryear at sw
+}%
+\def\rtx at aipjmp{%
+ \typeout{Using journal substyle \@journal.}%
+ \@booleanfalse\aip at jtitx@sw
+ \@booleanfalse\twocolumn at sw
+}%
+\@booleantrue\footinbib at sw
+\let\place at bibnumber\place at bibnumber@sup
+\appdef\setup at hook{%
+ \authoryear at sw{%
+  \aip at jtitx@sw{%
+   \def\@bibstyle{aipauth\substyle at post}%
+  }{%
+   \def\@bibstyle{aipauth\substyle at post}%
+  }%
+  \authornum at sw{%
+   \bibpunct{}{}{,}{s}{}{\textsuperscript{,}}%
+   \let\onlinecite\rev at citealpnum
+  }{%
+   \bibhang10\p@
+   \bibpunct{(%)
+              }{%(
+                )}{; }{a}{,}{,}%
+   \@booleanfalse\footinbib at sw
+   \let\NAT at mcite\@ne
+   \let\NAT at sort\z@
+   \def\NAT at cmprs{\z@}%
+   \let\NAT at def@citea\rtx at def@citea
+   \let\NAT at def@citea at close\rtx at def@citea at close
+  }%
+ }{%
+  \aip at jtitx@sw{%
+   \def\@bibstyle{aipnum\substyle at post}%
+  }{%
+   \def\@bibstyle{aipnum\substyle at post}%
+  }%
+  \bibpunct{}{}{,}{s}{}{\textsuperscript{,}}%
+  \let\onlinecite\rev at citealpnum
+ }%
+}%
+\def\make at footnote@endnote{%
+ \footinbib at sw{%
+  \authoryear at sw{\authornum at sw{\false at sw}{\true at sw}}{\false at sw}%
+  {}{%
+   \ltx at footnote@push
+   \def\thempfn{Note\thefootnote}%
+   \let\ltx at footmark\rev at citemark
+   \let\ltx at foottext\rev at endtext
+   \appdef\class at enddocumenthook{\auto at bib}%
+   \let\printendnotes\relax
+  }%
+ }{}%
+}%
+\def\aipreprint{%
+}%
+\def\aippreprint{%
+}%
+\endinput
+%%
+%% End of file `aip4-1.rtx'.


Property changes on: trunk/Master/texmf-dist/tex/latex/revtex/aip4-1.rtx
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Modified: trunk/Master/texmf-dist/tex/latex/revtex/aip4-2.rtx
===================================================================
--- trunk/Master/texmf-dist/tex/latex/revtex/aip4-2.rtx	2019-01-18 22:37:42 UTC (rev 49750)
+++ trunk/Master/texmf-dist/tex/latex/revtex/aip4-2.rtx	2019-01-18 22:40:49 UTC (rev 49751)
@@ -11,19 +11,19 @@
 %% instead, modify the original source file.
 %% See the URL in the file README-AIP.
 %% 
-%% Copyright (c) 2014 American Institute of Physics.
+%% Copyright (c) 2019 American Institute of Physics.
 %% mailto:tex at aip.org
 %% 
 %% Maintained by Arthur Ogawa (mailto:arthur_ogawa at sbcglobal.net)
 %% under contract to American Institute of Physics
 %% 
-%% Version (4.2a)
+%% Version (4.2c)
 %% Modified by Aptara
 %% under contract to American Institute of Physics
 %% 
 %% License
 %%    You may distribute this file under the conditions of the
-%%    LaTeX Project Public License 1.3 or later
+%%    LaTeX Project Public License 1.3c or later
 %%    (http://www.latex-project.org/lppl.txt).
 %% 
 %%    This file is distributed WITHOUT ANY WARRANTY;
@@ -48,16 +48,16 @@
 %%
 %%%  @LaTeX-file{
 %%%     filename        = "aip4-2.dtx",
-%%%     version         = "4.2a",
-%%%     date            = "2014/12/31",
-%%%     time            = "20:33:00 GMT-8",
+%%%     version         = "4.2c",
+%%%     date            = "2019/01/18",
+%%%     time            = "14:29:48 GMT-5",
 %%%     checksum        = "6737",
 %%%     author          = "Arthur Ogawa (mailto:arthur_ogawa at sbcglobal.net),
 %%%                        commissioned by the American Institute of Physics.
 %%%                        ",
-%%%     copyright       = "Copyright (C) 2014 American Institute of Physics,
+%%%     copyright       = "Copyright (C) 2019 American Institute of Physics,
 %%%                        distributed under the terms of the
-%%%                        LaTeX Project Public License, see
+%%%                        LaTeX Project Public License 1.3c, see
 %%%                        ftp://ctan.tug.org/macros/latex/base/lppl.txt
 %%%                        ",
 %%%     address         = "AIP Journal Program
@@ -75,7 +75,7 @@
 %%%  }
 \NeedsTeXFormat{LaTeX2e}[1996/12/01]%
 \ProvidesFile{aip4-2.rtx}%
- [2014/12/31/20:33:00 4.2a AIP substyle for REVTeX]% \fileversion
+ [2019/01/18/14:29:48 4.2c AIP substyle for REVTeX]% \fileversion
 \ifx\undefined\substyle at ext
  \def\@tempa{%
   \endinput

Added: trunk/Master/texmf-dist/tex/latex/revtex/aps10pt4-1.rtx
===================================================================
--- trunk/Master/texmf-dist/tex/latex/revtex/aps10pt4-1.rtx	                        (rev 0)
+++ trunk/Master/texmf-dist/tex/latex/revtex/aps10pt4-1.rtx	2019-01-18 22:40:49 UTC (rev 49751)
@@ -0,0 +1,177 @@
+%%
+%% This is file `aps10pt4-1.rtx',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% revtex4-1.dtx  (with options: `10pt')
+%% 
+%% This file is part of the APS files in the REVTeX 4 distribution.
+%% For the version number, search on the string 
+%% Original version by David Carlisle
+%% Modified by Arthur Ogawa (mailto:arthur_ogawa at sbcglobal dot net)
+%% 
+%% Copyright (c) 2009 The American Physical Society.
+%% http://publish.aps.org/revtex4/
+%% mailto:revtex4 at aps.org
+%% 
+%% See the REVTeX 4 README file for restrictions and more information.
+%% 
+\ProvidesFile{aps10pt4-1}
+ [2010/07/25/20:33:00 4.1r (http://publish.aps.org/revtex4/ for documentation)]% \fileversion
+\ifx\undefined\substyle at ext
+ \def\@tempa{%
+  \endinput
+  \GenericWarning{I must be read in by REVTeX! (Bailing out)}%
+ }%
+ \expandafter\else
+  \def\@tempa{}%
+ \expandafter\fi\@tempa
+ \class at info{RevTeX pointsize 10pt selected}%
+\def\normalsize{%
+   \@setfontsize\normalsize\@xpt{11.5}%
+   \abovedisplayskip 10\p@ \@plus2\p@ \@minus5\p@
+   \belowdisplayskip \abovedisplayskip
+   \abovedisplayshortskip  \abovedisplayskip
+   \belowdisplayshortskip \abovedisplayskip
+   \let\@listi\@listI
+}%
+\def\small{%
+  \@setfontsize\small\@ixpt{10.5}%
+  \abovedisplayskip 8.5\p@ \@plus3\p@ \@minus4\p@
+  \belowdisplayskip \abovedisplayskip
+  \abovedisplayshortskip \z@ \@plus2\p@
+  \belowdisplayshortskip 4\p@ \@plus2\p@ \@minus2\p@
+  \def\@listi{%
+    \leftmargin\leftmargini
+    \topsep 4\p@ \@plus2\p@ \@minus2\p@
+    \parsep 2\p@ \@plus\p@ \@minus\p@
+    \itemsep \parsep
+  }%
+}%
+\def\footnotesize{%
+  \@setfontsize\footnotesize\@viiipt{9.5pt}%
+  \abovedisplayskip 6\p@ \@plus2\p@ \@minus4\p@
+  \belowdisplayskip \abovedisplayskip
+  \abovedisplayshortskip \z@ \@plus\p@
+  \belowdisplayshortskip 3\p@ \@plus\p@ \@minus2\p@
+  \def\@listi{%
+    \leftmargin\leftmargini
+    \topsep 3\p@ \@plus\p@ \@minus\p@
+    \parsep 2\p@ \@plus\p@ \@minus\p@
+    \itemsep \parsep
+  }%
+}%
+\def\scriptsize{%
+ \@setfontsize\scriptsize\@viipt\@viiipt
+}%
+\def\tiny{%
+ \@setfontsize\tiny\@vpt\@vipt
+}%
+\def\large{%
+ \@setfontsize\large\@xiipt{14pt}%
+}%
+\def\Large{%
+ \@setfontsize\Large\@xivpt{18pt}%
+}%
+\def\LARGE{%
+ \@setfontsize\LARGE\@xviipt{22pt}%
+}%
+\def\huge{%
+ \@setfontsize\huge\@xxpt{25pt}%
+}%
+\def\Huge{%
+ \@setfontsize\Huge\@xxvpt{30pt}%
+}%
+\appdef\setup at hook{%
+ \twoside at sw{%
+    \oddsidemargin  -20pt
+    \evensidemargin -20pt
+    \marginparwidth 107pt
+ }{%
+    \oddsidemargin  -.25in
+    \evensidemargin -.25in
+    \marginparwidth 30pt
+ }%
+}%
+\marginparsep 6pt
+\topmargin -61pt
+\headheight 25pt
+\headsep 16pt
+\topskip 10pt
+\splittopskip\topskip
+\footskip 30pt
+ \textheight = 56pc
+\textwidth42.5pc
+\columnsep 1.5pc
+\columnseprule 0pt
+\footnotesep 1pt
+\skip\footins 39pt plus 4pt minus 12pt
+\def\footnoterule{%
+ \dimen@\skip\footins\divide\dimen@\tw@
+ \kern-\dimen@\hrule width.5in\kern\dimen@
+}%
+\floatsep 12pt plus 2pt minus 2pt
+\textfloatsep 20pt plus 2pt minus 4pt
+\intextsep 12pt plus 2pt minus 2pt
+\dblfloatsep 12pt plus 2pt minus 2pt
+\dbltextfloatsep 20pt plus 2pt minus 4pt
+\@fptop 0pt plus 1fil
+\@fpsep 8pt plus 2fil
+\@fpbot 0pt plus 1fil
+\@dblfptop 0pt plus 1fil
+\@dblfpsep 8pt plus 2fil
+\@dblfpbot 0pt plus 1fil
+\marginparpush 5pt
+\parskip 0pt plus 1pt
+\parindent 10pt
+\emergencystretch8\p@
+\partopsep 2pt plus 1pt minus 1pt
+\leftmargini 25pt
+\leftmarginii 22pt
+\leftmarginiii 18.7pt
+\leftmarginiv 17pt
+\leftmarginv 10pt
+\leftmarginvi 10pt
+\def\@listI{%
+  \leftmargin\leftmargini
+  \parsep 4\p@ plus2\p@ minus\p@
+  \topsep 8\p@ plus2\p@ minus4\p@
+  \itemsep 4\p@ plus2\p@ minus\p@
+}%
+\labelsep 4pt
+\def\@listii{%
+  \leftmargin\leftmarginii
+  \labelwidth\leftmarginii
+  \advance\labelwidth-\labelsep
+  \topsep 4\p@ plus2\p@ minus\p@
+  \parsep 2\p@ plus\p@ minus\p@
+  \itemsep \parsep
+}%
+\def\@listiii{%
+  \leftmargin\leftmarginiii
+  \labelwidth\leftmarginiii
+  \advance\labelwidth-\labelsep
+  \topsep 2\p@ plus\p@ minus\p@
+  \parsep \z@
+  \partopsep \p@ plus\z@ minus\p@
+  \itemsep \topsep
+}%
+\def\@listiv{%
+  \leftmargin\leftmarginiv
+  \labelwidth\leftmarginiv
+  \advance\labelwidth-\labelsep
+}%
+\def\@listv{%
+  \leftmargin\leftmarginv
+  \labelwidth\leftmarginv
+  \advance\labelwidth-\labelsep
+}%
+\def\@listvi{%
+  \leftmargin\leftmarginvi
+  \labelwidth\leftmarginvi
+  \advance\labelwidth-\labelsep
+}%
+\endinput
+%%
+%% End of file `aps10pt4-1.rtx'.


Property changes on: trunk/Master/texmf-dist/tex/latex/revtex/aps10pt4-1.rtx
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Modified: trunk/Master/texmf-dist/tex/latex/revtex/aps10pt4-2.rtx
===================================================================
--- trunk/Master/texmf-dist/tex/latex/revtex/aps10pt4-2.rtx	2019-01-18 22:37:42 UTC (rev 49750)
+++ trunk/Master/texmf-dist/tex/latex/revtex/aps10pt4-2.rtx	2019-01-18 22:40:49 UTC (rev 49751)
@@ -14,7 +14,7 @@
 %% Version (4.2a, unreleased)
 %% Modified by Aptara on behalf of American Physical Society and American Institute of Physics
 %% 
-%% Version (4.2b)
+%% Version (4.2b,4.2c)
 %% Modified by Mark Doyle, American Physical Society (mailto:revtex at aps.org)
 %% 
 %% Copyright (c) 2019 American Physical Society.
@@ -24,7 +24,7 @@
 %% See the REVTeX 4.2 README-REVTEX file for restrictions and more information.
 %% 
 \ProvidesFile{aps10pt4-2}
- [2018/12/26/16:06:17 4.2b (https://journals.aps.org/revtex/ for documentation)]% \fileversion
+ [2019/01/18/14:29:48 4.2c (https://journals.aps.org/revtex/ for documentation)]% \fileversion
 \ifx\undefined\substyle at ext
  \def\@tempa{%
   \endinput

Added: trunk/Master/texmf-dist/tex/latex/revtex/aps11pt4-1.rtx
===================================================================
--- trunk/Master/texmf-dist/tex/latex/revtex/aps11pt4-1.rtx	                        (rev 0)
+++ trunk/Master/texmf-dist/tex/latex/revtex/aps11pt4-1.rtx	2019-01-18 22:40:49 UTC (rev 49751)
@@ -0,0 +1,169 @@
+%%
+%% This is file `aps11pt4-1.rtx',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% revtex4-1.dtx  (with options: `11pt')
+%% 
+%% This file is part of the APS files in the REVTeX 4 distribution.
+%% For the version number, search on the string 
+%% Original version by David Carlisle
+%% Modified by Arthur Ogawa (mailto:arthur_ogawa at sbcglobal dot net)
+%% 
+%% Copyright (c) 2009 The American Physical Society.
+%% http://publish.aps.org/revtex4/
+%% mailto:revtex4 at aps.org
+%% 
+%% See the REVTeX 4 README file for restrictions and more information.
+%% 
+\ProvidesFile{aps11pt4-1}
+ [2010/07/25/20:33:00 4.1r (http://publish.aps.org/revtex4/ for documentation)]% \fileversion
+\ifx\undefined\substyle at ext
+ \def\@tempa{%
+  \endinput
+  \GenericWarning{I must be read in by REVTeX! (Bailing out)}%
+ }%
+ \expandafter\else
+  \def\@tempa{}%
+ \expandafter\fi\@tempa
+ \class at info{RevTeX pointsize 11pt selected}%
+\def\normalsize{%
+    \@setfontsize\normalsize\@xipt{13.6}%
+    \abovedisplayskip 11\p@ \@plus3\p@ \@minus6\p@
+    \belowdisplayskip \abovedisplayskip
+    \abovedisplayshortskip  \abovedisplayskip
+    \belowdisplayshortskip \abovedisplayskip
+    \let\@listi\@listI
+}%
+\def\small{%
+   \@setfontsize\small\@xpt\@xiipt
+   \abovedisplayskip 10\p@ \@plus2\p@ \@minus5\p@
+   \abovedisplayshortskip \z@ \@plus3\p@
+   \belowdisplayshortskip 6\p@ \@plus3\p@ \@minus3\p@
+   \def\@listi{\leftmargin\leftmargini
+               \topsep 6\p@ \@plus2\p@ \@minus2\p@
+               \parsep 3\p@ \@plus2\p@ \@minus\p@
+               \itemsep \parsep
+   }%
+   \belowdisplayskip \abovedisplayskip
+}%
+\def\footnotesize{%
+   \@setfontsize\footnotesize\@ixpt{11}%
+   \abovedisplayskip 8\p@ \@plus2\p@ \@minus4\p@
+   \abovedisplayshortskip \z@ \@plus\p@
+   \belowdisplayshortskip 4\p@ \@plus2\p@ \@minus2\p@
+   \def\@listi{\leftmargin\leftmargini
+               \topsep 4\p@ \@plus2\p@ \@minus2\p@
+               \parsep 2\p@ \@plus\p@ \@minus\p@
+               \itemsep \parsep
+   }%
+   \belowdisplayskip \abovedisplayskip
+}%
+\def\scriptsize{%
+  \@setfontsize\scriptsize\@viiipt{9.5}%
+}%
+\def\tiny{%
+  \@setfontsize\tiny\@vipt\@viipt
+}%
+\def\large{%
+  \@setfontsize\large\@xiipt{14}%
+}%
+\def\Large{%
+  \@setfontsize\Large\@xivpt{18}%
+}%
+\def\LARGE{%
+  \@setfontsize\LARGE\@xviipt{22}%
+}%
+\def\huge{%
+    \@setfontsize\huge\@xxpt{25pt}%
+}%
+\def\Huge{%
+  \@setfontsize\Huge\@xxvpt{30pt}%
+}%
+\appdef\setup at hook{%
+ \twoside at sw{%
+  \oddsidemargin   0pt
+  \evensidemargin  0pt
+  \marginparwidth 60pt
+ }{%
+  \oddsidemargin 0pt
+  \evensidemargin 0pt
+  \marginparwidth 44pt
+ }%
+}%
+\marginparsep 10pt
+\topmargin -37pt
+\headheight 12pt
+\headsep 25pt
+\topskip 10pt
+\splittopskip\topskip
+\footskip 30pt
+\textheight=665.5\p@
+\appdef\setup at hook{%
+ \tightenlines at sw{%
+  \def\baselinestretch{1}%
+ }{%
+  \def\baselinestretch{1.5}%
+ }%
+}%
+\textwidth 468pt
+\columnsep 10pt
+\columnseprule 0pt
+\footnotesep 1pt
+\skip\footins 25.25pt plus 4pt minus 12pt
+\def\footnoterule{%
+ \dimen@\skip\footins\divide\dimen@\f at ur
+ \kern-\dimen@\hrule width.5in\kern\dimen@
+}%
+\floatsep        14pt plus 2pt minus 4pt
+\textfloatsep    20pt plus 2pt minus 4pt
+\intextsep       14pt plus 4pt minus 4pt
+\dblfloatsep     14pt plus 2pt minus 4pt
+\dbltextfloatsep 20pt plus 2pt minus 4pt
+\@fptop 0pt plus 1fil
+\@fpsep 10pt plus 2fil
+\@fpbot 0pt plus 1fil
+\@dblfptop 0pt plus 1fil
+\@dblfpsep 10pt plus 2fil%
+\@dblfpbot 0pt plus 1fil
+\marginparpush 7pt
+\parskip 0pt plus 1pt
+\parindent 15pt
+\emergencystretch8\p@
+\partopsep 3pt plus 2pt minus 2pt
+\leftmargini   30pt
+\leftmarginii  26pt
+\leftmarginiii 22pt
+\leftmarginiv  20pt
+\leftmarginv   12pt
+\leftmarginvi  12pt
+\def\@listI{\leftmargin\leftmargini \parsep 5\p@ plus2.5\p@ minus\p@
+  \topsep 10\p@ plus4\p@ minus6\p@
+  \itemsep 5\p@ plus2.5\p@ minus\p@
+}%
+\labelsep 6pt
+\def\@listii{\leftmargin\leftmarginii
+  \labelwidth\leftmarginii\advance\labelwidth-\labelsep
+  \topsep 5\p@ plus2.5\p@ minus\p@
+  \parsep 2.5\p@ plus\p@ minus\p@
+  \itemsep \parsep
+}%
+\def\@listiii{\leftmargin\leftmarginiii
+  \labelwidth\leftmarginiii\advance\labelwidth-\labelsep
+  \topsep 2.5\p@ plus\p@ minus\p@
+  \parsep \z@ \partopsep \p@ plus\z@ minus\p@
+  \itemsep \topsep
+}%
+\def\@listiv{\leftmargin\leftmarginiv
+  \labelwidth\leftmarginiv\advance\labelwidth-\labelsep
+}%
+\def\@listv{\leftmargin\leftmarginv
+  \labelwidth\leftmarginv\advance\labelwidth-\labelsep
+}%
+\def\@listvi{\leftmargin\leftmarginvi
+  \labelwidth\leftmarginvi\advance\labelwidth-\labelsep
+}%
+\endinput
+%%
+%% End of file `aps11pt4-1.rtx'.


Property changes on: trunk/Master/texmf-dist/tex/latex/revtex/aps11pt4-1.rtx
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Modified: trunk/Master/texmf-dist/tex/latex/revtex/aps11pt4-2.rtx
===================================================================
--- trunk/Master/texmf-dist/tex/latex/revtex/aps11pt4-2.rtx	2019-01-18 22:37:42 UTC (rev 49750)
+++ trunk/Master/texmf-dist/tex/latex/revtex/aps11pt4-2.rtx	2019-01-18 22:40:49 UTC (rev 49751)
@@ -14,7 +14,7 @@
 %% Version (4.2a, unreleased)
 %% Modified by Aptara on behalf of American Physical Society and American Institute of Physics
 %% 
-%% Version (4.2b)
+%% Version (4.2b,4.2c)
 %% Modified by Mark Doyle, American Physical Society (mailto:revtex at aps.org)
 %% 
 %% Copyright (c) 2019 American Physical Society.
@@ -24,7 +24,7 @@
 %% See the REVTeX 4.2 README-REVTEX file for restrictions and more information.
 %% 
 \ProvidesFile{aps11pt4-2}
- [2018/12/26/16:06:17 4.2b (https://journals.aps.org/revtex/ for documentation)]% \fileversion
+ [2019/01/18/14:29:48 4.2c (https://journals.aps.org/revtex/ for documentation)]% \fileversion
 \ifx\undefined\substyle at ext
  \def\@tempa{%
   \endinput

Added: trunk/Master/texmf-dist/tex/latex/revtex/aps12pt4-1.rtx
===================================================================
--- trunk/Master/texmf-dist/tex/latex/revtex/aps12pt4-1.rtx	                        (rev 0)
+++ trunk/Master/texmf-dist/tex/latex/revtex/aps12pt4-1.rtx	2019-01-18 22:40:49 UTC (rev 49751)
@@ -0,0 +1,169 @@
+%%
+%% This is file `aps12pt4-1.rtx',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% revtex4-1.dtx  (with options: `12pt')
+%% 
+%% This file is part of the APS files in the REVTeX 4 distribution.
+%% For the version number, search on the string 
+%% Original version by David Carlisle
+%% Modified by Arthur Ogawa (mailto:arthur_ogawa at sbcglobal dot net)
+%% 
+%% Copyright (c) 2009 The American Physical Society.
+%% http://publish.aps.org/revtex4/
+%% mailto:revtex4 at aps.org
+%% 
+%% See the REVTeX 4 README file for restrictions and more information.
+%% 
+\ProvidesFile{aps12pt4-1}
+ [2010/07/25/20:33:00 4.1r (http://publish.aps.org/revtex4/ for documentation)]% \fileversion
+\ifx\undefined\substyle at ext
+ \def\@tempa{%
+  \endinput
+  \GenericWarning{I must be read in by REVTeX! (Bailing out)}%
+ }%
+ \expandafter\else
+  \def\@tempa{}%
+ \expandafter\fi\@tempa
+ \class at info{RevTeX pointsize 12pt selected}%
+\def\normalsize{%
+  \@setfontsize\normalsize\@xiipt{14pt}%
+  \abovedisplayskip 12\p@ \@plus3\p@ \@minus7\p@
+  \belowdisplayskip \abovedisplayskip
+  \abovedisplayshortskip  \z@ plus3\p@
+  \belowdisplayshortskip  6.5\p@ \@plus3.5\p@ \@minus3\p@
+  \let\@listi\@listI
+}%
+ \def\small{%
+  \@setfontsize\small\@xipt{14.5pt}%
+  \abovedisplayskip 8\p@ \@plus3\p@ \@minus6\p@
+  \belowdisplayskip \abovedisplayskip
+  \abovedisplayshortskip \z@ \@plus3\p@
+  \belowdisplayshortskip 6.5\p@ \@plus3.5\p@ \@minus3\p@
+  \def\@listi{%
+    \leftmargin\leftmargini
+    \topsep 9\p@ \@plus3\p@ \@minus5\p@
+    \parsep 4.5\p@ \@plus2\p@ \@minus\p@
+    \itemsep \parsep
+  }%
+}%
+ \def\footnotesize{%
+  \@setfontsize\footnotesize\@xpt{14.5pt}%
+  \abovedisplayskip 10\p@ \@plus2\p@ \@minus5\p@
+  \belowdisplayskip \abovedisplayskip
+  \abovedisplayshortskip \z@ \@plus3\p@
+  \belowdisplayshortskip 6\p@ \@plus3\p@ \@minus3\p@
+  \def\@listi{%
+    \leftmargin\leftmargini
+    \topsep 6\p@ \@plus2\p@ \@minus2\p@
+    \parsep 3\p@ \@plus2\p@ \@minus\p@
+    \itemsep \parsep
+  }%
+}%
+\def\scriptsize{%
+  \@setfontsize\scriptsize\@viiipt{9.5pt}%
+}%
+\def\tiny{%
+  \@setfontsize\tiny\@vipt{7pt}%
+}%
+\def\large{%
+  \@setfontsize\large\@xivpt{18pt}%
+}%
+\def\Large{%
+  \@setfontsize\Large\@xviipt{22pt}%
+}%
+\def\LARGE{%
+  \@setfontsize\LARGE\@xxpt{25pt}%
+}%
+\def\huge{%
+    \@setfontsize\huge\@xxvpt{30pt}%
+}%
+\let\Huge=\huge
+\appdef\setup at hook{%
+ \twoside at sw{%
+  \oddsidemargin   0pt
+  \evensidemargin  0pt
+  \marginparwidth 60pt
+ }{%
+  \oddsidemargin 0pt
+  \evensidemargin 0pt
+  \marginparwidth 44pt
+ }%
+}%
+\marginparsep 10pt
+\topmargin -37pt
+\headheight 12pt
+\headsep 25pt
+\topskip 10pt
+\splittopskip\topskip
+\footskip 30pt
+\textheight=665.5\p@
+\appdef\setup at hook{%
+ \tightenlines at sw{%
+  \def\baselinestretch{1}%
+ }{%
+  \def\baselinestretch{1.5}%
+ }%
+}%
+\textwidth 468pt
+\columnsep 10pt
+\columnseprule 0pt
+\footnotesep 1pt
+\skip\footins 25.25pt plus 4pt minus 12pt
+\def\footnoterule{%
+ \dimen@\skip\footins\divide\dimen@\f at ur
+ \kern-\dimen@\hrule width.5in\kern\dimen@
+}%
+\floatsep        14pt plus 2pt minus 4pt
+\textfloatsep    20pt plus 2pt minus 4pt
+\intextsep       14pt plus 4pt minus 4pt
+\dblfloatsep     14pt plus 2pt minus 4pt
+\dbltextfloatsep 20pt plus 2pt minus 4pt
+\@fptop 0pt plus 1fil
+\@fpsep 10pt plus 2fil
+\@fpbot 0pt plus 1fil
+\@dblfptop 0pt plus 1fil
+\@dblfpsep 10pt plus 2fil%
+\@dblfpbot 0pt plus 1fil
+\marginparpush 7pt
+\parskip 0pt plus 1pt
+\parindent 15pt
+\emergencystretch8\p@
+\partopsep 3pt plus 2pt minus 2pt
+\leftmargini   30pt
+\leftmarginii  26pt
+\leftmarginiii 22pt
+\leftmarginiv  20pt
+\leftmarginv   12pt
+\leftmarginvi  12pt
+\def\@listI{\leftmargin\leftmargini \parsep 5\p@ plus2.5\p@ minus\p@
+  \topsep 10\p@ plus4\p@ minus6\p@
+  \itemsep 5\p@ plus2.5\p@ minus\p@
+}%
+\labelsep 6pt
+\def\@listii{\leftmargin\leftmarginii
+  \labelwidth\leftmarginii\advance\labelwidth-\labelsep
+  \topsep 5\p@ plus2.5\p@ minus\p@
+  \parsep 2.5\p@ plus\p@ minus\p@
+  \itemsep \parsep
+}%
+\def\@listiii{\leftmargin\leftmarginiii
+  \labelwidth\leftmarginiii\advance\labelwidth-\labelsep
+  \topsep 2.5\p@ plus\p@ minus\p@
+  \parsep \z@ \partopsep \p@ plus\z@ minus\p@
+  \itemsep \topsep
+}%
+\def\@listiv{\leftmargin\leftmarginiv
+  \labelwidth\leftmarginiv\advance\labelwidth-\labelsep
+}%
+\def\@listv{\leftmargin\leftmarginv
+  \labelwidth\leftmarginv\advance\labelwidth-\labelsep
+}%
+\def\@listvi{\leftmargin\leftmarginvi
+  \labelwidth\leftmarginvi\advance\labelwidth-\labelsep
+}%
+\endinput
+%%
+%% End of file `aps12pt4-1.rtx'.


Property changes on: trunk/Master/texmf-dist/tex/latex/revtex/aps12pt4-1.rtx
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Modified: trunk/Master/texmf-dist/tex/latex/revtex/aps12pt4-2.rtx
===================================================================
--- trunk/Master/texmf-dist/tex/latex/revtex/aps12pt4-2.rtx	2019-01-18 22:37:42 UTC (rev 49750)
+++ trunk/Master/texmf-dist/tex/latex/revtex/aps12pt4-2.rtx	2019-01-18 22:40:49 UTC (rev 49751)
@@ -14,7 +14,7 @@
 %% Version (4.2a, unreleased)
 %% Modified by Aptara on behalf of American Physical Society and American Institute of Physics
 %% 
-%% Version (4.2b)
+%% Version (4.2b,4.2c)
 %% Modified by Mark Doyle, American Physical Society (mailto:revtex at aps.org)
 %% 
 %% Copyright (c) 2019 American Physical Society.
@@ -24,7 +24,7 @@
 %% See the REVTeX 4.2 README-REVTEX file for restrictions and more information.
 %% 
 \ProvidesFile{aps12pt4-2}
- [2018/12/26/16:06:17 4.2b (https://journals.aps.org/revtex/ for documentation)]% \fileversion
+ [2019/01/18/14:29:48 4.2c (https://journals.aps.org/revtex/ for documentation)]% \fileversion
 \ifx\undefined\substyle at ext
  \def\@tempa{%
   \endinput

Added: trunk/Master/texmf-dist/tex/latex/revtex/aps4-1.rtx
===================================================================
--- trunk/Master/texmf-dist/tex/latex/revtex/aps4-1.rtx	                        (rev 0)
+++ trunk/Master/texmf-dist/tex/latex/revtex/aps4-1.rtx	2019-01-18 22:40:49 UTC (rev 49751)
@@ -0,0 +1,641 @@
+%%
+%% This is file `aps4-1.rtx',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% revtex4-1.dtx  (with options: `aps')
+%% 
+%% This file is part of the APS files in the REVTeX 4 distribution.
+%% For the version number, search on the string 
+%% Original version by David Carlisle
+%% Modified by Arthur Ogawa (mailto:arthur_ogawa at sbcglobal dot net)
+%% 
+%% Copyright (c) 2009 The American Physical Society.
+%% http://publish.aps.org/revtex4/
+%% mailto:revtex4 at aps.org
+%% 
+%% See the REVTeX 4 README file for restrictions and more information.
+%% 
+\NeedsTeXFormat{LaTeX2e}[1996/12/01]%
+\ProvidesFile{aps4-1}
+ [2010/07/25/20:33:00 4.1r (http://publish.aps.org/revtex4/ for documentation)]% \fileversion
+\ifx\undefined\substyle at ext
+ \def\@tempa{%
+  \endinput
+  \GenericWarning{I must be read in by REVTeX! (Bailing out)}%
+ }%
+ \expandafter\else
+  \def\@tempa{}%
+ \expandafter\fi\@tempa
+ \class at info{RevTeX society APS selected}%
+\DeclareOption{pra}{\change at journal{pra}}%
+\DeclareOption{prb}{\change at journal{prb}}%
+\DeclareOption{prc}{\change at journal{prc}}%
+\DeclareOption{prd}{\change at journal{prd}}%
+\DeclareOption{pre}{\change at journal{pre}}%
+\DeclareOption{prl}{\change at journal{prl}}%
+\DeclareOption{prstab}{\change at journal{prstab}}%
+\DeclareOption{prstper}{\change at journal{prstper}}%
+\DeclareOption{rmp}{\change at journal{rmp}}%
+\def\ao{Appl.\  Opt.}%
+\def\ap{Appl.\  Phys.}%
+\def\apl{Appl.\ Phys.\ Lett.}%
+\def\apj{Astrophys.\ J.}%
+\def\bell{Bell Syst.\ Tech.\ J.}%
+\def\jqe{IEEE J.\ Quantum Electron.}%
+\def\assp{IEEE Trans.\ Acoust.\ Speech Signal Process.}%
+\def\aprop{IEEE Trans.\ Antennas Propag.}%
+\def\mtt{IEEE Trans.\ Microwave Theory Tech.}%
+\def\iovs{Invest.\ Ophthalmol.\ Vis.\ Sci.}%
+\def\jcp{J.\ Chem.\ Phys.}%
+\def\jmo{J.\ Mod.\ Opt.}%
+\def\josa{J.\ Opt.\ Soc.\ Am.}%
+\def\josaa{J.\ Opt.\ Soc.\ Am.\ A}%
+\def\josab{J.\ Opt.\ Soc.\ Am.\ B}%
+\def\jpp{J.\ Phys.\ (Paris)}%
+\def\nat{Nature (London)}%
+\def\oc{Opt.\ Commun.}%
+\def\ol{Opt.\ Lett.}%
+\def\pl{Phys.\ Lett.}%
+\def\pra{Phys.\ Rev.\ A}%
+\def\prb{Phys.\ Rev.\ B}%
+\def\prc{Phys.\ Rev.\ C}%
+\def\prd{Phys.\ Rev.\ D}%
+\def\pre{Phys.\ Rev.\ E}%
+\def\prl{Phys.\ Rev.\ Lett.}%
+\def\rmp{Rev.\ Mod.\ Phys.}%
+\def\pspie{Proc.\ Soc.\ Photo-Opt.\ Instrum.\ Eng.}%
+\def\sjqe{Sov.\ J.\ Quantum Electron.}%
+\def\vr{Vision Res.}%
+\def\@fnsymbol#1{%
+ \ensuremath{%
+  \ifcase#1\or
+   *\or
+   \dagger\or
+   \ddagger\or
+   \mathsection\or
+   \mathparagraph\or
+   **\or
+   \dagger\dagger\or
+   \ddagger\ddagger\else
+   \mathsection\mathsection\or
+   \mathparagraph\mathparagraph\or
+   ***\or
+   \dagger\dagger\dagger\or
+   \ddagger\ddagger\ddagger\else
+   \mathsection\mathsection\mathsection\or
+   \mathparagraph\mathparagraph\mathparagraph\or
+   \@ctrerr
+  \fi
+ }%
+}%
+\appdef\document at inithook{%
+ \@ifxundefined\TextOrMath{%
+  \DeclareRobustCommand\TextOrMath{\@ifmmode{\false at sw}{\true at sw}}%
+ }{}%
+}%
+\let\thefootnote at latex\thefootnote
+\clo at groupedaddress
+\renewenvironment{titlepage}{%
+  \let\wastwocol at sw\twocolumn at sw
+  \onecolumngrid
+  \newpage
+  \thispagestyle{titlepage}%
+  \c at page\z@
+}{%
+  \wastwocol at sw{\twocolumngrid}{\newpage}%
+}%
+\def\frontmatter at abstractheading{%
+ \preprintsty at sw{%
+  \begingroup
+   \centering\large
+   \abstractname
+   \par
+  \endgroup
+ }{}%
+}%
+\def\frontmatter at abstractwidth{400\p@}%
+\def\frontmatter at abstractfont{%
+ \small
+ \parindent1em\relax
+ \adjust at abstractwidth
+}%
+\def\adjust at abstractwidth{%
+ \dimen@\textwidth\advance\dimen at -\frontmatter at abstractwidth
+ \divide\dimen@\tw@
+ \galley at sw{%
+  \advance\rightskip\tw@\dimen@
+ }{%
+  \advance\leftskip\dimen@
+  \advance\rightskip\dimen@
+ }%
+ \@totalleftmargin\leftskip
+}%
+\@booleanfalse\preprintsty at sw
+\@booleantrue\titlepage at sw
+\appdef\setup at hook{%
+  \preprintsty at sw{%
+   \ps at preprint
+   \def\frontmatter at abstractwidth{\textwidth}%
+   \def\frontmatter at affiliationfont{\it}%
+   \let\section\section at preprintsty
+   \let\subsection\subsection at preprintsty
+   \let\subsubsection\subsubsection at preprintsty
+  }{%
+   \ps at article
+  }%
+}%
+\def\frontmatter at authorformat{%
+ \skip@\@flushglue
+ \@flushglue\z@ plus.3\hsize\relax
+ \centering
+ \advance\baselineskip\p@
+ \parskip11.5\p@\relax
+ \@flushglue\skip@
+}%
+\def\frontmatter at above@affilgroup{%
+}%
+\def\frontmatter at above@affiliation at script{%
+ \skip@\@flushglue
+ \@flushglue\z@ plus.3\hsize\relax
+ \centering
+ \@flushglue\skip@
+ \addvspace{3.5\p@}%
+}%
+\def\frontmatter at above@affiliation{%
+ \preprintsty at sw{}{%
+ }%
+}%
+\def\frontmatter at affiliationfont{%
+ \small\it
+}%
+\def\frontmatter at collaboration@above{%
+ \preprintsty at sw{%
+ }{%
+  \parskip1.5\p@\relax
+ }%
+}%
+\def\frontmatter at setup{%
+ \normalfont
+}%
+\def\frontmatter at title@above{\addvspace{6\p@}}%
+\def\frontmatter at title@format{\large\bfseries\centering\parskip\z at skip}%
+\def\frontmatter at title@below{}%
+\def\@author at parskip{3\p@}%
+\def\frontmatter at makefnmark{%
+ \@textsuperscript{%
+  \normalfont\@thefnmark
+ }%
+}%
+\def\frontmatter at authorbelow{%
+ \addvspace{3\p@}%
+}%
+\def\frontmatter at RRAP@format{%
+  \small
+  \centering
+  \everypar{\hbox\bgroup(\@gobble at leavemode@uppercase}%
+  \def\par{\@ifvmode{}{\unskip)\egroup\@@par}}%
+}%
+\def\punct at RRAP{;\egroup\ \hbox\bgroup}%
+\def\@gobble at leavemode@uppercase#1#2{\expandafter\MakeTextUppercase}%
+\def\frontmatter at PACS@format{%
+   \addvspace{11\p@}%
+   \footnotesize
+   \adjust at abstractwidth
+   \parindent\z@
+   \parskip\z at skip
+   \samepage
+}%
+\def\frontmatter at keys@format{%
+   \footnotesize
+   \adjust at abstractwidth
+   \parindent\z@
+   \samepage
+}%
+\def\ps at titlepage{%
+  \def\@oddhead{%
+   \hfill
+   \preprint at sw{%
+    \expandafter\produce at preprints\expandafter{\@preprint}%
+   }{}%
+  }%
+  \let\@evenhead\@oddhead
+  \def\@oddfoot{%
+   \hb at xt@\z@{\byrevtex\hss}%
+   \hfil
+   \preprintsty at sw{\thepage}{}%
+   \quad\checkindate
+   \hfil
+  }%
+  \let\@evenfoot\@oddfoot
+}%
+\def\byrevtex{\byrevtex at sw{Typeset by REV\TeX}{}}%
+\def\produce at preprints#1{%
+ \vtop to \z@{%
+  \def\baselinestretch{1}%
+  \small
+  \let\preprint\preprint at count
+  \count@\z@
+  #1%
+  \@ifnum{\count@>\tw@}{%
+   \hbox{%
+    \let\preprint\preprint at hlist
+    #1%
+    \setbox\z@\lastbox
+   }%
+  }{%
+   \let\preprint\preprint at cr
+   \halign{\hfil##\cr#1\crcr}%
+   \par
+   \vss
+  }%
+ }%
+}%
+\def\preprint at cr#1{#1\cr}%
+\def\preprint at count#1{\advance\count@\@ne}%
+\def\preprint at hlist#1{#1\hbox{, }}%
+\def\@seccntformat#1{\csname the#1\endcsname.\quad}%
+\def\@hang at from#1#2#3{#1#2#3}%
+\def\section{%
+  \@startsection
+    {section}%
+    {1}%
+    {\z@}%
+    {0.8cm \@plus1ex \@minus .2ex}%
+    {0.5cm}%
+    {%
+      \normalfont\small\bfseries
+      \centering
+    }%
+}%
+\def\@hangfrom at section#1#2#3{\@hangfrom{#1#2}\MakeTextUppercase{#3}}%
+\def\@hangfroms at section#1#2{#1\MakeTextUppercase{#2}}%
+\def\subsection{%
+  \@startsection
+    {subsection}%
+    {2}%
+    {\z@}%
+    {.8cm \@plus1ex \@minus .2ex}%
+    {.5cm}%
+    {%
+     \normalfont\small\bfseries
+     \centering
+    }%
+}%
+\def\subsubsection{%
+  \@startsection
+    {subsubsection}%
+    {3}%
+    {\z@}%
+    {.8cm \@plus1ex \@minus .2ex}%
+    {.5cm}%
+    {%
+     \normalfont\small\itshape
+     \centering
+    }%
+}%
+\def\paragraph{%
+  \@startsection
+    {paragraph}%
+    {4}%
+    {\parindent}%
+    {\z@}%
+    {-1em}%
+    {\normalfont\normalsize\itshape}%
+}%
+\def\subparagraph{%
+  \@startsection
+    {subparagraph}%
+    {5}%
+    {\parindent}%
+    {3.25ex \@plus1ex \@minus .2ex}%
+    {-1em}%
+    {\normalfont\normalsize\bfseries}%
+}%
+\def\section at preprintsty{%
+  \@startsection
+    {section}%
+    {1}%
+    {\z@}%
+    {0.8cm \@plus1ex \@minus .2ex}%
+    {0.5cm}%
+    {%
+      \normalfont\small\bfseries
+    }%
+}%
+\def\subsection at preprintsty{%
+  \@startsection
+    {subsection}%
+    {2}%
+    {\z@}%
+    {.8cm \@plus1ex \@minus .2ex}%
+    {.5cm}%
+    {%
+     \normalfont\small\bfseries
+    }%
+}%
+\def\subsubsection at preprintsty{%
+  \@startsection
+    {subsubsection}%
+    {3}%
+    {\z@}%
+    {.8cm \@plus1ex \@minus .2ex}%
+    {.5cm}%
+    {%
+     \normalfont\small\itshape
+    }%
+}%
+\let\frontmatter at footnote@produce\frontmatter at footnote@produce at footnote
+\def\@pnumwidth{1.55em}%
+\def\@tocrmarg {2.55em}%
+\def\@dotsep{2}%
+\def\ltxu at dotsep{4.5pt}%
+\setcounter{tocdepth}{3}%
+\def\tableofcontents{%
+ \addtocontents{toc}{\string\tocdepth at munge}%
+ \print at toc{toc}%
+ \addtocontents{toc}{\string\tocdepth at restore}%
+}%
+\def\tocdepth at munge{%
+  \let\l at section@saved\l at section
+  \let\l at section\@gobble at tw@
+}%
+\def\@gobble at tw@#1#2{}%
+\def\tocdepth at restore{%
+  \let\l at section\l at section@saved
+}%
+\def\l at part#1#2{\addpenalty{\@secpenalty}%
+ \begingroup
+  \set at tocdim@pagenum\@tempboxa{#2}%
+  \parindent \z@
+  \rightskip\tocleft at pagenum plus 1fil\relax
+  \skip@\parfillskip\parfillskip\z@
+  \addvspace{2.25em plus\p@}%
+  \large \bf %
+  \leavevmode\ignorespaces#1\unskip\nobreak\hskip\skip@
+  \hb at xt@\rightskip{\hfil\unhbox\@tempboxa}\hskip-\rightskip\hskip\z at skip
+  \par
+  \nobreak %
+ \endgroup
+}%
+\def\tocleft@{\z@}%
+\def\tocdim at min{5\p@}%
+\def\l at section{%
+ \l@@sections{}{section}% Implicit #3#4
+}%
+\def\l at f@section{%
+ \addpenalty{\@secpenalty}%
+ \addvspace{1.0em plus\p@}%
+ %\bf
+}%
+\def\l at subsection{%
+ \l@@sections{section}{subsection}% Implicit #3#4
+}%
+\def\l at subsubsection{%
+ \l@@sections{subsection}{subsubsection}% Implicit #3#4
+}%
+\def\l at paragraph#1#2{}%
+\def\l at subparagraph#1#2{}%
+\let\toc at pre\toc at pre@auto
+\let\toc at post\toc at post@auto
+\@booleanfalse\raggedcolumn at sw
+\def\tableft at skip@float{\z@ plus\hsize}%
+\def\tabmid at skip@float{\@flushglue}%
+\def\tabright at skip@float{\z@ plus\hsize}%
+\def\array at row@pre at float{\hline\hline\noalign{\vskip\doublerulesep}}%
+\def\array at row@pst at float{\noalign{\vskip\doublerulesep}\hline\hline}%
+\long\def\@makefntext#1{%
+ \def\baselinestretch{1}%
+ \leftskip1em%
+ \parindent1em%
+ \noindent
+ \nobreak\hskip-\leftskip
+ \hb at xt@\leftskip{%
+  \hss\@makefnmark\ %
+ }%
+ #1%
+ \par
+}%
+\long\def\frontmatter at makefntext#1{%
+ \def\baselinestretch{1}%
+ \leftskip1em%
+ \parindent1em%
+ \noindent
+ \nobreak\hskip-\leftskip
+ \Hy at raisedlink{\hyper at anchorstart{frontmatter.\expandafter\the\csname c@\@mpfn\endcsname}\hyper at anchorend}%
+ \hb at xt@\leftskip{%
+  \hss\@makefnmark\ %
+ }%
+ #1%
+ \par
+}%
+\prepdef\appendix{%
+ \par
+ \let\@hangfrom at section\@hangfrom at appendix
+ \let\@sectioncntformat\@appendixcntformat
+}%
+\def\@hangfrom at appendix#1#2#3{%
+ #1%
+ \@if at empty{#2}{%
+  #3%
+ }{%
+  #2\@if at empty{#3}{}{:\ #3}%
+ }%
+}%
+\def\@hangfroms at appendix#1#2{%
+ #1#2%
+}%
+\def\@appendixcntformat#1{\appendixname\ \csname the#1\endcsname}%
+\@booleanfalse\authoryear at sw
+\appdef\setup at hook{%
+ \bibpunct{[}{]}{,}{n}{}{,}%
+}%
+ \def\pre at bibdata{\jobname\bibdata at app}%
+\appdef\setup at hook{%
+ \def\bibsection{%
+  \par
+  \onecolumngrid at push
+  \begingroup
+   \baselineskip26\p@
+   \bib at device{\textwidth}{245.5\p@}%
+  \endgroup
+  \nobreak\@nobreaktrue
+  \addvspace{19\p@}%
+  \par
+  \onecolumngrid at pop
+ }%
+}%
+\def\bib at device#1#2{%
+ \hb at xt@\z@{%
+  \hb at xt@#1{%
+   \hfil
+   \phantomsection
+   \addcontentsline {toc}{section}{\protect\numberline{}\refname}%
+   \hb at xt@#2{%
+    \skip@\z@\@plus-1fil\relax
+                           \leaders\hrule height.25 \p@ depth.25 \p@ \hskip\z@\@plus1fil
+    \hskip\skip@
+    \hskip\z@\@plus0.125fil\leaders\hrule height.375\p@ depth.375\p@ \hskip\z@\@plus0.75fil \hskip\z@\@plus0.125fil
+    \hskip\skip@
+    \hskip\z@\@plus0.25 fil\leaders\hrule height.5  \p@ depth.5  \p@ \hskip\z@\@plus0.5 fil \hskip\z@\@plus0.25 fil
+    \hskip\skip@
+    \hskip\z@\@plus0.375fil\leaders\hrule height.625\p@ depth.625\p@ \hskip\z@\@plus0.25fil \hskip\z@\@plus0.375fil
+ %  \hskip\skip@
+ %  \hfil
+   }%
+   \hfil
+  }%
+  \hss
+ }%
+}%
+\appdef\setup at hook{%
+ \let\bibpreamble\@empty
+ \bibsep\z@\relax
+ \def\newblock{\ }%
+}%
+\appdef\setup at hook{%
+ \def\bibfont{%
+  \small
+  \@clubpenalty\clubpenalty
+ }%
+}%
+\newenvironment{theindex}{%
+ \columnseprule \z@
+ \columnsep 35\p@
+ \c at secnumdepth-\maxdimen
+ \onecolumngrid at push
+ \section{\indexname}%
+ \thispagestyle{plain}%
+ \parindent\z@
+ \parskip\z@ plus.3\p@\relax
+ \let\item\@idxitem
+ \onecolumngrid at pop
+}{%
+}%
+\def\@idxitem{\par\hangindent 40\p@}%
+\def\subitem{\par\hangindent 40\p@ \hspace*{20\p@}}%
+\def\subsubitem{\par\hangindent 40\p@ \hspace*{30\p@}}%
+\def\indexspace{\par \vskip 10\p@ plus5\p@ minus3\p@\relax}%
+\def\@journal at default{pra}%
+\def\@pointsize at default{10}%
+\def\rtx at apspra{%
+ \class at info{APS journal PRA selected}%
+}%
+\def\rtx at apsprb{%
+ \class at info{APS journal PRB selected}%
+ \let\frontmatter at footnote@produce\frontmatter at footnote@produce at endnote
+ \appdef\setup at hook{%
+  \bibpunct{}{}{,}{s}{}{\textsuperscript{,}}%
+  \let\onlinecite\rev at citealpnum
+ }%
+ \def\pre at bibdata{\jobname\bibdata at app}%
+ \let\place at bibnumber\place at bibnumber@sup
+}%
+\def\rtx at apsprc{%
+ \class at info{APS journal PRC selected}%
+}%
+\def\rtx at apsprd{%
+ \class at info{APS journal PRD selected}%
+}%
+\def\rtx at apspre{%
+ \class at info{APS journal PRE selected}%
+}%
+\def\rtx at apsprl{%
+ \class at info{APS journal PRL selected}%
+ \let\frontmatter at footnote@produce\frontmatter at footnote@produce at endnote
+ \@booleanfalse\acknowledgments at sw
+ \appdef\setup at hook{%
+  \def\bibsection{%
+   \par
+   \begingroup
+    \baselineskip26\p@
+    \bib at device{\hsize}{72\p@}%
+   \endgroup
+   \nobreak\@nobreaktrue
+   \addvspace{19\p@}%
+  }%
+ }%
+\appdef\setup at hook{%
+  \lengthcheck at sw{%
+   \RequirePackage{times}%
+  }{}%
+}%
+ \c at secnumdepth=-\maxdimen
+ \appdef\setup at hook{%
+  \@ifnum{\@pointsize=10\relax}{%
+   \lengthcheck at sw{%
+    \def\large{%
+     \@setfontsize\large{12.5}{14\p@}%
+    }%
+    \def\normalsize{%
+     \@setfontsize\normalsize{10.5}\@xiipt
+     \abovedisplayskip 6\p@ \@plus6\p@ \@minus5\p@
+     \belowdisplayskip \abovedisplayskip
+     \abovedisplayshortskip  \abovedisplayskip
+     \belowdisplayshortskip \abovedisplayskip
+     \let\@listi\@listI
+    }%
+    \def\small{%
+     \@setfontsize\small{9.5}\@xipt
+     \abovedisplayskip 5\p@ \@plus5\p@ \@minus4\p@
+     \belowdisplayskip \abovedisplayskip
+     \abovedisplayshortskip  \abovedisplayskip
+     \belowdisplayshortskip \abovedisplayskip
+     \let\@listi\@listI
+    }%
+    \DeclareMathSizes{12.5}{12.5}{9}{6}%
+    \DeclareMathSizes{10.5}{10.5}{7.5}{5}%
+    \DeclareMathSizes{9.5}{9.5}{7.0}{5}%
+   }{%
+    \def\normalsize{%
+     \@setfontsize\normalsize\@xpt\@xiipt
+     \abovedisplayskip 10\p@ \@plus2\p@ \@minus5\p@
+     \belowdisplayskip \abovedisplayskip
+     \abovedisplayshortskip  \abovedisplayskip
+     \belowdisplayshortskip \abovedisplayskip
+     \let\@listi\@listI
+    }%
+   }%
+  }{}%
+ }%
+ \textheight = 694.0\p@
+}%
+\def\rtx at apsprstper{%
+ \class at info{APS journal PRST-PER selected}%
+ \rtx at apsprb
+ \@booleantrue\longbibliography at sw
+}%
+\def\rtx at apsprstab{%
+ \class at info{APS journal PRSTAB selected}%
+}%
+\@booleantrue\footinbib at sw
+\appdef\@bibdataout at rev{\@bibdataout at aps}%
+\def\@bibdataout at aps{%
+ \immediate\write\@bibdataout{%
+  @CONTROL{%
+   apsrev41Control%
+   \longbibliography at sw{%
+    ,author="00",editor="1",pages="1",title="0",year="0"%
+   }{%
+    ,author="08",editor="1",pages="0",title="",year="1"%
+   }%
+  }%
+ }%
+ \if at filesw
+  \immediate\write\@auxout{\string\citation{apsrev41Control}}%
+ \fi
+}%
+\let\place at bibnumber\place at bibnumber@inl
+\def\@bibstyle{apsrev\substyle at post}%
+\appdef\setup at hook{%
+ \@ifx{\place at bibnumber\place at bibnumber@sup}{%
+  \footinbib at sw{}{%
+   \class at warn{Citations are superscript numbers: footnotes must be endnotes; changing to that configuration}%
+   \@booleantrue\footinbib at sw
+  }%
+ }{}%
+}%
+\endinput
+%%
+%% End of file `aps4-1.rtx'.


Property changes on: trunk/Master/texmf-dist/tex/latex/revtex/aps4-1.rtx
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Modified: trunk/Master/texmf-dist/tex/latex/revtex/aps4-2.rtx
===================================================================
--- trunk/Master/texmf-dist/tex/latex/revtex/aps4-2.rtx	2019-01-18 22:37:42 UTC (rev 49750)
+++ trunk/Master/texmf-dist/tex/latex/revtex/aps4-2.rtx	2019-01-18 22:40:49 UTC (rev 49751)
@@ -14,7 +14,7 @@
 %% Version (4.2a, unreleased)
 %% Modified by Aptara on behalf of American Physical Society and American Institute of Physics
 %% 
-%% Version (4.2b)
+%% Version (4.2b,4.2c)
 %% Modified by Mark Doyle, American Physical Society (mailto:revtex at aps.org)
 %% 
 %% Copyright (c) 2019 American Physical Society.
@@ -25,7 +25,7 @@
 %% 
 \NeedsTeXFormat{LaTeX2e}[1996/12/01]%
 \ProvidesFile{aps4-2}
- [2018/12/26/16:06:17 4.2b (https://journals.aps.org/revtex/ for documentation)]% \fileversion
+ [2019/01/18/14:29:48 4.2c (https://journals.aps.org/revtex/ for documentation)]% \fileversion
 \ifx\undefined\substyle at ext
  \def\@tempa{%
   \endinput

Added: trunk/Master/texmf-dist/tex/latex/revtex/apsrmp4-1.rtx
===================================================================
--- trunk/Master/texmf-dist/tex/latex/revtex/apsrmp4-1.rtx	                        (rev 0)
+++ trunk/Master/texmf-dist/tex/latex/revtex/apsrmp4-1.rtx	2019-01-18 22:40:49 UTC (rev 49751)
@@ -0,0 +1,274 @@
+%%
+%% This is file `apsrmp4-1.rtx',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% revtex4-1.dtx  (with options: `rmp')
+%% 
+%% This file is part of the APS files in the REVTeX 4 distribution.
+%% For the version number, search on the string 
+%% Original version by David Carlisle
+%% Modified by Arthur Ogawa (mailto:arthur_ogawa at sbcglobal dot net)
+%% 
+%% Copyright (c) 2009 The American Physical Society.
+%% http://publish.aps.org/revtex4/
+%% mailto:revtex4 at aps.org
+%% 
+%% See the REVTeX 4 README file for restrictions and more information.
+%% 
+\NeedsTeXFormat{LaTeX2e}[1996/12/01]%
+\ProvidesFile{apsrmp4-1}
+ [2010/07/25/20:33:00 4.1r (http://publish.aps.org/revtex4/ for documentation)]% \fileversion
+\ifx\undefined\substyle at ext
+ \def\@tempa{%
+  \endinput
+  \GenericWarning{I must be read in by REVTeX! (Bailing out)}%
+ }%
+ \expandafter\else
+  \def\@tempa{}%
+ \expandafter\fi\@tempa
+\@ifxundefined\@journal{%
+ \class at warn{Please specify the REVTeX options [aps,rmp]!}%
+ \@@end
+}{}%
+ \class at info{APS journal RMP selected}%
+\clo at groupedaddress
+\def\frontmatter at setup{%
+ \normalfont\sffamily\raggedright
+}%
+\def\PACS at warn{RMP documents do not display PACS. Your \string\pacs\space will be ignored}%
+\def\frontmatter at title@above{}%
+\def\frontmatter at title@format{\Large\bfseries\raggedright}% HelveticaNeue-Medium(Italic) 14pt.
+\def\frontmatter at title@below{\addvspace{12\p@}}% 24pt b-b down to first author
+\def\frontmatter at authorformat{%
+ \preprintsty at sw{\vskip0.5pc\relax}{}%
+ \@tempskipa\@flushglue
+ \@flushglue\z@ plus.8\hsize
+ \raggedright\advance\leftskip.5in\relax
+ \@flushglue\@tempskipa
+ \parskip\z at skip
+ \@totalleftmargin\leftskip
+}%
+\def\frontmatter at affiliationfont{% Helvetica 9/10.2
+ \small\slshape\selectfont\baselineskip10.5\p@\relax
+ \@tempskipa\@flushglue
+ \@flushglue\z@ plus.8\hsize
+ \raggedright\advance\leftskip.5in\relax
+ \@flushglue\@tempskipa
+ \@totalleftmargin\leftskip
+ \let\def at after@address\def at after@address at empty
+}%
+\def\frontmatter at above@affilgroup{\addvspace{7.2\p@}}% additional leading above an author
+\def\frontmatter at above@affiliation{\addvspace{5.3\p@}}%
+\def\frontmatter at above@affiliation at script{}%
+\clo at groupedaddress
+\def\frontmatter at RRAP@format{%
+  \addvspace{7.3\p@}%
+  \small
+  \raggedright\advance\leftskip.5in\relax
+ \@totalleftmargin\leftskip
+}%
+\def\produce at RRAP#1{%
+  \@if at empty{#1}{}{%
+   \@ifvmode{\leavevmode}{}%
+   \unskip(\ignorespaces#1\unskip)\quad
+  }%
+}%
+\def\frontmatter at abstractheading{%
+ \preprintsty at sw{%
+  \begingroup
+   \centering\large
+   \abstractname
+   \par
+  \endgroup
+  \vspace{.5pc}%
+ }{}%
+}%
+\def\frontmatter at abstractfont{%
+ \footnotesize
+ \hsize360\p@
+ \leftskip=0.5in
+ \parindent\z@
+ \@totalleftmargin\leftskip
+}%
+\def\frontmatter at preabstractspace{7.7\p@}%
+\def\frontmatter at postabstractspace{24.6\p@}%
+ \appdef\setup at hook{%
+  \preprintsty at sw{}{%
+   \def\normalsize{%
+    \@setsize\normalsize{12pt}\xpt\@xpt
+    \abovedisplayskip 10\p@ plus2\p@ minus5\p@
+    \belowdisplayskip \abovedisplayskip
+    \abovedisplayshortskip  \abovedisplayskip
+    \belowdisplayshortskip \abovedisplayskip
+    \let\@listi\@listI
+   }%
+  }%
+ }%
+ \footnotesep 9.25pt
+ \skip\footins 36pt plus 4pt minus 12pt
+ \def\footnoterule{%
+  \dimen@\skip\footins\divide\dimen@\thr@@
+  \kern-\dimen@\hrule width.5in\kern\dimen@
+ }%
+\def\secnums at rtx{%
+ \@ifxundefined\thepart{%
+  \def\thepart{\Roman{part}}%
+ }{}%
+ \@ifxundefined\thesection{%
+  \def\thesection       {\Roman{section}}%
+  \def\p at section        {}%
+ }{}%
+ \@ifxundefined\thesubsection{%
+  \def\thesubsection    {\Alph{subsection}}%
+  \def\p at subsection     {\thesection.}%
+ }{}%
+ \@ifxundefined\thesubsubsection{%
+  \def\thesubsubsection {\arabic{subsubsection}}%
+  \def\p at subsubsection  {\thesection.\thesubsection.}%
+ }{}%
+ \@ifxundefined\theparagraph{%
+  \def\theparagraph     {\alph{paragraph}}%
+  \def\p at paragraph      {\thesection.\thesubsection.\thesubsubsection.}%
+ }{}%
+ \@ifxundefined\thesubparagraph{%
+  \def\thesubparagraph  {\arabic{subparagraph}}%
+  \def\p at subparagraph   {\thesection.\thesubsection.\thesubsubsection.\theparagraph.}%
+ }{}%
+}%
+\def\@seccntformat#1{\csname the#1\endcsname.\hskip0.5em\relax}%
+ \def\section{%
+  \@startsection{section}{1}{\z@}{0.8cm plus1ex minus.2ex}{0.4cm}%
+  {%
+   \small\sffamily\bfseries\selectfont
+   \raggedright
+   \parindent\z@
+  }%
+ }%
+ \def\@hangfrom at section#1#2#3{\@hangfrom{#1#2}\MakeTextUppercase{#3}}%
+ \def\@hangfroms at section#1#2{#1\MakeTextUppercase{#2}}%
+ \def\subsection{%
+  \@startsection{subsection}{2}{\z@}{0.8cm plus1ex minus.2ex}{0.4cm}%
+  {%
+   \small\sffamily\bfseries
+   \raggedright
+   \parindent\z@
+  }%
+ }%
+ \def\subsubsection{%
+  \@startsection{subsubsection}{3}{\z@}{.8cm plus1ex minus.2ex}{0.4cm}%
+  {%
+   \small\sffamily\selectfont
+   \raggedright
+   \parindent\z@
+  }%
+ }%
+ \def\paragraph{%
+  \@startsection{paragraph}{4}{\z@}{.8cm plus1ex minus.2ex}{-1em}%
+  {%
+   \small\slshape\selectfont
+   \raggedright
+   \parindent\z@
+  }%
+ }%
+ \def\subparagraph{%
+  \@startsection{subparagraph}{4}{\parindent}{3.25ex plus1ex minus.2ex}{-1em}%
+  {\normalsize\bfseries\selectfont}%
+ }%
+ \setcounter{tocdepth}{4}% FIXME: has no effect
+\appdef\appendix{%
+ \let\@hangfrom at section\@hangfrom at appendix
+ \let\@sectioncntformat\@appendixcntformat
+}%
+\def\@hangfrom at appendix#1#2#3{%
+ #1%
+ \@if at empty{#2}{%
+  #3%
+ }{%
+  #2\@if at empty{#3}{}{:\ #3}%
+ }%
+}%
+\def\@hangfroms at appendix#1#2{%
+ #1\appendixname\@if at empty{#2}{}{:\ #2}%
+}%
+\def\@appendixcntformat#1{\appendixname\ \csname the#1\endcsname}%
+\setlength\belowcaptionskip{2\p@}
+\long\def\@makecaption#1#2{%
+  \vskip\abovecaptionskip
+  \vbox{%
+   \flushing
+   \small\rmfamily
+   \noindent
+   #1\@caption at fignum@sep#2\par
+  }%
+  \vskip\belowcaptionskip
+}%
+\def\@caption at fignum@sep{\nobreak\hskip.5em plus.2em\ignorespaces}%
+\def\@bibstyle{apsrmp\substyle at post}%
+\@booleantrue\authoryear at sw
+\def\@bibdataout at aps{%
+ \immediate\write\@bibdataout{%
+  @CONTROL{%
+   apsrmp41Control%
+   \longbibliography at sw{%
+    ,author="03",editor="0",pages="1",title="0",year="0"%
+   }{%
+    ,author="0B",editor="0",pages="0",title="",year="1"%
+   }%
+  }%
+ }%
+ \if at filesw
+  \immediate\write\@auxout{\string\citation{apsrmp41Control}}%
+ \fi
+}%
+\appdef\setup at hook{%
+ \bibpunct{(%)
+ }{%(
+ )}{;}{a}{,}{,}%
+ \def\bibsection{%
+  \expandafter\section\expandafter*\expandafter{\refname}%
+  \@nobreaktrue
+ }%
+ \let\bibpreamble\@empty
+ \def\newblock{\ }%
+ \bibhang10\p@
+ \bibsep\z@
+ \let\cite\citep
+}%
+\@booleanfalse\footinbib at sw
+\appdef\setup at hook{%
+ \footinbib at sw{%
+  \class at warn{%
+   Footnotes in bibliography are incompatible with RMP.^^J%
+   Undoing the footinbib option.
+  }%
+  \@booleanfalse\footinbib at sw
+ }{}%
+ \@ifnum{\NAT at merge>\@ne}{\let\NAT at merge\@ne}{}%
+ \def\NAT at cmprs{\z@}%
+}%
+\def\eprint#1{eprint #1}%
+\def\toc@@font{%
+ \footnotesize\rmfamily
+ \def\\{\space\ignorespaces}%
+}%
+\def\ltxu at dotsep{5.5pt}%
+\def\tocleft@{\z@}%
+\def\tocdim at min{5\p@}%
+\def\l at section{%
+ \l@@sections{}{section}% Implicit #3#4
+}%
+\def\l at subsection{%
+ \l@@sections{section}{subsection}% Implicit #3#4
+}%
+\def\l at subsubsection{%
+ \l@@sections{subsection}{subsubsection}% Implicit #3#4
+}%
+\def\l at paragraph#1#2{}%
+\def\l at subparagraph#1#2{}%
+\let\toc at pre\toc at pre@auto
+\let\toc at post\toc at post@auto
+\endinput
+%%
+%% End of file `apsrmp4-1.rtx'.


Property changes on: trunk/Master/texmf-dist/tex/latex/revtex/apsrmp4-1.rtx
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Modified: trunk/Master/texmf-dist/tex/latex/revtex/apsrmp4-2.rtx
===================================================================
--- trunk/Master/texmf-dist/tex/latex/revtex/apsrmp4-2.rtx	2019-01-18 22:37:42 UTC (rev 49750)
+++ trunk/Master/texmf-dist/tex/latex/revtex/apsrmp4-2.rtx	2019-01-18 22:40:49 UTC (rev 49751)
@@ -14,7 +14,7 @@
 %% Version (4.2a, unreleased)
 %% Modified by Aptara on behalf of American Physical Society and American Institute of Physics
 %% 
-%% Version (4.2b)
+%% Version (4.2b,4.2c)
 %% Modified by Mark Doyle, American Physical Society (mailto:revtex at aps.org)
 %% 
 %% Copyright (c) 2019 American Physical Society.
@@ -25,7 +25,7 @@
 %% 
 \NeedsTeXFormat{LaTeX2e}[1996/12/01]%
 \ProvidesFile{apsrmp4-2}
- [2018/12/26/16:06:17 4.2b (https://journals.aps.org/revtex/ for documentation)]% \fileversion
+ [2019/01/18/14:29:48 4.2c (https://journals.aps.org/revtex/ for documentation)]% \fileversion
 \ifx\undefined\substyle at ext
  \def\@tempa{%
   \endinput

Modified: trunk/Master/texmf-dist/tex/latex/revtex/ltxdocext.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex/revtex/ltxdocext.sty	2019-01-18 22:37:42 UTC (rev 49750)
+++ trunk/Master/texmf-dist/tex/latex/revtex/ltxdocext.sty	2019-01-18 22:40:49 UTC (rev 49751)
@@ -13,7 +13,7 @@
 %% 
 %% License
 %%    You may distribute this file under the conditions of the
-%%    LaTeX Project Public License 1.3 or later
+%%    LaTeX Project Public License 1.3c or later
 %%    (http://www.latex-project.org/lppl.txt).
 %% 
 %%    This file is distributed WITHOUT ANY WARRANTY;

Modified: trunk/Master/texmf-dist/tex/latex/revtex/ltxfront.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex/revtex/ltxfront.sty	2019-01-18 22:37:42 UTC (rev 49750)
+++ trunk/Master/texmf-dist/tex/latex/revtex/ltxfront.sty	2019-01-18 22:40:49 UTC (rev 49751)
@@ -13,7 +13,7 @@
 %% 
 %% License
 %%    You may distribute this file under the conditions of the
-%%    LaTeX Project Public License 1.3 or later
+%%    LaTeX Project Public License 1.3c or later
 %%    (http://www.latex-project.org/lppl.txt).
 %% 
 %%    This file is distributed WITHOUT ANY WARRANTY;
@@ -22,9 +22,9 @@
 %% 
 %%%  @LaTeX-file{
 %%%     filename        = "ltxfront.dtx",
-%%%     version         = "4.1r",
-%%%     date            = "2010/07/25",
-%%%     time            = "20:33:00 UT-8",
+%%%     version         = "4.2c",
+%%%     date            = "2019/01/18",
+%%%     time            = "14:29:48 UT-5",
 %%%     checksum        = "2012",
 %%%     author          = "Arthur Ogawa (mailto:arthur_ogawa at sbcglobal.net),
 %%%                        commissioned by the American Physical Society.
@@ -31,7 +31,7 @@
 %%%                        ",
 %%%     copyright       = "Copyright (C) 1999, 2009 Arthur Ogawa,
 %%%                        distributed under the terms of the
-%%%                        LaTeX Project Public License, see
+%%%                        LaTeX Project Public License 1.3c, see
 %%%                        ftp://ctan.tug.org/macros/latex/base/lppl.txt
 %%%                        ",
 %%%     address         = "Arthur Ogawa,
@@ -50,7 +50,7 @@
 ltxfront%
 .sty%
 }%
- [2018/12/26/17:08:09 4.2a frontmatter package (AO,DPC,MD)]% \fileversion
+ [2019/01/18/14:29:48 4.2c frontmatter package (AO,DPC,MD)]% \fileversion
 \def\package at name{ltxfront}%
 \expandafter\PackageInfo\expandafter{\package at name}{%
  Title page macros for \protect\LaTeXe,

Modified: trunk/Master/texmf-dist/tex/latex/revtex/ltxgrid.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex/revtex/ltxgrid.sty	2019-01-18 22:37:42 UTC (rev 49750)
+++ trunk/Master/texmf-dist/tex/latex/revtex/ltxgrid.sty	2019-01-18 22:40:49 UTC (rev 49751)
@@ -13,7 +13,7 @@
 %% 
 %% License
 %%    You may distribute this file under the conditions of the
-%%    LaTeX Project Public License 1.3 or later
+%%    LaTeX Project Public License 1.3c or later
 %%    (http://www.latex-project.org/lppl.txt).
 %% 
 %%    This file is distributed WITHOUT ANY WARRANTY;
@@ -22,9 +22,9 @@
 %% 
 %%%  @LaTeX-file{
 %%%     filename        = "ltxgrid.dtx",
-%%%     version         = "4.2a",
-%%%     date            = "2018/12/26",
-%%%     time            = "17:28:09 UT-5",
+%%%     version         = "4.2c",
+%%%     date            = "2019/01/18",
+%%%     time            = "14:29:48 UT-5",
 %%%     checksum        = "5462",
 %%%     author          = "Arthur Ogawa (mailto:arthur_ogawa at sbcglobal.net),
 %%%                        commissioned by the American Physical Society.
@@ -31,7 +31,7 @@
 %%%                        ",
 %%%     copyright       = "Copyright (C) 1999, 2009 Arthur Ogawa,
 %%%                        distributed under the terms of the
-%%%                        LaTeX Project Public License, see
+%%%                        LaTeX Project Public License 1.3c, see
 %%%                        ftp://ctan.tug.org/macros/latex/base/lppl.txt
 %%%                        ",
 %%%     address         = "Arthur Ogawa,
@@ -50,7 +50,7 @@
 ltxgrid%
 .sty%
 }%
- [2018/12/26/17:28:09 4.2a page grid package (portions licensed from W. E. Baxter web at superscript.com)]% \fileversion
+ [2019/01/18/14:29:48 4.2c page grid package (portions licensed from W. E. Baxter web at superscript.com)]% \fileversion
 \def\package at name{ltxgrid}%
 \expandafter\PackageInfo\expandafter{\package at name}{%
  Page grid for \protect\LaTeXe,

Modified: trunk/Master/texmf-dist/tex/latex/revtex/ltxutil.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex/revtex/ltxutil.sty	2019-01-18 22:37:42 UTC (rev 49750)
+++ trunk/Master/texmf-dist/tex/latex/revtex/ltxutil.sty	2019-01-18 22:40:49 UTC (rev 49751)
@@ -13,7 +13,7 @@
 %% 
 %% License
 %%    You may distribute this file under the conditions of the
-%%    LaTeX Project Public License 1.3 or later
+%%    LaTeX Project Public License 1.3c or later
 %%    (http://www.latex-project.org/lppl.txt).
 %% 
 %%    This file is distributed WITHOUT ANY WARRANTY;
@@ -22,16 +22,16 @@
 %% 
 %%%  @LaTeX-file{
 %%%     filename        = "ltxutil.dtx",
-%%%     version         = "4.2a",
-%%%     date            = "2018/12/26",
-%%%     time            = "16:53:27 UT-5",
+%%%     version         = "4.2c",
+%%%     date            = "2019/01/18",
+%%%     time            = "14:29:48 UT-5",
 %%%     checksum        = "4291",
 %%%     author          = "Arthur Ogawa (mailto:arthur_ogawa at sbcglobal.net),
-%%%                        commissioned by the American Physical Society. Minor changes by Mark Doyle for version 4.2a.
+%%%                        commissioned by the American Physical Society. Minor changes by Mark Doyle for version 4.2a-c.
 %%%                        ",
 %%%     copyright       = "Copyright (C) 1999, 2009 Arthur Ogawa,
 %%%                        distributed under the terms of the
-%%%                        LaTeX Project Public License, see
+%%%                        LaTeX Project Public License 1.3c, see
 %%%                        ftp://ctan.tug.org/macros/latex/base/lppl.txt
 %%%                        ",
 %%%     address         = "Arthur Ogawa,
@@ -50,7 +50,7 @@
 ltxutil%
 .sty%
 }%
- [2018/12/26/16:53:27 4.2a utilities package (portions licensed from W. E. Baxter web at superscript.com)]% \fileversion
+ [2019/01/18/14:29:48 4.2c utilities package (portions licensed from W. E. Baxter web at superscript.com)]% \fileversion
 \def\package at name{ltxutil}%
 \expandafter\PackageInfo\expandafter{\package at name}{%
  Utility macros for \protect\LaTeXe,

Added: trunk/Master/texmf-dist/tex/latex/revtex/revsymb4-1.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex/revtex/revsymb4-1.sty	                        (rev 0)
+++ trunk/Master/texmf-dist/tex/latex/revtex/revsymb4-1.sty	2019-01-18 22:40:49 UTC (rev 49751)
@@ -0,0 +1,158 @@
+%%
+%% This is file `revsymb4-1.sty',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% revtex4-1.dtx  (with options: `revsymb')
+%% 
+%% This file is part of the APS files in the REVTeX 4 distribution.
+%% For the version number, search on the string 
+%% Original version by David Carlisle
+%% Modified by Arthur Ogawa (mailto:arthur_ogawa at sbcglobal dot net)
+%% 
+%% Copyright (c) 2009 The American Physical Society.
+%% http://publish.aps.org/revtex4/
+%% mailto:revtex4 at aps.org
+%% 
+%% See the REVTeX 4 README file for restrictions and more information.
+%% 
+\NeedsTeXFormat{LaTeX2e}[1996/12/01]%
+\ProvidesPackage{revsymb4-1}
+ [2010/07/25/20:33:00 4.1r (http://publish.aps.org/revtex4/ for documentation)]% \fileversion
+\def\REVSYMB at warn#1{\PackageWarningNoLine{revsymb}{#1}}%
+\DeclareRobustCommand\lambdabar{%
+  \bgroup
+    \def\@tempa{%
+      \hbox{%
+        \raise.73\ht\z@
+        \hb at xt@\z@{%
+          \kern.25\wd\z@
+          \vrule \@width.5\wd\z@\@height.1\p@\@depth.1\p@
+          \hss
+        }%
+        \box\z@
+      }%
+    }%
+    \mathchoice
+      {\setbox\z@\hbox{$\displaystyle     \lambda$}\@tempa}%
+      {\setbox\z@\hbox{$\textstyle        \lambda$}\@tempa}%
+      {\setbox\z@\hbox{$\scriptstyle      \lambda$}\@tempa}%
+      {\setbox\z@\hbox{$\scriptscriptstyle\lambda$}\@tempa}%
+  \egroup
+}%
+\DeclareRobustCommand\openone{\leavevmode\hbox{\small1\normalsize\kern-.33em1}}%
+\DeclareRobustCommand\corresponds{\replace at command\corresponds\triangleq}%
+\DeclareRobustCommand\overcirc{\replace at command\overcirc\mathring}%
+\DeclareRobustCommand\overdots{\replace at command\overdots\dddot}%
+\DeclareRobustCommand\REV at triangleq{%
+ {\lower.2ex\hbox{=}}{\kern-.75em^\triangle}%
+}%
+\DeclareRobustCommand\REV at dddot[1]{%
+ \@ontopof{#1}{\cdots}{1.0}\mathord{\box2}%
+}%
+\DeclareRobustCommand\altsuccsim{\succ\kern-.9em_\sim\kern.3em}%
+\DeclareRobustCommand\altprecsim{\prec\kern-1em_\sim\kern.3em}%
+\let\REV at succsim\altsuccsim
+\let\REV at precsim\altprecsim
+\DeclareRobustCommand\REV at lesssim{\mathrel{\mathpalette\vereq{<}}}%
+\DeclareRobustCommand\REV at gtrsim{\mathrel{\mathpalette\vereq{>}}}%
+\DeclareRobustCommand\alt{\lesssim}
+\DeclareRobustCommand\agt{\gtrsim}
+\def\vereq#1#2{%
+ \lower3\p@\vbox{%
+  \baselineskip1.5\p@
+  \lineskip1.5\p@
+  \ialign{$\m at th#1\hfill##\hfil$\crcr#2\crcr\sim\crcr}%
+ }%
+}%
+\DeclareRobustCommand\tensor[1]{\@ontopof{#1}{\leftrightarrow}{1.15}\mathord{\box2}}
+\DeclareRobustCommand\overstar[1]{\@ontopof{#1}{\ast}{1.15}\mathord{\box2}}
+\DeclareRobustCommand\loarrow[1]{\@ontopof{#1}{\leftarrow}{1.15}\mathord{\box2}}
+\DeclareRobustCommand\roarrow[1]{\@ontopof{#1}{\rightarrow}{1.15}\mathord{\box2}}
+\def\@ontopof#1#2#3{%
+ {%
+  \mathchoice
+    {\@@ontopof{#1}{#2}{#3}\displaystyle     \scriptstyle      }%
+    {\@@ontopof{#1}{#2}{#3}\textstyle        \scriptstyle      }%
+    {\@@ontopof{#1}{#2}{#3}\scriptstyle      \scriptscriptstyle}%
+    {\@@ontopof{#1}{#2}{#3}\scriptscriptstyle\scriptscriptstyle}%
+ }%
+}%
+\def\@@ontopof#1#2#3#4#5{%
+  \setbox\z@\hbox{$#4#1$}%
+  \setbox\f at ur\hbox{$#5#2$}%
+  \setbox\tw@\null\ht\tw@\ht\z@ \dp\tw@\dp\z@
+  \@ifdim{\wd\z@>\wd\f at ur}{%
+    \setbox\f at ur\hb at xt@\wd\z@{\hss\box\f at ur\hss}%
+    \mathord{\rlap{\raise#3\ht\z@\box\f at ur}\box\z@}%
+  }{%
+    \setbox\f at ur\hb at xt@.9\wd\f at ur{\hss\box\f at ur\hss}%
+    \setbox\z@\hb at xt@\wd\f at ur{\hss$#4\relax#1$\hss}%
+    \mathord{\rlap{\copy\z@}\raise#3\ht\z@\box\f at ur}%
+  }%
+}%
+\DeclareRobustCommand\frak{%
+ \REVSYMB at warn{%
+  Command \string\frak\space unsupported:^^J%
+  please use \string\mathfrak\space instead.%
+ }%
+ \global\let\frak\mathfrak
+ \frak
+}%
+\DeclareRobustCommand\REV at mathfrak{%
+ \REVSYMB at warn{%
+  Command \string\mathfrak\space undefined:^^J%
+  please specify the amsfonts or amssymb option!%
+ }%
+ \global\let\mathfrak\@firstofone
+ \mathfrak
+}%
+\DeclareRobustCommand\Bbb{%
+ \REVSYMB at warn{%
+  Command \string\Bbb\space unsupported:^^J%
+  please use \string\mathbb\space instead.%
+ }%
+ \global\let\Bbb\mathbb
+ \Bbb
+}%
+\DeclareRobustCommand\REV at mathfrak{%
+ \REVSYMB at warn{%
+  Command \string\mathbb\space undefined:^^J%
+  please specify the amsfonts or amssymb option!%
+ }%
+ \global\let\mathbb\@firstofone
+ \mathbb
+}%
+\def\Bigglb{\REV at boldopen \Bigg}%
+\def\Biglb {\REV at boldopen \Big }%
+\def\bigglb{\REV at boldopen \bigg}%
+\def\biglb {\REV at boldopen \big }%
+\def\Biggrb{\REV at boldclose\Bigg}%
+\def\Bigrb {\REV at boldclose\Big }%
+\def\biggrb{\REV at boldclose\bigg}%
+\def\bigrb {\REV at boldclose\big }%
+\def\REV at pmb#1{%
+ \hbox{%
+  \setbox\z@=\hbox{#1}%
+  \kern-.02em\copy\z@\kern-\wd\z@
+  \kern .04em\copy\z@\kern-\wd\z@
+  \kern-.02em
+  \raise.04em\copy\z@
+ }%
+}%
+\def\REV at boldopen #1#2{\mathopen {\REV at pmb{$#1#2$}}}%
+\def\REV at boldclose#1#2{\mathclose{\REV at pmb{$#1#2$}}}%
+\def\revsymb at inithook{%
+ \@ifxundefined\dddot{\let\dddot\REV at dddot}{}%
+ \@ifxundefined\triangleq{\let\triangleq\REV at triangleq}{}%
+ \@ifxundefined\succsim{\let\succsim\altsuccsim}{}%
+ \@ifxundefined\precsim{\let\precsim\altprecsim}{}%
+ \@ifxundefined\lesssim{\let\lesssim\REV at lesssim}{}%
+ \@ifxundefined\gtrsim {\let\gtrsim \REV at gtrsim }{}%
+ \@ifxundefined\mathfrak{\let\mathfrak\REV at mathfrak}{}%
+ \@ifxundefined\mathbb{\let\mathbb\REV at mathbb}{}%
+}%
+\endinput
+%%
+%% End of file `revsymb4-1.sty'.


Property changes on: trunk/Master/texmf-dist/tex/latex/revtex/revsymb4-1.sty
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Modified: trunk/Master/texmf-dist/tex/latex/revtex/revsymb4-2.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex/revtex/revsymb4-2.sty	2019-01-18 22:37:42 UTC (rev 49750)
+++ trunk/Master/texmf-dist/tex/latex/revtex/revsymb4-2.sty	2019-01-18 22:40:49 UTC (rev 49751)
@@ -14,7 +14,7 @@
 %% Version (4.2a, unreleased)
 %% Modified by Aptara on behalf of American Physical Society and American Institute of Physics
 %% 
-%% Version (4.2b)
+%% Version (4.2b,4.2c)
 %% Modified by Mark Doyle, American Physical Society (mailto:revtex at aps.org)
 %% 
 %% Copyright (c) 2019 American Physical Society.
@@ -25,7 +25,7 @@
 %% 
 \NeedsTeXFormat{LaTeX2e}[1996/12/01]%
 \ProvidesPackage{revsymb4-2}
- [2018/12/26/16:06:17 4.2b (https://journals.aps.org/revtex/ for documentation)]% \fileversion
+ [2019/01/18/14:29:48 4.2c (https://journals.aps.org/revtex/ for documentation)]% \fileversion
 \def\REVSYMB at warn#1{\PackageWarningNoLine{revsymb}{#1}}%
 \DeclareRobustCommand\lambdabar{%
   \bgroup

Added: trunk/Master/texmf-dist/tex/latex/revtex/revtex4-1.cls
===================================================================
--- trunk/Master/texmf-dist/tex/latex/revtex/revtex4-1.cls	                        (rev 0)
+++ trunk/Master/texmf-dist/tex/latex/revtex/revtex4-1.cls	2019-01-18 22:40:49 UTC (rev 49751)
@@ -0,0 +1,7553 @@
+%%
+%% This is file `revtex4-1.cls',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% revtex4-1.dtx  (with options: `kernel')
+%% ltxutil.dtx  (with options: `kernel')
+%% ltxfront.dtx  (with options: `kernel')
+%% ltxgrid.dtx  (with options: `kernel')
+%% revtex4-1.dtx  (with options: `options')
+%% ltxutil.dtx  (with options: `options')
+%% ltxfront.dtx  (with options: `options')
+%% ltxgrid.dtx  (with options: `options')
+%% revtex4-1.dtx  (with options: `package')
+%% 
+%% This file is part of the APS files in the REVTeX 4 distribution.
+%% For the version number, search on the string 
+%% Original version by David Carlisle
+%% Modified by Arthur Ogawa (mailto:arthur_ogawa at sbcglobal dot net)
+%% 
+%% Copyright (c) 2009 The American Physical Society.
+%% http://publish.aps.org/revtex4/
+%% mailto:revtex4 at aps.org
+%% 
+%% See the REVTeX 4 README file for restrictions and more information.
+%% 
+\NeedsTeXFormat{LaTeX2e}[1996/12/01]%
+\ProvidesClass{revtex4-1}
+ [2010/07/25/20:33:00 4.1r (http://publish.aps.org/revtex4/ for documentation)]% \fileversion
+\let\class at name\@gtempa
+\GenericInfo{}{\space
+ Copyright (c) 2009 The American Physical Society.^^J
+ mailto:revtex at aps.org^^J
+ Licensed under the LPPL:^^Jhttp://www.ctan.org/tex-archive/macros/latex/base/lppl.txt^^J
+ Arthur Ogawa <arthur_ogawa at sbcglobal dot net>^^J
+ Based on work by David Carlisle <david at dcarlisle.demon.co.uk>%
+ \@gobble
+}%
+\if at compatibility
+  \edef\reserved at a{\errhelp{%
+   Change your \string\documentstyle\space statement to
+   \string\documentclass\space and rerun.
+  }}\reserved at a
+  \errmessage{You cannot run \class at name\space in compatability mode}%
+  \expandafter\@@end
+\fi
+\typeout{%
+ltxutil%
+ [2010/07/25/20:33:00 4.1r utilities package (portions licensed from W. E. Baxter web at superscript.com)]% \fileversion
+}%
+\def\class at err#1{\ClassError{\class at name}{#1}\@eha}%
+\def\class at warn#1{\ClassWarningNoLine{\class at name}{#1}}%
+\def\class at info#1{\ClassInfo{\class at name}{#1}}%
+\def\obsolete at command#1{%
+ \class at warn@end{Command \string#1\space is obsolete.^^JPlease remove from your document}%
+ \global\let#1\@empty
+ #1%
+}%
+\def\replace at command#1#2{%
+ \class at warn@end{Command \string#1\space is obsolete;^^JUse \string#2\space instead}%
+ \global\let#1#2%
+ #1%
+}%
+\def\replace at environment#1#2{%
+ \class at warn@end{Environment #1 is obsolete;^^JUse #2 instead}%
+ \glet at environment{#1}{#2}%
+ \@nameuse{#1}%
+}%
+\def\incompatible at package#1{%
+ \@ifpackageloaded{#1}{%
+  \def\@tempa{I cannot continue. You must remove the \string\usepackage\ statement that caused that package to be loaded.}%
+  \ClassError{\class at name}{The #1 package cannot be used with \class at name}%
+  \@tempa\stop
+ }{%
+  \class at info{#1 was not loaded (OK!)}%
+ }%
+}%
+\def\class at warn@end#1{%
+ \gappdef\class at enddocumenthook{\class at warn{#1}}%
+}%
+\ifx\undefined\class at name
+ \def\class at name{ltxutil}%
+ \class at warn{You should define the class name before reading in this package. Using default}%
+\fi
+\def\t@{to}%
+\dimendef\dimen at iii\thr@@
+\def\halignt@{\halign\t@}%
+\chardef\f at ur=4\relax
+\chardef\cat at letter=11\relax
+\chardef\other=12\relax
+\def\let at environment#1#2{%
+ \expandafter\let
+ \csname#1\expandafter\endcsname\csname#2\endcsname
+ \expandafter\let
+ \csname end#1\expandafter\endcsname\csname end#2\endcsname
+}%
+\def\glet at environment#1#2{%
+ \global\expandafter\let
+ \csname#1\expandafter\endcsname\csname#2\endcsname
+ \global\expandafter\let
+ \csname end#1\expandafter\endcsname\csname end#2\endcsname
+}%
+\newcommand\tracingplain{%
+ \tracingonline\z@\tracingcommands\z@\tracingstats\z@
+ \tracingpages\z@\tracingoutput\z@\tracinglostchars\@ne
+ \tracingmacros\z@\tracingparagraphs\z@\tracingrestores\z@
+ \showboxbreadth5\showboxdepth3\relax %\errorstopmode
+ }%
+\newcommand\traceoutput{%
+ \appdef\@resetactivechars{\showoutput}%
+}%
+\newcommand\say[1]{\typeout{<\noexpand#1=\meaning#1>}}%
+\newcommand\saythe[1]{\typeout{<\noexpand#1=\the#1>}}%
+\def\fullinterlineskip{\prevdepth\z@}%
+\countdef\count at i\@ne
+\countdef\count at ii\tw@
+\long\def\prepdef#1#2{%
+ \@ifxundefined#1{\toks@{}}{\toks@\expandafter{#1}}%
+ \toks at ii{#2}%
+ \edef#1{\the\toks at ii\the\toks@}%
+}%
+\long\def\appdef#1#2{%
+ \@ifxundefined#1{\toks@{}}{\toks@\expandafter{#1}}%
+ \toks at ii{#2}%
+ \edef#1{\the\toks@\the\toks at ii}%
+}%
+\long\def\gappdef#1#2{%
+ \@ifxundefined#1{\toks@{}}{\toks@\expandafter{#1}}%
+ \toks at ii{#2}%
+ \global\edef#1{\the\toks@\the\toks at ii}%
+}%
+\long\def\appdef at val#1#2{%
+ \appdef#1{{#2}}%
+}%
+\long\def\appdef at e#1#2{%
+ \expandafter\appdef
+ \expandafter#1%
+ \expandafter{#2}%
+}%
+\long\def\appdef at eval#1#2{%
+ \expandafter\appdef at val
+ \expandafter#1%
+ \expandafter{#2}%
+}%
+\toksdef\toks at ii=\tw@
+\long\def\@ifxundefined#1{\@ifx{\undefined#1}}%
+\long\def\@ifnotrelax#1#2#3{\@ifx{\relax#1}{#3}{#2}}%
+\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}}%
+\def\@boolean#1#2{%
+  \long\def#1{%
+    #2% \if<something>
+      \expandafter\true at sw
+    \else
+      \expandafter\false at sw
+    \fi
+  }%
+}%
+\def\@boole at def#1#{\@boolean{#1}}% Implicit #2
+\def\@booleantrue#1{\let#1\true at sw}%
+\def\@booleanfalse#1{\let#1\false at sw}%
+\@boole at def\@ifx#1{\ifx#1}%
+\@boole at def\@ifx at empty#1{\ifx\@empty#1}%
+\@boole at def\@if at empty#1{\if!#1!}%
+\def\@if at sw#1#2{#1\expandafter\true at sw\else\expandafter\false at sw#2}%
+\@boole at def\@ifdim#1{\ifdim#1}%
+\@boole at def\@ifeof#1{\ifeof#1}%
+\@boole at def\@ifhbox#1{\ifhbox#1}%
+\@boole at def\@ifhmode{\ifhmode}%
+\@boole at def\@ifinner{\ifinner}%
+\@boole at def\@ifmmode{\ifmmode}%
+\@boole at def\@ifnum#1{\ifnum#1}%
+\@boole at def\@ifodd#1{\ifodd#1}%
+\@boole at def\@ifvbox#1{\ifvbox#1}%
+\@boole at def\@ifvmode{\ifvmode}%
+\@boole at def\@ifvoid#1{\ifvoid#1}%
+\long\def\true at sw#1#2{#1}%
+\long\def\false at sw#1#2{#2}%
+\long\def\loopuntil#1{#1{}{\loopuntil{#1}}}%
+\long\def\loopwhile#1{#1{\loopwhile{#1}}{}}%
+\def\@provide#1{%
+ \@ifx{\undefined#1}{\true at sw}{\@ifx{\relax#1}{\true at sw}{\false at sw}}%
+ {\def#1}{\def\j at nk}%
+}%
+\prepdef\document{%
+ \endgroup
+ \document at inithook
+ \true at sw{}%
+}%
+\let\document at inithook\@empty
+\appdef\document at inithook{%
+ \AtBeginDocument{\class at documenthook}%
+}%
+\AtEndDocument{%
+ \class at enddocumenthook
+}%
+\let\class at documenthook\@empty
+\let\class at enddocumenthook\@empty
+\def\enddocument{%
+ \let\AtEndDocument\@firstofone
+ \@enddocumenthook
+ \@checkend{document}%
+ \clear at document
+ \check at aux
+ \deadcycles\z@
+ \@@end
+}%
+\def\check at aux{\do at check@aux}%
+\def\do at check@aux{%
+ \@if at sw\if at filesw\fi{%
+  \immediate\closeout\@mainaux
+  \let\@setckpt\@gobbletwo
+  \let\@newl at bel\@testdef
+  \@tempswafalse
+  \makeatletter
+  \input\jobname.aux\relax
+ }{}%
+ \@dofilelist
+ \@ifdim{\font at submax >\fontsubfuzz\relax}{%
+  \@font at warning{%
+   Size substitutions with differences\MessageBreak
+   up to \font at submax\space have occured.\@gobbletwo
+  }%
+ }{}%
+ \@defaultsubs
+ \@refundefined
+ \@if at sw\if at filesw\fi{%
+  \@ifx{\@multiplelabels\relax}{%
+   \@if at sw\if at tempswa\fi{%
+    \@latex at warning@no at line{%
+     Label(s) may have changed.
+     Rerun to get cross-references right
+    }%
+   }{}%
+  }{%
+    \@multiplelabels
+  }%
+ }{}%
+}%
+\def\clear at document{%
+ \clearpage
+ \do at output@cclv{%
+  \Call at AfterLastShipout
+ }%
+}%
+\appdef\class at documenthook{%
+ \providecommand\Call at AfterLastShipout{}%
+}%
+\def\class at extension#1#2{%
+ \IfFileExists{#1.#2}{%
+  \expandafter\class at extensionfile\csname ver@\@currname.\@currext\endcsname{#1}#2%
+ }{%
+  \csname rtx@#1\endcsname
+ }%
+}%
+\def\class at extensionfile#1#2#3{%
+ \@pass at ptions#3\@unusedoptionlist{#2}%
+ \global\let\@unusedoptionlist\@empty
+ \expandafter\class at ext@hook\csname#2.#3-h@@k\endcsname#1{#2}#3%
+}%
+\def\class at ext@hook#1#2#3#4{%
+ \@pushfilename at ltx
+ \makeatletter
+ \let\CurrentOption\@empty
+ \@reset at ptions
+ \let#1\@empty
+ \xdef\@currname{#3}%
+ \global\let\@currext#4%
+ \global\let\@clsextension\@currext
+ \input{#3.#4}%
+ \@ifl at ter#4{#3}#2{%
+  \class at info{Class extension later than: #2}%
+ }{%
+  \class at info{Class extension earlier: #2}%
+  \@@end
+ }%
+ #1%
+ \let#1\@undefined
+ \expandafter\@p at pfilename@ltx\@currnamestack at ltx\@nil
+ \@reset at ptions
+}%
+\def\@pushfilename at ltx{%
+ \xdef\@currnamestack at ltx{%
+  {\@currname}%
+  {\@currext}%
+  {\@clsextension}%
+  {\the\catcode`\@}%
+  \@currnamestack at ltx
+ }%
+}%
+\def\@p at pfilename@ltx#1#2#3#4#5\@nil{%
+ \gdef\@currname{#1}%
+ \gdef\@currext{#2}%
+ \gdef\@clsextension{#3}%
+ \catcode`\@#4\relax
+ \gdef\@currnamestack at ltx{#5}%
+}%
+\global\let\@currnamestack at ltx\@empty
+\def\flushing{%
+  \let\\\@normalcr
+  \leftskip\z at skip
+  \rightskip\z at skip
+  \@rightskip\z at skip
+  \parfillskip\@flushglue
+}%
+\expandafter\DeclareRobustCommand\expandafter\@centercr\expandafter{\@centercr}%
+\def\eqnarray at LaTeX{%
+   \stepcounter{equation}%
+   \def\@currentlabel{\p at equation\theequation}%
+   \global\@eqnswtrue
+   \m at th
+   \global\@eqcnt\z@
+   \tabskip\@centering
+   \let\\\@eqncr
+   $$\everycr{}\halign to\displaywidth\bgroup
+       \hskip\@centering$\displaystyle\tabskip\z at skip{##}$\@eqnsel
+      &\global\@eqcnt\@ne\hskip \tw@\arraycolsep \hfil${##}$\hfil
+      &\global\@eqcnt\tw@ \hskip \tw@\arraycolsep
+         $\displaystyle{##}$\hfil\tabskip\@centering
+      &\global\@eqcnt\thr@@ \hb at xt@\z@\bgroup\hss##\egroup
+         \tabskip\z at skip
+      \cr
+}
+\long\def\eqnarray at fleqn@fixed{%
+ \stepcounter{equation}\def\@currentlabel{\p at equation\theequation}%
+ \global\@eqnswtrue\m at th\global\@eqcnt\z@
+ \tabskip\ltx at mathindent
+ \let\\=\@eqncr
+ \setlength\abovedisplayskip{\topsep}%
+ \ifvmode\addtolength\abovedisplayskip{\partopsep}\fi
+ \addtolength\abovedisplayskip{\parskip}%
+ \setlength\belowdisplayskip{\abovedisplayskip}%
+ \setlength\belowdisplayshortskip{\abovedisplayskip}%
+ \setlength\abovedisplayshortskip{\abovedisplayskip}%
+ $$%
+ \everycr{}%
+ \halignt@\linewidth\bgroup
+  \hskip\@centering$\displaystyle\tabskip\z at skip{##}$\@eqnsel
+  &\global\@eqcnt\@ne
+   \hskip\tw@\eqncolsep
+   \hfil${{}##{}}$\hfil
+  &\global\@eqcnt\tw@
+   \hskip\tw@\eqncolsep
+   $\displaystyle{##}$\hfil\tabskip\@centering
+  &\global\@eqcnt\thr@@\hb at xt@\z@\bgroup\hss##\egroup
+   \tabskip\z at skip
+  \cr
+}%
+\@ifx{\eqnarray\eqnarray at LaTeX}{%
+ \class at info{Repairing broken LaTeX eqnarray}%
+ \let\eqnarray\eqnarray at fleqn@fixed
+ \newlength\eqncolsep
+ \setlength\eqncolsep\z@
+ \let\eqnarray at LaTeX\relax
+ \let\eqnarray at fleqn@fixed\relax
+}{}%
+\def\ltx at mathindent{\@centering}%
+\def\set at eqnarray@skips{}%
+\def\prep at math{%
+ \@ifvmode{\everypar{{\setbox\z@\lastbox}}}{}%
+}%
+\def\prep at math@patch{%
+ \prepdef\equation{\prep at math}%
+ \prepdef\eqnarray{\prep at math}%
+}%
+\def\footnote{\@ifnextchar[\ltx at xfootnote\ltx at yfootnote}%
+\def\ltx at xfootnote[#1]{%
+ \ltx at def@footproc\ltx at footmark[#1]%
+ \expandafter\ltx at foottext\expandafter{\the\csname c@\@mpfn\endcsname}%
+}%
+\def\ltx at yfootnote{%
+ \ltx at stp@footproc\ltx at footmark
+ \expandafter\ltx at foottext\expandafter{\the\csname c@\@mpfn\endcsname}%
+}%
+\def\footnotemark{\@ifnextchar[\ltx at xfootmark\ltx at yfootmark}%
+\def\ltx at xfootmark{\ltx at def@footproc\ltx at footmark}%
+\def\ltx at yfootmark{\ltx at stp@footproc\ltx at footmark}%
+\def\ltx at footmark#1{%
+ \leavevmode
+ \ifhmode\edef\@x at sf{\the\spacefactor}\nobreak\fi
+ \begingroup
+  \expandafter\ltx at make@current at footnote\expandafter{\@mpfn}{#1}%
+  \expandafter\@argswap at val\expandafter{\Hy at footnote@currentHref}{\hyper at linkstart {link}}%
+   \@makefnmark
+  \hyper at linkend
+ \endgroup
+ \ifhmode\spacefactor\@x at sf\fi
+ \relax
+}%
+\def\footnotetext{\@ifnextchar[\ltx at xfoottext\ltx at yfoottext}%
+\def\ltx at xfoottext{\ltx at def@footproc\ltx at foottext}%
+\def\ltx at yfoottext{\ltx at stp@footproc\ltx at foottext}%
+\long\def\ltx at foottext#1#2{%
+ \begingroup
+  \expandafter\ltx at make@current at footnote\expandafter{\@mpfn}{#1}%
+  \@footnotetext{#2}%
+ \endgroup
+}%
+\def\ltx at def@footproc#1[#2]{%
+ \begingroup
+   \csname c@\@mpfn\endcsname #2\relax
+   \unrestored at protected@xdef\@thefnmark{\thempfn}%
+ \expandafter\endgroup
+ \expandafter#1%
+ \expandafter{\the\csname c@\@mpfn\endcsname}%
+}%
+\def\ltx at stp@footproc#1{%
+ \expandafter\stepcounter\expandafter{\@mpfn}%
+ \protected at xdef\@thefnmark{\thempfn}%
+ \expandafter#1%
+ \expandafter{\the\csname c@\@mpfn\endcsname}%
+}%
+\appdef\class at documenthook{%
+ \let\footnote at latex\footnote
+ \@ifpackageloaded{hyperref}{}{%
+  \let\H@@footnotetext\@footnotetext
+  \def\@footnotetext{\H@@footnotetext}%
+  \let\H@@mpfootnotetext\@mpfootnotetext
+  \def\@mpfootnotetext{\H@@mpfootnotetext}%
+ }%
+}%
+\def\ltx at make@current at footnote#1#2{%
+  \csname c@#1\endcsname#2\relax
+  \protected at edef\Hy at footnote@currentHref{\@currentHref-#1.\csname the#1\endcsname}%
+}%
+\def\thempfootnote at latex{{\itshape \@alph \c at mpfootnote }}%
+\def\ltx at thempfootnote{\@alph\c at mpfootnote}%
+\@ifx{\thempfootnote\thempfootnote at latex}{%
+ \class at info{Repairing hyperref-unfriendly LaTeX definition of \string\mpfootnote}%
+ \let\thempfootnote\ltx at thempfootnote
+}{}%
+\def\@makefnmark{%
+ \hbox{%
+  \@textsuperscript{%
+   \normalfont\itshape\@thefnmark
+  }%
+ }%
+}%
+\long\def\@footnotetext{%
+ \insert\footins\bgroup
+  \make at footnotetext
+}%
+\long\def\@mpfootnotetext{%
+ \minipagefootnote at pick
+  \make at footnotetext
+}%
+\long\def\make at footnotetext#1{%
+  \set at footnotefont
+  \set at footnotewidth
+  \@parboxrestore
+  \protected at edef\@currentlabel{%
+   \csname p@\@mpfn\endcsname\@thefnmark
+  }%
+  \color at begingroup
+   \@makefntext{%
+    \rule\z@\footnotesep\ignorespaces#1%
+    \@finalstrut\strutbox\vadjust{\vskip\z at skip}%
+   }%
+  \color at endgroup
+ \minipagefootnote at drop
+}%
+\def\set at footnotefont{%
+  \reset at font\footnotesize
+  \interlinepenalty\interfootnotelinepenalty
+  \splittopskip\footnotesep
+  \splitmaxdepth\dp\strutbox
+}%
+\def\set at footnotewidth{\set at footnotewidth@one}%
+\def\robustify at contents{%
+ \let \label \@gobble
+ \let \index \@gobble
+ \let \glossary \@gobble
+ \let\footnote \@gobble
+ \def\({\string\(}%
+ \def\){\string\)}%
+ \def\\{\string\\}%
+}%
+\long\def\addtocontents#1#2{%
+ \protected at write\@auxout{\robustify at contents}{\string \@writefile {#1}{#2}}%
+}%
+\def\addcontentsline#1#2#3{%
+ \addtocontents{#1}{%
+  \protect\contentsline{#2}{#3}{\thepage}{}%
+ }%
+}%
+\def\label#1{%
+ \@bsphack
+  \protected at write\@auxout{}{%
+   \string\newlabel{#1}{{\@currentlabel}{\thepage}{}{}{}}%
+  }%
+ \@esphack
+}%
+\def\ltx at contentsline#1{%
+ \expandafter\@ifnotrelax\csname l@#1\endcsname{}{%
+  \expandafter\let\csname l@#1\endcsname\@gobbletwo
+ }%
+ \contentsline at latex{#1}%
+}%
+\appdef\document at inithook{%
+ \let\contentsline at latex\contentsline
+ \let\contentsline\ltx at contentsline
+}%
+\appdef\class at documenthook{%
+ \prepdef\caption{\minipagefootnote at here}%
+}%
+\def\minipagefootnote at init{%
+ \setbox\@mpfootins\box\voidb at x
+}%
+\def\minipagefootnote at pick{%
+ \global\setbox\@mpfootins\vbox\bgroup
+  \unvbox\@mpfootins
+}%
+\def\minipagefootnote at drop{%
+ \egroup
+}%
+\def\minipagefootnote at here{%
+    \par
+    \@ifvoid\@mpfootins{}{%
+      \vskip\skip\@mpfootins
+      \fullinterlineskip
+      \@ifinner{%
+       \vtop{\unvcopy\@mpfootins}%
+       {\setbox\z@\lastbox}%
+      }{}%
+      \unvbox\@mpfootins
+    }%
+}%
+\def\minipagefootnote at foot{%
+ \@ifvoid\@mpfootins{}{%
+  \insert\footins\bgroup\unvbox\@mpfootins\egroup
+ }%
+}%
+\def\endminipage{%
+    \par
+    \unskip
+    \minipagefootnote at here
+    \@minipagefalse   %% added 24 May 89
+  \color at endgroup
+  \egroup
+  \expandafter\@iiiparbox\@mpargs{\unvbox\@tempboxa}%
+}%
+\@booleantrue\floats at sw
+\let\@xfloat at LaTeX\@xfloat
+\def\@xfloat#1[#2]{%
+  \@xfloat at prep
+  \@nameuse{fp at proc@#2}%
+  \floats at sw{\@xfloat at LaTeX{#1}[#2]}{\@xfloat at anchored{#1}[]}%
+}%
+\def\@xfloat at prep{%
+  \ltx at footnote@pop
+  \def\@mpfn{mpfootnote}%
+  \def\thempfn{\thempfootnote}%
+  \c at mpfootnote\z@
+  \let\H@@footnotetext\H@@mpfootnotetext
+}%
+\let\ltx at footnote@pop\@empty
+\def\@xfloat at anchored#1[#2]{%
+ \def\@captype{#1}%
+ \begin at float@pagebreak
+  \let\end at float\end at float@anchored
+  \let\end at dblfloat\end at float@anchored
+        \hsize\columnwidth
+        \@parboxrestore
+        \@floatboxreset
+  \minipagefootnote at init
+}%
+\def\end at float@anchored{%
+  \minipagefootnote at here
+  \par\vskip\z at skip
+ \par
+ \end at float@pagebreak
+}%
+\def\begin at float@pagebreak{\par\addvspace\intextsep}%
+\def\end at float@pagebreak{\par\addvspace\intextsep}%
+\def\@mpmakefntext#1{%
+ \parindent=1em
+ \noindent
+ \hb at xt@1em{\hss\@makefnmark}%
+ #1%
+}%
+\def\do at if@floats#1#2{%
+ \floats at sw{}{%
+  \expandafter\newwrite
+              \csname#1write\endcsname
+  \expandafter\def
+              \csname#1 at stream\endcsname{\jobname#2}%
+  \expandafter\immediate
+  \expandafter\openout
+              \csname#1write\endcsname
+              \csname#1 at stream\endcsname\relax
+  \@ifxundefined\@float at LaTeX{%
+   \let\@float at LaTeX\@float
+   \let\@dblfloat at LaTeX\@dblfloat
+   \let\@float\write at float
+   \let\@dblfloat\write at floats
+  }{}%
+  \let at environment{#1 at float}{#1}%
+  \let at environment{#1 at floats}{#1*}%
+  \@ifxundefined at cs{#1 at write}{}{%
+   \let at environment{#1}{#1 at write}%
+  }%
+ }%
+}%
+\def\triggerpar{\leavevmode\@@par}%
+\def\oneapage{\def\begin at float@pagebreak{\newpage}\def\end at float@pagebreak{\newpage}}%
+\def\print at float#1#2{%
+ \lengthcheck at sw{%
+  \total at float{#1}%
+ }{}%
+ \@ifxundefined at cs{#1write}{}{%
+  \begingroup
+   \@booleanfalse\floats at sw
+   #2%
+   \raggedbottom
+   \def\array at default{v}% floats must
+   \let\@float\@float at LaTeX
+   \let\@dblfloat\@dblfloat at LaTeX
+   \let\trigger at float@par\triggerpar
+   \let at environment{#1}{#1 at float}%
+   \let at environment{#1*}{#1 at floats}%
+   \expandafter\prepdef\csname#1\endcsname{\trigger at float@par}%
+   \expandafter\prepdef\csname#1*\endcsname{\trigger at float@par}%
+   \@namedef{fps@#1}{h!}%
+   \expandafter\immediate
+   \expandafter\closeout
+               \csname#1write\endcsname
+   \everypar{%
+    \global\let\trigger at float@par\relax
+    \global\everypar{}\setbox\z@\lastbox
+    \@ifxundefined at cs{#1sname}{}{%
+     \begin at float@pagebreak
+     \expandafter\section
+     \expandafter*%
+     \expandafter{%
+                  \csname#1sname\endcsname
+                 }%
+    }%
+   }%
+   \input{\csname#1 at stream\endcsname}%
+  \endgroup
+  \global\expandafter\let\csname#1write\endcsname\relax
+ }%
+}%
+\chardef\@xvi=16\relax
+\mathchardef\@twopowerfourteen="4000
+\mathchardef\@twopowertwo="4
+\def\tally at float#1{%
+ \begingroup
+  \@tempcnta\count\@currbox
+  \divide\@tempcnta\@xxxii
+  \multiply\@tempcnta\@xxxii
+  \advance\count\@currbox-\@tempcnta
+  \divide\@tempcnta\@xxxii
+  \@ifnum{\count\@currbox>\@xvi}{%
+   \advance\count\@currbox-\@xvi\@booleantrue\@temp at sw
+  }{%
+   \@booleanfalse\@temp at sw
+  }%
+  \show at box@size at sw{%
+   \class at info{Float #1
+    (\the\@tempcnta)[\@temp at sw{16+}{}\the\count\@currbox]^^J%
+    (\the\ht\@currbox+\the\dp\@currbox)X\the\wd\@currbox
+   }%
+  }{}%
+ \endgroup
+ \expandafter\let
+ \expandafter\@tempa
+             \csname fbox@\csname ftype@#1\endcsname\endcsname
+ \@ifnotrelax\@tempa{%
+  \@ifhbox\@tempa{%
+   \setbox\@tempboxa\vbox{\unvcopy\@currbox\hrule}%
+   \dimen@\ht\@tempboxa
+   \divide\dimen@\@twopowerfourteen
+   \@ifdim{\wd\@tempboxa<\textwidth}{%
+    \advance\dimen@\ht\@tempa
+    \global\ht\@tempa\dimen@
+   }{%
+    \advance\dimen@\dp\@tempa
+    \global\dp\@tempa\dimen@
+   }%
+  }{}%
+ }{}%
+}%
+\def\total at float#1{%
+ \expandafter\let
+ \expandafter\@tempa
+             \csname fbox@\csname ftype@#1\endcsname\endcsname
+ \@ifnotrelax\@tempa{%
+  \@ifhbox\@tempa{%
+   \@tempdima\the\ht\@tempa\divide\@tempdima\@twopowertwo\@tempcnta\@tempdima
+   \@tempdimb\the\dp\@tempa\divide\@tempdimb\@twopowertwo\@tempcntb\@tempdimb
+   \class at info{Total #1: Column(\the\@tempcnta pt), Page(\the\@tempcnta pt)}%
+  }{}%
+ }{}%
+}%
+\def\write at float#1{\write@@float{#1}{#1}}%
+\def\endwrite at float{\@Esphack}%
+\def\write at floats#1{\write@@float{#1*}{#1}}%
+\def\endwrite at floats{\@Esphack}%
+\def\write@@float#1#2{%
+  \ifhmode
+     \@bsphack
+  \fi
+  \chardef\@tempc\csname#2write\endcsname
+  \toks@{\begin{#1}}%
+  \def\@tempb{#1}%
+  \expandafter\let\csname end#1\endcsname\endwrite at float
+  \catcode`\^^M\active
+  \@makeother\{\@makeother\}\@makeother\%
+  \write at floatline
+}%
+\begingroup
+ \catcode`\[\the\catcode`\{\catcode`\]\the\catcode`\}\@makeother\{\@makeother\}%
+ \gdef\float at end@tag#1\end{#2}#3\@nul[%
+  \def\@tempa[#2]%
+  \@ifx[\@tempa\@tempb][\end[#2]][\write at floatline]%
+ ]%
+ \obeylines%
+ \gdef\write at floatline#1^^M[%
+  \begingroup%
+   \newlinechar`\^^M%
+   \toks@\expandafter[\the\toks@#1]\immediate\write\@tempc[\the\toks@]%
+  \endgroup%
+  \toks@[]%
+  \float at end@tag#1\end{}\@nul%
+ ]%
+\endgroup
+\def\@alph#1{\ifcase#1\or a\or b\or c\or d\else\@ialph{#1}\fi}
+\def\@ialph#1{\ifcase#1\or \or \or \or \or e\or f\or g\or h\or i\or j\or
+  k\or l\or m\or n\or o\or p\or q\or r\or s\or t\or u\or v\or w\or x\or
+  y\or z\or aa\or bb\or cc\or dd\or ee\or ff\or gg\or hh\or ii\or jj\or
+  kk\or ll\or mm\or nn\or oo\or pp\or qq\or rr\or ss\or tt\or uu\or
+  vv\or ww\or xx\or yy\or zz\else\@ctrerr\fi}
+\def\@startsection#1#2#3#4#5#6{%
+ \@startsection at hook
+ \if at noskipsec \leavevmode \fi
+ \par
+ \@tempskipa #4\relax
+ \@afterindenttrue
+ \ifdim \@tempskipa <\z@
+  \@tempskipa -\@tempskipa \@afterindentfalse
+ \fi
+ \if at nobreak
+  \everypar{}%
+ \else
+  \addpenalty\@secpenalty\addvspace\@tempskipa
+ \fi
+ \@ifstar
+  {\@dblarg{\@ssect at ltx{#1}{#2}{#3}{#4}{#5}{#6}}}%
+  {\@dblarg{\@sect at ltx {#1}{#2}{#3}{#4}{#5}{#6}}}%
+}%
+\def\@startsection at hook{}%
+\class at info{Repairing broken LateX \string\@sect}%
+\def\@sect at ltx#1#2#3#4#5#6[#7]#8{%
+  \@ifnum{#2>\c at secnumdepth}{%
+    \def\H at svsec{\phantomsection}%
+    \let\@svsec\@empty
+  }{%
+    \H at refstepcounter{#1}%
+    \def\H at svsec{%
+     \phantomsection
+    }%
+    \protected at edef\@svsec{{#1}}%
+    \@ifundefined{@#1cntformat}{%
+     \prepdef\@svsec\@seccntformat
+    }{%
+     \expandafter\prepdef
+     \expandafter\@svsec
+                 \csname @#1cntformat\endcsname
+    }%
+  }%
+  \@tempskipa #5\relax
+  \@ifdim{\@tempskipa>\z@}{%
+    \begingroup
+      \interlinepenalty \@M
+      #6{%
+       \@ifundefined{@hangfrom@#1}{\@hang at from}{\csname @hangfrom@#1\endcsname}%
+       {\hskip#3\relax\H at svsec}{\@svsec}{#8}%
+      }%
+      \@@par
+    \endgroup
+    \@ifundefined{#1mark}{\@gobble}{\csname #1mark\endcsname}{#7}%
+    \addcontentsline{toc}{#1}{%
+      \@ifnum{#2>\c at secnumdepth}{%
+       \protect\numberline{}%
+      }{%
+       \protect\numberline{\csname the#1\endcsname}%
+      }%
+      #8}%
+  }{%
+    \def\@svsechd{%
+      #6{%
+       \@ifundefined{@runin at to@#1}{\@runin at to}{\csname @runin at to@#1\endcsname}%
+       {\hskip#3\relax\H at svsec}{\@svsec}{#8}%
+      }%
+      \@ifundefined{#1mark}{\@gobble}{\csname #1mark\endcsname}{#7}%
+      \addcontentsline{toc}{#1}{%
+        \@ifnum{#2>\c at secnumdepth}{%
+         \protect\numberline{}%
+        }{%
+         \protect\numberline{\csname the#1\endcsname}%
+        }%
+        #8}%
+    }%
+  }%
+  \@xsect{#5}%
+}%
+\def\@hang at from#1#2#3{\@hangfrom{#1#2}#3}%
+\def\@runin at to #1#2#3{#1#2#3}%
+\def\@ssect at ltx#1#2#3#4#5#6[#7]#8{%
+  \def\H at svsec{\phantomsection}%
+  \@tempskipa #5\relax
+  \@ifdim{\@tempskipa>\z@}{%
+    \begingroup
+      \interlinepenalty \@M
+      #6{%
+       \@ifundefined{@hangfroms@#1}{\@hang at froms}{\csname @hangfroms@#1\endcsname}%
+       {\hskip#3\relax\H at svsec}{#8}%
+      }%
+      \@@par
+    \endgroup
+    \@ifundefined{#1smark}{\@gobble}{\csname #1smark\endcsname}{#7}%
+    \addcontentsline{toc}{#1}{\protect\numberline{}#8}%
+  }{%
+    \def\@svsechd{%
+      #6{%
+       \@ifundefined{@runin at tos@#1}{\@runin at tos}{\csname @runin at tos@#1\endcsname}%
+       {\hskip#3\relax\H at svsec}{#8}%
+      }%
+      \@ifundefined{#1smark}{\@gobble}{\csname #1smark\endcsname}{#7}%
+      \addcontentsline{toc}{#1}{\protect\numberline{}#8}%
+    }%
+  }%
+  \@xsect{#5}%
+}%
+\def\@hang at froms#1#2{#1#2}%
+\def\@runin at tos #1#2{#1#2}%
+\def\init at hyperref{%
+ \providecommand\phantomsection{}%
+ \providecommand\hyper at makecurrent[1]{}%
+ \providecommand\Hy at raisedlink[1]{}%
+ \providecommand\hyper at anchorstart[1]{}%
+ \providecommand\hyper at anchorend{}%
+ \providecommand\hyper at linkstart[2]{}%
+ \providecommand\hyper at linkend{}%
+ \providecommand\@currentHref{}%
+}%
+\let\H at refstepcounter\refstepcounter
+\appdef\document at inithook{%
+ \init at hyperref
+}%
+\def\sec at upcase#1{\relax{#1}}%
+\appdef\document at inithook{%
+ \@ifpackageloaded{array}{\switch at array}{\switch at tabular}%
+ \prepdef\endtabular{\endtabular at hook}%
+ \@provide\endtabular at hook{}%
+ \prepdef\endarray{\endarray at hook}%
+ \@provide\endarray at hook{}%
+ \providecommand\array at hook{}%
+ \prepdef\@tabular{\tabular at hook}%
+ \@provide\tabular at hook{}%
+}%
+\def\switch at tabular{%
+ \let\@array at sw\@array at sw@array
+ \@ifx{\@array\@array at LaTeX}{%
+  \@ifx{\multicolumn\multicolumn at LaTeX}{%
+   \@ifx{\@tabular\@tabular at LaTeX}{%
+    \@ifx{\@tabarray\@tabarray at LaTeX}{%
+     \@ifx{\array\array at LaTeX}{%
+      \@ifx{\endarray\endarray at LaTeX}{%
+       \@ifx{\endtabular\endtabular at LaTeX}{%
+        \@ifx{\@mkpream\@mkpream at LaTeX}{%
+         \@ifx{\@addamp\@addamp at LaTeX}{%
+          \@ifx{\@arrayacol\@arrayacol at LaTeX}{%
+           \@ifx{\@tabacol\@tabacol at LaTeX}{%
+            \@ifx{\@arrayclassz\@arrayclassz at LaTeX}{%
+             \@ifx{\@tabclassiv\@tabclassiv at LaTeX}{%
+              \@ifx{\@arrayclassiv\@arrayclassiv at LaTeX}{%
+               \@ifx{\@tabclassz\@tabclassz at LaTeX}{%
+                \@ifx{\@classv\@classv at LaTeX}{%
+                 \@ifx{\hline\hline at LaTeX}{%
+                  \@ifx{\@tabularcr\@tabularcr at LaTeX}{%
+                   \@ifx{\@xtabularcr\@xtabularcr at LaTeX}{%
+                    \@ifx{\@xargarraycr\@xargarraycr at LaTeX}{%
+                     \@ifx{\@yargarraycr\@yargarraycr at LaTeX}{%
+                      \true at sw
+                     }{%
+                      \false at sw
+                     }%
+                    }{%
+                     \false at sw
+                    }%
+                   }{%
+                    \false at sw
+                   }%
+                  }{%
+                   \false at sw
+                  }%
+                 }{%
+                  \false at sw
+                 }%
+                }{%
+                 \false at sw
+                }%
+               }{%
+                \false at sw
+               }%
+              }{%
+               \false at sw
+              }%
+             }{%
+              \false at sw
+             }%
+            }{%
+             \false at sw
+            }%
+           }{%
+            \false at sw
+           }%
+          }{%
+           \false at sw
+          }%
+         }{%
+          \false at sw
+         }%
+        }{%
+         \false at sw
+        }%
+       }{%
+        \false at sw
+       }%
+      }{%
+       \false at sw
+      }%
+     }{%
+      \false at sw
+     }%
+    }{%
+     \false at sw
+    }%
+   }{%
+    \false at sw
+   }%
+  }{%
+   \false at sw
+  }%
+ }{%
+  \false at sw
+ }%
+ {%
+  \class at info{Patching LaTeX tabular.}%
+ }{%
+  \class at info{Unrecognized LaTeX tabular. Please update this document class! (Proceeding with fingers crossed.)}%
+ }%
+ \let\@array\@array at ltx
+ \let\multicolumn\multicolumn at ltx
+ \let\@tabular\@tabular at ltx
+ \let\@tabarray\@tabarray at ltx
+ \let\array\array at ltx
+ \let\endarray\endarray at ltx
+ \let\endtabular\endtabular at ltx
+ \let\@mkpream\@mkpream at ltx
+ \let\@addamp\@addamp at ltx
+ \let\@arrayacol\@arrayacol at ltx
+ \let\@tabacol\@tabacol at ltx
+ \let\@arrayclassz\@arrayclassz at ltx
+ \let\@tabclassiv\@tabclassiv at ltx
+ \let\@arrayclassiv\@arrayclassiv at ltx
+ \let\@tabclassz\@tabclassz at ltx
+ \let\@classv\@classv at ltx
+ \let\hline\hline at ltx
+ \let\@tabularcr\@tabularcr at ltx
+ \let\@xtabularcr\@xtabularcr at ltx
+ \let\@xargarraycr\@xargarraycr at ltx
+ \let\@yargarraycr\@yargarraycr at ltx
+}%
+\def\switch at array{%
+ \@ifpackageloaded{colortbl}{\let\switch at array@info\colortbl at message}{\let\switch at array@info\array at message}%
+ \let\@array at sw\@array at sw@LaTeX
+ \@ifx{\@array\@array at array}{%
+  \@ifx{\@tabular\@tabular at array}{%
+   \@ifx{\@tabarray\@tabarray at array}{%
+    \@ifx{\array\array at array}{%
+     \@ifx{\endarray\endarray at array}{%
+      \@ifx{\endtabular\endtabular at array}{%
+       \@ifx{\@mkpream\@mkpream at array}{%
+        \@ifx{\@classx\@classx at array}{%
+         \@ifx{\insert at column\insert at column@array}{%
+          \@ifx{\@arraycr\@arraycr at array}{%
+           \@ifx{\@xarraycr\@xarraycr at array}{%
+            \@ifx{\@xargarraycr\@xargarraycr at array}{%
+             \@ifx{\@yargarraycr\@yargarraycr at array}{%
+              \true at sw
+             }{%
+              \false at sw
+             }%
+            }{%
+             \false at sw
+            }%
+           }{%
+            \false at sw
+           }%
+          }{%
+           \false at sw
+          }%
+         }{%
+          \false at sw
+         }%
+        }{%
+         \false at sw
+        }%
+       }{%
+        \false at sw
+       }%
+      }{%
+       \false at sw
+      }%
+     }{%
+      \false at sw
+     }%
+    }{%
+     \false at sw
+    }%
+   }{%
+    \false at sw
+   }%
+  }{%
+   \false at sw
+  }%
+ }{%
+  \false at sw
+ }{%
+  \class at info{Patching array package.}%
+ }{%
+  \switch at array@info
+ }%
+ \let\@array    \@array at array@new
+ \let\@@array   \@array % Cosi fan tutti
+ \let\@tabular  \@tabular at array@new
+ \let\@tabarray \@tabarray at array@new
+ \let\array     \array at array@new
+ \let\endarray  \endarray at array@new
+ \let\endtabular\endtabular at array@new
+ \let\@mkpream  \@mkpream at array@new
+ \let\@classx   \@classx at array@new
+ \let\@arrayacol\@arrayacol at ltx
+ \let\@tabacol  \@tabacol at ltx
+ \let\insert at column\insert at column@array at new
+ \expandafter\let\csname endtabular*\endcsname\endtabular % Cosi fan tutti
+ \let\@arraycr  \@arraycr at new
+ \let\@xarraycr \@xarraycr at new
+ \let\@xargarraycr\@xargarraycr at new
+ \let\@yargarraycr\@yargarraycr at new
+}%
+\def\array at message{%
+ \class at info{Unrecognized array package. Please update this document class! (Proceeding with fingers crossed.)}%
+}%
+\def\colortbl at message{%
+ \class at info{colortbl package is loaded. (Proceeding with fingers crossed.)}%
+}%
+\def\@array at sw@LaTeX{\@ifx{\\\@tabularcr}}%
+\def\@array at sw@array{\@ifx{\d at llarbegin\begingroup}}%
+\def\@tabular at LaTeX{%
+ \leavevmode
+ \hbox\bgroup$%
+  \let\@acol\@tabacol
+  \let\@classz\@tabclassz
+  \let\@classiv\@tabclassiv
+  \let\\\@tabularcr
+  \@tabarray
+}%
+\def\@tabular at ltx{%
+  \let\@acoll\@tabacoll
+  \let\@acolr\@tabacolr
+  \let\@acol\@tabacol
+  \let\@classz\@tabclassz
+  \let\@classiv\@tabclassiv
+  \let\\\@tabularcr
+  \@tabarray
+}%
+\def\@tabular at array{%
+ \leavevmode
+ \hbox\bgroup$%
+  \col at sep\tabcolsep
+  \let\d at llarbegin\begingroup
+  \let\d at llarend\endgroup
+  \@tabarray
+}%
+\def\@tabular at array@new{%
+  \let\@acoll\@tabacoll
+  \let\@acolr\@tabacolr
+  \let\@acol\@tabacol
+  \let\d at llarbegin\begingroup
+  \let\d at llarend\endgroup
+  \@tabarray
+}%
+\def\@tabarray at LaTeX{%
+ \m at th\@ifnextchar[\@array{\@array[c]}%
+}%
+\def\@tabarray at ltx{%
+ \m at th\@ifnextchar[\@array{\expandafter\@array\expandafter[\array at default]}%
+}%
+\def\@tabarray at array{%
+ \@ifnextchar[{\@@array}{\@@array[c]}%
+}%
+\def\@tabarray at array@new{%
+ \@ifnextchar[{\@@array}{\expandafter\@@array\expandafter[\array at default]}%
+}%
+\newcount\intertabularlinepenalty
+\intertabularlinepenalty=100
+\newcount\@tbpen
+\appdef\samepage{\intertabularlinepenalty\@M}%
+\def\@tabularcr at LaTeX{{\ifnum 0=`}\fi \@ifstar \@xtabularcr \@xtabularcr}%
+\def\@tabularcr at ltx{{\ifnum 0=`}\fi \@ifstar {\global \@tbpen \@M \@xtabularcr }{\global \@tbpen \intertabularlinepenalty \@xtabularcr }}%
+\def\@xtabularcr at LaTeX{\@ifnextchar [\@argtabularcr {\ifnum 0=`{\fi }\cr }}%
+\def\@xtabularcr at ltx{\@ifnextchar [\@argtabularcr {\ifnum 0=`{\fi }\cr \noalign {\penalty \@tbpen }}}%
+\def\@xargarraycr at LaTeX#1{\@tempdima #1\advance \@tempdima \dp \@arstrutbox \vrule \@height \z@ \@depth \@tempdima \@width \z@ \cr}%
+\def\@xargarraycr at ltx#1{\@tempdima #1\advance \@tempdima \dp \@arstrutbox \vrule \@height \z@ \@depth \@tempdima \@width \z@ \cr \noalign {\penalty \@tbpen }}%
+\def\@yargarraycr at LaTeX#1{\cr \noalign {\vskip #1}}%
+\def\@yargarraycr at ltx#1{\cr \noalign {\penalty \@tbpen \vskip #1}}%
+\def\@arraycr at array{%
+ \relax
+ \iffalse{\fi\ifnum 0=`}\fi
+ \@ifstar \@xarraycr \@xarraycr
+}%
+\def\@arraycr at new{%
+ \relax
+ \iffalse{\fi\ifnum 0=`}\fi
+ \@ifstar {\global \@tbpen \@M \@xarraycr }{\global \@tbpen \intertabularlinepenalty \@xarraycr }%
+}%
+\def\@xarraycr at array{%
+ \@ifnextchar [%]
+ \@argarraycr {\ifnum 0=`{}\fi\cr}%
+}%
+\def\@xarraycr at new{%
+ \@ifnextchar [%]
+ \@argarraycr {\ifnum 0=`{}\fi\cr \noalign {\penalty \@tbpen }}%
+}%
+\def\@xargarraycr at array#1{%
+ \unskip
+ \@tempdima #1\advance\@tempdima \dp\@arstrutbox
+ \vrule \@depth\@tempdima \@width\z@
+ \cr
+}%
+\def\@xargarraycr at new#1{%
+ \unskip
+ \@tempdima #1\advance\@tempdima \dp\@arstrutbox
+ \vrule \@depth\@tempdima \@width\z@
+ \cr
+ \noalign {\penalty \@tbpen }%
+}%
+\def\@yargarraycr at array#1{%
+ \cr
+ \noalign{\vskip #1}%
+}%
+\def\@yargarraycr at new#1{%
+ \cr
+ \noalign{\penalty \@tbpen \vskip #1}%
+}%
+\def\array at LaTeX{%
+ \let\@acol\@arrayacol
+ \let\@classz\@arrayclassz
+ \let\@classiv\@arrayclassiv
+ \let\\\@arraycr
+ \let\@halignto\@empty
+ \@tabarray
+}%
+\def\array at ltx{%
+ \@ifmmode{}{\@badmath$}%
+ \let\@acoll\@arrayacol
+ \let\@acolr\@arrayacol
+ \let\@acol\@arrayacol
+ \let\@classz\@arrayclassz
+ \let\@classiv\@arrayclassiv
+ \let\\\@arraycr
+ \let\@halignto\@empty
+ \@tabarray
+}%
+\def\array at array{%
+ \col at sep\arraycolsep
+ \def\d at llarbegin{$}\let\d at llarend\d at llarbegin\gdef\@halignto{}%
+ \@tabarray
+}
+\def\array at array@new{%
+ \@ifmmode{}{\@badmath$}%
+ \let\@acoll\@arrayacol
+ \let\@acolr\@arrayacol
+ \let\@acol\@arrayacol
+ \def\d at llarbegin{$}%
+ \let\d at llarend\d at llarbegin
+ \gdef\@halignto{}%
+ \@tabarray
+}%
+\def\@array at LaTeX[#1]#2{%
+  \if #1t\vtop \else \if#1b\vbox \else \vcenter \fi\fi
+  \bgroup
+  \setbox\@arstrutbox\hbox{%
+    \vrule \@height\arraystretch\ht\strutbox
+           \@depth\arraystretch \dp\strutbox
+           \@width\z@}%
+  \@mkpream{#2}%
+  \edef\@preamble{%
+    \ialign \noexpand\@halignto
+      \bgroup \@arstrut \@preamble \tabskip\z at skip \cr}%
+  \let\@startpbox\@@startpbox \let\@endpbox\@@endpbox
+  \let\tabularnewline\\%
+    \let\par\@empty
+    \let\@sharp##%
+    \set at typeset@protect
+    \lineskip\z at skip\baselineskip\z at skip
+    \ifhmode \@preamerr\z@ \@@par\fi
+    \@preamble
+}%
+\def\@array at ltx[#1]#2{%
+ \@nameuse{@array at align@#1}%
+  \set at arstrutbox
+  \@mkpream{#2}%
+  \prepdef\@preamble{%
+    \tabskip\tabmid at skip
+    \@arstrut
+  }%
+  \appdef\@preamble{%
+    \tabskip\tabright at skip
+    \cr
+    \array at row@pre
+  }%
+  \let\tabularnewline\\%
+  \let\par\@empty
+  \let\@sharp##%
+  \set at typeset@protect
+  \lineskip\z at skip\baselineskip\z at skip
+  \tabskip\tableft at skip\relax
+  \ifhmode \@preamerr\z@ \@@par\fi
+  \everycr{}%
+  \expandafter\halign\expandafter\@halignto\expandafter\bgroup\@preamble
+}%
+\def\set at arstrutbox{%
+  \setbox\@arstrutbox\hbox{%
+    \vrule \@height\arraystretch\ht\strutbox
+           \@depth\arraystretch \dp\strutbox
+           \@width\z@
+  }%
+}%
+\def\@array at array[#1]#2{%
+  \@tempdima \ht \strutbox
+  \advance \@tempdima by\extrarowheight
+  \setbox \@arstrutbox \hbox{\vrule
+             \@height \arraystretch \@tempdima
+             \@depth \arraystretch \dp \strutbox
+             \@width \z@}%
+  \begingroup
+  \@mkpream{#2}%
+  \xdef\@preamble{\noexpand \ialign \@halignto
+                  \bgroup \@arstrut \@preamble
+                          \tabskip \z@ \cr}%
+  \endgroup
+  \@arrayleft
+  \if #1t\vtop \else \if#1b\vbox \else \vcenter \fi \fi
+  \bgroup
+  \let \@sharp ##\let \protect \relax
+  \lineskip \z@
+  \baselineskip \z@
+  \m at th
+  \let\\\@arraycr \let\tabularnewline\\\let\par\@empty \@preamble
+}%
+\def\@array at array@new[#1]#2{%
+  \@tempdima\ht\strutbox
+  \advance\@tempdima by\extrarowheight
+  \setbox\@arstrutbox\hbox{%
+   \vrule \@height\arraystretch\@tempdima
+          \@depth \arraystretch\dp\strutbox
+          \@width \z@
+  }%
+  \begingroup
+   \@mkpream{#2}%
+   \xdef\@preamble{\@preamble}%
+  \endgroup
+  \prepdef\@preamble{%
+   \tabskip\tabmid at skip
+    \@arstrut
+  }%
+  \appdef\@preamble{%
+   \tabskip\tabright at skip
+   \cr
+   \array at row@pre
+  }%
+  \@arrayleft
+  \@nameuse{@array at align@#1}%
+  \m at th
+  \let\\\@arraycr
+  \let\tabularnewline\\%
+  \let\par\@empty
+  \let\@sharp##%
+  \set at typeset@protect
+  \lineskip\z@\baselineskip\z@
+  \tabskip\tableft at skip
+  \everycr{}%
+  \expandafter\halign\expandafter\@halignto\expandafter\bgroup\@preamble
+}%
+\def\endarray at LaTeX{%
+ \crcr\egroup\egroup
+}%
+\def\endarray at ltx{%
+ \crcr\array at row@pst\egroup\egroup
+}%
+\def\endarray at array{%
+ \crcr \egroup \egroup \@arrayright \gdef\@preamble{}%
+}%
+\def\endarray at array@new{%
+ \crcr\array at row@pst\egroup\egroup % Same as \endarray at ltx
+ \@arrayright
+ \global\let\@preamble\@empty
+}%
+\def\endtabular at LaTeX{%
+ \crcr\egroup\egroup $\egroup
+}%
+\def\endtabular at ltx{%
+ \endarray
+}%
+\def\endtabular at array{%
+ \endarray $\egroup
+}%
+\def\endtabular at array@new{%
+ \endarray
+}%
+\@namedef{endtabular*}{\endtabular}%
+\long\def\multicolumn at LaTeX#1#2#3{%
+ \multispan{#1}\begingroup
+  \@mkpream{#2}%
+  \def\@sharp{#3}\set at typeset@protect
+  \let\@startpbox\@@startpbox\let\@endpbox\@@endpbox
+  \@arstrut \@preamble\hbox{}\endgroup\ignorespaces
+}%
+\long\def\multicolumn at ltx#1#2#3{%
+ \multispan{#1}%
+ \begingroup
+  \@mkpream{#2}%
+  \def\@sharp{#3}%
+  \set at typeset@protect
+ %\let\@startpbox\@@startpbox\let\@endpbox\@@endpbox
+  \@arstrut
+  \@preamble
+  \hbox{}%
+ \endgroup
+ \ignorespaces
+}%
+\def\@array at align@t{\leavevmode\vtop\bgroup}%
+\def\@array at align@b{\leavevmode\vbox\bgroup}%
+\def\@array at align@c{\leavevmode\@ifmmode{\vcenter\bgroup}{$\vcenter\bgroup\aftergroup$\aftergroup\relax}}%
+\def\@array at align@v{%
+ \@ifmmode{%
+  \@badmath
+  \vcenter\bgroup
+ }{%
+  \@ifinner{%
+   $\vcenter\bgroup\aftergroup$
+  }{%
+   \@@par\bgroup
+  }%
+ }%
+}%
+\def\array at default{c}%
+\def\array at row@rst{%
+ \let\@array at align@v\@array at align@c
+}%
+\def\array at row@pre{}%
+\def\array at row@pst{}%
+\newcommand\toprule{\tab at rule{\column at font}{\column at fil}{\frstrut}}%
+\newcommand\colrule{\unskip\lrstrut\\\tab at rule{\body at font}{}{\frstrut}}%
+\newcommand\botrule{\unskip\lrstrut\\\noalign{\hline at rule}{}}%
+\def\hline at LaTeX{%
+ \noalign{\ifnum0=`}\fi\hrule \@height \arrayrulewidth \futurelet
+   \reserved at a\@xhline
+}%
+\def\hline at ltx{%
+ \noalign{%
+  \ifnum0=`}\fi
+  \hline at rule
+  \futurelet\reserved at a\@xhline
+ % \noalign ended in \@xhline
+}%
+\def\@xhline at unneeded{%
+ \say\reserved at a
+ \ifx\reserved at a\hline
+  \vskip\doublerulesep
+  \vskip-\arrayrulewidth
+ \fi
+ \ifnum0=`{\fi}%
+}%
+\def\tab at rule#1#2#3{%
+ \crcr
+ \noalign{%
+  \hline at rule
+  \gdef\@arstrut at hook{%
+   \global\let\@arstrut at hook\@empty
+   #3%
+  }%
+  \gdef\cell at font{#1}%
+  \gdef\cell at fil{#2}%
+ }%
+}%
+\def\column at font{}%
+\def\column at fil{}%
+\def\body at font{}%
+\def\cell at font{}%
+\def\frstrut{}%
+\def\lrstrut{}%
+\def\@arstrut at hline{%
+ \relax
+ \@ifmmode{\copy}{\unhcopy}\@arstrutbox at hline
+ \@arstrut at hook
+}%
+\let\@arstrut at org\@arstrut
+\def\@arstrut at hook{%
+ \global\let\@arstrut\@arstrut at org
+}%
+\newbox\@arstrutbox at hline
+\appdef\set at arstrutbox{%
+  \setbox\@arstrutbox at hline\hbox{%
+    \setbox\z@\hbox{$0^{0}_{}$}%
+    \dimen@\ht\z@\advance\dimen@\@arstrut at hline@clnc
+    \@ifdim{\dimen@<\arraystretch\ht\strutbox}{\dimen@=\arraystretch\ht\strutbox}{}%
+    \vrule \@height\dimen@
+           \@depth\arraystretch \dp\strutbox
+           \@width\z@
+  }%
+}%
+\def\hline at rule{%
+ \hrule \@height \arrayrulewidth
+ \global\let\@arstrut\@arstrut at hline
+}%
+\def\@arstrut at hline@clnc{2\p@}% % Klootch: magic number
+\def\tableft at skip{\z at skip}%
+\def\tabmid at skip{\z at skip}%\@flushglue
+\def\tabright at skip{\z at skip}%
+\def\tableftsep{\tabcolsep}%
+\def\tabmidsep{\tabcolsep}%
+\def\tabrightsep{\tabcolsep}%
+\def\cell at fil{}%
+\def\pbox at hook{}%
+\appdef\@arstrut{\@arstrut at hook}%
+\let\@arstrut at hook\@empty
+\def\@addtopreamble{\appdef\@preamble}%
+\def\@mkpream at LaTeX#1{%
+  \@firstamptrue\@lastchclass6
+  \let\@preamble\@empty
+  \let\protect\@unexpandable at protect
+  \let\@sharp\relax
+  \let\@startpbox\relax\let\@endpbox\relax
+  \@expast{#1}%
+  \expandafter\@tfor \expandafter
+    \@nextchar \expandafter:\expandafter=\reserved at a\do
+       {\@testpach\@nextchar
+    \ifcase \@chclass \@classz \or \@classi \or \@classii \or \@classiii
+      \or \@classiv \or\@classv \fi\@lastchclass\@chclass}%
+  \ifcase \@lastchclass \@acol
+      \or \or \@preamerr \@ne\or \@preamerr \tw@\or \or \@acol \fi
+}%
+\def\@mkpream at ltx#1{%
+ \@firstamptrue
+ \@lastchclass6
+ \let\@preamble\@empty
+ \let\protect\@unexpandable at protect
+ \let\@sharp\relax
+ \@expast{#1}%
+ \expandafter\@tfor\expandafter\@nextchar\expandafter:\expandafter=\reserved at a
+ \do{%
+  \expandafter\@testpach\expandafter{\@nextchar}%
+  \ifcase\@chclass
+   \@classz
+  \or
+   \@classi
+  \or
+   \@classii
+  \or
+   \@classiii
+  \or
+   \@classiv
+  \or
+   \@classv
+  \fi
+  \@lastchclass\@chclass
+ }%
+ \ifcase\@lastchclass
+  \@acolr % right-hand column
+ \or
+ \or
+  \@preamerr\@ne
+ \or
+  \@preamerr\tw@
+ \or
+ \or
+  \@acolr % right-hand column
+ \fi
+}%
+\def\insert at column@array{%
+   \the at toks \the \@tempcnta
+   \ignorespaces \@sharp \unskip
+   \the at toks \the \count@ \relax
+}%
+\def\insert at column@array at new{%
+ \the at toks\the\@tempcnta
+ \array at row@rst\cell at font
+ \ignorespaces\@sharp\unskip
+ \the at toks\the\count@
+ \relax
+}%
+\def\@mkpream at relax{%
+ \let\tableftsep   \relax
+ \let\tabmidsep    \relax
+ \let\tabrightsep  \relax
+ \let\array at row@rst\relax
+ \let\cell at font    \relax
+ \let\@startpbox   \relax
+}%
+\def\@mkpream at array#1{%
+   \gdef\@preamble{}\@lastchclass 4 \@firstamptrue
+   \let\@sharp\relax \let\@startpbox\relax \let\@endpbox\relax
+   \@temptokena{#1}\@tempswatrue
+   \@whilesw\if at tempswa\fi{\@tempswafalse\the\NC at list}%
+   \count@\m at ne
+   \let\the at toks\relax
+   \prepnext at tok
+   \expandafter \@tfor \expandafter \@nextchar
+    \expandafter :\expandafter =\the\@temptokena \do
+   {\@testpach
+   \ifcase \@chclass \@classz \or \@classi \or \@classii
+     \or \save at decl \or \or \@classv \or \@classvi
+     \or \@classvii \or \@classviii
+     \or \@classx
+     \or \@classx \fi
+   \@lastchclass\@chclass}%
+   \ifcase\@lastchclass
+   \@acol \or
+   \or
+   \@acol \or
+   \@preamerr \thr@@ \or
+   \@preamerr \tw@ \@addtopreamble\@sharp \or
+   \or
+   \else  \@preamerr \@ne \fi
+   \def\the at toks{\the\toks}%
+}%
+\def\@mkpream at array@new#1{%
+ \gdef\@preamble{}%
+ \@lastchclass\f at ur
+ \@firstamptrue
+ \let\@sharp\relax
+ \@mkpream at relax
+ \@temptokena{#1}\@tempswatrue
+ \@whilesw\if at tempswa\fi{\@tempswafalse\the\NC at list}%
+ \count@\m at ne
+ \let\the at toks\relax
+ \prepnext at tok
+ \expandafter\@tfor\expandafter\@nextchar\expandafter:\expandafter=\the\@temptokena
+ \do{%
+  \@testpach
+  \ifcase\@chclass
+   \@classz
+  \or
+   \@classi
+  \or
+   \@classii
+  \or
+   \save at decl
+  \or
+  \or
+   \@classv
+  \or
+   \@classvi
+  \or
+   \@classvii
+  \or
+   \@classviii
+  \or
+   \@classx
+  \or
+   \@classx
+  \fi
+  \@lastchclass\@chclass
+ }%
+ \ifcase\@lastchclass
+  \@acolr % right-hand column
+ \or
+ \or
+  \@acolr % right-hand column
+ \or
+  \@preamerr\thr@@
+ \or
+  \@preamerr\tw@\@addtopreamble\@sharp
+ \or
+ \or
+ \else
+  \@preamerr\@ne
+ \fi
+ \def\the at toks{\the\toks}%
+}%
+\appdef\@mkpream at relax{%
+ \let\CT at setup       \relax
+ \let\CT at color       \relax
+ \let\CT at do@color    \relax
+ \let\color          \relax
+ \let\CT at column@color\relax
+ \let\CT at row@color   \relax
+ \let\CT at cell@color  \relax
+}%
+\def\@addamp at LaTeX{%
+  \if at firstamp\@firstampfalse\else\edef\@preamble{\@preamble &}\fi
+}%
+\def\@addamp at ltx{%
+ \if at firstamp\@firstampfalse\else\@addtopreamble{&}\fi
+}%
+\def\@arrayacol at LaTeX{%
+ \edef\@preamble{\@preamble \hskip \arraycolsep}%
+}%
+\def\@arrayacol at ltx{%
+ \@addtopreamble{\hskip\arraycolsep}%
+}%
+\def\@tabacoll{%
+ \@addtopreamble{\hskip\tableftsep\relax}%
+}%
+\def\@tabacol at LaTeX{%
+ \edef\@preamble{\@preamble \hskip \tabcolsep}%
+}%
+\def\@tabacol at ltx{%
+ \@addtopreamble{\hskip\tabmidsep\relax}%
+}%
+\def\@tabacolr{%
+ \@addtopreamble{\hskip\tabrightsep\relax}%
+}%
+\def\@arrayclassz at LaTeX{%
+ \ifcase \@lastchclass \@acolampacol \or \@ampacol \or
+   \or \or \@addamp \or
+   \@acolampacol \or \@firstampfalse \@acol \fi
+ \edef\@preamble{\@preamble
+  \ifcase \@chnum
+     \hfil$\relax\@sharp$\hfil \or $\relax\@sharp$\hfil
+    \or \hfil$\relax\@sharp$\fi}%
+}%
+\def\@arrayclassz at ltx{%
+ \ifcase\@lastchclass
+  \@acolampacol
+ \or
+  \@ampacol
+ \or
+ \or
+ \or
+  \@addamp
+ \or
+  \@acolampacol
+ \or
+  \@firstampfalse\@acoll
+ \fi
+ \ifcase\@chnum
+  \@addtopreamble{%
+   \hfil\array at row@rst$\relax\@sharp$\hfil
+  }%
+ \or
+  \@addtopreamble{%
+   \array at row@rst$\relax\@sharp$\hfil
+  }%
+ \or
+  \@addtopreamble{%
+   \hfil\array at row@rst$\relax\@sharp$%
+  }%
+ \fi
+}%
+\def\@tabclassz at LaTeX{%
+  \ifcase\@lastchclass
+    \@acolampacol
+  \or
+    \@ampacol
+  \or
+  \or
+  \or
+    \@addamp
+  \or
+    \@acolampacol
+  \or
+    \@firstampfalse\@acol
+  \fi
+  \edef\@preamble{%
+    \@preamble{%
+      \ifcase\@chnum
+        \hfil\ignorespaces\@sharp\unskip\hfil
+      \or
+        \hskip1sp\ignorespaces\@sharp\unskip\hfil
+      \or
+        \hfil\hskip1sp\ignorespaces\@sharp\unskip
+      \fi}}%
+}%
+\def\@tabclassz at ltx{%
+ \ifcase\@lastchclass
+  \@acolampacol
+ \or
+  \@ampacol
+ \or
+ \or
+ \or
+  \@addamp
+ \or
+  \@acolampacol
+ \or
+  \@firstampfalse\@acoll
+ \fi
+ \ifcase\@chnum
+  \@addtopreamble{%
+   {\hfil\array at row@rst\cell at font\ignorespaces\@sharp\unskip\hfil}%
+  }%
+ \or
+  \@addtopreamble{%
+   {\cell at fil\hskip1sp\array at row@rst\cell at font\ignorespaces\@sharp\unskip\hfil}%
+  }%
+ \or
+  \@addtopreamble{%
+   {\hfil\hskip1sp\array at row@rst\cell at font\ignorespaces\@sharp\unskip\cell at fil}%
+  }%
+ \fi
+}%
+\def\@tabclassiv at LaTeX{%
+ \@addtopreamble\@nextchar
+}%
+\def\@tabclassiv at ltx{%
+ \expandafter\@addtopreamble\expandafter{\@nextchar}%
+}%
+\def\@arrayclassiv at LaTeX{%
+ \@addtopreamble{$\@nextchar$}%
+}%
+\def\@arrayclassiv at ltx{%
+ \expandafter\@addtopreamble\expandafter{\expandafter$\@nextchar$}%
+}%
+\def\@classv at LaTeX{%
+ \@addtopreamble{\@startpbox{\@nextchar}\ignorespaces
+ \@sharp\@endpbox}%
+}%
+\def\@classv at ltx{%
+ \expandafter\@addtopreamble
+ \expandafter{%
+ \expandafter \@startpbox
+ \expandafter {\@nextchar}%
+ \pbox at hook\array at row@rst\cell at font\ignorespaces\@sharp\@endpbox
+ }%
+}%
+\def\@classx at array{%
+  \ifcase \@lastchclass
+  \@acolampacol \or
+  \@addamp \@acol \or
+  \@acolampacol \or
+  \or
+  \@acol \@firstampfalse \or
+  \@addamp
+  \fi
+}%
+\def\@classx at array@new{%
+ \ifcase \@lastchclass
+  \@acolampacol
+ \or
+  \@addamp \@acol
+ \or
+  \@acolampacol
+ \or
+ \or
+  \@firstampfalse\@acoll
+ \or
+  \@addamp
+ \fi
+}%
+\def\@xbitor at LaTeX #1{\@tempcntb \count#1
+   \ifnum \@tempcnta =\z@
+   \else
+     \divide\@tempcntb\@tempcnta
+     \ifodd\@tempcntb \@testtrue\fi
+   \fi}%
+\def\@xbitor at ltx#1{%
+ \@tempcntb\count#1\relax
+ \@ifnum{\@tempcnta=\z@}{}{%
+  \divide\@tempcntb\@tempcnta
+  \@ifodd\@tempcntb{\@testtrue}{}%
+ }%
+}%
+\@ifx{\@xbitor\@xbitor at LaTeX}{%
+  \class at info{Repairing broken LaTeX \string\@xbitor}%
+}{%
+  \class at info{Unrecognized LaTeX \string\@xbitor. Please update this document class! (Proceeding with fingers crossed.)}%
+}%
+\let\@xbitor\@xbitor at ltx
+\newcommand*\@gobble at opt@one[2][]{}%
+\def\@starttoc#1{%
+  \begingroup
+    \toc at pre
+    \makeatletter
+    \@input{\jobname.#1}%
+    \if at filesw
+      \expandafter\newwrite\csname tf@#1\endcsname
+      \immediate\openout \csname tf@#1\endcsname \jobname.#1\relax
+    \fi
+    \@nobreakfalse
+    \toc at post
+  \endgroup
+}%
+\def\toc at pre{}%
+\def\toc at post{}%
+\def\toc@@font{}%
+\def\ltxu at dotsep{\z@}%
+\let\tocdim at section       \leftmargini
+\let\tocdim at subsection    \leftmarginii
+\let\tocdim at subsubsection \leftmarginiii
+\let\tocdim at paragraph     \leftmarginiv
+\let\tocdim at appendix      \leftmarginv
+\let\tocdim at pagenum       \leftmarginvi
+\def\toc at pre@auto{%
+  \toc@@font
+  \@tempdima\z@
+  \toc at setindent\@tempdima{section}%
+  \toc at setindent\@tempdima{subsection}%
+  \toc at setindent\@tempdima{subsubsection}%
+  \toc at setindent\@tempdima{paragraph}%
+  \toc at letdimen{appendix}%
+  \toc at letdimen{pagenum}%
+}%
+\def\toc at post@auto{%
+  \if at filesw
+   \begingroup
+    \toc at writedimen{section}%
+    \toc at writedimen{subsection}%
+    \toc at writedimen{subsubsection}%
+    \toc at writedimen{paragraph}%
+    \toc at writedimen{appendix}%
+    \toc at writedimen{pagenum}%
+   \endgroup
+  \fi
+}%
+\def\toc at setindent#1#2{%
+ \csname tocdim@#2\endcsname\tocdim at min\relax
+ \@ifundefined{tocmax@#2}{\@namedef{tocmax@#2}{\z@}}{}%
+ \advance#1\@nameuse{tocmax@#2}\relax
+ \expandafter\edef\csname tocleft@#2\endcsname{\the#1}%
+}%
+\def\toc at letdimen#1{%
+ \csname tocdim@#1\endcsname\tocdim at min\relax
+ \@ifundefined{tocmax@#1}{\@namedef{tocmax@#1}{\z@}}{}%
+ \expandafter\let\csname tocleft@#1\expandafter\endcsname\csname tocmax@#1\endcsname
+}%
+\def\toc at writedimen#1{%
+ \immediate\write\@auxout{%
+  \gdef\expandafter\string\csname tocmax@#1\endcsname{%
+   \expandafter\the\csname tocdim@#1\endcsname
+  }%
+ }%
+}%
+\def\l@@sections#1#2#3#4{%
+ \begingroup
+  \everypar{}%
+  \set at tocdim@pagenum\@tempboxa{#4}%
+  \global\@tempdima\csname tocdim@#2\endcsname
+  \leftskip\csname tocleft@#2\endcsname\relax
+  \dimen@\csname tocleft@#1\endcsname\relax
+  \parindent-\leftskip\advance\parindent\dimen@
+  \rightskip\tocleft at pagenum plus 1fil\relax
+  \skip@\parfillskip\parfillskip\z@
+  \let\numberline\numberline@@sections
+  \@nameuse{l at f@#2}%
+  \ignorespaces#3\unskip\nobreak\hskip\skip@
+  \hb at xt@\rightskip{\hfil\unhbox\@tempboxa}\hskip-\rightskip\hskip\z at skip
+  \expandafter\par
+  \expandafter\aftergroup\csname tocdim@#2%
+  \expandafter\endcsname
+  \expandafter\endgroup
+              \the\@tempdima\relax
+}%
+\def\set at tocdim@pagenum#1#2{%
+ \setbox#1\hbox{\ignorespaces#2}%
+ \@ifdim{\tocdim at pagenum<\wd#1}{\global\tocdim at pagenum\wd#1}{}%
+}%
+\def\numberline@@sections#1{%
+ \leavevmode\hb at xt@-\parindent{%
+  \hfil
+  \@if at empty{#1}{}{%
+   \setbox\z@\hbox{#1.\kern\ltxu at dotsep}%
+   \@ifdim{\@tempdima<\wd\z@}{\global\@tempdima\wd\z@}{}%
+   \unhbox\z@
+  }%
+ }%
+ \ignorespaces
+}%
+\def\tocdim at min{\z@}%
+\def\list#1#2{%
+  \ifnum \@listdepth >5\relax
+    \@toodeep
+  \else
+    \global\advance\@listdepth\@ne
+  \fi
+  \rightmargin\z@
+  \listparindent\z@
+  \itemindent\z@
+  \csname @list\romannumeral\the\@listdepth\endcsname
+  \def\@itemlabel{#1}%
+  \let\makelabel\@mklab
+  \@nmbrlistfalse
+  #2\relax
+  \@trivlist
+  \parskip\parsep
+  \set at listindent
+  \ignorespaces
+}%
+\def\set at listindent@parshape{%
+ \parindent\listparindent
+ \advance\@totalleftmargin\leftmargin
+ \advance\linewidth-\rightmargin
+ \advance\linewidth-\leftmargin
+ \parshape\@ne\@totalleftmargin\linewidth
+}%
+\def\set at listindent@{%
+ \parindent\listparindent
+ \advance\@totalleftmargin\leftmargin
+ \advance\rightskip\rightmargin
+ \advance\leftskip\@totalleftmargin
+}%
+\let\set at listindent\set at listindent@parshape
+\providecommand\href[0]{\begingroup\@sanitize at url\@href}%
+\def\@href#1{\@@startlink{#1}\endgroup\@@href}%
+\def\@@href#1{#1\@@endlink}%
+\providecommand \url  [0]{\begingroup\@sanitize at url \@url }%
+\def \@url #1{\endgroup\@href {#1}{\URL at prefix#1}}%
+\providecommand \URL at prefix [0]{URL }%
+\providecommand\doi[0]{\begingroup\@sanitize at url\@doi}%
+\def\@doi#1{\endgroup\@@startlink{\doibase#1}doi:\discretionary {}{}{}#1\@@endlink }%
+\providecommand \doibase [0]{http://dx.doi.org/}%
+\providecommand \@sanitize at url[0]{\chardef\cat at space\the\catcode`\ \@sanitize\catcode`\ \cat at space}%
+\def\@@startlink#1{}%
+\def\@@endlink{}%
+\@ifxundefined \pdfoutput {\true at sw}{\@ifnum{\z@=\pdfoutput}{\true at sw}{\false at sw}}%
+{%
+ \def\@@startlink at hypertext#1{\leavevmode\special{html:<a href="#1">}}%
+ \def\@@endlink at hypertext{\special{html:</a>}}%
+}{%
+ \def\@@startlink at hypertext#1{%
+  \leavevmode
+  \pdfstartlink\pdfstartlink at attr
+   user{/Subtype/Link/A<</Type/Action/S/URI/URI(#1)>>}%
+  \relax
+ }%
+ \def\@@endlink at hypertext{\pdfendlink}%
+ \def\pdfstartlink at attr{attr{/Border[0 0 1 ]/H/I/C[0 1 1]}}%
+}%
+\def\hypertext at enable@ltx{%
+ \let\@@startlink\@@startlink at hypertext
+ \let\@@endlink\@@endlink at hypertext
+}%
+\def\href at Hy{\hyper at normalise \href@ }%
+\def\href at Hy@ltx{\@ifnextchar\bgroup\Hy at href{\hyper at normalise\href@}}%
+\def\Hy at href#{\hyper at normalise\href@}%
+\begingroup
+  \endlinechar=-1 %
+  \catcode`\^^A=14 %
+  \catcode`\^^M\active
+  \catcode`\%\active
+  \catcode`\#\active
+  \catcode`\_\active
+  \catcode`\$\active
+  \catcode`\&\active
+  \gdef\hyper at normalise@ltx{^^A
+    \begingroup
+    \catcode`\^^M\active
+    \def^^M{ }^^A
+    \catcode`\%\active
+    \let%\@percentchar
+    \let\%\@percentchar
+    \catcode`\#\active
+    \def#{\hyper at hash}^^A
+    \def\#{\hyper at hash}^^A
+    \@makeother\&^^A
+    \edef&{\string&}^^A
+    \edef\&{\string&}^^A
+    \edef\textunderscore{\string_}^^A
+    \let\_\textunderscore
+    \catcode`\_\active
+    \let_\textunderscore
+    \let~\hyper at tilde
+    \let\~\hyper at tilde
+    \let\textasciitilde\hyper at tilde
+    \let\\\@backslashchar
+    \edef${\string$}^^A
+    \Hy at safe@activestrue
+    \hyper at n@rmalise
+  }^^A
+  \catcode`\#=6 ^^A
+  \gdef\Hy at ActiveCarriageReturn@ltx{^^M}^^A
+  \gdef\hyper at n@rmalise at ltx#1#2{^^A
+    \def\Hy at tempa{#2}^^A
+    \ifx\Hy at tempa\Hy at ActiveCarriageReturn
+      \Hy at ReturnAfterElseFi{^^A
+        \hyper@@normalise{#1}^^A
+      }^^A
+    \else
+      \Hy at ReturnAfterFi{^^A
+        \hyper@@normalise{#1}{#2}^^A
+      }^^A
+    \fi
+  }^^A
+  \gdef\hyper@@normalise at ltx#1#2{^^A
+    \edef\Hy at tempa{^^A
+      \endgroup
+      \noexpand#1{\Hy at RemovePercentCr#2%^^M\@nil}^^A
+    }^^A
+    \Hy at tempa
+  }^^A
+  \gdef\Hy at RemovePercentCr@ltx#1%^^M#2\@nil{^^A
+    #1^^A
+    \ifx\limits#2\limits
+    \else
+      \Hy at ReturnAfterFi{^^A
+        \Hy at RemovePercentCr #2\@nil
+      }^^A
+    \fi
+  }^^A
+\endgroup
+\def\switch at hyperref@href{%
+ \expandafter\@ifx\expandafter{\csname href \endcsname\href at Hy}{
+  \class at info{Repairing hyperref 6.75r \string\href}%
+  \let\hyper at normalise\hyper at normalise@ltx
+  \let\hyper@@normalise\hyper@@normalise at ltx
+  \let\hyper at n@rmalise\hyper at n@rmalise at ltx
+  \let\Hy at ActiveCarriageReturn\Hy at ActiveCarriageReturn@ltx
+  \let\Hy at RemovePercentCr\Hy at RemovePercentCr@ltx
+  \let\href\href at Hy@ltx
+ }{}%
+}%
+\appdef\document at inithook{\switch at hyperref@href}%
+\def\typeout at org#1{%
+ \begingroup
+  \set at display@protect
+  \immediate\write\@unused{#1}%
+ \endgroup
+}%
+\long\def\typeout at ltx#1{%
+ \begingroup
+  \set at display@protect
+  \immediate\write\@unused{#1}%
+ \endgroup
+}%
+\@ifx{\typeout\typeout at org}{%
+ \class at info{Making \string\typeout\space \string\long}%
+ \let\typeout\typeout at ltx
+}{}%
+\typeout{%
+ltxfront%
+ [2010/07/25/20:33:00 4.1r frontmatter package (AO,DPC)]% \fileversion
+}%
+\appdef\class at documenthook{\frontmatter at init}%
+\let\frontmatter at init\@empty
+\newcommand\frontmatter at title[2][]{%
+ \def\@title{#2}%
+ \def\@shorttitle{#1}%
+ \let\@AF at join\@title at join
+}%
+\appdef\frontmatter at init{%
+ \def\@title{\class at warn{No title}}%
+ \let\@shorttitle\@empty
+ \let\@title at aux\@title at aux@cleared
+}%
+\def\@title at join{\expandafter\@title at join@\@title at aux}%
+\def\@title at join@#1#2{%
+ \def\@title at aux{{\@join{\@separator}{#1}{#2}}}%
+}%
+\def\@title at aux@cleared{{}}%
+\newcounter{affil}%
+\newcounter{collab}%
+\appdef\frontmatter at init{%
+ \c at affil\z@
+ \c at collab\z@
+}%
+\newcommand\frontmatter at author{% implicit #1
+ \@author at def{}% implicit #2
+}%
+\def\collaboration{% implicit #1
+ \@author at def{\@booleantrue\collaboration at sw}% implicit #2
+}%
+\appdef\frontmatter at init{%
+ \@booleanfalse\collaboration at sw
+}%
+\def\@author at cleared{{}{}{}}%
+\def\@author at gobble#1#2#3{}%
+\def\@author at init{%
+ \let\@author\@author at cleared
+ \@booleanfalse\collaboration at sw
+}%
+\def\@authorclear at sw{\@ifx{\@author\@author at cleared}}%
+\appdef\frontmatter at init{%
+ \@author at init
+}%
+\def\@author at def#1#2{%
+ \frontmatterverbose at sw{\typeout{\string\author\space\string\collaboration}}{}%
+ \move at AU\move at AF\move at AUAF
+ \let\@AF at join\@author at join
+ #1%
+ \def\@author{{#2}{}}%
+}%
+\def\@author at join@#1#2#3{%
+  \def\@author{{#1}{\@join{\@separator}{#2}{#3}}}%
+}%
+\def\@author at join{\expandafter\@author at join@\@author}%
+\def\move at AU{%
+ \@authorclear at sw{}{%
+  \collaboration at sw{%
+   \advance\c at collab\@ne
+   \@argswap{\CO at grp\CO at opr}%
+  }{%
+   \@argswap{\AU at grp\AU at opr}%
+  }%
+   {%
+    \expandafter\@argswap at val
+    \expandafter{\@author}%
+     {\expandafter\@argswap at val\expandafter{\the\c at collab}{\add at AUCO@grp}}%
+   }%
+ }%
+ \@author at init
+}%
+\def\add at AUCO@grp#1#2#3#4{%
+ \appdef#3{#4{#1}#2}%
+ \frontmatterverbose at sw{\say#3}{}%
+}%
+\def\@author at finish{%
+ \frontmatterverbose at sw{\typeout{\string\@author at finish}}{}%
+ \move at AU\move at AF
+ \@ifx{\AU at grp\@empty}{%
+  \@ifx{\CO at grp\@empty}%
+ }{%
+  \false at sw
+ }%
+ {}{%
+  \@ifx{\AF at grp\@empty}{%
+   \begingroup
+    \let\href\@secondoftwo
+    \let\AU at opr\@secondofthree
+    \let\CO at opr\@secondofthree
+    \let\footnote\@gobble
+    \@ifx{\CO at grp\@empty}{%
+     \class at warn{Assuming \string\noaffiliation\space for authors}%
+     \frontmatterverbose at sw{\say\AU at grp}%
+    }{%
+     \class at warn{Assuming \string\noaffiliation\space for collaboration}%
+     \frontmatterverbose at sw{\say\CO at grp}{}%
+    }%
+   \endgroup
+   \@affil at none\move at AF
+  }{}%
+ }%
+ \move at AUAF
+}%
+\def\@secondofthree#1#2#3{#2}%
+\def\@join#1#2#3{%
+  \@if at empty{#2}{#3}{#2#1#3}%
+}%
+\def\@separator{;\space}%
+\let\surname\@firstofone
+\let\firstname\@firstofone
+\newcommand\frontmatter at and{\class at err{\protect\and\space is not supported}}
+\def\cat at comma@active{\catcode`\,\active}%
+{\cat at comma@active\gdef,{\active at comma}}%
+\def\active at comma{,\penalty-300\relax}%
+\newcommand\affiliation{%
+ \frontmatterverbose at sw{\typeout{\string\affiliation}}{}%
+ \move at AU\move at AF
+ \begingroup
+  \cat at comma@active
+  \@affiliation
+}%
+\def\@affiliation#1{%
+ \endgroup
+ \let\@AF at join\@affil at join
+ \@affil at def{#1}%
+}%
+\newcommand\frontmatter at noaffiliation{%
+ \frontmatterverbose at sw{\typeout{\string\noaffiliation}}{}%
+ \move at AU\move at AF
+ \@affil at none\move at AF
+ \move at AUAF
+}%
+\def\blankaffiliation{{}}%
+\def\@affil at cleared{{{}}{}}%
+\def\@affil at nil{{\relax}{}}%
+\appdef\frontmatter at init{%
+ \@affil at init
+}%
+\def\@affil at none{%
+ \let\@affil\@affil at nil
+}%
+\def\@affil at init{%
+ \let\@affil\@affil at cleared
+}%
+\def\@affilclear at sw{\@ifx{\@affil\@affil at cleared}}%
+\def\@affil at def#1{%
+ \def\@affil{{#1}{}}%
+}%
+\def\@affil at join@#1#2#3{%
+  \def\@affil{{#1}{\@join{\@separator}{#2}{#3}}}%
+}%
+\def\@affil at join{\expandafter\@affil at join@\@affil}%
+\def\move at AF{%
+ \@affilclear at sw{}{%
+  \@booleanfalse\temp at sw
+  \let\@tempd\@empty
+  \@affils at sw{%
+    \expandafter\@affil at addr@def\expandafter\@tempa\@affil
+    \def\AFF at opr{\@affil at match\@tempa}%
+    \@AFF at list
+  }{}\temp at sw
+  {%
+   \expandafter\@affil at aux@def\expandafter\@tempb\@affil
+   \@ifx{\@tempb\@empty}{}{%
+    \@ifx{\@tempb\@tempd}{}{%
+     \class at warn{%
+      Ancillary information for \@tempa\space must not be different!
+      Please put all of it on the first instance%
+     }%
+    }%
+   }%
+  }%
+  {%
+   \@ifx{\@affil\@affil at nil}{%
+    \def\@tempc{0}%
+    \@argswap at val{0}%
+   }{%
+    \advance\c at affil\@ne
+    \expandafter\def\expandafter\@tempc\expandafter{\the\c at affil}%
+    \expandafter\@argswap at val\expandafter{\the\c at affil}%
+   }%
+   {%
+    \expandafter\@argswap at val\expandafter{\the\c at collab}{%
+     \expandafter\@argswap at val\expandafter{\@affil}{%
+      \add at list@val at val@val\@AFF at list\AFF at opr
+     }%
+    }%
+   }%
+  }%
+  \appdef at eval\AF at grp\@tempc
+  \frontmatterverbose at sw{\say\AF at grp}{}%
+  \@affil at init
+ }%
+}%
+\def\@affil at addr@def#1#2#3{%
+ \def#1{#2}%
+}%
+\def\@affil at aux@def#1#2#3{%
+ \def#1{#3}%
+}%
+\def\add at list@val at val@val#1#2#3#4#5{%
+ \appdef#1{#2{#5}{#4}#3}%
+ \frontmatterverbose at sw{\say#1}{}%
+}%
+\def\@affil at match#1#2#3#4#5{%
+ \temp at sw{}{%
+  \def\@tempifx{#4}%
+  \@ifx{\@tempifx#1}{%
+   \groupauthors at sw{%
+    \@ifnum{#3=\c at collab}{%
+     \true at sw
+    }{%
+     \false at sw
+    }%
+   }{%
+    \true at sw
+   }%
+  }{%
+   \false at sw
+  }%
+  {%
+   \@booleantrue\temp at sw
+   \def\@tempc{#2}%
+   \def\@tempd{#5}%
+  }{%
+  }%
+ }%
+}%
+\def\move at AUAF{%
+ \frontmatterverbose at sw{\say\AU at grp\say\AF at grp\say\CO at grp}{}%
+ \@ifx{\AF at grp\@empty}{%
+    \@ifx{\@empty\CO at grp}{%
+    }{%
+     \appdef     \@AAC at list{\AF at opr{{0}}}%
+     \appdef at e   \@AAC at list{\CO at grp}%
+     \appdef at e   \@AFG at list{\CO at grp}%
+     \let\CO at grp\@empty
+    }%
+ }{%
+      \appdef     \@AAC at list{\AF at opr}%
+      \appdef at eval\@AAC at list{\AF at grp}%
+      \appdef at e   \@AAC at list{\AU at grp}%
+    \@ifx{\@empty\AU at grp}{%
+     \@ifx{\@empty\CO at grp}%
+    }{%
+     \false at sw
+    }%
+    {%
+    }{%
+      \@booleanfalse\temp at sw
+      \def\AFG at opr{\x at match\AF at grp}%
+      \let\CO at opr\@author at gobble
+      \@AFG at list
+      \temp at sw{}{%
+        \appdef     \@AFG at list{\AFG at opr}%
+        \appdef at eval\@AFG at list{\AF at grp}%
+      }%
+     \@ifx{\@empty\CO at grp}{}{%
+       \appdef at e   \@AAC at list{\CO at grp}%
+       \appdef at e   \@AFG at list{\CO at grp}%
+       \let\CO at grp\@empty
+     }%
+    }%
+    \let\CO at grp\@empty
+    \let\AU at grp\@empty
+    \let\AF at grp\@empty
+ }%
+ \frontmatterverbose at sw{\say\@AAC at list\say\@AFG at list}{}%
+}%
+\appdef\frontmatter at init{%
+ \let\AU at grp\@empty
+ \let\CO at grp\@empty
+ \let\AF at grp\@empty
+ \let\@AAC at list\@empty
+ \let\@AFG at list\@empty
+ \let\@AFF at list\@empty
+}%
+\appdef\frontmatter at init{%
+ \let\@AF at join\@AF at join@error
+}%
+\def\@AF at join@error#1{%
+ \class at warn{%
+  \string\email, \string\homepage, \string\thanks, or \string\altaffiliation\space
+  appears in wrong context.
+ }%
+}%
+\def\sanitize at url{%
+ \@makeother\%%
+ \@makeother\~%
+ \@makeother\_%
+}%
+\newcommand*\email[1][]{\begingroup\sanitize at url\@email{#1}}%
+\def\@email#1#2{%
+ \endgroup
+ \@AF at join{#1\href{mailto:#2}{#2}}%
+}%
+\newcommand*\homepage[1][]{\begingroup\sanitize at url\@homepage{#1}}%
+\def\@homepage#1#2{%
+ \endgroup
+ \@AF at join{#1\href{#2}{#2}}%
+}%
+\appdef\class at documenthook{%
+ \providecommand\href[1]{}%
+}%
+\def\frontmatter at thanks{% implicit #1
+  \@AF at join
+}%
+\newcommand*\altaffiliation[2][]{%
+  \@AF at join{#1#2}%
+}%
+\def\set at listcomma@list#1{%
+  \expandafter\@reset at ac\expandafter#1#1{0}\@reset at ac{%
+   \let\@listcomma\relax
+  }{%
+   \let\@listcomma\@listcomma at comma
+  }%
+}%
+\def\set at listcomma@count#1{%
+  \@ifnum{#1=\tw@}{%
+    \let\@listcomma\relax
+  }{%
+    \let\@listcomma\@listcomma at comma
+  }%
+}%
+\def\@reset at ac#1#2#3\@reset at ac{%
+  \def#1{#3}%
+  \@tempcnta#2\relax
+  \@ifnum{#2=\tw@}%
+}%
+\def\@listand{\@ifnum{\@tempcnta=\tw@}{\andname\space}{}}%
+\def\@listcomma at comma{\@ifnum{\@tempcnta>\@ne}{,}{}}%
+\def\@listcomma at comma@UK{\@ifnum{\@tempcnta>\tw@}{,}{}}%
+\def\@collaboration at gobble#1#2#3{}%
+\def\doauthor#1#2#3{%
+  \ignorespaces#1\unskip\@listcomma
+  \begingroup
+   #3%
+  \@if at empty{#2}{\endgroup{}{}}{\endgroup{\comma at space}{}\frontmatter at footnote{#2}}%
+  \space \@listand
+}%
+\def\x at match#1#2{%
+ \temp at sw{}{%
+  \def\@tempifx{#2}%
+  \@ifx{\@tempifx#1}{%
+    \@booleantrue\temp at sw
+  }{%
+  }%
+ }%
+}%
+\def\y at match#1#2#3{%
+ \temp at sw{}{%
+  \def\@tempifx{#3}%
+  \@ifx{\@tempifx#1}{%
+    \@booleantrue\temp at sw
+    \def\@tempb{#2}%
+  }{%
+  }%
+ }%
+}%
+\def\frontmatter at footnote#1{%
+ \begingroup
+  \@booleanfalse\temp at sw
+  \def\@tempa{#1}%
+  \let\@tempb\@empty
+  \def\@TBN at opr{\y at match\@tempa}%
+  \@FMN at list
+  \temp at sw{%
+   \expandafter\frontmatter at footnotemark
+   \expandafter{\@tempb}%
+  }{%
+   \stepcounter\@mpfn
+   \expandafter\expandafter
+   \expandafter\frontmatter at foot@mark
+   \expandafter\expandafter
+   \expandafter{%
+   \expandafter \the\csname c@\@mpfn\endcsname
+               }{#1}%
+  }%
+ \endgroup
+}%
+\def\frontmatter at foot@mark#1#2{%
+ \frontmatter at footnotemark{#1}%
+ \g at addto@macro\@FMN at list{\@TBN at opr{#1}{#2}}%
+}%
+\appdef\frontmatter at init{%
+ \global\let\@FMN at list\@empty
+}%
+\def\frontmatter at footnotemark#1{%
+ \leavevmode
+ \ifhmode\edef\@x at sf{\the\spacefactor}\nobreak\fi
+  \begingroup
+   \hyper at linkstart {link}{frontmatter.#1}%
+    \csname c@\@mpfn\endcsname#1\relax
+    \def\@thefnmark{\frontmatter at thefootnote}%
+    \@makefnmark
+   \hyper at linkend
+  \endgroup
+ \ifhmode\spacefactor\@x at sf\fi
+ \relax
+}%
+\def\keywords#1{%
+  \aftermaketitle at chk{\keywords}%
+  \gdef\@keywords{#1}%
+}%
+\appdef\frontmatter at init{%
+ \let\@keywords\@empty
+}%
+\newcommand*\frontmatter at date[2][\Dated at name]{\def\@date{#1#2}}%
+\def\@date{}%
+\newcommand*\received[2][\Received at name]{\def\@received{#1#2}}%
+\def\@received{}%
+\newcommand*\revised[2][\Revised at name]{\def\@revised{#1#2}}%
+\def\@revised{}%
+\newcommand*\accepted[2][\Accepted at name]{\def\@accepted{#1#2}}%
+\def\@accepted{}%
+\newcommand*\published[2][\Published at name]{\def\@published{#1#2}}%
+\def\@published{}%
+\def\pacs#1{%
+  \aftermaketitle at chk{\pacs}%
+  \gdef\@pacs{#1}%
+}%
+\appdef\frontmatter at init{%
+ \let\@pacs\@empty
+}%
+\def\preprint#1{\gappdef\@preprint{\preprint{#1}}}%
+\appdef\frontmatter at init{%
+ \let\@preprint\@empty
+}%
+\newbox\absbox
+\def\toclevel at abstract{1}%
+\def\addcontents at abstract{%
+ \phantomsection
+ \expandafter\def\csname Parent0\endcsname{section*.2}%
+ \expandafter\@argswap at val\expandafter{\abstractname}{\addcontentsline{toc}{abstract}}%
+}%
+\newenvironment{frontmatter at abstract}{%
+  \aftermaketitle at chk{\begin{abstract}}%
+  \global\setbox\absbox\vbox\bgroup
+   \color at begingroup
+   \columnwidth\textwidth
+   \hsize\columnwidth
+   \@parboxrestore
+   \def\@mpfn{mpfootnote}\def\thempfn{\thempfootnote}\c at mpfootnote\z@
+   \let\@footnotetext\frontmatter at footnotetext
+   \minipagefootnote at init
+   \let\set at listindent\set at listindent@
+   \let\@listdepth\@mplistdepth \@mplistdepth\z@
+   \let at environment{description}{frontmatter at description}%
+   \@minipagerestore
+   \@setminipage
+    \frontmatter at abstractheading
+    \frontmatter at abstractfont
+    \let\footnote\mini at note
+    \expandafter\everypar\expandafter{\the\everypar\addcontents at abstract\everypar{}}%
+}{%
+    \par
+    \unskip
+    \minipagefootnote at here
+    \@minipagefalse   %% added 24 May 89
+    \color at endgroup
+  \egroup
+}%
+\long\def\frontmatter at footnotetext#1{%
+  \minipagefootnote at pick
+    \set at footnotefont
+    \set at footnotewidth
+    \@parboxrestore
+    \protected at edef\@currentlabel{\csname p@\@mpfn\endcsname\@thefnmark}%
+    \color at begingroup
+      \frontmatter at makefntext{%
+        \rule\z@\footnotesep\ignorespaces#1\@finalstrut\strutbox\vadjust{\vskip\z at skip}%
+      }%
+    \color at endgroup
+  \minipagefootnote at drop
+}%
+\def\ltx at no@footnote{%
+ \let\ltx at xfootnote\ltx at no@xfootnote\let\ltx at yfootnote\ltx at no@yfootnote
+ \let\ltx at xfootmark\ltx at no@xfootmark\let\ltx at yfootmark\ltx at no@yfootmark
+ \let\ltx at xfoottext\ltx at no@xfoottext\let\ltx at yfoottext\ltx at no@yfoottext
+}%
+\def\ltx at no@xfootnote[#1]#2{\ltx at no@footwarn\footnote}%
+\def\ltx at no@yfootnote#1{\ltx at no@footwarn\footnote}%
+\def\ltx at no@xfootmark[#1]{\ltx at no@footwarn\footnotemark}%
+\def\ltx at no@yfootmark{\ltx at no@footwarn\footnotemark}%
+\def\ltx at no@xfoottext[#1]#2{\ltx at no@footwarn\footnotetext}%
+\def\ltx at no@yfoottext#1{\ltx at no@footwarn\footnotetext}%
+\def\ltx at no@footwarn#1{%
+ \class at warn{%
+  The \string#1\space command is not legal on the title page;
+  using \string\thanks\space instead might suit you: consult the manual for details%
+ }%
+}%
+\def\frontmatter at abstractheading{%
+ \begingroup
+  \centering\large
+  \abstractname
+  \par
+ \endgroup
+}%
+\def\frontmatter at abstractfont{}%
+\newenvironment{frontmatter at description}{%
+ \list{}{%
+  \leftmargin\z@
+  \labelwidth\z@
+  \itemindent\z@
+  \let\makelabel\frontmatter at descriptionlabel
+ }%
+}{%
+ \endlist
+}%
+\def\frontmatter at descriptionlabel#1{%
+ \hspace\labelsep
+ \normalfont\bfseries
+ #1:%
+}%
+\def\frontmatter at abstractwidth{\textwidth}
+\def\frontmatter at abstract@produce{%
+  \par
+  \preprintsty at sw{%
+   \do at output@MVL{%
+    \vskip\frontmatter at preabstractspace
+    \vskip200\p@\@plus1fil
+    \penalty-200\relax
+    \vskip-200\p@\@plus-1fil
+   }%
+  }{%
+   \addvspace{\frontmatter at preabstractspace}%
+  }%
+   \begingroup
+    \dimen@\baselineskip
+    \setbox\z@\vtop{\unvcopy\absbox}%
+    \advance\dimen at -\ht\z@\advance\dimen at -\prevdepth
+    \@ifdim{\dimen@>\z@}{\vskip\dimen@}{}%
+   \endgroup
+   \begingroup
+    \prep at absbox
+    \unvbox\absbox
+    \post at absbox
+   \endgroup
+  \@ifx{\@empty\mini at notes}{}{\mini at notes\par}%
+  \addvspace\frontmatter at postabstractspace
+}%
+\appdef\frontmatter at init{\let\mini at notes\@empty}%
+\let\prep at absbox\@empty
+\let\post at absbox\@empty
+\def\frontmatter at preabstractspace{.5\baselineskip}
+\def\frontmatter at postabstractspace{.5\baselineskip}
+\newenvironment{frontmatter at titlepage}{%
+      \twocolumn at sw{\onecolumngrid}{\newpage}%
+      \thispagestyle{titlepage}%
+      \setcounter{page}\@ne
+}{%
+     \twocolumn at sw{\twocolumngrid}{\newpage}%
+     \twoside at sw{}{%
+        \setcounter{page}\@ne
+     }%
+}%
+\def\frontmatter at maketitle{%
+  \@author at finish
+  \title at column\titleblock at produce
+  \suppressfloats[t]%
+  \let\and\relax
+  \let\affiliation\@gobble
+  \let\author\@gobble
+  \let\@AAC at list\@empty
+  \let\@AFF at list\@empty
+  \let\@AFG at list\@empty
+  \let\@AF at join\@AF at join@error
+  \let\email\@gobble
+  \let\@address\@empty
+  \let\maketitle\relax
+  \let\thanks\@gobble
+  \let\abstract\@undefined\let\endabstract\@undefined
+  \titlepage at sw{%
+   \vfil
+   \clearpage
+  }{}%
+}%
+\def\maketitle at Hy{%
+  \let\Hy at saved@footnotemark\@footnotemark
+  \let\Hy at saved@footnotetext\@footnotetext
+  \let\@footnotemark\H@@footnotemark
+  \let\@footnotetext\H@@footnotetext
+  \@ifnextchar[%]
+   \Hy at maketitle@optarg
+   {%
+    \HyOrg at maketitle
+    \Hy at maketitle@end
+   }%
+}%
+\appdef\class at documenthook{%
+  \@ifx{\maketitle\maketitle at Hy}{%
+   \class at info{Taking \string\maketitle\space back from hyperref}%
+   \let\maketitle\frontmatter at maketitle
+  }{%
+  }%
+}%
+\def\titleblock at produce{%
+ \begingroup
+  \ltx at footnote@pop
+  \def\@mpfn{mpfootnote}%
+  \def\thempfn{\thempfootnote}%
+  \c at mpfootnote\z@
+  \let\@makefnmark\frontmatter at makefnmark
+  \frontmatter at setup
+  \thispagestyle{titlepage}\label{FirstPage}%
+  \frontmatter at title@produce
+  \groupauthors at sw{%
+   \frontmatter at author@produce at group
+  }{%
+   \frontmatter at author@produce at script
+  }%
+  \frontmatter at RRAPformat{%
+   \expandafter\produce at RRAP\expandafter{\@date}%
+   \expandafter\produce at RRAP\expandafter{\@received}%
+   \expandafter\produce at RRAP\expandafter{\@revised}%
+   \expandafter\produce at RRAP\expandafter{\@accepted}%
+   \expandafter\produce at RRAP\expandafter{\@published}%
+  }%
+  \frontmatter at abstract@produce
+  \@ifx at empty\@pacs{}{%
+   \@pacs at produce\@pacs
+  }%
+  \@ifx at empty\@keywords{}{%
+   \@keywords at produce\@keywords
+  }%
+  \par
+  \frontmatter at finalspace
+ \endgroup
+}%
+\def\toclevel at title{0}%
+\def\frontmatter at title@produce{%
+ \begingroup
+  \frontmatter at title@above
+  \frontmatter at title@format
+  \@title
+  \unskip
+  \phantomsection\expandafter\@argswap at val\expandafter{\@title}{\addcontentsline{toc}{title}}%
+  \@ifx{\@title at aux\@title at aux@cleared}{}{%
+   \expandafter\frontmatter at footnote\expandafter{\@title at aux}%
+  }%
+  \par
+  \frontmatter at title@below
+ \endgroup
+}%
+\appdef\let at mark{\let\\\relax}%
+\def\frontmatter at title@above{}%
+\def\frontmatter at title@format{}%
+\def\frontmatter at title@below{\addvspace{\baselineskip}}%
+\def\frontmatter at author@produce at script{%
+  \begingroup
+    \let\@author at present\@author at present@script
+    \frontmatterverbose at sw{\typeout{\string\frontmatter at author@produce at script:}\say\@AAC at list\say\@AFF at list\say\@AFG at list}{}%
+    \let\AU at temp\@empty
+    \@tempcnta\z@
+    \let\AF at opr \@gobble
+    \def\AU at opr{\@author at count\@tempcnta}%
+    \def\CO at opr{\@collaboration at count\AU at temp\@tempcnta}%
+    \@AAC at list
+    \expandafter\CO at opr\@author at cleared
+    \begingroup
+     \frontmatter at authorformat
+     \let\AF at opr \@affilID at def
+     \let\AU at opr \@author at present
+     \def\CO at opr{\@collaboration at present\AU at temp}%
+     \set at listcomma@list\AU at temp
+     \@AAC at list
+     \unskip\unskip
+     \par
+    \endgroup
+    \begingroup
+     \frontmatter at above@affiliation at script
+     \let\AFF at opr \@affil at script
+     \@AFF at list
+     \frontmatter at footnote@produce
+     \par
+    \endgroup
+  \endgroup
+}%
+\def\@author at count#1{%
+ \advance#1\@ne
+ \@author at gobble
+}%
+\def\@collaboration at present#1#2#3#4{%
+ \par
+ \begingroup
+  \frontmatter at collaboration@above
+  \@affilID at def{}%
+  \@tempcnta\z@
+  \@author at present{}{(\ignorespaces#3\unskip)}{#4}%
+  \par
+ \endgroup
+ \set at listcomma@list#1%
+}%
+\def\frontmatter at collaboration@above{}%
+\def\@collaboration at count#1#2{%
+ \appdef at eval#1{\the#2}#2\z@
+ \@author at gobble
+}%
+\def\@affilID at def{\def\@affilID at temp}%
+\let\@affilID at temp\@empty
+\def\affil at script#1#2#3{%
+ \def\@tempifx{#1}\@ifx{\@tempifx\@tempa}{%
+  \@if at empty{#2}{}{%
+   \par
+   \begingroup
+    \def\@thefnmark{#1}\@makefnmark\ignorespaces
+    #2%
+    \@if at empty{#3}{}{\frontmatter at footnote{#3}}%
+    \par
+   \endgroup
+  }%
+ }{}%
+}%
+\def\@affil at script#1#2#3#4{%
+ \@ifnum{#1=\z@}{}{%
+  \par
+  \begingroup
+   \frontmatter at affiliationfont
+   \@ifnum{\c at affil<\affil at cutoff}{}{%
+    \def\@thefnmark{#1}\@makefnmark
+   }%
+   \ignorespaces#3%
+   \@if at empty{#4}{}{\frontmatter at footnote{#4}}%
+   \par
+  \endgroup
+ }%
+}%
+\let\affil at cutoff\@ne
+\def\@author at present@script#1#2#3{%
+ \begingroup
+  \gdef\comma at space{\textsuperscript{,\,}}%
+  \doauthor{#2}{#3}{\@affil at present@script}%
+ \endgroup
+ \advance\@tempcnta\m at ne
+}%
+\def\@affilcomma#1#2{%
+ \@ifx{\z@#1}{%
+  \@ifx{\relax#2}{}{%
+   \@affilcomma{#2}%
+  }%
+ }{%
+  #1%
+  \@ifx{\relax#2}{}{%
+   \@ifx{\z@#2}{%
+    \@affilcomma
+   }{%
+    ,\,\@affilcomma{#2}%
+   }%
+  }%
+ }%
+}%
+\def\@affil at present@script{%
+ \let\@tempa\@empty
+ \expandafter\@affil at present@script@\@affilID at temp\relax
+}%
+\def\@affil at present@script@#1{%
+ \@ifx{\relax#1}{%
+  \@ifx{\@tempa\@empty}{%
+   \aftergroup\false at sw
+  }{%
+   \textsuperscript{\expandafter\@affilcomma\@tempa\relax\relax}%
+   \aftergroup\true at sw
+  }%
+ }{%
+  \@ifnum{#1=\z@}{}{\appdef\@tempa{{#1}}}%
+  \@affil at present@script@
+ }%
+}%
+\@provide\@author at parskip{\z at skip}%
+\def\frontmatter at author@produce at group{%
+  \begingroup
+    \let\@author at present\@author at present@group
+    \frontmatter at authorformat
+    \frontmatterverbose at sw{\typeout{\string\frontmatter at author@produce at group:}\say\@AAC at list\say\@AFF at list\say\@AFG at list}{}%
+    \let\AU at temp\@empty
+    \set at listcomma@list\AU at temp
+    \def\CO at opr{\@collaboration at present\AU at temp}%
+    \let\AFG at opr \affils at present@group
+    \let\@listcomma\relax
+    \@AFG at list
+    \frontmatter at footnote@produce
+    \par
+  \endgroup
+  \frontmatter at authorbelow
+}%
+\@provide\frontmatter at authorbelow{}%
+\def\affils at present@group#1{%
+ \begingroup
+   \def\AF at temp{#1}%
+   \@tempcnta\z@
+   \let\AU at opr \@undefined
+   \let\CO at opr \@undefined
+   \def\AF at opr{\@affilID at count\AF at temp\@tempcnta}%
+   \@AAC at list
+   \@ifnum{\@tempcnta=\z@}{}{%
+    \begingroup
+     \frontmatter at above@affilgroup
+     \set at listcomma@count\@tempcnta
+     \let\AU at opr \@undefined
+     \let\CO at opr \@undefined
+     \def\AF at opr{\@affilID at match\AF at temp}%
+     \@AAC at list
+    \endgroup
+    \begingroup
+     \par
+     \frontmatter at above@affiliation
+     \frontmatter at affiliationfont
+     \let\\\frontmatter at addressnewline
+     \@tempcnta\z@
+     \@tfor\AF at temp:=#1\do{%
+      \expandafter\@ifx\expandafter{\expandafter\z@\AF at temp}{}{%
+       \advance\@tempcnta\@ne
+      }%
+     }%
+     \@ifnum{\@tempcnta=\tw@}{%
+      \let\@listcomma\relax
+     }{}%
+     \def at after@address
+     \runinaddress at sw{%
+     }{%
+      \tightenlines at sw{}{%
+       \parskip\z@
+      }%
+      \appdef\after at address\par
+     }%
+     \let\AFF at opr \@affil at group
+     \do at affil@fromgroup\@AFF at list#1\relax
+    \endgroup
+   }%
+   \par
+ \endgroup
+}%
+\def\def at after@address{\def\after at address{\@listcomma\ \@listand}}%
+\def\def at after@address at empty{\let\after at address\@empty}%
+\def\@affilID at count#1#2#3{%
+  \def\@tempifx{#3}%
+  \@ifx{\@tempifx#1}{%
+    \def\AU at opr{\@author at count#2}%
+  }{%
+    \let\AU at opr \@author at gobble
+  }%
+  \let\CO at opr \@collaboration at gobble
+}%
+\def\@affilID at match#1#2{%
+ \def\@tempifx{#2}%
+ \@ifx{\@tempifx#1}{%
+   \let\AU at opr \@author at present
+ }{%
+   \let\AU at opr \@author at gobble
+ }%
+  \let\CO at opr \@collaboration at gobble
+}%
+\def\do at affil@fromgroup#1#2{%
+  \@ifx{\relax#2}{}{%
+    \count@#2\relax
+    \@ifnum{\z@=\count@}{}{#1}%
+    \do at affil@fromgroup#1%
+  }%
+}%
+\def\@affil at group#1#2#3#4{%
+  \@ifnum{#1=\count@}{%
+   \def\@tempa{#3}%
+   \@ifx{\@tempa\blankaffiliation}{}{%
+    #3%
+    \@if at empty{#4}{}{%
+     \frontmatter at footnote{#4}%
+    }%
+    \after at address
+   }%
+   \advance\@tempcnta\m at ne
+  }{}%
+}%
+\def\@author at present@group#1#2#3{%
+  \gdef\comma at space{\gdef\comma at space{\textsuperscript{,\,}}}%
+  \doauthor{#2}{#3}{\@affil at present@group}%
+  \advance\@tempcnta\m at ne
+}%
+\def\@affil at present@group{%
+ \aftergroup\false at sw
+}%
+\def\@pacs at produce#1{%
+ \showPACS at sw{%
+  \begingroup
+   \frontmatter at PACS@format
+   \@pacs at name#1\par
+  \endgroup
+ }{%
+  \@if at empty{#1}{}{%
+   \class at warn{\PACS at warn}%
+  }%
+ }%
+}%
+\def\PACS at warn{If you want your PACS to appear in your output, use document class option showpacs}%
+\def\@keywords at produce#1{%
+ \showKEYS at sw{%
+  \begingroup
+   \frontmatter at keys@format
+   \@keys at name#1\par
+  \endgroup
+ }{%
+  \@if at empty{#1}{}{%
+   \class at warn{If you want your keywords to appear in your output, use document class option showkeys}%
+  }%
+ }%
+}%
+\def\frontmatter at footnote@produce at footnote{%
+ \let\@TBN at opr\present at FM@footnote
+ \@FMN at list
+ \global\let\@FMN at list\@empty
+}%
+\def\present at FM@footnote#1#2{%
+ \begingroup
+  \csname c@\@mpfn\endcsname#1\relax
+  \def\@thefnmark{\frontmatter at thefootnote}%
+  \frontmatter at footnotetext{#2}%
+ \endgroup
+}%
+\def\frontmatter at footnote@produce at endnote{%
+}%
+\appdef\frontmatter at init{%
+ \@ifxundefined\title at column         {\let\title at column\@empty}{}%
+ \@ifxundefined\preprintsty at sw       {\@booleanfalse\preprintsty at sw}{}%
+ \@ifxundefined\frontmatter at footnote@produce{\let\frontmatter at footnote@produce\frontmatter at footnote@produce at footnote}{}%
+ \@ifxundefined\do at output@MVL        {\let\do at output@MVL\@firstofone}{}%
+ \@ifxundefined\comma at space          {\let\comma at space\@empty}{}%
+}%
+\def\frontmatter at thefootnote{%
+ \altaffilletter at sw{\@alph}{\@fnsymbol}{\csname c@\@mpfn\endcsname}%
+}%
+\@ifx{\altaffilletter at sw\@undefined}{\@booleantrue\altaffilletter at sw}{}%
+\def\frontmatter at makefnmark{%
+ \@textsuperscript{%
+  \normalfont\@thefnmark
+ }%
+}%
+\long\def\frontmatter at makefntext#1{%
+ \parindent 1em
+ \noindent
+ \Hy at raisedlink{\hyper at anchorstart{frontmatter.\expandafter\the\csname c@\@mpfn\endcsname}\hyper at anchorend}%
+ \@makefnmark
+ #1%
+}%
+\def\frontmatter at setup{}%
+\def\frontmatter at RRAPformat#1{%
+ \removelastskip
+ \begingroup
+  \frontmatter at RRAP@format
+  #1\par
+ \endgroup
+}%
+\def\punct at RRAP{; }%
+\def\produce at RRAP#1{%
+  \@if at empty{#1}{}{%
+   \@ifvmode{\leavevmode}{\unskip\punct at RRAP\ignorespaces}%
+   #1%
+  }%
+}%
+\def\frontmatter at authorformat{}%
+\def\frontmatter at above@affilgroup{}%
+\def\frontmatter at above@affiliation{}%
+\def\frontmatter at above@affiliation at script{}%
+\def\frontmatter at affiliationfont{\itshape\selectfont}%
+\def\frontmatter at RRAP@format{}%
+\def\frontmatter at PACS@format{}%
+\def\frontmatter at keys@format{}%
+\def\frontmatter at finalspace{\addvspace{18\p@}}
+\def\frontmatter at addressnewline{%
+  \@ifhmode{\skip@\lastskip\unskip\unpenalty\break\hskip\skip@}{}%
+  % was: \vskip-.5ex
+}%
+\def\frontmatter at preabstractspace{5.5\p@}
+\def\frontmatter at postabstractspace{6.5\p@}
+\def\aftermaketitle at chk#1{%
+  \@ifx{\maketitle\relax}{%
+    \class at err{\protect#1 must be used before \protect\maketitle}%
+  }{}%
+}%
+\def\ps at titlepage{\ps at empty}%
+\def\volumeyear#1{\gdef\@volumeyear{#1}}%
+\def\@volumeyear{}%
+\def\volumenumber#1{\gdef\@volumenumber{#1}}%
+\def\@volumenumber{}%
+\def\issuenumber#1{\gdef\@issuenumber{#1}}%
+\def\@issuenumber{}%
+\def\eid#1{\gdef\@eid{#1}}%
+\def\@eid{}%
+\def\startpage#1{\gdef\@startpage{#1}\c at page#1\relax}%
+\def\@startpage{\pageref{FirstPage}}%
+\def\endpage#1{\gdef\@endpage{#1}}%
+\def\@endpage{\pageref{LastPage}}%
+\def\print at toc#1{%
+ \begingroup
+  \expandafter\section
+  \expandafter*%
+  \expandafter{%
+              \csname#1name\endcsname
+              }%
+  \let\appendix\appendix at toc
+  \@starttoc{#1}%
+ \endgroup
+}%
+\def\appendix at toc{}%
+\def\Dated at name{Dated }%
+\def\Received at name{Received }%
+\def\Revised at name{Revised }%
+\def\Accepted at name{Accepted }%
+\def\Published at name{Published }%
+\appdef\robustify at contents{%
+ \let\thanks\@gobble\let\class at warn\@gobble
+ \def\begin{\string\begin}\def\end{\string\end}%
+}%
+\@ifxundefined\frontmatter at syntax@sw{\@booleantrue\frontmatter at syntax@sw}{}%
+\frontmatter at syntax@sw{%
+ \let\title         \frontmatter at title
+ \let\author        \frontmatter at author
+ \let\date          \frontmatter at date
+ \@ifxundefined\@maketitle{%
+  \let\maketitle    \frontmatter at maketitle
+  \@booleantrue     \titlepage at sw
+ }{%
+  \let\@maketitle   \frontmatter at maketitle
+  \prepdef\maketitle\@author at finish
+ }%
+ \let\noaffiliation \frontmatter at noaffiliation
+ \let\thanks at latex  \thanks
+ \let\thanks        \frontmatter at thanks
+ \let\and at latex     \and
+ \let\and           \frontmatter at and
+ \let at environment{titlepage}{frontmatter at titlepage}%
+ \let at environment{abstract}{frontmatter at abstract}%
+}{%
+ \let\noaffiliation\@empty
+}%
+\typeout{%
+ltxgrid%
+ [2010/07/25/20:33:00 4.1r page grid package (portions licensed from W. E. Baxter web at superscript.com)]% \fileversion
+}%
+\newcounter{linecount}
+\def\loop at line#1#2{%
+ \par
+ \hb at xt@\hsize{%
+  \global\advance#1\@ne
+  \edef\@tempa{\@ifnum{100>#1}{0}{}\@ifnum{10>#1}{0}{}\number#1}%
+  \@tempa\edef\@tempa{\special{line:\@tempa}}\@tempa
+  \vrule depth2.5\p@#2\leaders\hrule\hfil
+ }%
+}%
+\def\lineloop#1{%
+ \loopwhile{\loop at line\c at linecount{}\@ifnum{#1>\c at linecount}}%
+}%
+\def\linefoot#1{%
+ \loop at line\c at linecount{%
+  \footnote{%
+   #1\special{foot:#1}\vrule depth2.5\p@\leaders\hrule\hfill
+  }%
+ }%
+}%
+\let\@@mark\mark
+\let\@@topmark\topmark
+\let\@@firstmark\firstmark
+\let\@@botmark\botmark
+\let\@@splitfirstmark\splitfirstmark
+\let\@@splitbotmark\splitbotmark
+\def\@themark{{}{}{}{}}%
+\def\nul at mark{{}{}{}{}\@@nul}%
+\def\set at mark@netw@#1#2#3#4#5#6#7{\gdef#1{{#6}{#7}{#4}{#5}}\do at mark}%
+\def\set at marktw@#1#2#3#4#5#6{\gdef#1{{#2}{#6}{#4}{#5}}\do at mark}%
+\def\set at markthr@@#1#2#3#4#5#6{\gdef#1{{#2}{#3}{#6}{#5}}\do at mark}%
+\def\get at mark@@ne#1#2#3#4#5\@@nul{#1}%
+\def\get at mark@tw@#1#2#3#4#5\@@nul{#2}%
+\def\get at mark@thr@@#1#2#3#4#5\@@nul{#3}%
+\def\get at mark@f at ur#1#2#3#4#5\@@nul{#4}%
+\def\mark at netw@{\expandafter\set at mark@netw@\expandafter\@themark\@themark}%
+\def\marktw@{\expandafter\set at marktw@\expandafter\@themark\@themark}%
+\def\markthr@@{\expandafter\set at markthr@@\expandafter\@themark\@themark}%
+\def\do at mark{\do@@mark\@themark\nobreak at mark}%
+\def\do@@mark#1{%
+ \begingroup
+  \let at mark
+  \@@mark{#1}%
+ \endgroup
+}%
+\def\let at mark{%
+ \let\protect\@unexpandable at protect
+ \let\label\relax
+ \let\index\relax
+ \let\glossary\relax
+}%
+\def\nobreak at mark{%
+ \@if at sw\if at nobreak\fi{\@ifvmode{\nobreak}{}}{}%
+}%
+\def\mark at envir{\markthr@@}%
+\def\bot at envir{%
+ \expandafter\expandafter
+ \expandafter\get at mark@thr@@
+ \expandafter\@@botmark
+             \nul at mark
+}%
+\def\markboth{\mark at netw@}%
+\def\markright{\marktw@}%
+\def\leftmark{%
+ \expandafter\expandafter
+ \expandafter\get at mark@@ne
+ \expandafter\saved@@botmark
+             \nul at mark
+}%
+\def\rightmark{%
+ \expandafter\expandafter
+ \expandafter\get at mark@tw@
+ \expandafter\saved@@firstmark
+             \nul at mark
+}%
+\let\primitive at output\output
+\long\def\@tempa#1\@@nil{#1}%
+            \toks@
+\expandafter\expandafter
+\expandafter{%
+\expandafter \@tempa
+             \the\primitive at output
+             \@@nil
+             }%
+\newtoks\output at latex
+\output at latex\expandafter{\the\toks@}%
+\let\output\output at latex
+\primitive at output{\dispatch at output}%
+\def\dispatch at output{%
+ \let\par\@@par
+ \expandafter\let\expandafter\output at procedure\csname output@\the\outputpenalty\endcsname
+ \@ifnotrelax\output at procedure{}{%
+  \expandafter\def\expandafter\output at procedure\expandafter{\the\output at latex}%
+ }%
+ \expandafter\@ifx\expandafter{\csname output at -\the\execute at message@pen\endcsname\output at procedure}{%
+  \let\output at procedure\@message at saved
+ }{}%
+ \ltxgrid at info@sw{\class at info{\string\dispatch at output}\say\output at procedure\saythe\holdinginserts}{}%
+ \outputdebug at sw{\output at debug}{}%
+ \output at procedure
+}%
+\def\set at output@procedure#1#2{%
+ \count@\outputpenalty\advance\count at -#2%
+ \expandafter\let\expandafter#1\csname output@\the\count@\endcsname
+}%
+\def\output at debug{%
+ \def\@tempa{\save at message}%
+ \@ifx{\output at procedure\@tempa}{%
+  \true at sw
+ }{%
+  \@ifnum{\outputpenalty=-\save at column@insert at pen}{%
+   \@ifnum{\holdinginserts>\z@}%
+  }{%
+   \false at sw
+  }%
+ }%
+ {}{\output at debug@}%
+}%
+\def\output at debug@{%
+  \saythe\outputpenalty
+  \saythe\interlinepenalty
+  \saythe\brokenpenalty
+  \saythe\clubpenalty
+  \saythe\widowpenalty
+  \saythe\displaywidowpenalty
+  \saythe\predisplaypenalty
+  \saythe\interdisplaylinepenalty
+  \saythe\postdisplaypenalty
+  \saythe\badness
+  \say\thepagegrid
+  \saythe\pagegrid at col
+  \saythe\pagegrid at cur
+  \saythe\insertpenalties
+  \say\@@botmark
+  \saythe\pagegoal
+  \saythe\pagetotal
+  \saythe{\badness\@cclv}%
+  \say\@toplist
+  \say\@botlist
+  \say\@dbltoplist
+  \say\@deferlist
+  \trace at scroll{%
+  \showbox\@cclv
+  \showbox\@cclv at saved
+  \showbox\pagesofar
+  \showbox\csname col at 1\endcsname
+  \showbox\footsofar
+  \showbox\footins
+  \showbox\footins at saved
+  \showlists
+  }%
+}%
+\@ifxundefined{\outputdebug at sw}{%
+ \@booleanfalse\outputdebug at sw
+}{}%
+\def\trace at scroll#1{\begingroup\showboxbreadth\maxdimen\showboxdepth\maxdimen\scrollmode#1\endgroup}%
+\def\trace at box#1{\trace at scroll{\showbox#1}}%
+\prepdef\@outputpage{\@outputpage at head}%
+\let\@outputpage at head\@empty
+\appdef\@outputpage{\@outputpage at tail}%
+\let\@outputpage at tail\@empty
+\def\show at box@size#1#2{%
+ \show at box@size at sw{%
+  \begingroup
+   \setbox\z@\vbox{\unvcopy#2\hrule}%
+   \class at info{Show box size: #1^^J%
+    (\the\ht\z@\space X \the\wd\z@)
+    \the\c at page\space\space\the\pagegrid at cur\space\the\pagegrid at col
+   }%
+  \endgroup
+ }{}%
+}%
+\def\show at text@box at size{%
+ \show at box@size{Text column}\@outputbox
+ \tally at box@size at sw{%
+  \@ifdim{\wd\@outputbox>\z@}{%
+   \dimen@\ht\@outputbox\divide\dimen@\@twopowerfourteen
+   \advance\dimen at -\dp\csname box at size@\the\pagegrid at col\endcsname
+   \@ifdim{\dimen@>\z@}{%
+    \advance\dimen@ \ht\csname box at size@\the\pagegrid at col\endcsname
+    \global\ht\csname box at size@\the\pagegrid at col\endcsname\dimen@
+    \show at box@size at sw{%
+     \class at info{Column: \the\dimen@}%
+    }{}%
+   }{}%
+  }{}%
+  \global\dp\csname box at size@\the\pagegrid at col\endcsname\z@
+ }{}%
+}%
+\def\show at pagesofar@size{%
+ \show at box@size{Page so far}\pagesofar
+ \dimen@\ht\pagesofar\divide\dimen@\@twopowerfourteen
+ \global\dp\csname box at size@1\endcsname\dimen@
+ \show at box@size at sw{%
+  \class at info{Pagesofar: \the\dimen@}%
+ }{}%
+}%
+\@booleanfalse\tally at box@size at sw
+\@booleanfalse\show at box@size at sw
+\expandafter\newbox\csname box at size@1\endcsname
+\expandafter\setbox\csname box at size@1\endcsname\hbox{}%
+\expandafter\newbox\csname box at size@2\endcsname
+\expandafter\setbox\csname box at size@2\endcsname\hbox{}%
+\def\total at text{%
+ \@tempdima\the\ht\csname box at size@2\endcsname\divide\@tempdima\@twopowertwo\@tempcnta\@tempdima
+ \@tempdimb\the\ht\csname box at size@1\endcsname\divide\@tempdimb\@twopowertwo\@tempcntb\@tempdimb
+ \class at info{Total text: Column(\the\@tempcnta pt), Page(\the\@tempcntb pt)}%
+}%
+\def\natural at output{\toggle at insert{\output at holding}{\output at moving}}%
+\output at latex{\natural at output}%
+\def\output at holding{%
+ \csname output at init@\bot at envir\endcsname
+ \@if at exceed@pagegoal{\unvcopy\@cclv}{%
+  \setbox\z@\vbox{\unvcopy\@cclv}%
+  \outputdebug at sw{\trace at box\z@}{}%
+  \dimen@\ht\@cclv\advance\dimen at -\ht\z@
+  \dead at cycle@repair\dimen@
+ }{%
+  \dead at cycle
+ }%
+}%
+\def\@if at exceed@pagegoal#1{%
+ \begingroup
+  \setbox\z@\vbox{#1}%
+  \dimen@\ht\z@\advance\dimen@\dp\z@
+  \outputdebug at sw{\saythe\dimen@}{}%
+  \@ifdim{\dimen@>\pagegoal}{%
+   \setbox\z@\vbox{\@@mark{}\unvbox\z@}%
+   \splittopskip\topskip
+   \splitmaxdepth\maxdepth
+   \vbadness\@M
+   \vfuzz\maxdimen
+   \setbox\tw@\vsplit\z@ to\pagegoal
+   \outputdebug at sw{\trace at scroll{\showbox\tw@\showbox\z@}}{}%
+   \setbox\tw@\vbox{\unvbox\tw@}%
+   \@ifdim{\ht\tw@=\z@}{%
+    \ltxgrid at info{Found overly large chunk while preparing to move insertions. Attempting repairs}%
+    \aftergroup\true at sw
+   }{%
+    \aftergroup\false at sw
+   }%
+ }{%
+  \aftergroup\false at sw
+ }%
+ \endgroup
+}%
+\def\output at moving{%
+ \set at top@firstmark
+ \@ifnum{\outputpenalty=\do at newpage@pen}{%
+  \setbox\@cclv\vbox{%
+   \unvbox\@cclv
+   \remove at lastbox
+   \@ifdim{\ht\z@=\ht\@protection at box}{\box\lastbox}{\unskip}%
+  }%
+ }{}%
+ \@cclv at nontrivial@sw{%
+  \expandafter\output at do@prep\csname output at prep@\bot at envir \endcsname
+  \@makecolumn\true at sw
+  \expandafter\output at column@do\csname output at column@\thepagegrid\endcsname
+  \protect at penalty\do at startcolumn@pen
+  \clearpage at sw{%
+   \protect at penalty\do at endpage@pen
+  }{}%
+  \expandafter\let\expandafter\output at post@\csname output at post@\bot at envir \endcsname
+  \outputdebug at sw{\say\output at post@}{}%
+  \@ifx{\output at post@\relax}{\output at post@document}{\output at post@}%
+ }{%
+  \void at cclv
+ }%
+ \set at colht
+ \global\@mparbottom\z@
+ \global\@textfloatsheight\z@
+}%
+\def\output at do@prep#1{%
+ \outputdebug at sw{\class at info{Prep: \string#1}}{}%
+ \@ifx{#1\relax}{\output at prep@document}{#1}%
+}%
+\def\output at column@do#1{%
+  \outputdebug at sw{\class at info{Output column: \string#1}}{}%
+  \@ifx{#1\relax}{\output at column@one}{#1}%
+}%
+\def\void at cclv{\begingroup\setbox\z@\box\@cclv\endgroup}%
+\def\remove at lastbox{\setbox\z@\lastbox}%
+\def\@cclv at nontrivial@sw{%
+ \@ifx at empty\@toplist{%
+  \@ifx at empty\@botlist{%
+   \@ifvoid\footins{%
+    \@ifvoid\@cclv{%
+     \false at sw
+    }{%
+     \setbox\z@\vbox{\unvcopy\@cclv}%
+     \@ifdim{\ht\z@=\topskip}{%
+      \setbox\z@\vbox\bgroup
+       \unvbox\z@
+       \remove at lastbox
+       \dimen@\lastskip\unskip
+       \@ifdim{\ht\z@=\ht\@protection at box}{%
+        \advance\dimen@\ht\z@
+        \@ifdim{\dimen@=\topskip}{%
+         \aftergroup\true at sw
+        }{%
+         \aftergroup\false at sw
+        }%
+       }{%
+        \aftergroup\false at sw
+       }%
+      \egroup
+      {%
+       \false at sw
+      }{%
+       \true at sw
+      }%
+     }{%
+      \@ifdim{\ht\z@=\z@}{%
+       \ltxgrid at info{Found trivial column. Discarding it}%
+       \outputdebug at sw{\trace at box\@cclv}{}%
+       \false at sw
+      }{%
+       \true at sw
+      }%
+     }%
+    }%
+   }{%
+    \true at sw
+   }%
+  }{%
+   \true at sw
+  }%
+ }{%
+  \true at sw
+ }%
+}%
+\def\protect at penalty#1{\protection at box\penalty-#1\relax}%
+\newbox\@protection at box
+\setbox\@protection at box\vbox to1986sp{\vfil}%
+\def\protection at box{\nointerlineskip\copy\@protection at box}%
+\def\dead at cycle@repair#1{%
+ \expandafter\do@@mark
+ \expandafter{%
+              \@@botmark
+             }%
+ \unvbox\@cclv
+ \nointerlineskip
+ \vbox to#1{\vss}%
+ \@ifnum{\outputpenalty<\@M}{\penalty\outputpenalty}{}%
+}%
+\def\dead at cycle@repair at protected#1{%
+ \expandafter\do@@mark
+ \expandafter{%
+              \@@botmark
+             }%
+ \begingroup
+  \unvbox\@cclv
+  \remove at lastbox
+  \nointerlineskip
+  \advance#1-\ht\@protection at box
+  \vbox to#1{\vss}%
+  \protection at box % Reinsert protection box
+  \@ifnum{\outputpenalty<\@M}{\penalty\outputpenalty}{}%
+ \endgroup
+}%
+\def\dead at cycle{%
+ \expandafter\do@@mark
+ \expandafter{%
+              \@@botmark
+             }%
+ \unvbox\@cclv
+ \@ifnum{\outputpenalty<\@M}{\penalty\outputpenalty}{}%
+}%
+\def\output at init@document{%
+ \ltxgrid at info@sw{\class at info{\string\output at init@document}}{}%
+ \global\vsize\vsize
+}%
+\def\output at prep@document{%
+ \ltxgrid at foot@info at sw{\class at info{\string\output at prep@document}\trace at scroll{\showbox\footins\showbox\footsofar}}{}%
+ \@ifvoid\footsofar{%
+ }{%
+  \global\setbox\footins\vbox\bgroup
+   \unvbox\footsofar
+   \@ifvoid\footins{}{%
+    \marry at baselines
+    \unvbox\footins
+   }%
+  \egroup
+  \ltxgrid at foot@info at sw{\trace at box\footins}{}%
+ }%
+}%
+\def\output at post@document{}%
+\let\@opcol\@undefined
+\def\@makecolumn#1{%
+ \ltxgrid at foot@info at sw{\class at info{\string\@makecolumn\string#1}}{}%
+ \setbox\@outputbox\vbox\bgroup
+  \boxmaxdepth\@maxdepth
+  \@tempdima\dp\@cclv
+  \unvbox\@cclv
+  \vskip-\@tempdima
+ \egroup
+ \xdef\@freelist{\@freelist\@midlist}\global\let\@midlist\@empty
+ \show at text@box at size
+ \@combinefloats
+ #1{%
+  \@combineinserts\@outputbox\footins
+ }{%
+  \combine at foot@inserts\footsofar\footins
+ }%
+ \set at adj@colht\dimen@
+ \count@\vbadness
+ \vbadness\@M
+ \setbox\@outputbox\vbox to\dimen@\bgroup
+  \@texttop
+  \dimen@\dp\@outputbox
+  \unvbox\@outputbox
+  \vskip-\dimen@
+  \@textbottom
+ \egroup
+ \vbadness\count@
+ \global\maxdepth\@maxdepth
+}%
+\let\@makespecialcolbox\@undefined
+\def\@combineinserts#1#2{%
+ \ltxgrid at foot@info at sw{\class at info{\string\@combineinserts\string#1\string#2}\trace at box#2}{}%
+ \setbox#1\vbox\bgroup
+  \unvbox#1%
+  \@ifvoid{#2}{}{%
+   \dimen@\ht#2\advance\dimen@\dp#2\advance\dimen@\skip#2%
+   \show at box@size{Combining inserts}#2%
+   \vskip\skip#2%
+   \setbox\z@\vbox{\footnoterule}\dimen at i\ht\z@
+   \color at begingroup
+   \normalcolor
+   \cleaders\box\z@\vskip\dimen at i\kern-\dimen at i
+   \csname combine at insert@\the\pagegrid at col\endcsname#2%
+   \color at endgroup
+   \kern-\dimen@\kern\dimen@
+  }%
+ \egroup
+ \ltxgrid at foot@info at sw{\trace at box#1}{}%
+}%
+\def\combine at insert@tw@#1{%
+ \compose at footnotes@two#1\@ifvbox{#1}{\unvbox}{\box}#1%
+}%
+\def\combine at insert@@ne#1{%
+ \compose at footnotes@one#1\@ifvbox{#1}{\unvbox}{\box}#1%
+}%
+\def\twocolumn at grid@setup{%
+ \expandafter\let\csname combine at insert@1\endcsname\combine at insert@tw@
+ \expandafter\let\csname combine at insert@2\endcsname\combine at insert@@ne
+}%
+\def\onecolumn at grid@setup{%
+ \expandafter\let\csname combine at insert@1\endcsname\combine at insert@@ne
+ \expandafter\let\csname combine at insert@2\endcsname\combine at insert@@ne
+}%
+\let\columngrid at setup\onecolumn at grid@setup
+\columngrid at setup
+\appdef\@floatplacement{%
+ \global\@fpmin\@fpmin
+}%
+\mathchardef\pagebreak at pen=\@M
+\expandafter\let\csname output at -\the\pagebreak at pen\endcsname\relax
+\mathchardef\do at startcolumn@pen=10005
+\@namedef{output at -\the\do at startcolumn@pen}{\do at startcolumn}%
+\def\do at startcolumn{%
+ \setbox\@cclv\vbox{\unvbox\@cclv\remove at lastbox\unskip}%
+ \clearpage at sw{\@clearfloatplacement}{\@floatplacement}%
+ \set at colht
+ \@booleanfalse\pfloat at avail@sw
+ \begingroup
+  \@colht\@colroom
+  \@booleanfalse\float at avail@sw
+  \@tryfcolumn\test at colfloat
+  \float at avail@sw{\aftergroup\@booleantrue\aftergroup\pfloat at avail@sw}{}%
+ \endgroup
+ \fcolmade at sw{%
+  \setbox\@cclv\vbox{\unvbox\@outputbox\unvbox\@cclv}%
+  \outputpenalty-\pagebreak at pen
+  \dead at cycle
+ }{%
+  \begingroup
+   \let\@elt\@scolelt
+   \let\reserved at b\@deferlist\global\let\@deferlist\@empty\reserved at b
+  \endgroup
+  \clearpage at sw{%
+   \outputpenalty\@M
+  }{%
+   \outputpenalty\do at newpage@pen
+  }%
+  \dead at cycle
+ }%
+ \check at deferlist@stuck\do at startcolumn
+ \set at vsize
+}%
+\def\@scolelt#1{\def\@currbox{#1}\@addtonextcol}%
+\def\test at colfloat#1{%
+ \csname @floatselect at sw@\thepagegrid\endcsname#1{}{\@testtrue}%
+ \@if at sw\if at test\fi{}{\aftergroup\@booleantrue\aftergroup\float at avail@sw}%
+}%
+\def\@addtonextcol{%
+ \begingroup
+  \@insertfalse
+  \@setfloattypecounts
+  \csname @floatselect at sw@\thepagegrid\endcsname\@currbox{%
+   \@ifnum{\@fpstype=8 }{}{%
+     \@ifnum{\@fpstype=24 }{}{%
+       \@flsettextmin
+       \@reqcolroom \ht\@currbox
+       \advance \@reqcolroom \@textmin
+       \advance \@reqcolroom \vsize % take into account split insertions
+       \advance \@reqcolroom -\pagegoal
+       \@ifdim{\@colroom>\@reqcolroom}{%
+         \@flsetnum \@colnum
+         \@ifnum{\@colnum>\z@}{%
+            \@bitor\@currtype\@deferlist
+            \@if at sw\if at test\fi{}{%
+              \@addtotoporbot
+            }%
+         }{}%
+       }{}%
+     }%
+   }%
+  }{}%
+  \@if at sw\if at insert\fi{}{%
+    \@cons\@deferlist\@currbox
+  }%
+ \endgroup
+}%
+\mathchardef\do at startpage@pen=10006
+\@namedef{output at -\the\do at startpage@pen}{\do at startpage}%
+\def\do at startpage{%
+ \setbox\@cclv\vbox{\unvbox\@cclv\remove at lastbox\unskip}%
+ \clearpage at sw{\@clearfloatplacement}{\@dblfloatplacement}%
+ \set at colht
+ \@booleanfalse\pfloat at avail@sw
+ \begingroup
+  \@booleanfalse\float at avail@sw
+  \@tryfcolumn\test at dblfloat
+  \float at avail@sw{\aftergroup\@booleantrue\aftergroup\pfloat at avail@sw}{}%
+ \endgroup
+ \fcolmade at sw{%
+  \global\setbox\pagesofar\vbox{\unvbox\pagesofar\unvbox\@outputbox}%
+  \@output at combined@page
+ }{%
+  \begingroup
+   \@booleanfalse\float at avail@sw
+   \let\@elt\@sdblcolelt
+   \let\reserved at b\@deferlist\global\let\@deferlist\@empty\reserved at b
+  \endgroup
+  \@ifdim{\@colht=\textheight}{% No luck...
+   \pfloat at avail@sw{% ...but a float *was* available!
+    \forcefloats at sw{%
+     \ltxgrid at warn{Forced dequeueing of floats stalled}%
+    }{%
+     \ltxgrid at warn{Dequeueing of floats stalled}%
+    }%
+   }{}%
+  }{}%
+  \outputpenalty\@M
+  \dead at cycle
+ }%
+ \check at deferlist@stuck\do at startpage
+ \set at colht
+}%
+\def\@output at combined@page{%
+ \@combinepage\true at sw
+ \@combinedblfloats
+ \@outputpage
+ \global\pagegrid at cur\@ne
+ \protect at penalty\do at startpage@pen
+}%
+\def\@sdblcolelt#1{\def\@currbox{#1}\@addtodblcol}%
+\def\test at dblfloat#1{%
+ \@if at notdblfloat{#1}{\@testtrue}{}%
+ \@if at sw\if at test\fi{}{\aftergroup\@booleantrue\aftergroup\float at avail@sw}%
+}%
+\def\@if at notdblfloat#1{\@ifdim{\wd#1<\textwidth}}%
+\@booleanfalse\forcefloats at sw
+\def\@addtodblcol{%
+ \begingroup
+  \@if at notdblfloat{\@currbox}{%
+   \false at sw
+  }{%
+   \@setfloattypecounts
+   \@getfpsbit \tw@
+   \@bitor \@currtype \@deferlist
+   \@if at sw\if at test\fi{%
+    \false at sw
+   }{%
+    \@ifodd\@tempcnta{%
+     \aftergroup\@booleantrue\aftergroup\float at avail@sw
+     \@flsetnum \@dbltopnum
+     \@ifnum{\@dbltopnum>\z@}{%
+       \@ifdim{\@dbltoproom>\ht\@currbox}{%
+        \true at sw
+       }{%
+        \@ifnum{\@fpstype<\sixt@@n}{%
+         \begingroup
+          \advance \@dbltoproom \@textmin
+          \@ifdim{\@dbltoproom>\ht\@currbox}{%
+           \endgroup\true at sw
+          }{%
+           \endgroup\false at sw
+          }%
+        }{%
+         \false at sw
+        }%
+       }%
+     }{%
+      \false at sw
+     }%
+    }{%
+     \false at sw
+    }%
+   }%
+  }%
+  {%
+   \@tempdima -\ht\@currbox
+   \advance\@tempdima
+    -\@ifx{\@dbltoplist\@empty}{\dbltextfloatsep}{\dblfloatsep}%
+   \global \advance \@dbltoproom \@tempdima
+   \global \advance \@colht \@tempdima
+   \global \advance \@dbltopnum \m at ne
+   \@cons \@dbltoplist \@currbox
+  }{%
+   \@cons \@deferlist \@currbox
+  }%
+ \endgroup
+}%
+\def\@tryfcolumn#1{%
+  \global\@booleanfalse\fcolmade at sw
+  \@ifx at empty\@deferlist{}{%
+    \global\let\@trylist\@deferlist
+    \global\let\@failedlist\@empty
+    \begingroup
+      \dimen@\vsize\advance\dimen at -\pagegoal\@ifdim{\dimen@>\z@}{%
+       \advance\@fpmin-\dimen@
+      }{}%
+      \def\@elt{\@xtryfc#1}\@trylist
+    \endgroup
+    \fcolmade at sw{%
+      \global\setbox\@outputbox\vbox{\vskip \@fptop}%
+      \let \@elt \@wtryfc \@flsucceed
+      \global\setbox\@outputbox\vbox{\unvbox\@outputbox
+        \unskip \vskip \@fpbot
+      }%
+      \let \@elt \relax
+      \xdef\@deferlist{\@failedlist\@flfail}%
+      \xdef\@freelist{\@freelist\@flsucceed}%
+    }{}%
+  }%
+}%
+\def\@wtryfc #1{%
+  \global\setbox\@outputbox\vbox{\unvbox\@outputbox
+    \box #1\vskip\@fpsep
+  }%
+}%
+\def\@xtryfc#1#2{%
+  \@next\reserved at a\@trylist{}{}% trim \@trylist. Ugly!
+  \@currtype \count #2%
+  \divide\@currtype\@xxxii\multiply\@currtype\@xxxii
+  \@bitor \@currtype \@failedlist
+  \@testfp #2%
+  #1#2%
+  \@ifdim{\ht #2>\@colht   }{\@testtrue}{}%
+  \@if at sw\if at test\fi{%
+   \@cons\@failedlist #2%
+  }{%
+   \begingroup
+     \gdef\@flsucceed{\@elt #2}%
+     \global\let\@flfail\@empty
+     \@tempdima\ht #2%
+     \def \@elt {\@ztryfc#1}\@trylist
+     \@ifdim{\@tempdima >\@fpmin}{%
+       \global\@booleantrue\fcolmade at sw
+     }{%
+       \@cons\@failedlist #2%
+     }%
+   \endgroup
+   \fcolmade at sw{%
+     \let \@elt \@gobble
+   }{}%
+  }%
+}%
+\def\@ztryfc #1#2{%
+  \@tempcnta \count#2%
+  \divide\@tempcnta\@xxxii\multiply\@tempcnta\@xxxii
+  \@bitor \@tempcnta {\@failedlist \@flfail}%
+  \@testfp #2%
+  #1#2%
+  \@tempdimb\@tempdima
+  \advance\@tempdimb \ht#2\advance\@tempdimb\@fpsep
+  \@ifdim{\@tempdimb >\@colht}{%
+    \@testtrue
+  }{}%
+  \@if at sw\if at test\fi{%
+    \@cons\@flfail #2%
+  }{%
+    \@cons\@flsucceed #2%
+    \@tempdima\@tempdimb
+  }%
+}%
+\def\newpage at prep{%
+  \if at noskipsec
+    \ifx \@nodocument\relax
+      \leavevmode
+      \global \@noskipsecfalse
+    \fi
+  \fi
+  \if at inlabel
+    \leavevmode
+    \global \@inlabelfalse
+  \fi
+  \if at nobreak \@nobreakfalse \everypar{}\fi
+  \par
+}%
+\def \newpage {%
+ \newpage at prep
+ \do at output@MVL{%
+  \vfil
+  \penalty-\pagebreak at pen
+ }%
+}%
+\def\clearpage{%
+ \newpage at prep
+ \do at output@MVL{%
+  \vfil
+  \penalty-\pagebreak at pen
+  \global\@booleantrue\clearpage at sw
+  \protect at penalty\do at startcolumn@pen
+  \protect at penalty\do at endpage@pen
+ }%
+ \do at output@MVL{%
+  \global\@booleanfalse\clearpage at sw
+ }%
+}%
+\def\cleardoublepage{%
+ \clearpage
+ \@if at sw\if at twoside\fi{%
+  \@ifodd\c at page{}{%
+   \null\clearpage
+  }%
+ }{}%
+}%
+\@booleanfalse\clearpage at sw
+\mathchardef\do at endpage@pen=10007
+\@namedef{output at -\the\do at endpage@pen}{\csname end at column@\thepagegrid\endcsname}%
+\mathchardef\do at newpage@pen=10001
+\expandafter\let\csname output at -\the\do at newpage@pen\endcsname\relax
+\def\@clearfloatplacement{%
+ \global\@topnum     \maxdimen
+ \global\@toproom    \maxdimen
+ \global\@botnum     \maxdimen
+ \global\@botroom    \maxdimen
+ \global\@colnum     \maxdimen
+ \global\@dbltopnum  \maxdimen
+ \global\@dbltoproom \maxdimen
+ \global\@textmin    \z@
+ \global\@fpmin      \z@
+ \let\@testfp\@gobble
+ \appdef\@setfloattypecounts{\@fpstype16\advance\@fpstype\m at ne}%
+}%
+\let\@doclearpage\@undefined
+\let\@makefcolumn\@undefined
+\let\@makecol\@undefined
+\def\clr at top@firstmark{%
+ \global\let\saved@@topmark\@undefined
+ \global\let\saved@@firstmark\@empty
+ \global\let\saved@@botmark\@empty
+}%
+\clr at top@firstmark
+\def\set at top@firstmark{%
+ \@ifxundefined\saved@@topmark{\expandafter\gdef\expandafter\saved@@topmark\expandafter{\@@topmark}}{}%
+ \@if at empty\saved@@firstmark{\expandafter\gdef\expandafter\saved@@firstmark\expandafter{\@@firstmark}}{}%
+ \@if at empty\@@botmark{}{\expandafter\gdef\expandafter\saved@@botmark\expandafter{\@@botmark}}%
+}%
+\appdef\@outputpage at tail{%
+ \clr at top@firstmark
+}%
+\def\@float#1{%
+ \@ifnextchar[{%
+  \@yfloat\width at float{#1}%
+ }{%
+  \@ifxundefined at cs{fps@#1}{}{\expandafter\let\expandafter\fps@\csname fps@#1\endcsname}%
+  \expandafter\@argswap\expandafter{\expandafter[\fps@]}{\@yfloat\width at float{#1}}%
+ }%
+}%
+\def\@dblfloat#1{%
+ \@ifnum{\pagegrid at col=\@ne}{%
+  \@float{#1}%
+ }{%
+  \@ifnextchar[{%
+   \@yfloat\widthd at float{#1}%
+  }{%
+   \@ifxundefined at cs{fpsd@#1}{}{\expandafter\let\expandafter\fpsd@\csname fpsd@#1\endcsname}%
+   \expandafter\@argswap\expandafter{\expandafter[\fpsd@]}{\@yfloat\widthd at float{#1}}%
+  }%
+ }%
+}%
+\def\@yfloat#1#2[#3]{%
+ \@xfloat{#2}[#3]%
+ \hsize#1\linewidth\hsize
+ \let\set at footnotewidth\@empty
+ \minipagefootnote at init
+}%
+\def\fps@{tbp}%
+\def\fpsd@{tp}%
+\def\width at float{\columnwidth}%
+\def\widthd at float{\textwidth}%
+\def\end at float{%
+ \end@@float{%
+  \check at currbox@count
+ }%
+}%
+\def\end at dblfloat{%
+ \@ifnum{\pagegrid at col=\@ne}{%
+  \end at float
+ }{%
+  \end@@float{%
+   \@iffpsbit\@ne{\global\advance\count\@currbox\m at ne}{}%
+   \@iffpsbit\f at ur{\global\advance\count\@currbox-4\relax}{}%
+   \global\wd\@currbox\textwidth % Klootch
+   \check at currbox@count
+  }%
+ }%
+}%
+\def\end@@float#1{%
+ \minipagefootnote at here
+ \@endfloatbox
+ #1%
+ \@ifnum{\@floatpenalty <\z@}{%
+  \@largefloatcheck
+  \@cons\@currlist\@currbox
+  \@ifnum{\@floatpenalty <-\@Mii}{%
+   \do at output@cclv{\@add at float}%
+  }{%
+   \vadjust{\do at output@cclv{\@add at float}}%
+   \@Esphack
+  }%
+ }{}%
+}%
+\newcommand\float at end@float{%
+ \@endfloatbox
+ \global\setbox\@currbox\float at makebox\columnwidth
+ \let\@endfloatbox\relax
+ \end at float
+}%
+\newcommand\float at end@ltx{%
+ \end@@float{%
+  \global\setbox\@currbox\float at makebox\columnwidth
+  \check at currbox@count
+ }%
+}%
+\newcommand\newfloat at float[3]{%
+ \@namedef{ext@#1}{#3} %!
+ \let\float at do=\relax
+ \xdef\@tempa{\noexpand\float at exts{\the\float at exts \float at do{#3}}}%
+ \@tempa
+ \floatplacement{#1}{#2}%
+ \@ifundefined{fname@#1}{\floatname{#1}{#1}}{} %!
+ \expandafter\edef\csname ftype@#1\endcsname{\value{float at type}}%
+ \addtocounter{float at type}{\value{float at type}} %!
+ \restylefloat{#1}%
+ \expandafter\edef\csname fnum@#1\endcsname{%
+  \expandafter\noexpand\csname fname@#1\endcsname{} %!
+  \expandafter\noexpand\csname the#1\endcsname
+ }
+ \@ifnextchar[%]
+  {%
+   \float at newx{#1}%
+  }{%
+   \@ifundefined{c@#1}{\newcounter{#1}\@namedef{the#1}{\arabic{#1}}}{}%
+  }%
+}%
+\newcommand\newfloat at ltx[3]{%
+ \@namedef{ext@#1}{#3}%
+ \let\float at do=\relax
+ \xdef\@tempa{\noexpand\float at exts{\the\float at exts \float at do{#3}}}%
+ \@tempa
+ \floatplacement{#1}{#2}%
+ \@ifundefined{fname@#1}{\floatname{#1}{#1}}{}%
+ \expandafter\edef\csname ftype@#1\expandafter\endcsname\expandafter{\the\c at float@type}%
+ \addtocounter{float at type}{\value{float at type}}%
+ \restylefloat{#1}%
+ \expandafter\edef\csname fnum@#1\endcsname{%
+  \expandafter\noexpand\csname fname@#1\endcsname{}%
+  \expandafter\noexpand\csname the#1\endcsname
+ }
+ \@ifnextchar[%]
+  {%
+   \float at newx{#1}%
+  }{%
+   \@ifundefined{c@#1}{\newcounter{#1}\@namedef{the#1}{\arabic{#1}}}{}%
+  }%
+}%
+\appdef\document at inithook{%
+ \@ifxundefined\newfloat{}{%
+  \@ifx{\float at end\float at end@float}{%
+   \@ifx{\newfloat\newfloat at float}{\true at sw}{\false at sw}%
+   }{\false at sw}%
+   {%
+    \class at warn{Repair the float package}%
+    \let\float at end\float at end@ltx
+    \let\newfloat\newfloat at ltx
+   }{%
+    \class at warn{Failed to patch the float package}%
+   }%
+ }%
+}%
+\def\@iffpsbit#1{%
+ \begingroup
+  \@tempcnta\count\@currbox
+  \divide\@tempcnta#1\relax
+  \@ifodd\@tempcnta{\aftergroup\true at sw}{\aftergroup\false at sw}%
+ \endgroup
+}%
+\def\check at currbox@count{%
+ \@ifnum{\count\@currbox>\z@}{%
+  \count@\count\@currbox\divide\count@\sixt@@n\multiply\count@\sixt@@n
+  \@tempcnta\count\@currbox\advance\@tempcnta-\count@
+  \@ifnum{\@tempcnta=\z@}{%
+   \ltxgrid at warn{Float cannot be placed}%
+  }{}%
+  \expandafter\tally at float\expandafter{\@captype}%
+ }{%
+ }%
+}%
+\providecommand\minipagefootnote at init{}%
+\providecommand\minipagefootnote at here{}%
+\providecommand\tally at float[1]{}%
+\let\@specialoutput\@undefined
+\def\@add at float{%
+ \@pageht\ht\@cclv\@pagedp\dp\@cclv
+ \unvbox\@cclv
+ \@next\@currbox\@currlist{%
+  \csname @floatselect at sw@\thepagegrid\endcsname\@currbox{%
+   \@ifnum{\count\@currbox>\z@}{%
+    \advance \@pageht \@pagedp
+    \advance \@pageht \vsize \advance \@pageht -\pagegoal
+    \@addtocurcol
+   }{%
+    \@addmarginpar
+   }%
+  }{%
+   \@resethfps
+   \@cons\@deferlist\@currbox
+  }%
+ }{\@latexbug}%
+ \@ifnum{\outputpenalty<\z@}{%
+  \@if at sw\if at nobreak\fi{%
+   \nobreak
+  }{%
+   \addpenalty \interlinepenalty
+  }%
+ }{}%
+ \set at vsize
+}%
+\let\@reinserts\@undefined
+\def \@addtocurcol {%
+   \@insertfalse
+   \@setfloattypecounts
+   \ifnum \@fpstype=8
+   \else
+     \ifnum \@fpstype=24
+     \else
+       \@flsettextmin
+       \advance \@textmin \@textfloatsheight
+       \@reqcolroom \@pageht
+       \ifdim \@textmin>\@reqcolroom
+         \@reqcolroom \@textmin
+       \fi
+       \advance \@reqcolroom \ht\@currbox
+       \ifdim \@colroom>\@reqcolroom
+         \@flsetnum \@colnum
+         \ifnum \@colnum>\z@
+           \@bitor\@currtype\@deferlist
+           \if at test
+           \else
+             \@bitor\@currtype\@botlist
+             \if at test
+               \@addtobot
+             \else
+               \ifodd \count\@currbox
+                 \advance \@reqcolroom \intextsep
+                 \ifdim \@colroom>\@reqcolroom
+                   \global \advance \@colnum \m at ne
+                   \global \advance \@textfloatsheight \ht\@currbox
+                   \global \advance \@textfloatsheight 2\intextsep
+                   \@cons \@midlist \@currbox
+                   \if at nobreak
+                     \nobreak
+                     \@nobreakfalse
+                     \everypar{}%
+                   \else
+                     \addpenalty \interlinepenalty
+                   \fi
+                   \vskip \intextsep
+                   \unvbox\@currbox %AO
+                   \penalty\interlinepenalty
+                   \vskip\intextsep
+                   \ifnum\outputpenalty <-\@Mii \vskip -\parskip\fi
+                   \outputpenalty \z@
+                   \@inserttrue
+                 \fi
+               \fi
+               \if at insert
+               \else
+                 \@addtotoporbot
+               \fi
+             \fi
+           \fi
+         \fi
+       \fi
+     \fi
+   \fi
+   \if at insert
+   \else
+     \@resethfps
+     \@cons\@deferlist\@currbox
+   \fi
+}%
+\@twocolumnfalse
+\let\@twocolumntrue\@twocolumnfalse
+\def\@addmarginpar{%
+ \@next\@marbox\@currlist{%
+  \@cons\@freelist\@marbox\@cons\@freelist\@currbox
+ }\@latexbug
+ \setbox\@marbox\hb at xt@\columnwidth{%
+  \csname @addmarginpar@\thepagegrid\endcsname{%
+   \hskip-\marginparsep\hskip-\marginparwidth
+   \box\@currbox
+  }{%
+   \hskip\columnwidth\hskip\marginparsep
+   \box\@marbox
+  }%
+  \hss
+ }%
+ \setbox\z@\box\@currbox
+    \@tempdima\@mparbottom
+    \advance\@tempdima -\@pageht
+    \advance\@tempdima\ht\@marbox
+ \@ifdim{\@tempdima >\z@}{%
+   \@latex at warning@no at line {Marginpar on page \thepage\space moved}%
+ }{%
+   \@tempdima\z@
+ }%
+    \global\@mparbottom\@pageht
+    \global\advance\@mparbottom\@tempdima
+    \global\advance\@mparbottom\dp\@marbox
+    \global\advance\@mparbottom\marginparpush
+    \advance\@tempdima -\ht\@marbox
+    \global\setbox \@marbox
+                   \vbox {\vskip \@tempdima
+                          \box \@marbox}%
+    \global \ht\@marbox \z@
+    \global \dp\@marbox \z@
+    \kern -\@pagedp
+    \nointerlineskip
+  \box\@marbox
+    \nointerlineskip
+    \hbox{\vrule \@height\z@ \@width\z@ \@depth\@pagedp}%
+}%
+\newenvironment{turnpage}{%
+ \def\width at float{\textheight}%
+ \def\widthd at float{\textheight}%
+ \appdef\@endfloatbox{%
+  \@ifxundefined\@currbox{%
+   \ltxgrid at warn{Cannot rotate! Not a float}%
+  }{%
+   \setbox\@currbox\vbox to\textwidth{\vfil\unvbox\@currbox\vfil}%
+   \global\setbox\@currbox\vbox{\rotatebox{90}{\box\@currbox}}%
+  }%
+ }%
+}{%
+}%
+\def\rotatebox at dummy#1#2{%
+ \ltxgrid at warn{You must load the graphics or graphicx package in order to use the turnpage environment}%
+ #2%
+}%
+\appdef\document at inithook{%
+ \@ifxundefined\rotatebox{\let\rotatebox\rotatebox at dummy}{}%
+}%
+\@namedef{output at -1073741824}{%
+ \deadcycles\z@
+ \void at cclv
+}%
+\mathchardef\save at column@pen=10016
+\@namedef{output at -\the\save at column@pen}{\save at column}%
+\let \@cclv at saved \@holdpg
+\let \@holdpg \@undefined
+\def\save at column{%
+ \@ifvoid\@cclv at saved{%
+  \set at top@firstmark
+  \global\@topmark at saved\expandafter{\@@topmark}%
+ }{}%
+ \global\setbox\@cclv at saved\vbox{%
+  \@ifvoid\@cclv at saved{}{%
+   \unvbox\@cclv at saved
+   \marry at baselines
+  }%
+  \unvbox\@cclv
+  \lose at breaks
+  \remove at lastbox
+ }%
+}%
+\newtoks\@topmark at saved
+\def\prep at cclv{%
+ \void at cclv
+ \setbox\@cclv\box\@cclv at saved
+ \vbadness\@M
+}%
+\mathchardef\save at column@insert at pen=10017
+\@namedef{output at -\the\save at column@insert at pen}{\toggle at insert{\savecolumn at holding}{\savecolumn at moving}}%
+\def\savecolumn at holding{%
+ \@if at exceed@pagegoal{\unvcopy\@cclv\remove at lastbox}{%
+  \setbox\z@\vbox{\unvcopy\@cclv\remove at lastbox}%
+  \outputdebug at sw{\trace at box\z@}{}%
+  \dimen@\ht\@cclv\advance\dimen at -\ht\z@
+  \dead at cycle@repair at protected\dimen@
+ }{%
+  \dead at cycle
+ }%
+}%
+\def\savecolumn at moving{%
+ \ltxgrid at info@sw{\class at info{\string\savecolumn at moving}}{}%
+ \@cclv at nontrivial@sw{%
+  \save at column
+ }{%
+  \void at cclv
+ }%
+ \@ifvoid\footins{}{%
+  \ltxgrid at foot@info at sw{\class at info{\string\savecolumn at moving}\trace at scroll{\showbox\footins at saved\showbox\footins}}{}%
+  \@ifvoid\footins at saved{%
+   \global\setbox\footins at saved\box\footins
+  }{%
+   \global\setbox\footins at saved\vbox\bgroup
+    \unvbox\footins at saved
+    \marry at baselines
+    \unvbox\footins
+   \egroup
+  }%
+  \ltxgrid at foot@info at sw{\trace at box\footins at saved}{}%
+  \protect at penalty\save at column@insert at pen
+ }%
+}%
+\newbox\footins at saved
+\newbox\footins at recovered
+\newbox\column at recovered
+\mathchardef\save at message@pen=10018
+\@namedef{output at -\the\save at message@pen}{\save at message}%
+\def\save at message{%
+ \void at cclv
+ \toks@\expandafter{\@@firstmark}%
+ \expandafter\gdef\expandafter\@message at saved\expandafter{\the\toks@}%
+ \expandafter\do@@mark\expandafter{\the\@topmark at saved}%
+}%
+\gdef\@message at saved{}%
+\mathchardef\execute at message@pen=10019
+\@namedef{output at -\the\execute at message@pen}{\@message at saved}%
+\def\execute at message{%
+ \@execute at message\save at column@pen
+}%
+\def\execute at message@insert#1{%
+ \@execute at message\save at column@insert at pen{%
+  \setbox \footins \box \footins at saved
+  \ltxgrid at foot@info at sw{\class at info{\string\execute at message@insert}\trace at box\footins}{}%
+  #1%
+ }%
+}%
+\long\def\@execute at message#1#2{%
+ \begingroup
+  \dimen@\prevdepth\@ifdim{\dimen@<\z@}{\dimen@\z@}{}%
+  \setbox\z@\vbox{%
+   \protect at penalty#1%
+   \protection at box
+   \toks@{\prep at cclv#2}%
+   \@@mark{\the\toks@}%
+   \penalty-\save at message@pen
+   \setbox\z@\null\dp\z@\dimen@\ht\z at -\dimen@
+   \nointerlineskip\box\z@
+   \penalty-\execute at message@pen
+  }\unvbox\z@
+ \endgroup
+}%
+\def\do at output@cclv{\execute at message}%
+\def\do at output@MVL#1{%
+ \@ifvmode{%
+  \begingroup\execute at message{\unvbox\@cclv#1}\endgroup
+ }{%
+  \@ifhmode{%
+   \vadjust{\execute at message{\unvbox\@cclv#1}}%
+  }{%
+   \@latexerr{\string\do at output@MVL\space cannot be executed in this mode!}\@eha
+  }%
+ }%
+}%
+\def\lose at breaks{%
+ \loopwhile{%
+  \count@\lastpenalty
+  \@ifnum{\count@=\@M}{%
+   \unpenalty\true at sw
+  }{%
+   \false at sw
+  }%
+ }%
+}%
+\def\removestuff{\do at output@MVL{\unskip\unpenalty}}%
+\def\removephantombox{%
+ \vadjust{%
+  \execute at message{%
+   \unvbox\@cclv
+   \remove at lastbox
+   \unskip
+   \unskip
+   \unpenalty
+   \penalty\predisplaypenalty
+   \vskip\abovedisplayskip
+  }%
+ }%
+}%
+\def\addstuff#1#2{\edef\@tempa{\noexpand\do at output@MVL{\noexpand\@addstuff{#1}{#2}}}\@tempa}%
+\def\@addstuff#1#2{%
+ \skip@\lastskip\unskip
+ \count@\lastpenalty\unpenalty
+ \@if at empty{#1}{}{\penalty#1\relax}%
+ \@ifnum{\count@=\z@}{}{\penalty\count@}%
+ \vskip\skip@
+ \@if at empty{#2}{}{\vskip#2\relax}%
+}%
+\def\replacestuff#1#2{\edef\@tempa{\noexpand\do at output@MVL{\noexpand\@replacestuff{#1}{#2}}}\@tempa}%
+\def\@replacestuff#1#2{%
+ \skip@\lastskip\unskip
+ \count@\lastpenalty\unpenalty
+ \@if at empty{#1}{}{%
+ \@ifnum{\count@>\@M}{}{%
+   \@ifnum{\count@=\z@}{\count@=#1\relax}{%
+    \@ifnum{\count@<#1\relax}{}{%
+     \count@=#1\relax
+    }%
+   }%
+ }%
+ }%
+ \@ifnum{\count@=\z@}{}{\penalty\count@}%
+ \@if at empty{#2}{}{%
+  \@tempskipa#2\relax
+  \@ifdim{\z@>\@tempskipa}{%
+   \advance\skip at -\@tempskipa
+  }{%
+   \@ifdim{\skip@>\@tempskipa}{}{%
+    \skip@\@tempskipa
+   }%
+  }%
+ }%
+ \vskip\skip@
+}%
+\def\move at insertions{\global\holdinginserts\z@}%
+\def\hold at insertions{\global\holdinginserts\@ne}%
+\hold at insertions
+\def\toggle at insert#1#2{%
+ \@ifnum{\holdinginserts>\z@}{\move at insertions#1}{\hold at insertions#2}%
+}%
+\def\do at columngrid#1#2{%
+ \par
+ \expandafter\let\expandafter\@tempa\csname open at column@#1\endcsname
+ \@ifx{\relax\@tempa}{%
+  \ltxgrid at warn{Unknown page grid #1. No action taken}%
+ }{%
+  \do at output@MVL{\start at column{#1}{#2}}%
+ }%
+}%
+\def\start at column#1#2{%
+ \def\@tempa{#1}\@ifx{\@tempa\thepagegrid}{%
+  \ltxgrid at info{Already in page grid \thepagegrid. No action taken}%
+ }{%
+  \expandafter\execute at message@insert
+  \expandafter{%
+               \csname shut at column@\thepagegrid\expandafter\endcsname
+               \csname open at column@#1\endcsname{#2}%
+               \set at vsize
+             }%
+ }%
+}%
+\def\thepagegrid{one}%
+\newbox\pagesofar
+\newbox\footsofar
+\def\combine at foot@inserts#1#2{%
+  \ltxgrid at info@sw{\class at info{\string\combine at foot@inserts\string#1\string#2}}{}%
+  \@ifvoid#1{%
+    \ltxgrid at foot@info at sw{\trace at box#2}{}\global\setbox#1\box#2%
+  }{%
+   \global\setbox#1\vbox\bgroup
+    \ltxgrid at foot@info at sw{\trace at box#1}{}\unvbox#1%
+    \@ifvoid#2{}{%
+     \marry at baselines
+     \ltxgrid at foot@info at sw{\trace at box#2}{}\unvbox#2%
+    }%
+   \egroup
+  }%
+  \ltxgrid at foot@info at sw{\trace at scroll{\showbox#1\showbox#2}}{}%
+}%
+\newcommand\onecolumngrid{\do at columngrid{one}{\@ne}}%
+\let\onecolumn\@undefined
+\def\open at column@one#1{%
+ \ltxgrid at info@sw{\class at info{\string\open at column@one\string#1}}{}%
+ \unvbox\pagesofar
+ \@ifvoid{\footsofar}{}{%
+  \insert\footins\bgroup\unvbox\footsofar\egroup
+  \penalty\z@
+ }%
+ \gdef\thepagegrid{one}%
+ \global\pagegrid at col#1%
+ \global\pagegrid at cur\@ne
+ \global\count\footins\@m
+ \global\divide\count\footins\tw@
+ \set at column@hsize\pagegrid at col
+ \set at colht
+}%
+\def\shut at column@one{%
+ \ltxgrid at info@sw{\class at info{\string\shut at column@one}}{}%
+ \@makecolumn\false at sw
+ \global\setbox\pagesofar\vbox\bgroup
+  \recover at column\@outputbox\footsofar\column at recovered\footins at recovered
+ \egroup
+ \begingroup\setbox\z@\box\@outputbox\endgroup
+ \combine at foot@inserts\footsofar\footins
+ \set at colht
+}%
+\def\float at column@one{%
+ \@makecolumn\true at sw
+ \@outputpage
+}%
+\def\end at column@one{%
+ \unvbox\@cclv\remove at lastbox
+ \protect at penalty\do at newpage@pen
+}%
+\def\output at column@one{%
+ \@outputpage
+}%
+\def\@addmarginpar at one{%
+ \@if at sw\if at mparswitch\fi{%
+  \@ifodd\c at page{\false at sw}{\true at sw}%
+ }{\false at sw}{%
+  \@if at sw\if at reversemargin\fi{\false at sw}{\true at sw}%
+ }{%
+  \@if at sw\if at reversemargin\fi{\true at sw}{\false at sw}%
+ }%
+}%
+\def\@floatselect at sw@one#1{\true at sw}%
+\def\onecolumngrid at push{%
+ \do at output@MVL{%
+  \@ifnum{\pagegrid at col=\@ne}{%
+   \global\let\restorecolumngrid\@empty
+  }{%
+   \xdef\restorecolumngrid{%
+    \noexpand\start at column{\thepagegrid}{\the\pagegrid at col}%
+   }%
+   \start at column{one}{\@ne}%
+  }%
+ }%
+}%
+\def\onecolumngrid at pop{%
+ \do at output@MVL{\restorecolumngrid}%
+}%
+\newcommand\twocolumngrid{\do at columngrid{mlt}{\tw@}}%
+\let\twocolumn\@undefined
+\let\@topnewpage\@undefined
+\def\open at column@mlt#1{%
+ \ltxgrid at info@sw{\class at info{\string\open at column@mlt\string#1}}{}%
+ \@ifvoid{\footsofar}{}{%
+  \insert\footins\bgroup\unvbox\footsofar\egroup
+ }%
+ \gdef\thepagegrid{mlt}%
+ \global\pagegrid at col#1%
+ \global\pagegrid at cur\@ne
+ \global\count\footins\@m
+ \set at column@hsize\pagegrid at col
+ \set at colht
+}%
+\def\shut at column@mlt{%
+ \ltxgrid at info@sw{\class at info{\string\shut at column@mlt}}{}%
+ \@cclv at nontrivial@sw{%
+  \@makecolumn\false at sw
+  \@ifnum{\pagegrid at cur<\pagegrid at col}{%
+   \expandafter\global\expandafter\setbox\csname col@\the\pagegrid at cur\endcsname\box\@outputbox
+   \global\advance\pagegrid at cur\@ne
+  }{}%
+ }{%
+  \void at cclv
+ }%
+ \@ifnum{\pagegrid at cur>\@ne}{%
+  \csname balance@\the\pagegrid at col\endcsname
+  \grid at column\@outputbox{}%
+  \@combinepage\false at sw
+  \@combinedblfloats
+  \global\setbox\pagesofar\box\@outputbox
+  \show at pagesofar@size
+ }{}%
+ \set at colht
+}%
+\def\float at column@mlt{%
+  \@output at combined@page
+}%
+\def\end at column@mlt{%
+ \@ifx at empty\@toplist{%
+  \@ifx at empty\@botlist{%
+   \@ifx at empty\@dbltoplist{%
+    \@ifx at empty\@deferlist{%
+     \@ifnum{\pagegrid at cur=\@ne}{%
+      \false at sw
+     }{%
+      \true at sw
+     }%
+    }{%
+     \true at sw
+    }%
+   }{%
+    \true at sw
+   }%
+  }{%
+   \true at sw
+  }%
+ }{%
+  \true at sw
+ }%
+ % true = kick out a column and try again
+ {%
+  \@cclv at nontrivial@sw{%
+   \unvbox\@cclv\remove at lastbox
+  }{%
+   \unvbox\@cclv\remove at lastbox\unskip\null
+  }%
+  \protect at penalty\do at newpage@pen
+  \protect at penalty\do at endpage@pen
+ }{%
+  \unvbox\@cclv\remove at lastbox
+ }%
+}%
+\def\output at column@mlt{%
+ \@ifnum{\pagegrid at cur<\pagegrid at col}{%
+  \expandafter\global\expandafter\setbox\csname col@\the\pagegrid at cur\endcsname\box\@outputbox
+  \global\advance\pagegrid at cur\@ne
+ }{%
+  \set at adj@colht\dimen@
+  \grid at column\@outputbox{}%
+  \@output at combined@page
+ }%
+}%
+\let\@outputdblcol\@undefined
+\def\@floatselect at sw@mlt#1{\@if at notdblfloat{#1}}%
+\def\@addmarginpar at mlt{% emits a boolean
+ \@ifnum{\pagegrid at cur=\@ne}%
+}%
+\def\set at footnotewidth@one{%
+ \hsize\columnwidth
+ \linewidth\hsize
+}%
+\def\set at footnotewidth@two{\set at footnotewidth@mlt\tw@}%
+\def\set at footnotewidth@mlt#1{%
+ \hsize\textwidth
+ \advance\hsize\columnsep
+ \divide\hsize#1%
+ \advance\hsize-\columnsep
+ \linewidth\hsize
+}%
+\def\compose at footnotes@one#1{%
+ \ltxgrid at foot@info at sw{\class at info{\string\compose at footnotes@one\string#1}\trace at box#1}{}%
+}%
+\let\compose at footnotes\compose at footnotes@one
+\def\compose at footnotes@two#1{%
+ \ltxgrid at foot@info at sw{\class at info{\string\compose at footnotes@two\string#1}\trace at box#1}{}%
+ \setbox\z@\box\@tempboxa
+ \let\recover at column\recover at column@null
+ \let\marry at baselines\@empty
+ \balance at two#1\@tempboxa
+ \global\setbox#1\hbox to\textwidth{\box#1\hfil\box\@tempboxa}%
+ \ltxgrid at foot@info at sw{\trace at box#1}{}%
+}%
+\let\pagegrid at cur\col at number
+\let\col at number\@undefined
+\newcount\pagegrid at col
+\pagegrid at cur\@ne
+\expandafter\let\csname col@\the\pagegrid at cur\endcsname\@leftcolumn
+\let\@leftcolumn\@undefined
+\pagegrid at col\tw@
+\def\pagegrid at init{%
+ \advance\pagegrid at cur\@ne
+ \@ifnum{\pagegrid at cur<\pagegrid at col}{%
+  \csname newbox\expandafter\endcsname\csname  col@\the\pagegrid at cur\endcsname
+  \pagegrid at init
+ }{%
+ }%
+}%
+\appdef\class at documenthook{%
+ \pagegrid at init
+}%
+\def\grid at column#1#2{%
+ \ltxgrid at info@sw{\class at info{\string\grid at column\string#1}}{}%
+ \global\setbox#1\vbox\bgroup
+  \hb at xt@\textwidth\bgroup
+   \vrule\@height\z@\@width\z@\@if at empty{#2}{}{\@depth#2}%
+   \pagegrid at cur\@ne
+   \@ifnum{\pagegrid at cur<\pagegrid at col}{\loopwhile{\append at column@\pagegrid at cur\pagegrid at col}}{}%
+   \box at column#1%
+  \egroup
+  \vskip\z at skip
+ \egroup
+}%
+\def\append at column@#1#2{%
+ \expandafter\box at column\csname col@\the#1\endcsname
+ \hfil\vrule\@width\columnseprule\hfil
+ \advance#1\@ne
+ \@ifnum{#1<#2}%
+}%
+\def\box at column#1{%
+ \ltxgrid at info@sw{\class at info{\string\box at column\string#1}}{}%
+ \raise\topskip
+ \hb at xt@\columnwidth\bgroup
+  \dimen@\ht#1\@ifdim{\dimen@>\@colht}{\dimen@\@colht}{}%
+  \count@\vbadness\vbadness\@M
+  \dimen at ii\vfuzz\vfuzz\maxdimen
+  \ltxgrid at info@sw{\saythe\@colht\saythe\dimen@}{}%
+  \vtop to\dimen@\bgroup
+   \hrule\@height\z@
+   \unvbox#1%
+   \raggedcolumn at skip
+  \egroup
+  \vfuzz\dimen at ii
+  \vbadness\count@
+  \hss
+ \egroup
+}%
+\def\marry at baselines{%
+ \begingroup
+  \setbox\z@\lastbox
+  \@ifvoid{\z@}{%
+   \endgroup
+  }{%
+   \aftergroup\kern
+   \aftergroup-%
+   \expandafter\box\expandafter\z@\expandafter\endgroup\the\dp\z@\relax
+  }%
+ \vskip\marry at skip\relax
+}%
+\gdef\marry at skip{\z at skip}%
+\def\set at marry@skip{%
+ \begingroup
+  \skip@\baselineskip\advance\skip at -\topskip
+  \@ifdim{\skip@>\z@}{%
+   \xdef\marry at skip{\the\skip@}%
+  }{}%
+ \endgroup
+}%
+\appdef\document at inithook{%
+ \@ifxundefined\raggedcolumn at sw{\@booleanfalse\raggedcolumn at sw}{}%
+}%
+\def\raggedcolumn at skip{%
+ \vskip\z@\raggedcolumn at sw{\@plus.0001fil\@minus.0001fil}{}\relax
+}%
+\def\@combinepage#1{%
+ \ltxgrid at foot@info at sw{\class at info{\string\@combinepage\string#1}}{}%
+ \@ifvoid\pagesofar{}{%
+  \setbox\@outputbox\vbox{%
+   \unvbox\pagesofar
+   \marry at baselines
+   \unvbox\@outputbox
+  }%
+ }%
+ #1{%
+  \@ifvoid\footsofar{}{%
+   \show at box@size{Combining page footnotes}\footsofar
+   \setbox\footins\box\footsofar
+   \compose at footnotes
+   \@combineinserts\@outputbox\footins
+  }%
+ }{%
+ }%
+}%
+\def \@cflt{%
+ \let \@elt \@comflelt
+ \setbox\@tempboxa \vbox{}%
+ \@toplist
+ \setbox\@outputbox \vbox{%
+  \boxmaxdepth \maxdepth
+  \unvbox\@tempboxa\unskip
+  \topfigrule\vskip \textfloatsep
+  \unvbox\@outputbox
+ }%
+ \let\@elt\relax
+ \xdef\@freelist{\@freelist\@toplist}%
+ \global\let\@toplist\@empty
+}%
+\def \@cflb {%
+ \let\@elt\@comflelt
+ \setbox\@tempboxa \vbox{}%
+ \@botlist
+ \setbox\@outputbox \vbox{%
+  \unvbox\@outputbox
+  \vskip \textfloatsep\botfigrule
+  \unvbox\@tempboxa\unskip
+ }%
+ \let\@elt\relax
+ \xdef\@freelist{\@freelist\@botlist}%
+ \global \let \@botlist\@empty
+}%
+\def\@combinedblfloats{%
+ \@ifx at empty\@dbltoplist{}{%
+  \setbox\@tempboxa\vbox{}%
+  \let\@elt\@comdblflelt\@dbltoplist
+  \let\@elt\relax\xdef\@freelist{\@freelist\@dbltoplist}%
+  \global\let\@dbltoplist\@empty
+  \setbox\@outputbox\vbox{%
+   %\boxmaxdepth\maxdepth   %% probably not needed, CAR
+   \unvbox\@tempboxa\unskip
+   \@ifnum{\@dbltopnum>\m at ne}{\dblfigrule}{}%FIXME: how is \@dbltopnum maintained?
+   \vskip\dbltextfloatsep
+   \unvbox\@outputbox
+  }%
+ }%
+}%
+\def\set at column@hsize#1{%
+ \pagegrid at col#1%
+ \global\columnwidth\textwidth
+ \global\advance\columnwidth\columnsep
+ \global\divide\columnwidth\pagegrid at col
+ \global\advance\columnwidth-\columnsep
+ \global\hsize\columnwidth
+ \global\linewidth\columnwidth
+ \skip@\baselineskip\advance\skip at -\topskip
+ \@ifnum{\pagegrid at col>\@ne}{\set at marry@skip}{}%
+}%
+\def\set at colht{%
+ \set at adj@textheight\@colht
+ \global\let\enlarge at colroom\@empty
+ \set at colroom
+}%
+\def\set at adj@textheight#1{%
+ \ltxgrid at info@sw{\class at info{\string\set at adj@textheight\string#1}\saythe\textheight}{}%
+ #1\textheight
+ \def\@elt{\adj at page#1}%
+ \@booleantrue\firsttime at sw\@dbltoplist
+ \let\@elt\relax
+ \global#1#1\relax
+ \ltxgrid at info@sw{\saythe#1}{}%
+}%
+\def\set at colroom{%
+ \ltxgrid at info@sw{\class at info{\string\set at colroom}}{}%
+ \set at adj@colht\@colroom
+ \@if at empty\enlarge at colroom{}{%
+  \global\advance\@colroom\enlarge at colroom\relax
+  \ltxgrid at info@sw{\saythe\@colroom}{}%
+ }%
+ \@ifdim{\@colroom>\topskip}{}{%
+  \ltxgrid at info{Not enough room: \string\@colroom=\the\@colroom; increasing to \the\topskip}%
+  \@colroom\topskip
+ }%
+ \global\@colroom\@colroom
+ \set at vsize
+}%
+\def\set at vsize{%
+ \global\vsize\@colroom
+ \ltxgrid at info@sw{\class at info{\string\set at vsize\string\vsize=\string\colroom}\saythe\vsize}{}%
+}%
+\def\set at adj@colht#1{%
+ #1\@colht
+ \ltxgrid at info@sw{\class at info{\string\set at adj@colht\string#1-\string\pagesofar}\saythe#1}{}%
+ \@ifvoid\pagesofar{}{%
+  \advance#1-\ht\pagesofar\advance#1-\dp\pagesofar
+  \ltxgrid at info@sw{\class at info{\string\pagesofar}\saythe#1}{}%
+ }%
+ \def\@elt{\adj at column#1}%
+ \@booleantrue\firsttime at sw\@toplist
+ \@booleantrue\firsttime at sw\@botlist
+ \let\@elt\relax
+}%
+\def\adj at column#1#2{%
+ \advance#1-\ht#2%
+ \advance#1-\firsttime at sw{\textfloatsep\@booleanfalse\firsttime at sw}{\floatsep}%
+ \ltxgrid at info@sw{\class at info{\string\adj at column\string#1-\string#2}\saythe#1}{}%
+}%
+\def\adj at page#1#2{%
+ \advance#1-\ht#2%
+ \advance#1-\firsttime at sw{\dbltextfloatsep\@booleanfalse\firsttime at sw}{\dblfloatsep}%
+ \ltxgrid at info@sw{\class at info{\string\adj at page\string#1-\string#2}\saythe#1}{}%
+}%
+\def\set at adj@box#1#2{%
+ \@ifvoid#2{}{%
+  \advance#1-\ht#2\advance#1-\dp#2%
+  \@booleantrue\temp at sw
+  \ltxgrid at foot@info at sw{\class at info{\string\set at adj@box\string#2}\saythe#1}{}%
+ }%
+}%
+\appdef\@outputpage at tail{%
+ \set at colht          % FIXME: needed?
+ \@floatplacement    % FIXME: needed?
+ \@dblfloatplacement % FIXME: needed?
+}%
+\begingroup
+ \catcode`\1=\cat at letter
+ \catcode`\2=\cat at letter
+ \toks@{%
+  \setbox\footins\box\footsofar
+  \balance at two\col at 1\@outputbox
+  \global\setbox\col at 1\box\col at 1
+  \global\setbox\@outputbox\box\@outputbox
+  \combine at foot@inserts\footsofar\footins
+ }%
+ \aftergroup\def\aftergroup\balance at 2\expandafter
+\endgroup\expandafter{\the\toks@}%
+\def\balance at two#1#2{%
+ \ltxgrid at info@sw{\class at info{\string\balance at two\string#1\string#2}}{}%
+ \outputdebug at sw{\trace at scroll{\showbox#1\showbox#2}}{}%
+ \setbox\thr@@\copy\footsofar
+ \setbox\@ne\vbox\bgroup
+  \@ifvoid{#1}{}{%
+   \recover at column#1\footsofar\column at recovered\footins at recovered
+   \@ifvoid{#2}{}{\marry at baselines}%
+  }%
+  \@ifvoid{#2}{}{%
+   \recover at column#2\footsofar\column at recovered\footins at recovered
+  }%
+ \egroup
+ \outputdebug at sw{\trace at scroll{\showbox\@ne}}{}%
+ \ltxgrid at foot@info at sw{\trace at scroll{\showbox\footsofar}}{}%
+ \dimen@\ht\@ne\divide\dimen@\tw@
+ \dimen at i\dimen@
+ \vbadness\@M
+ \vfuzz\maxdimen
+ \splittopskip\topskip
+ \loopwhile{%
+  \setbox\z@\copy\@ne\setbox\tw@\vsplit\z@ to\dimen@
+  \remove at depth\z@\remove at depth\tw@
+  \dimen at ii\ht\tw@\advance\dimen at ii-\ht\z@
+  \dimen at i=.5\dimen at i
+  \ltxgrid at info@sw{\saythe\dimen@\saythe\dimen at i\saythe\dimen at ii}{}%
+  \@ifdim{\dimen at ii<.5\p@}{%
+   \@ifdim{\dimen at ii>-.5\p@}%
+  }{%
+   \false at sw
+  }%
+  {%
+   \true at sw
+  }{%
+   \@ifdim{\dimen at i<.5\p@}%
+  }%
+  {%
+   \false at sw
+  }%
+  {%
+   \advance\dimen@\@ifdim{\dimen at ii<\z@}{}{-}\dimen at i
+   \true at sw
+  }%
+ }%
+ \ltxgrid at info@sw{\saythe\dimen@\saythe\dimen at i\saythe\dimen at ii}{}%
+ \@ifdim{\ht\z@=\z@}{%
+  \@ifdim{\ht\tw@=\z@}%
+ }{%
+  \true at sw
+ }%
+ {%
+ }{%
+  \ltxgrid at info{Unsatifactorily balanced columns: giving up}%
+  \setbox\tw@\box#1%
+  \setbox\z@ \box#2%
+  \global\setbox\footsofar\box\thr@@
+ }%
+ \setbox\tw@\vbox{\unvbox\tw@\vskip\z at skip}%
+ \setbox\z@ \vbox{\unvbox\z@ \vskip\z at skip}%
+ \set at colht
+ \dimen@\ht\z@\@ifdim{\dimen@<\ht\tw@}{\dimen@\ht\tw@}{}%
+ \@ifdim{\dimen@>\@colroom}{\dimen@\@colroom}{}%
+ \ltxgrid at info@sw{\saythe{\ht\z@}\saythe{\ht\tw@}\saythe\@colroom\saythe\dimen@}{}%
+ \setbox#1\vbox to\dimen@{\unvbox\tw@\unskip\raggedcolumn at skip}%
+ \setbox#2\vbox to\dimen@{\unvbox\z@ \unskip\raggedcolumn at skip}%
+ \outputdebug at sw{\trace at scroll{\showbox#1\showbox#2}}{}%
+}%
+\def\remove at depth#1{%
+  \setbox#1\vbox\bgroup
+   \unvcopy#1%
+   \setbox\z@\vbox\bgroup
+    \unvbox#1%
+    \setbox\z@\lastbox
+    \aftergroup\kern\aftergroup-\expandafter
+   \egroup
+   \the\dp\z@\relax
+  \egroup
+}%
+\def\recover at column#1#2#3#4{%
+ \ltxgrid at info@sw{\class at info{\string\recover at column\string#1\string#2\string#3\string#4}}{}%
+ \setbox#4\vbox{\unvcopy#1}%
+ \ltxgrid at foot@info at sw{\trace at scroll{\showbox#4}}{}%
+ \dimen@\ht#4%
+ \ltxgrid at foot@info at sw{\saythe\dimen@}{}%
+ \setbox#4\vbox\bgroup
+  \unvbox#4\unskip
+  \dimen at i\lastkern\unkern\advance\dimen at i\lastkern
+  \@ifdim{\dimen at i=\z@}{%
+   \dimen at i\lastkern\unkern
+   \ltxgrid at foot@info at sw{\saythe\dimen at i}{}%
+   \aftergroup\dimen at i
+   \expandafter\egroup\the\dimen at i\relax
+  }{%
+   \egroup
+  }%
+ \@ifdim{\dimen at i<\z@}{%
+  \advance\dimen@\dimen at i
+  \ltxgrid at foot@info at sw{\saythe\dimen at i\saythe\dimen@}{}%
+  \splittopskip\z at skip
+  \global\setbox#3\vsplit#4 to\dimen@
+  \global\setbox#4\vbox{\unvbox#4}%
+  \ltxgrid at foot@info at sw{\trace at scroll{\showbox#1\showbox#2\showbox#3\showbox#4}}{}%
+  \global\setbox#2\vbox\bgroup\unvbox#2\vskip\z at skip\unvbox#4\egroup
+ }{%
+  \setbox#3\box#4%
+  \ltxgrid at foot@info at sw{\trace at scroll{\showbox#1\showbox#2\showbox#3\showbox#4}}{}%
+ }%
+ \unvbox#3%
+ \loopwhile{\dimen@\lastskip\@ifdim{\dimen@>\z@}{\unskip\true at sw}{\false at sw}}%
+}%
+\def\recover at column@null#1#2#3#4{%
+ \unvcopy#1%
+}%
+\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
+ \if at twocolumn\LT at err{longtable not in 1-column mode}\@ehc\fi
+ \begingroup
+ \@ifnextchar[\LT at array{\LT at array[x]}%
+}%
+\def\longtable at new{%
+ \par
+  \@ifnextchar[\LT at array{\LT at array[x]}%
+}%
+\def\endlongtable at longtable{%
+  \crcr
+  \noalign{%
+    \let\LT at entry\LT at entry@chop
+    \xdef\LT at save@row{\LT at save@row}}%
+  \LT at echunk
+  \LT at start
+  \unvbox\z@
+  \LT at get@widths
+  \if at filesw
+    {\let\LT at entry\LT at entry@write\immediate\write\@auxout{%
+      \gdef\expandafter\noexpand
+        \csname LT@\romannumeral\c at LT@tables\endcsname
+          {\LT at save@row}}}%
+  \fi
+  \ifx\LT at save@row\LT@@save at row
+  \else
+    \LT at warn{Column \@width s have changed\MessageBreak
+             in table \thetable}%
+    \LT at final@warn
+  \fi
+  \endgraf\penalty -\LT at end@pen
+  \endgroup
+  \global\@mparbottom\z@
+  \pagegoal\vsize
+  \endgraf\penalty\z@\addvspace\LTpost
+  \ifvoid\footins\else\insert\footins{}\fi
+}%
+\def\endlongtable at new{%
+  \crcr
+  \noalign{%
+   \let\LT at entry\LT at entry@chop
+   \xdef\LT at save@row{\LT at save@row}%
+  }%
+  \LT at echunk
+  \LT at start
+  \unvbox\z@
+  \LT at get@widths
+  \@if at sw\if at filesw\fi{%
+   {%
+    \let\LT at entry\LT at entry@write
+    \immediate\write\@auxout{%
+     \gdef\expandafter\noexpand\csname LT@\romannumeral\c at LT@tables\endcsname
+     {\LT at save@row}%
+    }%
+   }%
+  }{}%
+  \@ifx{\LT at save@row\LT@@save at row}{}{%
+   \LT at warn{%
+    Column \@width s have changed\MessageBreak in table \thetable
+   }\LT at final@warn
+  }%
+  \endgraf
+  \nobreak
+  \box\@ifvoid\LT at lastfoot{\LT at foot}{\LT at lastfoot}%
+ \global\@mparbottom\z@
+ \endgraf
+ \LT at post
+}%
+\def\LT at start@longtable{%
+  \let\LT at start\endgraf
+  \endgraf\penalty\z@\vskip\LTpre
+  \dimen@\pagetotal
+  \advance\dimen@ \ht\ifvoid\LT at firsthead\LT at head\else\LT at firsthead\fi
+  \advance\dimen@ \dp\ifvoid\LT at firsthead\LT at head\else\LT at firsthead\fi
+  \advance\dimen@ \ht\LT at foot
+  \dimen at ii\vfuzz
+  \vfuzz\maxdimen
+    \setbox\tw@\copy\z@
+    \setbox\tw@\vsplit\tw@ to \ht\@arstrutbox
+    \setbox\tw@\vbox{\unvbox\tw@}%
+  \vfuzz\dimen at ii
+  \advance\dimen@ \ht
+        \ifdim\ht\@arstrutbox>\ht\tw@\@arstrutbox\else\tw@\fi
+  \advance\dimen@\dp
+        \ifdim\dp\@arstrutbox>\dp\tw@\@arstrutbox\else\tw@\fi
+  \advance\dimen@ -\pagegoal
+  \ifdim \dimen@>\z@\vfil\break\fi
+      \global\@colroom\@colht
+  \ifvoid\LT at foot\else
+    \advance\vsize-\ht\LT at foot
+    \global\advance\@colroom-\ht\LT at foot
+    \dimen@\pagegoal\advance\dimen at -\ht\LT at foot\pagegoal\dimen@
+    \maxdepth\z@
+  \fi
+  \ifvoid\LT at firsthead\copy\LT at head\else\box\LT at firsthead\fi
+\nobreak
+  \output{\LT at output}%
+}%
+\def\LT at start@new{%
+ \let\LT at start\endgraf
+ \endgraf
+ \markthr@@{}%
+ \LT at pre
+ \@ifvoid\LT at firsthead{\LT at top}{\box\LT at firsthead\nobreak}%
+ \mark at envir{longtable}%
+}%
+\def\LT at end@hd at ft@longtable#1{%
+ \LT at echunk
+ \ifx\LT at start\endgraf
+  \LT at err{Longtable head or foot not at start of table}{Increase LTchunksize}%
+ \fi
+ \setbox#1\box\z@
+ \LT at get@widths\LT at bchunk
+}%
+\def\LT at end@hd at ft@new#1{%
+ \LT at echunk
+ \@ifx{\LT at start\endgraf}{%
+  \LT at err{Longtable head or foot not at start of table}{Increase LTchunksize}%
+ }%
+ \global\setbox#1\box\z@
+ \LT at get@widths
+ \LT at bchunk
+}%
+\def\LT at array@longtable[#1]#2{%
+  \refstepcounter{table}\stepcounter{LT at tables}%
+  \if l#1%
+    \LTleft\z@ \LTright\fill
+  \else\if r#1%
+    \LTleft\fill \LTright\z@
+  \else\if c#1%
+    \LTleft\fill \LTright\fill
+  \fi\fi\fi
+  \let\LT at mcol\multicolumn
+  \let\LT@@tabarray\@tabarray
+  \let\LT@@hl\hline
+  \def\@tabarray{%
+    \let\hline\LT@@hl
+    \LT@@tabarray}%
+  \let\\\LT at tabularcr\let\tabularnewline\\%
+  \def\newpage{\noalign{\break}}%
+  \def\pagebreak{\noalign{\ifnum`}=0\fi\@testopt{\LT at no@pgbk-}4}%
+  \def\nopagebreak{\noalign{\ifnum`}=0\fi\@testopt\LT at no@pgbk4}%
+  \let\hline\LT at hline \let\kill\LT at kill\let\caption\LT at caption
+  \@tempdima\ht\strutbox
+  \let\@endpbox\LT at endpbox
+  \ifx\extrarowheight\@undefined
+    \let\@acol\@tabacol
+    \let\@classz\@tabclassz \let\@classiv\@tabclassiv
+    \def\@startpbox{\vtop\LT at startpbox}%
+    \let\@@startpbox\@startpbox
+    \let\@@endpbox\@endpbox
+    \let\LT at LL@FM at cr\@tabularcr
+  \else
+    \advance\@tempdima\extrarowheight
+    \col at sep\tabcolsep
+    \let\@startpbox\LT at startpbox\let\LT at LL@FM at cr\@arraycr
+  \fi
+  \setbox\@arstrutbox\hbox{\vrule
+    \@height \arraystretch \@tempdima
+    \@depth \arraystretch \dp \strutbox
+    \@width \z@}%
+  \let\@sharp##\let\protect\relax
+   \begingroup
+    \@mkpream{#2}%
+    \xdef\LT at bchunk{%
+       \global\advance\c at LT@chunks\@ne
+       \global\LT at rows\z@\setbox\z@\vbox\bgroup
+       \LT at setprevdepth
+       \tabskip\LTleft \noexpand\halign to\hsize\bgroup
+      \tabskip\z@ \@arstrut \@preamble \tabskip\LTright \cr}%
+  \endgroup
+  \expandafter\LT at nofcols\LT at bchunk&\LT at nofcols
+  \LT at make@row
+  \m at th\let\par\@empty
+  \everycr{}\lineskip\z@\baselineskip\z@
+  \LT at bchunk}%
+\def\LT at LR@l{\LTleft\z@   \LTright\fill}%
+\def\LT at LR@r{\LTleft\fill \LTright\z@  }%
+\def\LT at LR@c{\LTleft\fill \LTright\fill}%
+\def\LT at array@new[#1]#2{%
+ \refstepcounter{table}\stepcounter{LT at tables}%
+ \table at hook
+ \LTleft\fill \LTright\fill
+ \csname LT at LR@#1\endcsname
+ \let\LT at mcol\multicolumn
+ \let\LT@@hl\hline
+ \prepdef\@tabarray{\let\hline\LT@@hl}%
+ \let\\\LT at tabularcr
+ \let\tabularnewline\\%
+ \def\newpage{\noalign{\break}}%
+ \def\pagebreak{\noalign{\ifnum`}=0\fi\@testopt{\LT at no@pgbk-}4}%
+ \def\nopagebreak{\noalign{\ifnum`}=0\fi\@testopt\LT at no@pgbk4}%
+ \let\hline\LT at hline
+ \let\kill\LT at kill
+ \let\caption\LT at caption
+ \@tempdima\ht\strutbox
+ \let\@endpbox\LT at endpbox
+ \@ifxundefined\extrarowheight{%
+  \let\@acol\@tabacol
+  \let\@classz\@tabclassz
+  \let\@classiv\@tabclassiv
+  \def\@startpbox{\vtop\LT at startpbox}%
+  \let\@@startpbox\@startpbox
+  \let\@@endpbox\@endpbox
+  \let\LT at LL@FM at cr\@tabularcr at LaTeX
+  \let\@xtabularcr\@xtabularcr at LaTeX
+ }{%
+  \advance\@tempdima\extrarowheight
+  \col at sep\tabcolsep
+  \let\@startpbox\LT at startpbox
+  \let\LT at LL@FM at cr\@arraycr at array
+ }%
+ \let\@acoll\@tabacoll
+ \let\@acolr\@tabacolr
+ \let\@acol\@tabacol
+ \setbox\@arstrutbox\hbox{%
+  \vrule
+  \@height \arraystretch \@tempdima
+  \@depth \arraystretch \dp \strutbox
+  \@width \z@
+ }%
+ \let\@sharp##%
+ \let\protect\relax
+ \begingroup
+  \@mkpream{#2}%
+  \@mkpream at relax
+  \edef\@preamble{\@preamble}%
+  \prepdef\@preamble{%
+   \global\advance\c at LT@chunks\@ne
+   \global\LT at rows\z@
+   \setbox\z@\vbox\bgroup
+    \LT at setprevdepth
+    \tabskip\LTleft
+    \halign to\hsize\bgroup
+     \tabskip\z@
+     \@arstrut
+  }%
+  \appdef\@preamble{%
+     \tabskip\LTright
+     \cr
+  }%
+  \global\let\LT at bchunk\@preamble
+ \endgroup
+ \expandafter\LT at nofcols\LT at bchunk&\LT at nofcols
+ \LT at make@row
+ \m at th
+ \let\par\@empty
+ \everycr{}%
+ \lineskip\z@
+ \baselineskip\z@
+ \LT at bchunk
+}%
+\appdef\table at hook{}%
+\def\switch at longtable{%
+ \@ifpackageloaded{longtable}{%
+  \@ifx{\longtable\longtable at longtable}{%
+   \@ifx{\endlongtable\endlongtable at longtable}{%
+    \@ifx{\LT at start\LT at start@longtable}{%
+     \@ifx{\LT at end@hd at ft\LT at end@hd at ft@longtable}{%
+      \@ifx{\LT at array\LT at array@longtable}{%
+       \true at sw
+      }{\false at sw}%
+     }{\false at sw}%
+    }{\false at sw}%
+   }{\false at sw}%
+  }{\false at sw}%
+  {%
+   \class at info{Patching longtable package}%
+  }{%
+   \class at info{Patching unrecognized longtable package. (Proceeding with fingers crossed)}%
+  }%
+  \let\longtable\longtable at new
+  \let\endlongtable\endlongtable at new
+  \let\LT at start\LT at start@new
+  \let\LT at end@hd at ft\LT at end@hd at ft@new
+  \let\LT at array\LT at array@new
+  \newenvironment{longtable*}{%
+   \onecolumngrid at push
+   \longtable
+  }{%
+   \endlongtable
+   \onecolumngrid at pop
+  }%
+ }{}%
+}%
+\def\LT at pre{\penalty\z@\vskip\LTpre}%
+\def\LT at bot{\nobreak\copy\LT at foot\vfil}%
+\def\LT at top{\copy\LT at head\nobreak}%
+\def\LT at post{\penalty\z@\addvspace\LTpost\mark at envir{\curr at envir}}%
+\def\LT at adj{%
+ \setbox\z@\vbox{\null}\dimen at -\ht\z@
+ \setbox\z@\vbox{\unvbox\z@\LT at bot}\advance\dimen@\ht\z@
+ \global\advance\vsize-\dimen@
+}%
+\def\output at init@longtable{\LT at adj}%
+\def\output at prep@longtable{\setbox\@cclv\vbox{\unvbox\@cclv\LT at bot}}%
+\def\output at post@longtable{\LT at top}%
+\let\output at init@theindex\@empty
+\let\output at prep@theindex\@empty
+\def\output at post@theindex{%
+ \@ifodd\c at page{}{%
+  \@ifnum{\pagegrid at cur=\@ne}{%
+  }%
+ }%
+}%
+\def\check at aux{\do at output@MVL{\do at check@aux}}%
+\def\check at deferlist@stuck#1{%
+ \@ifx{\@deferlist at postshipout\@empty}{}{%
+  \@ifx{\@deferlist at postshipout\@deferlist}{%
+   \@fltstk
+   \clearpage at sw{%
+    \ltxgrid at warn{Deferred float stuck during \string\clearpage\space processing}%
+   }{%
+    \force at deferlist@stuck#1%
+   }%
+  }{%
+  }%
+  \global\let\@deferlist at postshipout\@empty
+ }%
+}%
+\def\@fltstk{%
+ \@latex at warning{A float is stuck (cannot be placed without \string\clearpage)}%
+}%
+\appdef\@outputpage at tail{%
+ \global\let\@deferlist at postshipout\@deferlist
+}%
+\def\@next#1#2{%
+ \@ifx{#2\@empty}{\false at sw}{%
+  \expandafter\@xnext#2\@@#1#2%
+  \true at sw
+ }%
+}%
+\def\@xnext\@elt#1#2\@@#3#4{%
+ \def#3{#1}%
+ \gdef#4{#2}%
+ \def\@tempa{#4}\def\@tempb{\@freelist}%
+ \@ifx{\@tempa\@tempb}{%
+  \@ifx{#4\@empty}{%
+   \force at deferlist@empty%{Float register pool exhausted}%
+  }{}%
+ }{}%
+}%
+\def\force at deferlist@stuck#1{%
+ \force at deferlist@sw{%
+  \@booleantrue\clearpage at sw
+  \@booleantrue\forcefloats at sw
+  #1%
+ }{%
+ }%
+}%
+\def\force at deferlist@empty{%
+ \force at deferlist@sw{%
+  \penalty-\pagebreak at pen
+  \protect at penalty\do at forcecolumn@pen
+ }{%
+ }%
+}%
+\@booleanfalse\force at deferlist@sw
+\mathchardef\do at forcecolumn@pen=10009
+\@namedef{output at -\the\do at forcecolumn@pen}{\do at forcecolumn}%
+\def\do at forcecolumn{%
+ \@booleantrue\clearpage at sw
+ \@booleantrue\forcefloats at sw
+ \do at startcolumn
+}%
+\def\enlargethispage{%
+ \@ifstar{%
+  \@enlargethispage{}%
+ }{%
+  \@enlargethispage{}%
+ }%
+}%
+\def\@enlargethispage#1#2{%
+ \begingroup
+  \dimen@#2\relax
+  \edef\@tempa{#1}%
+  \edef\@tempa{\noexpand\@@enlargethispage{\@tempa}{\the\dimen@}}%
+  \expandafter\do at output@MVL\expandafter{\@tempa}%
+ \endgroup
+}%
+\def\@@enlargethispage#1#2{%
+ \def\@tempa{one}%
+ \@ifx{\thepagegrid\@tempa}{%
+  \true at sw
+ }{%
+  \def\@tempa{mlt}%
+  \@ifx{\thepagegrid\@tempa}{%
+   \@ifnum{\pagegrid at cur=\@ne}{%
+    \gdef\enlarge at colroom{#2}%
+    \true at sw
+   }{%
+    \ltxgrid at warn{Too late to enlarge this page; move the command to the first column.}%
+    \false at sw
+   }%
+  }{%
+   \ltxgrid at warn{Unable to enlarge a page of this kind.}%
+   \false at sw
+  }%
+ }%
+ {%
+  \class at info{Enlarging page \thepage\space by #2}%
+  \global\advance\@colroom#2\relax
+  \set at vsize
+ }{%
+ }%
+}%
+\let\enlarge at colroom\@empty
+\let\@kludgeins\@undefined
+\@booleantrue\textheight at sw
+\prepdef\@outputpage at head{%
+ \textheight at sw{%
+  \count@\vbadness\vbadness\@M
+  \dimen@\vfuzz\vfuzz\maxdimen
+  \setbox\@outputbox\vbox to\textheight{\unvbox\@outputbox}%
+  \vfuzz\dimen@
+  \vbadness\count@
+ }{}%
+}%
+\appdef\@outputpage at head{%
+ \@ifx{\LS at rot\@undefined}{}{\LS at rot}%
+}%
+\def\ltxgrid at info{%
+ \ltxgrid at info@sw{\class at info}{\@gobble}%
+}%
+\@booleanfalse\ltxgrid at info@sw
+\def\ltxgrid at warn{%
+ \ltxgrid at warn@sw{\class at warn}{\@gobble}%
+}%
+\@booleantrue\ltxgrid at warn@sw
+\@booleanfalse\ltxgrid at foot@info at sw
+\def\def at next@handler#1#2#3{%
+ \advance#1\@ne\mathchardef#2\the#1%
+ \expandafter\def\csname output at -\the#1\endcsname{#3}%
+}%
+\def\def at line@handler#1#2{%
+ \begingroup
+  \@tempcnta\int at parpenalty
+  \advance\@tempcnta-#1%
+  \aftergroup\def
+  \expandafter\aftergroup\csname output at -\the\@tempcnta\endcsname
+ \endgroup{#2}%
+}%
+\mathchardef\int at parpenalty11012
+\def at line@handler\z@{\@handle at line@ltx{}{}{}}%
+\def at line@handler\@ne{\@handle at line@ltx{}{}{\brokenpenalty at ltx}}%
+\def at line@handler\tw@{\@handle at line@ltx{}{\clubpenalty at ltx}{}}%
+\def at line@handler\thr@@{\@handle at line@ltx{\clubpenalty at ltx}{}{\brokenpenalty at ltx}}%
+\def at line@handler\f at ur{\@handle at line@ltx{\widowpenalty at ltx}{}{}}%
+\def at line@handler{5}{\@handle at line@ltx{\widowpenalty at ltx}{}{\brokenpenalty at ltx}}%
+\def at line@handler{6}{\@handle at line@ltx{\widowpenalty at ltx}{\clubpenalty at ltx}{}}%
+\def at line@handler{7}{\@handle at line@ltx{\widowpenalty at ltx}{\clubpenalty at ltx}{\brokenpenalty at ltx}}%
+\def at line@handler{8}{\@handle at line@ltx{\displaywidowpenalty at ltx}{}{}}%
+\def at line@handler{9}{\@handle at line@ltx{\displaywidowpenalty at ltx}{}{\brokenpenalty at ltx}}%
+\def at line@handler{10}{\@handle at line@ltx{\displaywidowpenalty at ltx}{\clubpenalty at ltx}{}}%
+\def at line@handler{11}{\@handle at line@ltx{\displaywidowpenalty at ltx}{\clubpenalty at ltx}{\brokenpenalty at ltx}}%
+\def\@handle at line@ltx#1#2#3{%
+ \@@handle at line@ltx
+ \@tempcnta\lastpenalty
+ \@tempcntb\interlinepenalty at ltx\relax
+ \@if at empty{#1}{}{\advance\@tempcntb#1\relax}%
+ \@if at empty{#2}{}{\advance\@tempcntb#2\relax}%
+ \@if at empty{#3}{}{\advance\@tempcntb#3\relax}%
+ \penalty\@ifnum{\@tempcnta<\@tempcntb}{\@tempcntb}{\@tempcnta}%
+}%
+\let\@@handle at line@ltx\@empty
+\@tempcnta\int at parpenalty
+\def at next@handler\@tempcnta\int at postparpenalty{\reset at queues@ltx\handle at par@ltx}%
+\def at next@handler\@tempcnta\int at vadjustpenalty{\handle at vadjust@ltx}%
+\def at next@handler\@tempcnta\int at whatsitpenalty{\handle at whatsit@ltx}%
+\def at next@handler\@tempcnta\int at predisplaypenalty{\reset at queues@ltx\@handle at display@ltx{\predisplaypenalty at ltx}}%
+\def at next@handler\@tempcnta\int at interdisplaylinepenalty{\@handle at display@ltx{\interdisplaylinepenalty at ltx}}%
+\def at next@handler\@tempcnta\int at postdisplaypenalty{\@handle at display@ltx{\postdisplaypenalty at ltx}}%
+\def\@handle at display@ltx#1{%
+ \@@handle at display@ltx
+ \@tempcnta\lastpenalty
+ \@tempcntb#1%
+ \penalty\@ifnum{\@tempcnta<\@tempcntb}{\@tempcntb}{\@tempcnta}%
+}%
+\let\@@handle at display@ltx\@empty
+\def\handle at par@ltx{}%
+\def\set at linepenalties{%
+ \expandafter\def\expandafter\interlinepenalty at ltx\expandafter{\the\interlinepenalty}%
+ \interlinepenalty-\int at parpenalty
+ \expandafter\def\expandafter\brokenpenalty at ltx\expandafter{\the\brokenpenalty}%
+ \brokenpenalty\@ne
+ \expandafter\def\expandafter\clubpenalty at ltx\expandafter{\the\clubpenalty}%
+ \clubpenalty\tw@
+ \expandafter\def\expandafter\widowpenalty at ltx\expandafter{\the\widowpenalty}%
+ \widowpenalty\f at ur
+ \expandafter\def\expandafter\displaywidowpenalty at ltx\expandafter{\the\displaywidowpenalty}%
+ \displaywidowpenalty8\relax
+}%
+\def\restore at linepenalties{%
+ \interlinepenalty\interlinepenalty at ltx
+ \brokenpenalty\brokenpenalty at ltx
+ \clubpenalty\clubpenalty at ltx
+ \widowpenalty\widowpenalty at ltx
+ \displaywidowpenalty\displaywidowpenalty at ltx
+ \relax
+}%
+\def\set at displaypenalties#1{%
+ \expandafter\def\expandafter\predisplaypenalty at ltx\expandafter{\the\predisplaypenalty}%
+ \expandafter\def\expandafter\interdisplaylinepenalty at ltx\expandafter{\the\interdisplaylinepenalty}%
+ \expandafter\def\expandafter\postdisplaypenalty at ltx\expandafter{\the\postdisplaypenalty}%
+ \@ifhmode{\predisplaypenalty-\int at predisplaypenalty\relax}{}%
+ #1{\interdisplaylinepenalty-\int at interdisplaylinepenalty\relax}{}%
+ #1{\postdisplaypenalty-\int at postdisplaypenalty\relax}{}%
+}%
+\def\enqueue at whatsit@ltx#1{%
+ \gappdef\g at whatsit@queue{{#1}}%
+ \vadjust{\penalty-\int at whatsitpenalty}%
+}%
+\def\handle at whatsit@ltx{%
+ \unvbox\@cclv
+ \g at pop@ltx\g at whatsit@queue\@tempa
+ \expandafter\do at whatsit\expandafter{\@tempa}%
+}%
+\def\do at whatsit#1{}%
+\def\g at pop@ltx#1#2{%
+ \expandafter\@g at pop@ltx#1{}{}\@@#1#2%
+}%
+\def\@g at pop@ltx#1#2\@@#3#4{%
+ \gdef#3{#2}%
+ \def#4{#1}%
+}%
+\let\vspace at ltx\vspace
+\let\pagebreak at ltx\pagebreak
+\let\nopagebreak at ltx\nopagebreak
+\let\endline at ltx\\
+\let\@arrayparboxrestore at ltx\@arrayparboxrestore
+\def\@vspace at org #1{%
+  \ifvmode
+    \vskip #1
+    \vskip\z at skip
+   \else
+     \@bsphack
+     \vadjust{\@restorepar
+              \vskip #1
+              \vskip\z at skip
+              }%
+     \@esphack
+   \fi
+}%
+\def\@vspace at ltx#1{%
+ \@ifvmode{%
+  \vskip#1\vskip\z at skip
+ }{%
+  \@bsphack
+  \ex at vadjust@ltx{%
+   \@restorepar
+   \nobreak
+   \vskip#1\vskip\z at skip
+  }%
+  \@esphack
+ }%
+}%
+\def\@vspacer at org#1{%
+  \ifvmode
+    \dimen@\prevdepth
+    \hrule \@height\z@
+    \nobreak
+    \vskip #1
+    \vskip\z at skip
+    \prevdepth\dimen@
+  \else
+    \@bsphack
+    \vadjust{\@restorepar
+             \hrule \@height\z@
+             \nobreak
+             \vskip #1
+             \vskip\z at skip}%
+    \@esphack
+\fi
+}%
+\def\@vspacer at ltx#1{%
+ \@ifvmode{%
+  \dimen@\prevdepth
+  \hrule\@height\z@
+  \nobreak
+  \vskip#1\vskip\z at skip
+  \prevdepth\dimen@
+ }{%
+  \@bsphack
+  \ex at vadjust@ltx{%
+   \@restorepar
+   \hrule\@height\z@
+   \nobreak
+   \vskip#1\vskip\z at skip
+  }%
+  \@esphack
+ }%
+}%
+\def\@no at pgbk@org #1[#2]{%
+  \ifvmode
+    \penalty #1\@getpen{#2}%
+  \else
+    \@bsphack
+    \vadjust{\penalty #1\@getpen{#2}}%
+    \@esphack
+  \fi
+}%
+\def\@no at pgbk@ltx#1[#2]{%
+ \@ifvmode{%
+  \penalty#1\@getpen{#2}%
+ }{%
+  \@bsphack
+  \ex at vadjust@ltx{%
+   \penalty#1\@getpen{#2}%
+  }%
+  \@esphack
+ }%
+}%
+\long\def\end at line@org{%
+ \let\reserved at e\relax
+ \let\reserved at f\relax
+ \@ifstar{%
+  \let\reserved at e\vadjust
+  \let\reserved at f\nobreak
+  \@xnewline
+ }%
+ \@xnewline
+}%
+\long\def\end at line@ltx{%
+ \let\reserved at e\relax
+ \let\reserved at f\relax
+ \@ifstar{%
+  \let\reserved at e\ex at vadjust@ltx
+  \let\reserved at f\nobreak
+  \@xnewline
+ }{%
+  \@xnewline
+ }%
+}%
+\def\@newline at org[#1]{%
+ \let\reserved at e\vadjust
+ \@gnewline{\vskip#1}%
+}%
+\def\@newline at ltx[#1]{%
+ \let\reserved at e\ex at vadjust@ltx
+ \@gnewline{\vskip#1}%
+}%
+ \@ifx{\@vspace\@vspace at org}{%
+  \@ifx{\@vspacer\@vspacer at org}{%
+   \@ifx{\@no at pgbk\@no at pgbk@org}{%
+    \@ifx{\@newline\@newline at org}{%
+     \expandafter\@ifx\expandafter{\csname\expandafter\@gobble\string\\ \endcsname\end at line@org}{%
+      \true at sw
+     }{\false at sw}%
+    }{\false at sw}%
+   }{\false at sw}%
+  }{\false at sw}%
+ }{\false at sw}%
+ {%
+  \class at info{Overriding \string\@vspace, \string\@vspacer, \string\@no at pgbk, \string\@newline, and \string\\ }%
+  \let\@normalcr\end at line@ltx
+  \expandafter\let\csname\expandafter\@gobble\string\\ \endcsname\@normalcr
+  \let\@newline\@newline at ltx
+  \let\@vspace\@vspace at ltx
+  \let\@vspacer\@vspacer at ltx
+  \let\@no at pgbk\@no at pgbk@ltx
+ }{%
+  \class at warn{%
+   Failed to recognize \string\@vspace, \string\@vspacer, \string\@no at pgbk, \string\@newline, and \string\\;
+   no patches applied. Please get a more up-to-date class,
+  }%
+ }%
+\let\ex at vadjust@ltx\vadjust
+\def\enqueue at vadjust@ltx#1{%
+ \gappdef\g at vadjust@queue{{#1}}%
+ \vadjust{\penalty-\int at vadjustpenalty}%
+}%
+\def\handle at vadjust@ltx{%
+ \unvbox\@cclv
+ \g at pop@ltx\g at vadjust@queue\@tempa
+ \expandafter\gappdef\expandafter\g at vadjust@line\expandafter{\@tempa}%
+}%
+\let\g at vadjust@line\@empty
+\def\reset at queues@ltx{%
+ \global\let\g at whatsit@queue\@empty
+ \global\let\g at vadjust@queue\@empty
+}%
+\newcommand\linenomathWithnumbers at LN{%
+  \ifLineNumbers
+    \ifnum\interlinepenalty>-\linenopenaltypar
+      \global\holdinginserts\thr@@
+      \advance\interlinepenalty \linenopenalty
+     \ifhmode
+      \advance\predisplaypenalty \linenopenalty
+     \fi
+      \advance\postdisplaypenalty \linenopenalty
+      \advance\interdisplaylinepenalty \linenopenalty
+    \fi
+  \fi
+  \ignorespaces
+}%
+\newcommand\linenomathNonumbers at LN{%
+  \ifLineNumbers
+    \ifnum\interlinepenalty>-\linenopenaltypar
+      \global\holdinginserts\thr@@
+      \advance\interlinepenalty \linenopenalty
+     \ifhmode
+      \advance\predisplaypenalty \linenopenalty
+     \fi
+    \fi
+  \fi
+  \ignorespaces
+}%
+\def\endlinenomath at LN{%
+  \ifLineNumbers
+   \global\holdinginserts\@LN at outer@holdins
+  \fi
+  \global\@ignoretrue
+}
+\def\linenumberpar at LN{%
+  \ifvmode \@@@par \else
+    \ifinner \@@@par \else
+      \xdef\@LN at outer@holdins{\the\holdinginserts}%
+      \advance \interlinepenalty \linenopenalty
+      \linenoprevgraf \prevgraf
+      \global \holdinginserts \thr@@
+      \@@@par
+      \ifnum\prevgraf>\linenoprevgraf
+        \penalty-\linenopenaltypar
+      \fi
+      \@LN at parpgbrk
+      \global\holdinginserts\@LN at outer@holdins
+      \advance\interlinepenalty -\linenopenalty
+    \fi
+  \fi
+}%
+\appdef\class at documenthook{%
+ \@ifpackageloaded{lineno}{%
+  \@ifx{\linenomathWithnumbers\linenomathWithnumbers at LN}{%
+   \@ifx{\linenomathNonumbers\linenomathNonumbers at LN}{%
+    \@ifx{\endlinenomath\endlinenomath at LN}{%
+     \@ifx{\linenumberpar\linenumberpar at LN}{%
+      \true at sw
+     }{\false at sw}%
+    }{\false at sw}%
+   }{\false at sw}%
+  }{\false at sw}%
+  {%
+   \class at info{Overriding lineo.sty, restoring output routine,}%
+   \let\linenumberpar\linenumberpar at ltx
+   \let\endlinenomath\endlinenomath at ltx
+   \expandafter\let\csname endlinenomath*\endcsname\endlinenomath at ltx
+   \let\linenomathWithnumbers\linenomathWithnumbers at ltx
+   \let\linenomathNonumbers\linenomathNonumbers at ltx
+   \let\ex at vadjust@ltx\ex at vadjust@line
+   \let\@LN at postlabel\enqueue at whatsit@ltx
+   \let\do at whatsit\write at linelabel
+   \let\handle at par@ltx\handle at par@LN
+   \let\@@handle at line@ltx\Make at LineNo@ltx
+   \let\@@handle at display@ltx\Make at LineNo@ltx
+   \output at latex{\natural at output}%
+   \let\vspace\vspace at ltx
+   \let\pagebreak\pagebreak at ltx
+   \let\nopagebreak\nopagebreak at ltx
+   \let\@arrayparboxrestore\@arrayparboxrestore at ltx
+   \let\\\endline at ltx
+   \appdef\set at footnotefont{%
+    \let\par\@@@par
+    \let\@@par\@@@par
+   }%
+   \@if at sw\ifLineNumbers\fi{%
+    \class at info{Reinvoke \string\linenumbers}%
+    \let\@@par\linenumberpar
+    \@ifx{\@par\linenumberpar at LN}{\let\@par\linenumberpar}{}%
+    \@ifx{\par\linenumberpar at LN}{\let\par\linenumberpar}{}%
+   }{%
+    \class at info{Line numbering not turned on yet}%
+   }%
+  }{%
+   \class at warn{Failed to recognize lineno.sty procedures; no patches applied. Please get a more up-to-date class.}%
+  }%
+ }{%
+ }%
+}%
+\def\linenumberpar at ltx{\@ifvmode{\@@@par}{\@linenumberpar}}%
+\def\@linenumberpar{%
+   \linenoprevgraf\prevgraf
+   \set at linepenalties
+   \@@@par
+   \@ifnum{\prevgraf>\linenoprevgraf}{
+    \penalty-\int at postparpenalty
+   }{}%
+   \@LN at parpgbrk
+   \restore at linepenalties
+}%
+\newcommand\linenomathWithnumbers at ltx{\@linenomathnumbers at ltx\true at sw}%
+\newcommand\linenomathNonumbers at ltx{\@linenomathnumbers at ltx\false at sw}%
+\def\@linenomathnumbers at ltx#1{%
+ \@if at sw\ifLineNumbers\fi{%
+   \set at linepenalties
+   \set at displaypenalties#1%
+ }{}%
+ \ignorespaces
+}%
+\def\endlinenomath at ltx{%
+ \global\@ignoretrue
+}%
+\def\handle at par@LN{%
+ \Make at LineNo@ltx
+ \@tempcnta\lastpenalty
+ \@ifnum{\@tempcnta=\z@}{}{%
+  \expandafter\gdef
+  \expandafter\@LN at parpgbrk
+  \expandafter{%
+   \expandafter\penalty
+               \the\@tempcnta
+   \global\let\@LN at parpgbrk\@LN at screenoff@pen
+  }%
+ }%
+}%
+\def\Make at LineNo@ltx{%
+ \@LN at maybe@normalLineNumber
+ \boxmaxdepth\maxdimen\setbox\z@\vbox{\unvbox\@cclv}%
+ \@tempdima\dp\z@
+ \unvbox\z@
+ \sbox\@tempboxa{\hb at xt@\z@{\makeLineNumber}}%
+ \ht\@tempboxa\z@
+ \@LN at depthbox
+ \stepLineNumber
+ \g at vadjust@line
+ \global\let\g at vadjust@line\@empty
+}%
+\def\write at linelabel#1{%
+ \protected at write\@auxout{}{%
+  \string\newlabel{#1}{{\theLineNumber}{\thepage}{}{}{}}%
+ }%
+}%
+\def\ex at vadjust@line{%
+ \@if at sw\ifLineNumbers\fi{\enqueue at vadjust@ltx}{\vadjust}%
+}%
+\let\setup at hook\@empty
+\appdef\document at inithook{%
+ \switch at longtable
+ \let\LT at makecaption\LT at makecaption@rtx
+}%
+\def\LT at makecaption@rtx#1#2#3{%
+  \LT at mcol\LT at cols c{%
+    \hbox to\z@{%
+     \hss
+     \parbox[t]\LTcapwidth{%
+      \sbox\@tempboxa{#1{#2: }#3\unskip\nobreak\vrule\@width\z@\@height\z@\@depth .5\baselineskip}%
+      \ifdim\wd\@tempboxa>\hsize
+        #1{#2: }#3\unskip\nobreak\vrule\@width\z@\@height\z@\@depth .5\baselineskip
+      \else
+        \hbox to\hsize{\hfil\box\@tempboxa\hfil}%
+      \fi
+      \endgraf
+     }%
+     \hss
+    }%
+  }%
+}%
+\def\protectdef at boldmath{%
+ \expandafter\@ifnotrelax\csname boldmath \endcsname{}{%
+  \class at info{Robustifying \string\LaTeX's \string\boldmath\space command}%
+  \expandafter\let\csname boldmath \endcsname\boldmath
+  \expandafter\def\expandafter\boldmath\expandafter{\expandafter\protect\csname boldmath \endcsname}%
+ }%
+}%
+\appdef\document at inithook{%
+ \protectdef at boldmath
+}%
+\DeclareOption{checkin}{%
+  \@booleantrue\dateinRH at sw
+  \@booleantrue\preprintsty at sw
+  \def\@pointsize{12}%
+  \@booleantrue\showPACS at sw
+  \@booleantrue\showKEYS at sw
+  \def\fp at proc@h{\allow at breaking@tables}%
+  \def\fp at proc@H{\allow at breaking@tables}%
+}%
+\@booleanfalse\dateinRH at sw
+\def\checkindate{\dateinRH at sw{{\tiny(\today)}}{}}%
+\def\allow at breaking@tables{%
+ \def\array at default{v}% tabular can break over pages
+ \@booleanfalse\floats at sw % table can break over pages
+}%
+\DeclareOption{preprint}{%
+ \@booleantrue\preprintsty at sw
+ \ExecuteOptions{12pt}%
+}%
+\DeclareOption{reprint}{%
+ \@booleanfalse\preprintsty at sw
+ \@booleantrue\twocolumn at sw
+ \ExecuteOptions{10pt}%
+}%
+\DeclareOption{manuscript}{%
+ \class at warn{Document class option manuscript is obsolete; use preprint instead}%
+ \ExecuteOptions{preprint}%
+}%
+\@booleanfalse\preprintsty at sw
+\DeclareOption{showpacs}{%
+  \@booleantrue\showPACS at sw
+}%
+\DeclareOption{noshowpacs}{%
+  \@booleanfalse\showPACS at sw
+}%
+\DeclareOption{showkeys}{%
+  \@booleantrue\showKEYS at sw
+}%
+\DeclareOption{noshowkeys}{%
+  \@booleanfalse\showKEYS at sw
+}%
+\@booleanfalse\showPACS at sw
+\@booleanfalse\showKEYS at sw
+\DeclareOption{balancelastpage}{%
+  \@booleantrue\balancelastpage at sw
+}%
+\DeclareOption{nobalancelastpage}{%
+  \@booleanfalse\balancelastpage at sw
+}%
+\@booleantrue\balancelastpage at sw
+\DeclareOption{nopreprintnumbers}{\@booleanfalse\preprint at sw}%
+\DeclareOption{preprintnumbers}{\@booleantrue\preprint at sw}%
+\appdef\setup at hook{%
+ \@ifxundefined\preprint at sw{\let\preprint at sw\preprintsty at sw}{}%
+}%
+\DeclareOption{hyperref}{%
+ \class at warn{Class option "hyperref" is no longer supported.^^JEmploy \string\usepackage{hyperref} instead}%
+}%
+\DeclareOption{10pt}{\def\@pointsize{10}}%
+\DeclareOption{11pt}{\def\@pointsize{11}}%
+\DeclareOption{12pt}{\def\@pointsize{12}}%
+\let\@pointsize\@undefined
+\DeclareOption{a4paper}{%
+    \setlength\paperheight {297mm}%
+    \setlength\paperwidth  {210mm}%
+}%
+\DeclareOption{a5paper}{%
+    \setlength\paperheight {210mm}%
+    \setlength\paperwidth  {148mm}%
+}%
+\DeclareOption{b5paper}{%
+    \setlength\paperheight {250mm}%
+    \setlength\paperwidth  {176mm}%
+}%
+\DeclareOption{letterpaper}{%
+    \setlength\paperheight {11in}%
+    \setlength\paperwidth  {8.5in}%
+}%
+\DeclareOption{legalpaper}{%
+    \setlength\paperheight {14in}%
+    \setlength\paperwidth  {8.5in}%
+}%
+\DeclareOption{executivepaper}{%
+    \setlength\paperheight {10.5in}%
+    \setlength\paperwidth  {7.25in}%
+}%
+\DeclareOption{landscape}{%
+    \setlength\@tempdima   {\paperheight}%
+    \setlength\paperheight {\paperwidth}%
+    \setlength\paperwidth  {\@tempdima}%
+}%
+\ds at letterpaper
+\DeclareOption{bibnotes}{\let\frontmatter at footnote@produce\frontmatter at footnote@produce at endnote}%
+\DeclareOption{nobibnotes}{\let\frontmatter at footnote@produce\frontmatter at footnote@produce at footnote}%
+\let\frontmatter at footnote@produce\frontmatter at footnote@produce at footnote
+\appdef\class at enddocumenthook{\auto at bib}%
+\DeclareOption{footinbib}{\@booleantrue\footinbib at sw}
+\DeclareOption{nofootinbib}{\@booleanfalse\footinbib at sw}
+\@booleanfalse\footinbib at sw
+\DeclareOption{altaffilletter}{\@booleantrue\altaffilletter at sw}%
+\DeclareOption{altaffilsymbol}{\@booleanfalse\altaffilletter at sw}%
+\@booleanfalse\altaffilletter at sw
+\DeclareOption{superbib}{%
+ \let\place at bibnumber\place at bibnumber@sup
+}%
+\def\place at bibnumber{\NATx at bibnumfmt}%
+\def\place at bibnumber@sup#1{\textsuperscript{#1}}%
+\def\place at bibnumber@inl#1{[#1]}%
+\DeclareOption{citeautoscript}{\@booleantrue\citeautoscript at sw}%
+\@booleanfalse\citeautoscript at sw
+\DeclareOption{longbibliography}{\@booleantrue\longbibliography at sw}%
+\DeclareOption{nolongbibliography}{\@booleanfalse\longbibliography at sw}%
+\@booleanfalse\longbibliography at sw
+\DeclareOption{eprint}{\@booleantrue\eprint at enable@sw}%
+\DeclareOption{noeprint}{\@booleanfalse\eprint at enable@sw}%
+\@booleantrue\eprint at enable@sw
+\@booleanfalse\twoside at sw
+\appdef\document at inithook{%
+ \twoside at sw{\@twosidetrue}{\@twosidefalse}%
+}%
+\DeclareOption{twoside}{\@booleantrue \twoside at sw\@mparswitchfalse}%
+\DeclareOption{oneside}{\@booleanfalse\twoside at sw\@mparswitchtrue}%
+\DeclareOption{onecolumn}{\@booleanfalse\twocolumn at sw}%
+\DeclareOption{twocolumn}{\@booleantrue \twocolumn at sw}%
+\@booleanfalse\twocolumn at sw
+\def\select at column@grid{%
+ \twocolumn at sw{%
+  \twocolumn at grid@setup
+  \open at twocolumn
+ }{%
+  \onecolumn at grid@setup
+ }%
+}%
+\appdef\class at documenthook{%
+ \select at column@grid
+}%
+\appdef\setup at hook{%
+ \let\clearpage at ltx\clearpage
+ \prepdef\clear at document{\let\clearpage\clearpage at ltx\let\clear at document\@empty\close at column}%
+ \appdef\class at documenthook{%
+  \appdef\class at enddocumenthook{%
+   \let\clearpage\clear at document
+  }%
+ }%
+}%
+\DeclareOption{author-year}{\@booleantrue\authoryear at sw}%
+\DeclareOption{numerical}{\@booleanfalse\authoryear at sw}%
+\@booleanfalse\authoryear at sw
+\DeclareOption{galley}{%
+  \ExecuteOptions{onecolumn}%
+  \@booleantrue\galley at sw
+  \@booleanfalse\preprintsty at sw
+  \appdef\setup at hook{%
+    \advance\textwidth-\columnsep
+    \textwidth.5\textwidth
+  }%
+}%
+\@booleanfalse\galley at sw
+\DeclareOption{raggedbottom}{\@booleantrue\raggedcolumn at sw}
+\DeclareOption{flushbottom}{\@booleanfalse\raggedcolumn at sw}
+\@booleanfalse\raggedcolumn at sw
+\appdef\setup at hook{%
+ \raggedcolumn at sw{\raggedbottom}{\flushbottom}%
+}%
+\DeclareOption{tightenlines}{\@booleantrue\tightenlines at sw}
+\@booleanfalse\tightenlines at sw
+\@booleanfalse\lengthcheck at sw
+\DeclareOption{lengthcheck}{%
+ \@booleantrue\lengthcheck at sw
+ \ExecuteOptions{reprint}%
+}%
+\appdef\setup at hook{%
+ \lengthcheck at sw{\@booleantrue\tally at box@size at sw}{}%
+}%
+\appdef\setup at hook{%
+ \draft at sw{\overfullrule 5\p@}{\overfullrule\z@}%
+}%
+\DeclareOption{draft}{\@booleantrue\draft at sw}%
+\DeclareOption{final}{\@booleanfalse\draft at sw}%
+\@booleanfalse\draft at sw
+\appdef\setup at hook{%
+ \eqsecnum at sw{%
+  \@addtoreset{equation}{section}%
+  \def\theequation at prefix{\arabic{section}.}%
+ }{}%
+}%
+\DeclareOption{eqsecnum}{\@booleantrue\eqsecnum at sw}%
+\@booleanfalse\eqsecnum at sw
+\appdef\setup at hook{%
+ \setup at secnums
+}%
+\DeclareOption{secnumarabic}{%
+ \def\setup at secnums{\secnums at arabic}%
+}%
+\def\setup at secnums{\secnums at rtx}%
+\DeclareOption{fleqn}{%
+ \input{fleqn.clo}%
+}%
+\DeclareOption{floats}{\@booleantrue\floats at sw\@booleanfalse\floatp at sw}
+\DeclareOption{endfloats}{\@booleanfalse\floats at sw\@booleanfalse\floatp at sw}
+\DeclareOption{endfloats*}{\@booleanfalse\floats at sw\@booleantrue\floatp at sw}
+\@booleantrue\floats at sw
+\@booleantrue\floatp at sw
+\DeclareOption{titlepage}{\@booleantrue\titlepage at sw}
+\DeclareOption{notitlepage}{\@booleanfalse\titlepage at sw}
+\@booleanfalse\titlepage at sw
+\def\change at society#1{%
+ \def\@tempa{#1}%
+ \@ifxundefined\@society{%
+  \class at info{Selecting society \@tempa}%
+  \let\@society\@tempa
+ }{%
+  \@ifx{\@tempa\@society}{}{%
+   \class at warn{Conflicting society \@tempa<>\@society; not selected}%
+  }%
+ }%
+}%
+\def\change at journal#1{%
+ \def\@tempa{#1}%
+ \@ifxundefined\@journal{%
+  \class at info{Selecting journal \@tempa}%
+  \let\@journal\@tempa
+ }{%
+  \@ifx{\@tempa\@journal}{}{%
+   \class at warn{Conflicting journal \@tempa<>\@journal; not selected}%
+  }%
+ }%
+}%
+\DeclareOption{osa}{\change at society{osa}\let\@journal\@undefined}%
+\DeclareOption{osameet}{\change at society{osa}\def\@journal{osameet}}%
+\DeclareOption{opex}{\change at society{osa}\def\@journal{opex}}%
+\DeclareOption{tops}{\change at society{osa}\def\@journal{tops}}%
+\DeclareOption{josa}{\change at society{osa}\def\@journal{josa}}%
+\let\rtx at require@packages\@empty
+\appdef\rtx at require@packages{%
+ \RequirePackage[overload]{textcase}%
+}%
+\DeclareOption{amsfonts}{%
+  \def\class at amsfonts{\RequirePackage{amsfonts}}%
+}%
+\DeclareOption{noamsfonts}{%
+  \let\class at amsfonts\@empty
+}%
+\appdef\rtx at require@packages{%
+ \@ifxundefined\class at amsfonts{}{\class at amsfonts}%
+}%
+\DeclareOption{amssymb}{%
+  \def\class at amssymb{\RequirePackage{amssymb}}%
+}%
+\DeclareOption{noamssymb}{%
+  \let\class at amssymb\@empty
+}%
+\appdef\rtx at require@packages{%
+ \@ifxundefined\class at amssymb{}{\class at amssymb}%
+}%
+\DeclareOption{amsmath}{%
+  \def\class at amsmath{\RequirePackage{amsmath}[\ver at amsmath@prefer]}%
+}%
+\DeclareOption{noamsmath}{%
+  \let\class at amsmath\@empty
+}%
+\appdef\rtx at require@packages{%
+ \preserve at LaTeX
+ \@ifxundefined\class at amsmath{}{\class at amsmath}%
+ \appdef\class at enddocumenthook{\test at amsmath@ver}%
+}%
+\appdef\preserve at LaTeX{%
+ \let\@ifl at aded@LaTeX\@ifl at aded
+ \let\@ifpackageloaded at LaTeX\@ifpackageloaded
+ \let\@pkgextension at LaTeX\@pkgextension
+ \let\@ifpackagelater at LaTeX\@ifpackagelater
+ \let\@ifl at ter@LaTeX\@ifl at ter
+ \let\@ifl at t@r at LaTeX\@ifl at t@r
+ \let\@parse at version@LaTeX\@parse at version
+}%
+\appdef\restore at LaTeX{%
+ \let\@ifl at aded\@ifl at aded@LaTeX
+ \let\@ifpackageloaded\@ifpackageloaded at LaTeX
+ \let\@pkgextension\@pkgextension at LaTeX
+ \let\@ifpackagelater\@ifpackagelater at LaTeX
+ \let\@ifl at ter\@ifl at ter@LaTeX
+ \let\@ifl at t@r\@ifl at t@r at LaTeX
+ \let\@parse at version\@parse at version@LaTeX
+}%
+\def\test at amsmath@ver{%
+ \begingroup
+  \restore at LaTeX
+  \@ifpackageloaded{amsmath}{%
+   \@ifpackagelater{amsmath}{\ver at amsmath@prefer}{}{%
+     \class at warn{%
+      You have loaded amsmath, version "\csname ver at amsmath.sty\endcsname",\MessageBreak
+      but this class requires version "\ver at amsmath@prefer", or later.\MessageBreak
+      Please update your LaTeX installation.
+     }%
+   }%
+  }{%
+  }%
+ \endgroup
+}%
+\def\ver at amsmath@prefer{2000/01/15 v2.05 AMS math features}%
+\DeclareOption{byrevtex}{\@booleantrue\byrevtex at sw}%
+\@booleanfalse\byrevtex at sw
+\DeclareOption{floatfix}{\@booleantrue\force at deferlist@sw}%
+\DeclareOption{nofloatfix}{\@booleanfalse\force at deferlist@sw}%
+\@booleanfalse\force at deferlist@sw
+\gdef\@fltovf{%
+ \@latex at error{%
+  Too many unprocessed floats%
+  \force at deferlist@sw{}{; try class option [floatfix]}%
+ }\@ehb
+}%
+\def\@fltstk{%
+ \@latex at warning{%
+  A float is stuck (cannot be placed)%
+  \force at deferlist@sw{}{; try class option [floatfix]}%
+ }%
+}%
+\DeclareOption{ltxgridinfo}{%
+ \@booleantrue\ltxgrid at info@sw
+}%
+\DeclareOption{outputdebug}{%
+ \@booleantrue\outputdebug at sw
+ \@booleantrue\ltxgrid at info@sw
+ \@booleantrue\ltxgrid at foot@info at sw
+ \traceoutput
+}%
+\DeclareOption{raggedfooter}{\@booleanfalse\textheight at sw}%
+\DeclareOption{noraggedfooter}{\@booleantrue\textheight at sw}%
+\DeclareOption{frontmatterverbose}{\@booleantrue\frontmatterverbose at sw}%
+\@booleanfalse\frontmatterverbose at sw
+\DeclareOption{linenumbers}{%
+ \appdef
+ \class at documenthook{%
+  \RequirePackage{lineno}[2005/11/02 v4.41]%
+  \linenumbersep4pt\relax
+  \linenumbers\relax
+ }%
+}%
+\DeclareOption{nomerge}{%
+ \appdef\setup at hook{%
+  \@ifnum{\NAT at merge>\z@}{\let\NAT at merge\z@}{}%
+ }%
+}%
+\def\@parse at class@options at society{%
+ \edef\@tempa{\@ptionlist{\@currname.\@currext}}%
+ \expandafter\@for\expandafter\CurrentOption\expandafter:\expandafter=\@tempa\do{%
+  \expandafter\@ifnotrelax\csname ds@\CurrentOption\endcsname{}{%
+   \IfFileExists{\CurrentOption\substyle at post.\substyle at ext}{%
+    \expandafter\change at society\expandafter{\CurrentOption}%
+    \expandafter\let\csname ds@\CurrentOption\endcsname\@empty
+   }{}%
+  }%
+ }%
+}%
+\def\@parse at class@options@#1{%
+ \edef\@tempa{\@ptionlist{\@currname.\@currext}}%
+ \expandafter\@for\expandafter\CurrentOption\expandafter:\expandafter=\@tempa\do{%
+  \expandafter\@ifnotrelax\csname ds@\CurrentOption\endcsname{%
+   \begingroup\csname ds@\CurrentOption\endcsname
+    \@ifxundefined#1{%
+     \endgroup
+    }{%
+     \expandafter\endgroup\expandafter\def\expandafter#1\expandafter{#1}%
+    }%
+  }{}%
+ }%
+}%
+\def\@parse at class@options at journal{%
+ \edef\@tempa{\@ptionlist{\@currname.\@currext}}%
+ \expandafter\@for\expandafter\CurrentOption\expandafter:\expandafter=\@tempa\do{%
+  \expandafter\@ifnotrelax\csname ds@\CurrentOption\endcsname{%
+   \begingroup
+    \csname ds@\CurrentOption\endcsname
+    \@ifxundefined\@journal{%
+     \endgroup
+    }{%
+     \expandafter\endgroup\expandafter\def\expandafter\@journal\expandafter{\@journal}%
+    }%
+  }{}%
+ }%
+}%
+\def\@parse at class@options{%
+ \edef\@tempa{\@ptionlist{\@currname.\@currext}}%
+ \expandafter\@for\expandafter\CurrentOption\expandafter:\expandafter=\@tempa\do{%
+  \expandafter\@ifnotrelax\csname ds@\CurrentOption\endcsname{%
+   \begingroup
+    \csname ds@\CurrentOption\endcsname
+    \@ifxundefined\@pointsize{%
+     \endgroup
+    }{%
+     \expandafter\endgroup\expandafter\def\expandafter\@pointsize\expandafter{\@pointsize}%
+    }%
+  }{%
+   \IfFileExists{\CurrentOption\substyle at post.\substyle at ext}{%
+    \expandafter\change at society\expandafter{\CurrentOption}%
+    \expandafter\let\csname ds@\CurrentOption\endcsname\@empty
+   }{}%
+  }%
+ }%
+}%
+\DeclareOption{hypertext}{\hypertext at enable@ltx}%
+\appdef\document at inithook{\@ifpackageloaded{hyperref}{\hypertext at enable@ltx}{}}%
+\DeclareOption{frontmatterverbose}{\@booleantrue\frontmatterverbose at sw}%
+\@booleanfalse\frontmatterverbose at sw
+\DeclareOption{inactive}{\@booleanfalse\frontmatter at syntax@sw}%
+\@booleantrue\frontmatter at syntax@sw
+\@booleanfalse\runinaddress at sw
+\@booleantrue\@affils at sw
+\@booleanfalse\groupauthors at sw
+\DeclareOption{groupedaddress}{\clo at groupedaddress}%
+\def\clo at groupedaddress{%
+ \@booleantrue\groupauthors at sw
+ \@booleantrue\@affils at sw
+ \@booleanfalse\runinaddress at sw
+}%
+\DeclareOption{unsortedaddress}{\clo at unsortedaddress}%
+\def\clo at unsortedaddress{%
+ \@booleantrue\groupauthors at sw
+ \@booleanfalse\@affils at sw
+ \@booleanfalse\runinaddress at sw
+}%
+\DeclareOption{runinaddress}{\clo at runinaddress}%
+\def\clo at runinaddress{%
+ \@booleantrue\groupauthors at sw
+ \@booleantrue\@affils at sw
+ \@booleantrue\runinaddress at sw
+}%
+\DeclareOption{superscriptaddress}{\clo at superscriptaddress}%
+\def\clo at superscriptaddress{%
+ \@booleanfalse\groupauthors at sw
+ \@booleantrue\@affils at sw
+ \@booleanfalse\runinaddress at sw
+}%
+%%%  @LaTeX-file{
+%%%     filename        = "revtex4-1.dtx",
+%%%     version         = "4.1r",
+%%%     date            = "2010/07/25",
+%%%     time            = "20:33:00 UT-8",
+%%%     checksum        = "7177",
+%%%     author          = "Arthur Ogawa (mailto:arthur_ogawa at sbcglobal.net),
+%%%                        commissioned by the American Physical Society.
+%%%                        ",
+%%%     copyright       = "Copyright (C) 1999, 2009 Arthur Ogawa,
+%%%                        distributed under the terms of the
+%%%                        LaTeX Project Public License, see
+%%%                        ftp://ctan.tug.org/macros/latex/base/lppl.txt
+%%%                        ",
+%%%     address         = "Arthur Ogawa,
+%%%                        USA",
+%%%     telephone       = "",
+%%%     FAX             = "",
+%%%     email           = "mailto colon arthur_ogawa at sbcglobal.net",
+%%%     codetable       = "ISO/ASCII",
+%%%     keywords        = "latex, page grid, main vertical list",
+%%%     supported       = "yes",
+%%%     abstract        = "package to change page grid, MVL",
+%%%     docstring       = "The checksum field above generated by ltxdoc",
+%%%  }
+\def\substyle at post{4-1}%
+\def\substyle at ext{rtx}%
+\DeclareOption*{\OptionNotUsed}%
+\def\@process at society#1{%
+ \@ifxundefined\@society{%
+  \class at warn{No Society specified, using default society #1}%
+  \def\@society{#1}\let\@journal\@undefined
+ }{}%
+ \expandafter\input\expandafter{\@society\substyle at post.\substyle at ext}%
+}%
+\def\@process at journal#1{%
+ \@ifxundefined\@journal{%
+  \class at warn{No journal specified, using default #1}%
+  \def\@journal{#1}%
+ }{}%
+ \expandafter\expandafter
+ \expandafter\rtx at do@substyle
+ \expandafter\expandafter
+ \expandafter{\expandafter\@society\@journal}%
+}%
+\def\rtx at do@substyle#1{%
+ \InputIfFileExists{#1\substyle at post.\substyle at ext}{}{\csname rtx@#1\endcsname}%
+}%
+\def\@process at pointsize#1{%
+ \@ifxundefined\@pointsize{%
+  \def\@pointsize{#1}%
+  \class at warn{No type size specified, using default \@pointsize}%
+ }{}%
+ \expandafter\expandafter
+ \expandafter\rtx at do@substyle
+ \expandafter\expandafter
+ \expandafter{\expandafter\@society\@pointsize pt}%
+}%
+  \def\ps at headings{%
+      \let\@oddfoot\@empty\let\@evenfoot\@empty
+      \def\@evenhead{\thepage\hfil\slshape\leftmark}%
+      \def\@oddhead{{\slshape\rightmark}\hfil\thepage}%
+      \let\@mkboth\markboth
+    \def\sectionmark##1{%
+      \markboth {\MakeUppercase{%
+        \ifnum \c at secnumdepth >\z@
+          \thesection\quad
+        \fi
+        ##1}}{}}%
+    \def\subsectionmark##1{%
+      \markright {%
+        \ifnum \c at secnumdepth >\@ne
+          \thesubsection\quad
+        \fi
+        ##1}}}%
+\def\ps at myheadings{%
+    \let\@oddfoot\@empty\let\@evenfoot\@empty
+    \def\@evenhead{\thepage\hfil\slshape\leftmark}%
+    \def\@oddhead{{\slshape\rightmark}\hfil\thepage}%
+    \let\@mkboth\@gobbletwo
+    \let\sectionmark\@gobble
+    \let\subsectionmark\@gobble
+    }%
+\def\ps at article{%
+    \def\@evenhead{\let\\\heading at cr\thepage\quad\checkindate\hfil{\leftmark}}%
+    \def\@oddhead{\let\\\heading at cr{\rightmark}\hfil\checkindate\quad\thepage}%
+    \def\@oddfoot{}%
+    \def\@evenfoot{}%
+    \let\@mkboth\markboth
+  \let\sectionmark\@gobble
+  \let\subsectionmark\@gobble
+}%
+\def\ps at article@final{%
+    \def\@evenhead{\let\\\heading at cr\thepage\quad\checkindate\hfil{\leftmark}}%
+    \def\@oddhead{\let\\\heading at cr{\rightmark}\hfil\checkindate\quad\thepage}%
+    \def\@oddfoot{}%
+    \def\@evenfoot{}%
+    \let\@mkboth\markboth
+    \def\sectionmark##1{%
+      \markboth{%
+       \MakeTextUppercase{%
+        \@ifnum{\c at secnumdepth >\z@}{\thesection\hskip 1em\relax}{}%
+         ##1%
+       }%
+       }{}%
+    }%
+    \def\subsectionmark##1{%
+      \markright {%
+        \@ifnum{\c at secnumdepth >\@ne}{\thesubsection\hskip 1em\relax}{}%
+         ##1%
+      }%
+    }%
+}%
+\def\heading at cr{\unskip\space\ignorespaces}%
+\def\ps at preprint{%
+  \def\@oddfoot{\hfil\thepage\quad\checkindate\hfil}%
+  \def\@evenfoot{\hfil\thepage\quad\checkindate\hfil}%
+  \def\@oddhead{}%
+  \def\@evenhead{}%
+  \let\@mkboth\@gobbletwo
+  \let\sectionmark\@gobble
+  \let\subsectionmark\@gobble
+}%
+\let\@oddhead\@empty
+\let\@evenhead\@empty
+\let\@oddfoot\@empty
+\let\@evenfoot\@empty
+\def\lastpage at putlabel{%
+ \if at filesw
+  \begingroup
+    \advance\c at page\m at ne
+    \immediate\write\@auxout{\string\newlabel{LastPage}{{}{\thepage}{}{}{}}}%
+  \endgroup
+ \fi
+}%
+\appdef\clear at document{%
+ \do at output@cclv{%
+  \lastpage at putlabel
+  \tally at box@size at sw{\total at text}{}%
+ }%
+}%
+\providecommand\write at column@totals{}%
+\appdef\rtx at require@packages{%
+ \RequirePackage{url}%
+}%
+\appdef\document at inithook{%
+ \incompatible at package{cite}%
+ \incompatible at package{mcite}%
+ \incompatible at package{multicol}%
+}%
+\def\labelenumi{\theenumi.}
+\def\theenumi{\arabic{enumi}}
+\def\labelenumii{(\theenumii)}
+\def\theenumii{\alph{enumii}}
+\def\p at enumii{\theenumi}
+\def\labelenumiii{\theenumiii.}
+\def\theenumiii{\roman{enumiii}}
+\def\p at enumiii{\theenumi(\theenumii)}
+\def\labelenumiv{\theenumiv.}
+\def\theenumiv{\Alph{enumiv}}
+\def\p at enumiv{\p at enumiii\theenumiii}
+\def\labelitemi{\textbullet}
+\def\labelitemii{\normalfont\bfseries\textendash}
+\def\labelitemiii{\textasteriskcentered}
+\def\labelitemiv{\textperiodcentered}
+\pagenumbering{arabic}
+\setcounter{topnumber}{2}
+\def\topfraction{.9}
+\setcounter{bottomnumber}{1}
+\def\bottomfraction{.9}
+\setcounter{totalnumber}{3}
+\def\textfraction{.1}
+\def\floatpagefraction{.9}
+\setcounter{dbltopnumber}{2}
+\def\dbltopfraction{.9}
+\def\dblfloatpagefraction{.9}
+\newenvironment{verse}{%
+  \let\\=\@centercr
+  \list{}{%
+    \itemsep\z@ \itemindent -1.5em\listparindent \itemindent
+    \rightmargin\leftmargin\advance\leftmargin 1.5em}\item[]%
+}{%
+ \endlist
+}%
+\newenvironment{quotation}{%
+  \list{}{%
+    \listparindent 1.5em
+    \itemindent\listparindent
+    \rightmargin\leftmargin \parsep \z@ \@plus\p@}\item[]%
+}{%
+ \endlist
+}%
+\newenvironment{quote}{%
+  \list{}{%
+  \rightmargin\leftmargin}\item[]%
+}{%
+ \endlist
+}%
+\def\descriptionlabel#1{%
+  \hspace\labelsep \normalfont\bfseries #1\unskip:%
+}%
+\newenvironment{description}{%
+ \list{}{%
+    \labelwidth\z@ \itemindent-\leftmargin
+    \let\makelabel\descriptionlabel
+ }%
+}{%
+ \endlist
+}%
+\newcounter{part}%
+\let\thepart\@undefined
+\newcounter{section}%
+\let\thesection\@undefined
+\newcounter{subsection}[section]%
+\let\thesubsection\@undefined
+\newcounter{subsubsection}[subsection]%
+\let\thesubsubsection\@undefined
+\newcounter{paragraph}[subsubsection]%
+\let\theparagraph\@undefined
+\newcounter{subparagraph}[paragraph]%
+\let\thesubparagraph\@undefined
+\def\secnums at rtx{%
+ \@ifxundefined\thepart{%
+  \def\thepart{\Roman{part}}%
+ }{}%
+ \@ifxundefined\thesection{%
+  \def\thesection       {\Roman{section}}%
+  \def\p at section        {}%
+ }{}%
+ \@ifxundefined\thesubsection{%
+  \def\thesubsection    {\Alph{subsection}}%
+  \def\p at subsection     {\thesection\,}%
+ }{}%
+ \@ifxundefined\thesubsubsection{%
+  \def\thesubsubsection {\arabic{subsubsection}}%
+  \def\p at subsubsection  {\thesection\,\thesubsection\,}%
+ }{}%
+ \@ifxundefined\theparagraph{%
+  \def\theparagraph     {\alph{paragraph}}%
+  \def\p at paragraph      {\thesection\,\thesubsection\,\thesubsubsection\,}%
+ }{}%
+ \@ifxundefined\thesubparagraph{%
+  \def\thesubparagraph  {\arabic{subparagraph}}%
+  \def\p at subparagraph   {\thesection\,\thesubsection\,\thesubsubsection\,\theparagraph\,}%
+ }{}%
+}%
+\def\secnums at arabic{%
+ \@ifxundefined\thepart{%
+  \def\thepart          {\Roman{part}}%
+ }{}%
+ \@ifxundefined\thesection{%
+  \def\thesection       {\Roman{section}}%
+  \def\p at section        {}%
+ }{}%
+ \@ifxundefined\thesubsection{%
+  \def\thesubsection    {\thesection.\arabic{subsection}}%
+  \def\p at subsection     {}%
+ }{}%
+ \@ifxundefined\thesubsubsection{%
+  \def\thesubsubsection {\thesubsection.\arabic{subsubsection}}%
+  \def\p at subsubsection  {}%
+ }{}%
+ \@ifxundefined\theparagraph{%
+  \def\theparagraph     {\thesubsubsection.\arabic{paragraph}}%
+  \def\p at paragraph      {}%
+ }{}%
+ \@ifxundefined\thesubparagraph{%
+  \def\thesubparagraph  {\theparagraph.\arabic{subparagraph}}%
+  \def\p at subparagraph   {}%
+ }{}%
+}%
+\newenvironment{acknowledgments}{%
+ \acknowledgments at sw{%
+  \expandafter\section\expandafter*\expandafter{\acknowledgmentsname}%
+ }{%
+  \par
+  \phantomsection
+  \addcontentsline{toc}{section}{\protect\numberline{}\acknowledgmentsname}%
+ }%
+}{%
+ \par
+}%
+\@booleantrue\acknowledgments at sw
+\newenvironment{acknowledgements}{%
+ \replace at environment{acknowledgements}{acknowledgments}%
+}{%
+ \endacknowledgments
+}%
+\def\part{\par
+   \addvspace{4ex}%
+   \@afterindentfalse
+   \secdef\@part\@spart}%
+\def\@part[#1]#2{%
+ \@ifnum{\c at secnumdepth >\m at ne}{%
+        \refstepcounter{part}%
+        \addcontentsline{toc}{part}{\thepart\hspace{1em}#1}%
+ }{%
+      \addcontentsline{toc}{part}{#1}%
+ }%
+ \begingroup
+    \parindent \z@ \raggedright
+    \interlinepenalty\@M
+    \@ifnum{\c at secnumdepth >\m at ne}{%
+      \Large \bf \partname~\thepart%
+      \par\nobreak
+    }{}%
+    \huge \bf
+    #2%
+    \markboth{}{}\par
+ \endgroup
+   \nobreak
+   \vskip 3ex
+   \@afterheading
+}%
+\def\@spart#1{{\parindent \z@ \raggedright
+    \interlinepenalty\@M
+    \huge \bf
+    #1\par}
+    \nobreak
+    \vskip 3ex
+    \@afterheading}
+\def\section{%
+  \@startsection
+    {section}%
+    {1}%
+    {\z@}%
+    {0.8cm \@plus1ex \@minus .2ex}%
+    {0.5cm}%
+    {\normalfont\small\bfseries}%
+}%
+\def\subsection{%
+  \@startsection
+    {subsection}%
+    {2}%
+    {\z@}%
+    {.8cm \@plus1ex \@minus .2ex}%
+    {.5cm}%
+    {\normalfont\small\bfseries}%
+}%
+\def\subsubsection{%
+  \@startsection
+    {subsubsection}%
+    {3}%
+    {\z@}%
+    {.8cm \@plus1ex \@minus .2ex}%
+    {.5cm}%
+    {\normalfont\small\itshape}%
+}%
+\def\paragraph{%
+  \@startsection
+    {paragraph}%
+    {4}%
+    {\parindent}%
+    {\z@}%
+    {-1em}%
+    {\normalfont\normalsize\itshape}%
+}%
+\def\subparagraph{%
+  \@startsection
+    {subparagraph}%
+    {5}%
+    {\parindent}%
+    {3.25ex \@plus1ex \@minus .2ex}%
+    {-1em}%
+    {\normalfont\normalsize\bfseries}%
+}%
+\def\theequation{%
+ \theequation at prefix\arabic{equation}%
+}%
+\def\theequation at prefix{}%
+\setcounter{secnumdepth}{4}
+\lineskip 1pt
+\normallineskip 1pt
+\def\baselinestretch{1}%
+\@lowpenalty   51
+\@medpenalty  151
+\@highpenalty 301
+\@beginparpenalty -\@lowpenalty
+\@endparpenalty   -\@lowpenalty
+\@itempenalty     -\@lowpenalty
+\arraycolsep 3pt
+\tabcolsep 2pt
+\arrayrulewidth .4pt
+\doublerulesep 2pt
+\skip\@mpfootins = 0pt
+\fboxsep  = 3.0pt
+\fboxrule = 0.4pt
+\newenvironment{figure}
+               {\@float{figure}}
+               {\end at float}
+\newenvironment{figure*}
+               {\@dblfloat{figure}}
+               {\end at dblfloat}
+\def\listoffigures{\print at toc{lof}}%
+\def\l at figure{\@dottedtocline{1}{1.5em}{2.3em}}%
+\newlength\abovecaptionskip
+\newlength\belowcaptionskip
+\setlength\abovecaptionskip{10\p@}
+\setlength\belowcaptionskip{2\p@}
+\long\def\@makecaption#1#2{%
+  \par
+  \vskip\abovecaptionskip
+  \begingroup
+   \small\rmfamily
+   \sbox\@tempboxa{%
+    \let\\\heading at cr
+    \@make at capt@title{#1}{#2}%
+   }%
+   \@ifdim{\wd\@tempboxa >\hsize}{%
+    \begingroup
+     \samepage
+     \flushing
+     \let\footnote\@footnotemark at gobble
+     \@make at capt@title{#1}{#2}\par
+    \endgroup
+   }{%
+     \global \@minipagefalse
+     \hb at xt@\hsize{\hfil\unhbox\@tempboxa\hfil}%
+   }%
+  \endgroup
+  \vskip\belowcaptionskip
+}%
+\def\@make at capt@title#1#2{%
+ \@ifx at empty\float at link{\@firstofone}{\expandafter\href\expandafter{\float at link}}%
+  {#1}\@caption at fignum@sep#2%
+}%
+\def\@footnotemark at gobble{%
+ \@footnotemark
+ \@ifnextchar[{\@gobble at opt@i}{\@gobble}%
+}%
+\def\@gobble at opt@i[#1]#2{}%
+\def\@mpmakefntext#1{%
+ \flushing
+ \parindent=1em
+ \noindent
+ \hb at xt@1em{\hss\@makefnmark}%
+ #1%
+}%
+\def\@caption at fignum@sep{. }%
+\def\setfloatlink{\def\float at link}%
+\let\float at link\@empty
+\newcounter{figure}
+\renewcommand \thefigure {\@arabic\c at figure}
+\def\fps at figure{tbp}
+\def\ftype at figure{1}
+\def\ext at figure{lof}
+\def\fnum at figure{\figurename~\thefigure}
+\expandafter\newbox\csname fbox@\ftype at figure\endcsname
+\expandafter\setbox\csname fbox@\ftype at figure\endcsname\hbox{}%
+\appdef\class at documenthook{%
+ \do at if@floats{figure}{.fgx}%
+}%
+\appdef\class at enddocumenthook{%
+ \printfigures\relax
+}%
+\newcommand\printfigures{%
+ \@ifstar{\true at sw}{\floatp at sw{\true at sw}{\false at sw}}%
+ {%
+  \print at float{figure}{\oneapage}%
+ }{%
+  \print at float{figure}{}%
+ }%
+}%
+\appdef\@xfloat at prep{%
+ \appdef\@parboxrestore{\centering}%
+}%
+\newenvironment{table}
+               {\@float{table}}
+               {\end at float}
+\newenvironment{table*}
+               {\@dblfloat{table}}
+               {\end at dblfloat}
+\newcounter{table}
+\renewcommand\thetable{\@Roman\c at table}
+\def\fps at table{tbp}
+\def\ftype at table{2}
+\def\ext at table{lot}
+\def\fnum at table{\tablename~\thetable}
+\expandafter\newbox\csname fbox@\ftype at table\endcsname
+\expandafter\setbox\csname fbox@\ftype at table\endcsname\hbox{}%
+\def\listoftables{\print at toc{lot}}%
+\let\l at table\l at figure
+\def\table at hook{\small}%
+\def\squeezetable{\def\table at hook{\scriptsize}}%
+\appdef\@floatboxreset{\table at hook}%
+\def\set at table@environments{%
+ \floats at sw{}{%
+  \let at environment{longtable at float}{longtable}%
+  \let at environment{longtable}{longtable at write}%
+  \let at environment{longtable*@float}{longtable*}%
+  \let at environment{longtable*}{longtable*@write}%
+  \let at environment{turnpage at float}{turnpage}%
+  \let at environment{turnpage}{turnpage at write}%
+ }%
+ \do at if@floats{table}{.tbx}%
+}%
+\appdef\document at inithook{%
+ \set at table@environments
+}%
+\appdef\class at enddocumenthook{%
+ \printtables\relax
+}%
+\newenvironment{longtable at write}{%
+ \write@@float{longtable}{table}%
+}{%
+ \endwrite at float
+}%
+\newenvironment{longtable*@write}{%
+ \write@@float{longtable*}{table}%
+}{%
+ \endwrite at float
+}%
+\newenvironment{turnpage at write}{%
+ \immediate\write\tablewrite{\string\begin{turnpage}}%
+}{%
+ \immediate\write\tablewrite{\string\end{turnpage}}%
+}%
+\newcommand\printtables{%
+ \begingroup
+  \let at environment{longtable}{longtable at float}%
+  \let at environment{longtable*}{longtable*@float}%
+  \let at environment{turnpage}{turnpage at anchored}%
+  \prepdef\longtable{\trigger at float@par}%
+  \expandafter\prepdef\csname longtable*\endcsname{\trigger at float@par}%
+  \expandafter\prepdef\csname table at floats\endcsname{%
+   \onecolumngrid at push
+  }%
+  \expandafter\appdef\csname endtable at floats\endcsname{%
+   \onecolumngrid at pop
+  }%
+  \@ifstar{\true at sw}{\floatp at sw{\true at sw}{\false at sw}}%
+  {%
+   \print at float{table}{\oneapage}%
+  }{%
+   \print at float{table}{}%
+  }%
+ \endgroup
+}%
+\newenvironment{turnpage at anchored}{%
+ \onecolumngrid at push
+ \setbox\z@\vbox to\textwidth\bgroup
+  \columnwidth\textheight
+}{%
+  \vfil
+ \egroup
+ \rotatebox{90}{\box\z@}%
+ \onecolumngrid at pop
+}%
+\newenvironment{video}
+ {\@float{video}}
+ {\end at float}%
+\newenvironment{video*}
+ {\@dblfloat{video}}
+ {\end at dblfloat}%
+\newcounter{video}
+\renewcommand \thevideo {\@arabic\c at video}
+\def\ext at video{lov}%
+\def\fname at video{Video}%
+\def\lovname{List of Videos}%
+\def\fps at video{tbp}%
+\def\ftype at video{4}%
+\def\fnum at video{\fname at video~\thevideo}%
+\appdef\document at inithook{%
+ \@ifxundefined\c at float@type{}{%
+  \global\setcounter{float at type}{8}%
+ }%
+}%
+\expandafter\newbox\csname fbox@\ftype at video\endcsname
+\expandafter\setbox\csname fbox@\ftype at video\endcsname\hbox{}%
+\let\theHvideo\thevideo
+\def\listofvideos{\print at toc{lov}}%
+\let\l at video\l at figure
+\appdef\class at documenthook{%
+ \do at if@floats{video}{.vdx}%
+}%
+\appdef\class at enddocumenthook{%
+ \printvideos\relax
+}%
+\newcommand\printvideos{%
+ \@ifstar{\true at sw}{\floatp at sw{\true at sw}{\false at sw}}%
+ {%
+  \print at float{video}{\oneapage}%
+ }{%
+  \print at float{video}{}%
+ }%
+}%
+\def\endtabular at hook{}%
+\appdef\document at inithook{%
+ \@ifpackageloaded{dcolumn}{%
+  \expandafter\@ifnotrelax\csname NC at find@d\endcsname{}{%
+   \newcolumntype{d}{D{.}{.}{-1}}%
+  }%
+ }{}%
+}%
+\def\toprule{\hline\hline}%
+\def\colrule{\hline}%
+\def\botrule{\hline\hline}%
+\newenvironment{ruledtabular}{%
+ \def\array at default{v}%
+ \appdef\tabular at hook{\def\@halignto{to\hsize}}%
+ \let\tableft at skip@default\tableft at skip
+ \let\tableft at skip\tableft at skip@float
+ \let\tabmid at skip@default\tabmid at skip
+ \let\tabmid at skip\tabmid at skip@float
+ \let\tabright at skip@default\tabright at skip
+ \let\tabright at skip\tabright at skip@float
+ \let\array at row@pre at default\array at row@pre
+ \let\array at row@pre\array at row@pre at float
+ \let\array at row@pst at default\array at row@pst
+ \let\array at row@pst\array at row@pst at float
+ \appdef\array at row@rst{%
+  \let\array at row@pre\array at row@pre at default
+  \let\array at row@pst\array at row@pst at default
+  \let\tableft at skip\tableft at skip@default
+  \let\tabmid at skip\tabmid at skip@default
+  \let\tabright at skip\tabright at skip@default
+  \appdef\tabular at hook{\let\@halignto\@empty}%
+ }%
+}{%
+}%
+\def\@makefntext#1{%
+  \def\baselinestretch{1}%
+  \parindent1em%
+  \noindent
+  \hb at xt@1.8em{%
+   \hss\@makefnmark
+  }%
+  #1%
+  \par
+}%
+\def\@makefnmark{%
+ \hbox{%
+  \@textsuperscript{%
+   \normalfont\@thefnmark
+  }%
+ }%
+}%
+\expandafter\DeclareRobustCommand
+\expandafter\rev at citet
+\expandafter{%
+ \expandafter\begingroup
+  \expandafter\rtx at swap@citea
+  \expandafter\g at bblefirsttoken
+              \csname citet \endcsname
+}%
+\expandafter\DeclareRobustCommand
+\expandafter\rev at citealp
+\expandafter{%
+ \expandafter\begingroup
+  \expandafter\rtx at swap@citea
+  \expandafter\g at bblefirsttoken
+              \csname citealp \endcsname
+}%
+\expandafter\DeclareRobustCommand
+\expandafter\rev at citealpnum
+\expandafter{%
+ \expandafter\begingroup
+  \expandafter\rtx at swap@citenum
+  \expandafter\g at bblefirsttoken
+              \csname citealp \endcsname
+}%
+\def\rtx at swap@citenum{%
+  \rtx at swap@citea
+  \let\@cite\NAT at citenum
+  \let\NAT at mbox\mbox
+  \let\citeyear\NAT at citeyear
+  \let\NAT at space\NAT at spacechar
+}%
+\def\g at bblefirsttoken{%
+ \expandafter\true at sw
+ \expandafter\@empty
+}%
+\newcommand\rtx at citesuper[3]{%
+ \ifNAT at swa
+  \leavevmode
+  \unskip
+  \textsuperscript{\normalfont#1}%
+  \if*#3*\else\ (#3)\fi
+ \else
+  #1%
+ \fi
+ \endgroup
+}%
+\def\@makefnmark at cite{\begingroup\NAT at swatrue\@cite{{\@thefnmark}}{}{}}%
+\def\rtx at bibsection{%
+ \@ifx at empty\refname{%
+  \par
+ }{%
+  \expandafter\section\expandafter*\expandafter{\refname}%
+  \@nobreaktrue
+ }%
+}%
+\def\rtx at swap@citea{%
+ \let\NAT at def@citea\rtx at def@citea
+ \let\NAT at def@citea at close\rtx at def@citea at close
+ \let\NAT at def@citea at box\rtx at def@citea at box
+}%
+\def\rtx at def@citea{%
+ \def\@citea{\NAT at separator\NAT at space}%
+ \advance\c at NAT@ctr\@ne
+ \@ifnum{\count@>\tw@}{%
+  \@ifnum{\c at NAT@ctr=\count@}{\appdef\@citea{\NAT at conj\NAT at space}}{}%
+ }{%
+  \def\@citea{\NAT at space\NAT at conj\NAT at space}%
+ }%
+}%
+\def\rtx at def@citea at close{%
+ \rtx at def@citea
+ \prepdef\@citea{\NAT@@close}%
+}%
+\def\rtx at def@citea at box{%
+ \rtx at def@citea at close
+ \expandafter\def\expandafter\@citea\expandafter{\expandafter\NAT at mbox\expandafter{\@citea}}%
+}%
+\def\NAT at conj{and}%
+\def\NAT at BibitemShut#1{%
+ \def\@bibstop{#1}%
+ \let\bibitem at Stop\bibitemStop
+ \let\bibitem at NoStop\bibitemNoStop
+ \@ifx{\bibitemShut\relax}{\let\@bibitemShut\@empty}{%
+  \expandafter\def\expandafter\@bibitemShut\expandafter{\bibitemShut}%
+ }%
+}%
+\def\BibitemShut at ltx#1{%
+ \unskip
+ \def\@bibstop{#1}%
+ \let\bibitem at Stop\bibitemStop
+ \let\bibitem at NoStop\bibitemNoStop
+ \@ifx{\bibitemShut\relax}{\let\@bibitemShut\@empty}{%
+  \expandafter\def\expandafter\@bibitemShut\expandafter{\bibitemShut}%
+ }%
+}%
+\newenvironment{thebibliography}{}{}%
+\let\@listi\@empty
+\appdef\rtx at require@packages{%
+ \RequirePackage[sort&compress]{natbib}[2009/11/07 8.31a (PWD, AO)]%
+ \let at environment{NAT at thebibliography}{thebibliography}%
+ \let at environment{thebibliography}{rtx at thebibliography}%
+ \let\bibliographystyle at latex\bibliographystyle
+ \let\NAT at citesuper\rtx at citesuper
+\let\bibsection\rtx at bibsection
+\let\NATx at bibsetnum\NAT at bibsetnum
+\def\NAT at bibsetnum#1{%
+ \setlength{\topsep}{\z@}%
+ \NATx at bibsetnum{\ref{LastBibItem}}%
+}%
+\let\NATx at bibsetup\NAT at bibsetup
+\def\NAT at bibsetup{%
+ \setlength{\labelwidth}{\z@}%
+ \setlength{\labelsep}{\z@}%
+ \setlength{\itemindent}{\z@}%
+ \setlength{\listparindent}{\z@}%
+ \setlength{\topsep}{\z@}%
+ \setlength{\parsep}{\z@}%
+ \NATx at bibsetup
+}%
+\let\bibpreamble\@empty
+\def\newblock{\ }%
+\let\NATx at bibnumfmt\bibnumfmt
+\def\bibnumfmt{\place at bibnumber}%
+\let\NAT at merge\thr@@
+\let\NAT at citeyear\citeyear
+\let\onlinecite\rev at citealp
+\let\textcite\rev at citet
+\@ifx{\BibitemShut\NAT at BibitemShut}{%
+ \class at info{Repairing natbib's \string\BibitemShut}%
+ \let\BibitemShut\BibitemShut at ltx
+}{}%
+\let\bibliographystyle at latex\bibliographystyle
+\def\bibliographystyle{\@booleantrue\bibliographystyle at sw\def\@bibstyle}%
+\@booleanfalse\bibliographystyle at sw
+\def\NAT at bibitem@cont{%
+ \let\bibitem at Stop\bibitemContinue at Stop
+ \let\bibitem at NoStop\bibitemContinue
+}%
+\def\bibitemNoStop{%
+ \@ifx at empty\@bibitemShut{.\spacefactor\@mmm\space}{\@bibitemShut}%
+}%
+\def\bibitemContinue{%
+ \@ifx at empty\@bibitemShut{;\spacefactor\@mmm\space}{\@bibitemShut}%
+}%
+\def\bibitemContinue at Stop{%
+ \@ifx at empty\@bibitemShut{\spacefactor\@mmm\space}{\@bibitemShut}%
+}%
+}%
+\DeclareRobustCommand\onlinecite{\@onlinecite}%
+\DeclareRobustCommand\textcite{\@textcite}%
+\let\bibliography at latex\bibliography
+\def\bibliography#1{%
+ \auto at bib@empty
+ \begingroup
+  \let\auto at bib@innerbib\@empty
+  \@ifx at empty{\pre at bibdata}{%
+   \bibliography at latex{#1}%
+  }{%
+   \@if at empty{#1}{%
+    \expandafter\bibliography at latex\expandafter{\pre at bibdata}%
+   }{%
+    \expandafter\bibliography at latex\expandafter{\pre at bibdata,#1}%
+   }%
+  }%
+ \endgroup
+}%
+\let\pre at bibdata\@empty
+\newenvironment{rtx at thebibliography}[1]{%
+ \NAT at thebibliography{#1}%
+ \let\@TBN at opr\present at bibnote
+ \@FMN at list
+}{%
+ \auto at bib@innerbib
+ \edef\@currentlabel{\arabic{NAT at ctr}}%
+ \label{LastBibItem}%
+ \endNAT at thebibliography
+ \aftergroup\auto at bib@empty
+}%
+\def\present at bibnote#1#2{%
+ \item[%
+  \textsuperscript{%
+   \normalfont
+   \Hy at raisedlink{\hyper at anchorstart{frontmatter.#1}\hyper at anchorend}%
+   \begingroup
+    \csname c@\@mpfn\endcsname#1\relax
+    \frontmatter at thefootnote
+   \endgroup
+  }%
+ ]#2\par
+}%
+\def\write at bibliographystyle{%
+ \@ifxundefined\@bibstyle{}{%
+  \expandafter\bibliographystyle at latex\expandafter{\@bibstyle}%
+  \bibliographystyle at sw{}{\@bibdataout at rev}%
+ }%
+ \global\let\write at bibliographystyle\relax
+}%
+\AtEndDocument{\write at bibliographystyle}%
+\def\rtx@@citetp[#1]{\@ifnextchar[{\rtx at citex[#1]}{\rtx at citex[][#1]}}%
+\def\rtx at citex[#1][#2]#3{%
+ \begingroup
+  \def\@tempa{[#1][#2]{#3}}%
+  \@ifx{\@cite\NAT at citesuper}{%
+   \leavevmode
+   \skip@\lastskip
+   \unskip
+   \super at cite@let
+  }{%
+   \super at cite@end
+  }%
+}%
+\def\super at cite@let{%
+ \futurelet\@let at token\super at cite@check
+}%
+\def\super at cite@end{%
+ \aftergroup\@citex\expandafter\endgroup\@tempa
+}%
+\def\super at cite@check{%
+ \@ifx{\@let at token\@sptoken}{%
+  \super at cite@end
+ }{%
+  \super at cite@swap
+ }%
+}%
+\long\def\super at cite@swap#1{%
+ \expandafter\@ifx\expandafter{\csname rtx at automove#1\endcsname\@empty}{%
+  #1%
+  \super at cite@let
+ }{%
+  \super at cite@end
+  #1%
+ }%
+}%
+\expandafter\let\csname rtx at automove.\endcsname\@empty
+\expandafter\let\csname rtx at automove,\endcsname\@empty
+\expandafter\let\csname rtx at automove:\endcsname\@empty
+\expandafter\let\csname rtx at automove;\endcsname\@empty
+\appdef\class at documenthook{%
+ \citeautoscript at sw{%
+  \@ifx{\@cite\NAT at citesuper}{%
+   \let\NAT@@citetp\rtx@@citetp
+  }{}%
+ }{}%
+}%
+\def\mini at note{\save at note\mini at notes}%Implicit #2
+\def\save at note#1#2{%
+  \stepcounter\@mpfn
+  \protected at xdef\@thefnmark{\thempfn}%
+  \@footnotemark
+  \expandafter\g at addto@macro
+  \expandafter#1%
+  \expandafter{%
+  \expandafter \@@footnotetext
+  \expandafter {\@thefnmark}{#2}%
+              }%
+}%
+\long\def\@@footnotetext#1{\def\@thefnmark{#1}\@footnotetext}%
+\let\mini at notes\@empty
+\def\rev at citemark#1{%
+ \expandafter\cite\expandafter{\@thefnmark}%
+}%
+\def\rev at endtext#1{%
+ \let\@endnotelabel\@thefnmark
+ \@endnotetext
+}%
+\def\endnote at ext{.end}%
+\def\bibdata at app{Notes}%
+\def\bibdata at ext{bib}%
+\long\def\@endnotetext#1{%
+  \begingroup
+    \endnote at relax
+    \immediate\write\@bibdataout{%
+     @FOOTNOTE{%
+      \@endnotelabel,%
+      key="\@endnotelabel",%
+      note="#1"%
+     }%
+    }%
+  \endgroup
+}%
+\newwrite\@bibdataout
+\def\endnote at relax{%
+ \let\label\relax \let\index\relax \let\glossary\relax
+ \let\cite \relax \let\ref  \relax \let\pageref \relax
+ \let\(    \relax \let\)    \relax \let\\       \relax
+ \let~\relax
+ \let \protect \@unexpandable at protect
+ \newlinechar`\^^M%
+ \let\begin\relax \let\end\relax
+}%
+\appdef\class at documenthook{\@bibdataout at init}%
+\def\@bibdataout at init{%
+ \immediate\openout\@bibdataout\pre at bibdata.\bibdata at ext\relax
+}%
+\def\@bibdataout at rev{%
+ \immediate\write\@bibdataout{%
+  @CONTROL{%
+   REVTEX41Control%
+   \eprint at enable@sw{}{,eprint=""}%
+  }%
+ }%
+ \if at filesw
+  \immediate\write\@auxout{\string\citation{REVTEX41Control}}%
+ \fi
+}%
+\def\printendnotes{%
+ \class at warn{The \string\printendnotes\space command no longer serves any function. Please remove it from your document.}%
+}%
+\def\make at footnote@endnote{%
+ \footinbib at sw{%
+  \authoryear at sw{}{%
+   \ltx at footnote@push
+   \def\thempfn{Note\thefootnote}%
+   \let\ltx at footmark\rev at citemark
+   \let\ltx at foottext\rev at endtext
+  }%
+ }{}%
+}%
+\def\ltx at footnote@push{%
+ \let\ltx at footmark@latex\ltx at footmark
+ \let\ltx at foottext@latex\ltx at foottext
+ \let\thempfn at latex\thempfn
+ \def\ltx at footnote@pop{%
+  \let\ltx at footmark\ltx at footmark@latex
+  \let\ltx at foottext\ltx at foottext@latex
+  \let\thempfn\thempfn at latex
+ }%
+}%
+\appdef\class at documenthook{%
+ \make at footnote@endnote
+}%
+\def\auto at bib{%
+ \@ifx at empty\@FMN at list{%
+  \footinbib at sw{%
+   \@ifnum{\csname c@\@mpfn\endcsname>\z@}{%
+    \true at sw
+   }{%
+    \test at bbl@sw
+   }%
+  }{%
+   \test at bbl@sw
+  }%
+ }{%
+  \true at sw
+ }%
+ {%
+  \bibliography{}%
+ }{}%
+}%
+\def\auto at bib@empty{%
+ \let\auto at bib\@empty
+}%
+\def\test at bbl@sw{%
+ \setbox\z@\vbox\bgroup
+  \let\providecommand\providecommand at j@nk
+  \let\bibfield\@gobbletwo
+  \let\bibinfo\@gobbletwo
+  \let\translation\@gobble
+  \let\BibitemOpen\@empty
+  \let\bibitemStop\@empty
+  \let\bibitemNoStop\@empty
+  \let\EOS\@empty
+  \let\BibitemShut\@gobble
+  \let\bibAnnoteFile\@gobbletwo
+  \let\bibAnnote\@gobblethree
+  \let\textbf\@gobble
+  \let\emph\@gobble
+  \@booleanfalse\bibitem at sw
+  \let\bibitem\bibitem at set
+  \auto at bib@innerbib
+  \bibitem at sw{\aftergroup\true at sw}{\aftergroup\false at sw}%
+ \egroup
+}%
+\newcommand\bibitem at set[1][]{%
+ \bibitem at sw{}{%
+  \@booleantrue\bibitem at sw
+  \aftergroup\@booleantrue\aftergroup\bibitem at sw
+ }%
+}%
+\def\auto at bib@innerbib{%
+ \begingroup
+  \let at environment{thebibliography}{thebibliography at nogroup}%
+  \bibliography{}%
+ \endgroup
+}%
+\def\thebibliography at nogroup#1{%
+ \endgroup
+ \def\@currenvir{thebibliography}%
+}%
+\def\endthebibliography at nogroup{\begingroup}%
+\long\def \@gobblethree #1#2#3{}%
+\def\providecommand at j@nk#1[#2]{%
+ \@ifnum{#2=\z@}{\def\j at nk}{%
+  \@ifnum{#2=\@ne}{\def\j at nk##1}{%
+   \@ifnum{#2=\tw@}{\def\j at nk##1##2}{%
+    \@ifnum{#2=\thr@@}{\def\j at nk##1##2##3}{%
+    }%
+   }%
+  }%
+ }%
+}%
+\def\thepage{\@arabic\c at page}%
+\appdef\setup at hook{%
+ \tabbingsep \labelsep
+ \leftmargin\leftmargini
+ \labelwidth\leftmargin\advance\labelwidth-\labelsep
+ \let\@listi\@listI
+ \@listi
+}%
+\appdef\class at documenthook{%
+ \global\c at page\@ne
+ \def\curr at envir{document}%
+ \mark at envir{\curr at envir}%
+}%
+\def\open at onecolumn{%
+ \open at column@one\@ne
+ \set at colht
+ \@floatplacement
+ \@dblfloatplacement
+}%
+\def\open at twocolumn{%
+ \open at column@mlt\tw@
+ \set at colht
+ \@floatplacement
+ \@dblfloatplacement
+ \sloppy
+ \let\set at listindent\set at listindent@
+}%
+\def\appendix{%
+ \par
+ \setcounter{section}\z@
+ \setcounter{subsection}\z@
+ \setcounter{subsubsection}\z@
+ \def\thesubsection{\arabic{subsection}}%
+ \def\thesubsubsection{\alph{subsubsection}}%
+ \@addtoreset{equation}{section}%
+ \def\theequation at prefix{\thesection}%
+ \addtocontents{toc}{\protect\appendix}%
+ \@ifstar{%
+  \def\thesection{\unskip}%
+  \def\theequation at prefix{A.}%
+ }{%
+  \def\thesection{\Alph{section}}%
+ }%
+}%
+\def\title at column#1{%
+ \minipagefootnote at init
+ #1%
+ \minipagefootnote at foot
+}%
+\def\close at column{%
+ \newpage
+}%
+\def\galley at outdent{\rightmargin-\columnwidth\advance\rightmargin-\columnsep}%
+\let\widetext at outdent\@empty
+\newenvironment{widetext at galley}{%
+  \list{}{%
+    \topsep        \z at skip
+    \listparindent \parindent
+    \itemindent    \parindent
+    \leftmargin    \z@
+    \parsep        \z@\@plus\p@
+    \widetext at outdent
+    \relax
+  }%
+  \item\relax
+}{
+  \endlist
+}%
+\def\title at column@grid#1{%
+ \minipagefootnote at init
+  \onecolumngrid
+  \begingroup
+   \let\@footnotetext\frontmatter at footnotetext
+   \ltx at no@footnote
+   #1%
+  \endgroup
+  \twocolumngrid
+ \minipagefootnote at foot
+}%
+\def\close at column@grid{%
+ \balancelastpage at sw{%
+  \onecolumngrid
+ }{}%
+}%
+\newenvironment{widetext at grid}{%
+  \par\ignorespaces
+  \setbox\widetext at top\vbox{%
+   \hb at xt@\hsize{%
+    \leaders\hrule\hfil
+    \vrule\@height6\p@
+   }%
+  }%
+  \setbox\widetext at bot\hb at xt@\hsize{%
+    \vrule\@depth6\p@
+    \leaders\hrule\hfil
+  }%
+  \onecolumngrid
+  \vskip10\p@
+  \dimen@\ht\widetext at top\advance\dimen@\dp\widetext at top
+  \cleaders\box\widetext at top\vskip\dimen@
+  \vskip6\p@
+  \prep at math@patch
+}{%
+  \par
+  \vskip6\p@
+  \setbox\widetext at bot\vbox{%
+   \hb at xt@\hsize{\hfil\box\widetext at bot}%
+  }%
+  \dimen@\ht\widetext at bot\advance\dimen@\dp\widetext at bot
+  \cleaders\box\widetext at bot\vskip\dimen@
+  \vskip8.5\p@
+  \twocolumngrid\global\@ignoretrue
+  \@endpetrue
+}%
+\newbox\widetext at top
+\newbox\widetext at bot
+\def\set at page@grid{%
+ \twocolumn at sw{%
+  \let\set at footnotewidth\set at footnotewidth@two
+  \let\compose at footnotes\compose at footnotes@two
+  \let at environment{widetext}{widetext at grid}%
+  \let\title at column\title at column@grid
+  \let\close at column\close at column@grid
+ }{%
+  \let at environment{widetext}{widetext at galley}%
+  \preprintsty at sw{%
+  }{%
+   \galley at sw{%
+    \let\widetext at outdent\galley at outdent
+   }{}%
+  }%
+ }%
+}%
+\appdef\setup at hook{\set at page@grid}%
+\DeclareOldFontCommand{\rm}{\normalfont\rmfamily}{\mathrm}
+\DeclareOldFontCommand{\sf}{\normalfont\sffamily}{\mathsf}
+\DeclareOldFontCommand{\tt}{\normalfont\ttfamily}{\mathtt}
+\DeclareOldFontCommand{\bf}{\normalfont\bfseries}{\mathbf}
+\DeclareOldFontCommand{\it}{\normalfont\itshape}{\mathit}
+\DeclareOldFontCommand{\sl}{\normalfont\slshape}{\@nomath\sl}
+\DeclareOldFontCommand{\sc}{\normalfont\scshape}{\@nomath\sc}
+\DeclareRobustCommand*\cal{\@fontswitch\relax\mathcal}
+\DeclareRobustCommand*\mit{\@fontswitch\relax\mathnormal}
+\def\today{\ifcase\month\or
+  January\or February\or March\or April\or May\or June\or
+  July\or August\or September\or October\or November\or December\fi
+  \space\number\day, \number\year}
+\def\partname{Part}
+\def\tocname{Contents}
+\def\lofname{List of Figures}
+\def\lotname{List of Tables}
+\def\refname{References}
+\def\indexname{Index}
+\def\figurename{FIG.}
+\def\figuresname{Figures}%
+\def\tablename{TABLE}
+\def\tablesname{Tables}%
+\def\abstractname{Abstract}
+\def\appendixesname{Appendixes}%
+\def\appendixname{Appendix}%
+\def\acknowledgmentsname{Acknowledgments}
+\def\journalname{??}
+\def\copyrightname{??}
+\def\andname{and}
+\def\@pacs at name{PACS numbers: }%
+\def\@keys at name{Keywords: }%
+\def\ppname{pp}
+\def\numbername{number}
+\def\volumename{volume}
+\def\Dated at name{Dated: }%
+\def\Received at name{Received }%
+\def\Revised at name{Revised }%
+\def\Accepted at name{Accepted }%
+\def\Published at name{Published }%
+\def\address{\replace at command\address\affiliation}%
+\def\altaddress{\replace at command\altaddress\altaffiliation}%
+\newenvironment{references}{%
+ \class at warn@end{The references environment is not supported; use thebibliography instead.}
+ \gdef\references{\thebibliography{}}\references
+}{%
+ \endthebibliography
+}%
+\def\draft{%
+ \class at warn@end{Command \string\draft\space is obsolete;^^JInvoke option draft instead.}%
+ \@booleantrue\draft at sw
+}%
+\def\tighten{%
+ \class at warn@end{Command \string\tighten\space is obsolete;^^JInvoke option tightenlines instead.}%
+ \@booleantrue\tightenlines at sw
+}%
+\def\tableline{%
+ \noalign{%
+  \class at warn@end{Command \string\tableline\space is obsolete;^^JUse \string\colrule\space instead.}%
+  \global\let\tableline\colrule
+ }%
+ \tableline
+}%
+\def\case{\replace at command\case\frac}%
+\def\slantfrac{\replace at command\slantfrac\frac}%
+\def\tablenote{\replace at command\tablenote\footnote}%
+\def\tablenotemark{\replace at command\tablenotemark\footnotemark}%
+\def\tablenotetext{\replace at command\tablenotetext\footnotetext}%
+\DeclareRobustCommand\REV at text[1]{%
+ \relax
+ \ifmmode
+  \mathchoice
+   {\hbox{{\everymath{\displaystyle     }#1}}}%
+   {\hbox{{\everymath{\textstyle        }#1}}}%
+   {\hbox{{\everymath{\scriptstyle      }\let\f at size\sf at size\selectfont#1}}}%
+   {\hbox{{\everymath{\scriptscriptstyle}\let\f at size\ssf at size\selectfont#1}}}%
+  \glb at settings
+ \else
+  \mbox{#1}%
+ \fi
+}%
+\DeclareRobustCommand\REV at bbox[1]{%
+ \relax
+ \ifmmode
+  \mathchoice
+   {\hbox{{\everymath{\displaystyle     }\boldmath$#1$}}}%
+   {\hbox{{\everymath{\textstyle        }\boldmath$#1$}}}%
+   {\hbox{{\everymath{\scriptstyle      }\boldmath$#1$}}}%
+   {\hbox{{\everymath{\scriptscriptstyle}\boldmath$#1$}}}%
+  \glb at settings
+ \else
+  \mbox{#1}%
+ \fi
+}%
+\DeclareRobustCommand\REV at bm[1]{%
+ \class at warn@end{To use \string\bm, please load the bm package!}%
+ \global\let\bm\relax
+}%
+\def\FL{\obsolete at command\FL}%
+\def\FR{\obsolete at command\FR}%
+\def\narrowtext{\obsolete at command\narrowtext}%
+\def\mediumtext{\obsolete at command\mediumtext}%
+\newenvironment{quasitable}{%
+ \let at environment{tabular}{longtable}%
+}{%
+}%
+\let\text\REV at text
+\let\bm\REV at bm
+\appdef\setup at hook{%
+ \providecommand\bibinfo[2]{#2}%
+ \providecommand\eprint[2][]{#2}%
+}%
+\def\bbox#1{%
+ \class at warn@end{\string\bbox\space is obsolete,^^Jload the bm package and use \string\bm\space instead.}%
+ \global\let\bbox\relax
+}%
+\newenvironment{mathletters}{%
+ \class at warn@end{Environment {mathletters} is obsolete;^^Jload the amsmath package and use {subequations}!}%
+ \global\let\mathletters\@empty
+}{%
+}%
+\def\eqnum#1{%
+ \class at warn@end{\string\eqnum\space is obsolete, load the amsmath package and use \string\tag!}%
+ \global\let\eqnum\@gobble
+}%
+\appdef\rtx at require@packages{%
+ \RequirePackage{revsymb4-1}%
+}%
+\appdef\class at documenthook{\revsymb at inithook}%
+\def\@LN at LLerror@org{%
+ \PackageError{lineno}{%
+  \string\linelabel\space without \string\linenumbers
+ }{%
+  Just see documentation. (New feature v4.11)%
+ }%
+ \@gobble
+}%
+\def\@LN at LLerror@ltx{%
+ \PackageWarning{lineno}{%
+  To make the \string\linelabel\space command work, you must issue the \string\linenumbers\ command
+ }%
+ \@gobble
+}%
+\appdef\class at documenthook{%
+ \@ifx{\@LN at LLerror\@LN at LLerror@org}{%
+  \class at info{Overriding \string\@LN at LLerror}%
+  \let\@LN at LLerror\@LN at LLerror@ltx
+ }{}%
+ \@ifpackageloaded{lineno}{%
+  \@ifxundefined{\set at linepenalties}{}{%
+   \def\prep at absbox{\set at linepenalties}%
+   \def\post at absbox{\let\@LN at parpgbrk\@empty\@linenumberpar}%
+  }%
+ }{}%
+}%
+\appdef\rtx at require@packages{%
+ \InputIfFileExists{\jobname.rty}{}{}%
+}%
+\@parse at class@options at society
+\@process at society{aps}%
+\@parse at class@options@\@journal
+\expandafter\@process at journal\expandafter{\@journal at default}%
+\@parse at class@options@\@pointsize
+\expandafter\@process at pointsize\expandafter{\@pointsize at default}%
+\@options
+\rtx at require@packages
+\setup at hook
+\endinput
+%%
+%% End of file `revtex4-1.cls'.


Property changes on: trunk/Master/texmf-dist/tex/latex/revtex/revtex4-1.cls
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Modified: trunk/Master/texmf-dist/tex/latex/revtex/revtex4-2.cls
===================================================================
--- trunk/Master/texmf-dist/tex/latex/revtex/revtex4-2.cls	2019-01-18 22:37:42 UTC (rev 49750)
+++ trunk/Master/texmf-dist/tex/latex/revtex/revtex4-2.cls	2019-01-18 22:40:49 UTC (rev 49751)
@@ -22,7 +22,7 @@
 %% Version (4.2a, unreleased)
 %% Modified by Aptara on behalf of American Physical Society and American Institute of Physics
 %% 
-%% Version (4.2b)
+%% Version (4.2b,4.2c)
 %% Modified by Mark Doyle, American Physical Society (mailto:revtex at aps.org)
 %% 
 %% Copyright (c) 2019 American Physical Society.
@@ -33,7 +33,7 @@
 %% 
 \NeedsTeXFormat{LaTeX2e}[1996/12/01]%
 \ProvidesClass{revtex4-2}
- [2018/12/26/16:06:17 4.2b (https://journals.aps.org/revtex/ for documentation)]% \fileversion
+ [2019/01/18/14:29:48 4.2c (https://journals.aps.org/revtex/ for documentation)]% \fileversion
 \let\class at name\@gtempa
 \GenericInfo{}{\space
  Copyright (c) 2019 American Physical Society.^^J
@@ -41,7 +41,7 @@
  Licensed under the LPPL:^^Jhttp://www.ctan.org/tex-archive/macros/latex/base/lppl.txt^^J
  Arthur Ogawa <arthur_ogawa at sbcglobal dot net>^^J
  Based on work by David Carlisle <david at dcarlisle.demon.co.uk>%
- Version (4.2b): Modified by Mark Doyle^^J
+ Version (4.2c): Modified by Mark Doyle^^J
  \@gobble
 }%
 \if at compatibility
@@ -54,7 +54,7 @@
 \fi
 \typeout{%
 ltxutil%
- [2018/12/26/16:53:27 4.2a utilities package (portions licensed from W. E. Baxter web at superscript.com)]% \fileversion
+ [2019/01/18/14:29:48 4.2c utilities package (portions licensed from W. E. Baxter web at superscript.com)]% \fileversion
 }%
 \def\class at err#1{\ClassError{\class at name}{#1}\@eha}%
 \def\class at warn#1{\ClassWarningNoLine{\class at name}{#1}}%
@@ -2053,7 +2053,7 @@
 }{}%
 \typeout{%
 ltxfront%
- [2018/12/26/17:08:09 4.2a frontmatter package (AO,DPC,MD)]% \fileversion
+ [2019/01/18/14:29:48 4.2c frontmatter package (AO,DPC,MD)]% \fileversion
 }%
 \appdef\class at documenthook{\frontmatter at init}%
 \let\frontmatter at init\@empty
@@ -3089,7 +3089,7 @@
 }%
 \typeout{%
 ltxgrid%
- [2018/12/26/17:28:09 4.2a page grid package (portions licensed from W. E. Baxter web at superscript.com)]% \fileversion
+ [2019/01/18/14:29:48 4.2c page grid package (portions licensed from W. E. Baxter web at superscript.com)]% \fileversion
 }%
 \newcounter{linecount}
 \def\loop at line#1#2{%
@@ -6218,9 +6218,9 @@
 }%
 %%%  @LaTeX-file{
 %%%     filename        = "revtex4-2.dtx",
-%%%     version         = "4.2b",
-%%%     date            = "2018/12/26",
-%%%     time            = "16:06:17 UT-5",
+%%%     version         = "4.2c",
+%%%     date            = "2019/01/18",
+%%%     time            = "14:29:48 UT-5",
 %%%     checksum        = "6584",
 %%%     author          = "Mark Doyle (mailto: revtex at aps.org), Arthur Ogawa (mailto:arthur_ogawa at sbcglobal.net),
 %%%                        commissioned by the American Physical Society.
@@ -6227,7 +6227,7 @@
 %%%                        ",
 %%%     copyright       = "Copyright (C) 1999, 2009 Arthur Ogawa, Version 4.2 Copyright (C) 2019 American Physical Society
 %%%                        distributed under the terms of the
-%%%                        LaTeX Project Public License, see
+%%%                        LaTeX Project Public License 1.3c, see
 %%%                        ftp://ctan.tug.org/macros/latex/base/lppl.txt
 %%%                        ",
 %%%     address         = "Mark Doyle,

Modified: trunk/Master/texmf-dist/tex/latex/revtex/sor4-2.rtx
===================================================================
--- trunk/Master/texmf-dist/tex/latex/revtex/sor4-2.rtx	2019-01-18 22:37:42 UTC (rev 49750)
+++ trunk/Master/texmf-dist/tex/latex/revtex/sor4-2.rtx	2019-01-18 22:40:49 UTC (rev 49751)
@@ -11,19 +11,19 @@
 %% instead, modify the original source file.
 %% See the URL in the file README-AIP.
 %% 
-%% Copyright (c) 2014 American Institute of Physics.
+%% Copyright (c) 2019 American Institute of Physics.
 %% mailto:tex at aip.org
 %% 
 %% Maintained by Arthur Ogawa (mailto:arthur_ogawa at sbcglobal.net)
 %% under contract to American Institute of Physics
 %% 
-%% Version (4.2a)
+%% Version (4.2c)
 %% Modified by Aptara
 %% under contract to American Institute of Physics
 %% 
 %% License
 %%    You may distribute this file under the conditions of the
-%%    LaTeX Project Public License 1.3 or later
+%%    LaTeX Project Public License 1.3c or later
 %%    (http://www.latex-project.org/lppl.txt).
 %% 
 %%    This file is distributed WITHOUT ANY WARRANTY;



More information about the tex-live-commits mailing list