summaryrefslogtreecommitdiff
path: root/macros/latex/contrib/aguplus
diff options
context:
space:
mode:
authorNorbert Preining <norbert@preining.info>2019-09-02 13:46:59 +0900
committerNorbert Preining <norbert@preining.info>2019-09-02 13:46:59 +0900
commite0c6872cf40896c7be36b11dcc744620f10adf1d (patch)
tree60335e10d2f4354b0674ec22d7b53f0f8abee672 /macros/latex/contrib/aguplus
Initial commit
Diffstat (limited to 'macros/latex/contrib/aguplus')
-rw-r--r--macros/latex/contrib/aguplus/README23
-rw-r--r--macros/latex/contrib/aguplus/README.aguplus103
-rw-r--r--macros/latex/contrib/aguplus/agu.bst1821
-rw-r--r--macros/latex/contrib/aguplus/agu04.bst1840
-rw-r--r--macros/latex/contrib/aguplus/agufull.bst1796
-rw-r--r--macros/latex/contrib/aguplus/agufull04.bst1815
-rw-r--r--macros/latex/contrib/aguplus/aguplus.cls1227
-rw-r--r--macros/latex/contrib/aguplus/aguplus.pdfbin0 -> 320854 bytes
-rw-r--r--macros/latex/contrib/aguplus/aguplus.sty1103
-rw-r--r--macros/latex/contrib/aguplus/aguplus.tex1104
-rw-r--r--macros/latex/contrib/aguplus/agupp.sty970
-rw-r--r--macros/latex/contrib/aguplus/changes.v16b161
-rw-r--r--macros/latex/contrib/aguplus/geophys.tex328
-rw-r--r--macros/latex/contrib/aguplus/sample.bib50
-rw-r--r--macros/latex/contrib/aguplus/samplus.tex304
15 files changed, 12645 insertions, 0 deletions
diff --git a/macros/latex/contrib/aguplus/README b/macros/latex/contrib/aguplus/README
new file mode 100644
index 0000000000..fee779ee13
--- /dev/null
+++ b/macros/latex/contrib/aguplus/README
@@ -0,0 +1,23 @@
+My AGUPLUS package is now obsolete, since the AGU provides its own LaTeX
+classes (which includes many of my features).
+
+However, what is not obsolete are the BibTeX style files, which I provided to
+AGU after much consultation to get them "right" (ie the way the AGU wants
+them). These are
+ agu.bst with truncated author list
+ agufull.bst with full author list
+ agu04.bst same as agu.bst but with the format that applies 2004 and beyond
+ agufull04.bst same as agufull.bst, for 2004 and beyond.
+
+Clearly now both agu.bst and agufull.04.bst are also obsolete.
+
+The current class files with examples, as well as the above bst files are
+best obtained directly from the AGU. The current link for this is
+
+http://www.agu.org/pubs/helpdesk/
+
+Since many people still use aguplus anyway, I have been asked to update the
+bst files on CTAN. So that is what I have done... :)
+
+Patrick Daly
+Dec 19, 2007
diff --git a/macros/latex/contrib/aguplus/README.aguplus b/macros/latex/contrib/aguplus/README.aguplus
new file mode 100644
index 0000000000..8ca96a28c5
--- /dev/null
+++ b/macros/latex/contrib/aguplus/README.aguplus
@@ -0,0 +1,103 @@
+**************************************************
+* LATEX STYLES FOR AMERICAN GEOPHYICAL UNION *
+**************************************************
+ News from 1999 August 20
+
+ (AGU++ (v1.6b and later) is now compatible with AGUTeX-5.01)
+
+When the American Geophysical Union (AGU) finally come out with its own
+official LaTeX package for producing manuscripts and camera-ready copy for its
+journals, they also dramatically altered the format of the journals. Thus my
+unofficial LaTeX package for AGU (art-jgr and art-grl) became not only
+superfluous but obsolete.
+
+However, in looking over the instructions and coding of the official package,
+I realized that not only were some imperfections present, but many useful
+features of my styles were missing. The most noticeable of these is the means
+of using author-year citations with BibTeX in an automated manner.
+
+The coding imperfections are related to the way in which figure captions and
+tables are treated: they must be placed at the end of the document, and if an
+appendix is present, then the automatic numbering system will consider them as
+appendix figures and tables (numbered A1, A2, ...). To avoid this, explicit
+numbers must be given, something that violates the essential principles of a
+formatting program like LaTeX. A second implication of this treatment is that
+preprints will be missing the figures and tables in the text. In my older
+system, neither of these problems occurred.
+
+BY POPULAR DEMAND, I undertook to write an extension to the official AGU
+package, called AGU++ (for AGU doubly-ionized or super-charged, as you
+please). It includes my extra features without changing any of the formats of
+the original package. The user should prepare his documents in the manner
+described by the AGU, except that figures, tables, and plates are to be
+included *in the text*. A number of extra commands are available to control
+and/or enable the extra features.
+
+I have now come up with version 1.5 for use with the new release of AGUTeX
+(4.0) in August 1996. It turns out that I overlooked some problems, especially
+with appendices, and these have been fixed up in version 1.5a (October 1996).
+I have also added a notation environment to improve writing lists of notations.
+
+There is a problem with AGU's planotable when it is continued to another page;
+spurious new pages are added apparently arbitrarily. This problem is repaired
+in AGU++ version 1.5b, released January 1997.
+
+Version 1.5c in March 1997 simply changed the manual and sample file
+slightly to emphasize the preferred way of treating literature citations. The
+BibTeX style file agu.bst (version 2.0) released with several improvements.
+
+Version 1.5d in April 1997 fixes a bug so that AGUPLUS can be used with
+amsmath. Agu.bst (version 2.1) fixes up handling of notes, and no longer
+prints the journal `number'.
+
+Version 1.6 in February 1999 simply changes the copyright notice to be
+consistent with the LaTeX Project Public License.
+
+Versoion 1.6b in August 1999 adds the option paleo to be consistent with
+AGUTeX-5.01.
+
+As in the previous versions, it consists of a class file AGUPLUS.CLS that loads
+the standard ARTICLE.CLS and then one of the AGUTEX files. It also fixes up
+AGUTEX so that it runs under LaTeX2e.
+
+In addition, an AGUPLUS.STY file is provided that will run under the old 2.09
+LaTeX. This must be loaded as an option to the ARTICLE style.
+WARNING: I no longer test the 2.09 version very much so it could have bugs.
+ It is not really supported any more.
+
+
+Details on how to use AGUTeX with AGU++ are to be found in the manual
+AGUPLUS.TEX.
+
+The set consists of the files:
+
+aguplus.cls The LaTeX2e class file
+aguplus.sty The LaTeX 2.09 style file (use at own risk!)
+aguplus.tex A manual, to be LaTeXed (under AGUTeX and AGU++)
+changes.vxx A list of changes since the beginning to version xx
+samplus.tex A sample paper
+agu.bst A bibliography style file with AGU formats
+ (Now version 2.1d with some corrections over previous versions)
+agufull.bst An alternative to agu.bst which lists ALL authors; agu.bst
+ limits the number of authors to 9.
+geophys.tex A listing of the shorthand journal names in agu.bst
+sample.bib A BibTeX data base, for use with samplus.tex
+
+(The agu.bst and agufull.bst files contains shorthands for journals in the
+fields of physics and geophysics. For example, a BibTeX entry of
+ journal = jgr
+is sufficient to specify the journal as JGR, instead of
+ journal = "J. Geophys. Res."
+A list of all such shorthands can be printed by processing shorthnd.tex.)
+
+NOTE: this package does not contain AGUTeX itself. This is because AGU++ is
+still unofficial. (The AGU is considering what they want to do with it.)
+The official package can be obtained from anonymous FTP server
+ kosmos.agu.org
+in directory agutex
+
+Patrick W. Daly
+Max-Planck-Institut f\"ur Aeronomie
+D-37191 Katlenburg-Lindau
+
+daly@linmpi.mpg.de
diff --git a/macros/latex/contrib/aguplus/agu.bst b/macros/latex/contrib/aguplus/agu.bst
new file mode 100644
index 0000000000..aa57a29cac
--- /dev/null
+++ b/macros/latex/contrib/aguplus/agu.bst
@@ -0,0 +1,1821 @@
+%%
+%% This is file `agu.bst',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% merlin.mbs (with options: `head,ay,nat,seq-key,nm-rev1,jnrlst,lab,lab-it,keyxyr,blkyear,dt-end,note-yr,thtit-a,trnum-it,vol-it,volp-com,pgsep-c,num-xser,ser-vol,ser-ed,pg-bk,pg-pre,pre-edn,agu-doi,doi,edpar,bkedcap,edby,blk-com,pp,ed,abr,ednx,xedn,jabr,and-com,em-it,nfss,{},nmlm,x9,m1')
+%% physjour.mbs (with options: `ay,nat,seq-key,nm-rev1,jnrlst,lab,lab-it,keyxyr,blkyear,dt-end,note-yr,thtit-a,trnum-it,vol-it,volp-com,pgsep-c,num-xser,ser-vol,ser-ed,pg-bk,pg-pre,pre-edn,agu-doi,doi,edpar,bkedcap,edby,blk-com,pp,ed,abr,ednx,xedn,jabr,and-com,em-it,nfss,{},nmlm,x9,m1')
+%% geojour.mbs (with options: `ay,nat,seq-key,nm-rev1,jnrlst,lab,lab-it,keyxyr,blkyear,dt-end,note-yr,thtit-a,trnum-it,vol-it,volp-com,pgsep-c,num-xser,ser-vol,ser-ed,pg-bk,pg-pre,pre-edn,agu-doi,doi,edpar,bkedcap,edby,blk-com,pp,ed,abr,ednx,xedn,jabr,and-com,em-it,nfss,{},nmlm,x9,m1')
+%% photjour.mbs (with options: `ay,nat,seq-key,nm-rev1,jnrlst,lab,lab-it,keyxyr,blkyear,dt-end,note-yr,thtit-a,trnum-it,vol-it,volp-com,pgsep-c,num-xser,ser-vol,ser-ed,pg-bk,pg-pre,pre-edn,agu-doi,doi,edpar,bkedcap,edby,blk-com,pp,ed,abr,ednx,xedn,jabr,and-com,em-it,nfss,{},nmlm,x9,m1')
+%% merlin.mbs (with options: `tail,ay,nat,seq-key,nm-rev1,jnrlst,lab,lab-it,keyxyr,blkyear,dt-end,note-yr,thtit-a,trnum-it,vol-it,volp-com,pgsep-c,num-xser,ser-vol,ser-ed,pg-bk,pg-pre,pre-edn,agu-doi,doi,edpar,bkedcap,edby,blk-com,pp,ed,abr,ednx,xedn,jabr,and-com,em-it,nfss,{},nmlm,x9,m1')
+%% ----------------------------------------
+%% *** For journals of the American Geophysical Union ***
+%% *** NOTE: this version limits number of authors in ref list to
+%% *** maximum of 9; if more there, only First et al are listed
+%% *** Use agufull.bst instead for complete list
+%% ***
+%% ----------------------------------------
+%% *** Version 2.2 from 2003/06/26
+%% *** (with bug fix from 2003/08/19)
+%% *** Includes new fields eid and doi
+%% *** The eid is what the AGU calls "citation number"
+%% *** and doi is the DOI number; both of these are
+%% *** used as substitution for page number
+%% *** The issue number is now also included as
+%% *** 84(3) for vol. 84, nr. 3
+%% ***
+%% *** Version 2.1d from 1999/05/20
+%% *** Book editors done right as P. James (Ed.),
+%% *** Missing italics with some authors fixed
+%% ***
+%% *** Version 2.1c from 1999/02/11
+%% *** This version does not crash older BibTeX installations with
+%% *** more than 3000 wiz-functions
+%% ***
+%% *** Version 2.1b from 1997/11/18
+%% *** (page numbers over 9999 are broken with commas, as 12,345)
+%% ***
+%% *** Version 2.1a from 1997/05/26
+%% *** (contains improvements from copy editor comments,
+%% *** notes added with first word lowercase (bug in 2.1 fixed)
+%% *** and journal `number' never output
+%% *** abbreviation for grl corrected)
+%% ***
+%%
+%% Copyright 1994-2004 Patrick W Daly
+ % ===============================================================
+ % IMPORTANT NOTICE:
+ % This bibliographic style (bst) file has been generated from one or
+ % more master bibliographic style (mbs) files, listed above.
+ %
+ % This generated file can be redistributed and/or modified under the terms
+ % of the LaTeX Project Public License Distributed from CTAN
+ % archives in directory macros/latex/base/lppl.txt; either
+ % version 1 of the License, or any later version.
+ % ===============================================================
+ % Name and version information of the main mbs file:
+ % \ProvidesFile{merlin.mbs}[2004/02/09 4.13 (PWD, AO, DPC)]
+ % For use with BibTeX version 0.99a or later
+ %-------------------------------------------------------------------
+ % This bibliography style file is intended for texts in ENGLISH
+ % This is an author-year citation style bibliography. As such, it is
+ % non-standard LaTeX, and requires a special package file to function properly.
+ % Such a package is natbib.sty by Patrick W. Daly
+ % The form of the \bibitem entries is
+ % \bibitem[Jones et al.(1990)]{key}...
+ % \bibitem[Jones et al.(1990)Jones, Baker, and Smith]{key}...
+ % The essential feature is that the label (the part in brackets) consists
+ % of the author names, as they should appear in the citation, with the year
+ % in parentheses following. There must be no space before the opening
+ % parenthesis!
+ % With natbib v5.3, a full list of authors may also follow the year.
+ % In natbib.sty, it is possible to define the type of enclosures that is
+ % really wanted (brackets or parentheses), but in either case, there must
+ % be parentheses in the label.
+ % The \cite command functions as follows:
+ % \citet{key} ==>> Jones et al. (1990)
+ % \citet*{key} ==>> Jones, Baker, and Smith (1990)
+ % \citep{key} ==>> (Jones et al., 1990)
+ % \citep*{key} ==>> (Jones, Baker, and Smith, 1990)
+ % \citep[chap. 2]{key} ==>> (Jones et al., 1990, chap. 2)
+ % \citep[e.g.][]{key} ==>> (e.g. Jones et al., 1990)
+ % \citep[e.g.][p. 32]{key} ==>> (e.g. Jones et al., p. 32)
+ % \citeauthor{key} ==>> Jones et al.
+ % \citeauthor*{key} ==>> Jones, Baker, and Smith
+ % \citeyear{key} ==>> 1990
+ %---------------------------------------------------------------------
+
+ENTRY
+ { address
+ author
+ booktitle
+ chapter
+ doi
+ edition
+ editor
+ eid
+ howpublished
+ institution
+ journal
+ key
+ month
+ note
+ number
+ organization
+ pages
+ publisher
+ school
+ series
+ title
+ type
+ volume
+ year
+ }
+ {}
+ { label extra.label sort.label short.list }
+INTEGERS { output.state before.all mid.sentence after.sentence after.block }
+FUNCTION {init.state.consts}
+{ #0 'before.all :=
+ #1 'mid.sentence :=
+ #2 'after.sentence :=
+ #3 'after.block :=
+}
+STRINGS { s t}
+FUNCTION {output.nonnull}
+{ 's :=
+ output.state mid.sentence =
+ { ", " * write$ }
+ { output.state after.block =
+ { add.period$ write$
+ newline$
+ "\newblock " write$
+ }
+ { output.state before.all =
+ 'write$
+ { add.period$ " " * write$ }
+ if$
+ }
+ if$
+ mid.sentence 'output.state :=
+ }
+ if$
+ s
+}
+FUNCTION {output}
+{ duplicate$ empty$
+ 'pop$
+ 'output.nonnull
+ if$
+}
+FUNCTION {output.check}
+{ 't :=
+ duplicate$ empty$
+ { pop$ "empty " t * " in " * cite$ * warning$ }
+ 'output.nonnull
+ if$
+}
+FUNCTION {fin.entry}
+{ add.period$
+ write$
+ newline$
+}
+
+FUNCTION {new.block}
+{ output.state before.all =
+ 'skip$
+ { after.block 'output.state := }
+ if$
+}
+FUNCTION {new.sentence}
+{ output.state after.block =
+ 'skip$
+ { output.state before.all =
+ 'skip$
+ { after.sentence 'output.state := }
+ if$
+ }
+ if$
+}
+FUNCTION {add.blank}
+{ " " * before.all 'output.state :=
+}
+
+FUNCTION {date.block}
+{
+ skip$
+}
+
+FUNCTION {not}
+{ { #0 }
+ { #1 }
+ if$
+}
+FUNCTION {and}
+{ 'skip$
+ { pop$ #0 }
+ if$
+}
+FUNCTION {or}
+{ { pop$ #1 }
+ 'skip$
+ if$
+}
+FUNCTION {new.block.checkb}
+{ empty$
+ swap$ empty$
+ and
+ 'skip$
+ 'new.block
+ if$
+}
+FUNCTION {field.or.null}
+{ duplicate$ empty$
+ { pop$ "" }
+ 'skip$
+ if$
+}
+FUNCTION {emphasize}
+{ duplicate$ empty$
+ { pop$ "" }
+ { "\textit{" swap$ * "}" * }
+ if$
+}
+FUNCTION {cite.name.font}
+{ emphasize }
+FUNCTION {tie.or.space.prefix}
+{ duplicate$ text.length$ #3 <
+ { "~" }
+ { " " }
+ if$
+ swap$
+}
+
+FUNCTION {capitalize}
+{ "u" change.case$ "t" change.case$ }
+
+FUNCTION {space.word}
+{ " " swap$ * " " * }
+ % Here are the language-specific definitions for explicit words.
+ % Each function has a name bbl.xxx where xxx is the English word.
+ % The language selected here is ENGLISH
+FUNCTION {bbl.and}
+{ "and"}
+
+FUNCTION {bbl.etal}
+{ "et~al." }
+
+FUNCTION {bbl.editors}
+{ "eds." }
+
+FUNCTION {bbl.editor}
+{ "ed." }
+
+FUNCTION {bbl.edby}
+{ "edited by" }
+
+FUNCTION {bbl.edition}
+{ "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.chapter}
+{ "chap." }
+
+FUNCTION {bbl.techrep}
+{ "Tech. Rep." }
+
+FUNCTION {bbl.mthesis}
+{ "Master's thesis" }
+
+FUNCTION {bbl.phdthesis}
+{ "Ph.D. thesis" }
+
+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."}
+
+ %-------------------------------------------------------------------
+ % 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-2004 Patrick W Daly
+MACRO {acmcs} {"ACM Comput. Surv."}
+
+MACRO {acta} {"Acta Inf."}
+
+MACRO {cacm} {"Commun. ACM"}
+
+MACRO {ibmjrd} {"IBM J. Res. Dev."}
+
+MACRO {ibmsj} {"IBM Syst.~J."}
+
+MACRO {ieeese} {"IEEE Trans. Software Eng."}
+
+MACRO {ieeetc} {"IEEE Trans. Comput."}
+
+MACRO {ieeetcad}
+ {"IEEE Trans. Comput. Aid. Des."}
+
+MACRO {ipl} {"Inf. Process. Lett."}
+
+MACRO {jacm} {"J.~ACM"}
+
+MACRO {jcss} {"J.~Comput. Syst. Sci."}
+
+MACRO {scp} {"Sci. Comput. Program."}
+
+MACRO {sicomp} {"SIAM J. Comput."}
+
+MACRO {tocs} {"ACM Trans. Comput. Syst."}
+
+MACRO {tods} {"ACM Trans. Database Syst."}
+
+MACRO {tog} {"ACM Trans. Graphic."}
+
+MACRO {toms} {"ACM Trans. Math. Software"}
+
+MACRO {toois} {"ACM Trans. Office Inf. Syst."}
+
+MACRO {toplas} {"ACM Trans. Progr. Lang. Syst."}
+
+MACRO {tcs} {"Theor. Comput. Sci."}
+
+FUNCTION {bibinfo.check}
+{ swap$
+ duplicate$ missing$
+ {
+ pop$ pop$
+ ""
+ }
+ { duplicate$ empty$
+ {
+ swap$ pop$
+ }
+ { swap$
+ pop$
+ }
+ if$
+ }
+ if$
+}
+FUNCTION {bibinfo.warn}
+{ swap$
+ duplicate$ missing$
+ {
+ swap$ "missing " swap$ * " in " * cite$ * warning$ pop$
+ ""
+ }
+ { duplicate$ empty$
+ {
+ swap$ "empty " swap$ * " in " * cite$ * warning$
+ }
+ { swap$
+ pop$
+ }
+ if$
+ }
+ if$
+}
+STRINGS { bibinfo}
+INTEGERS { nameptr namesleft numnames }
+
+FUNCTION {format.names}
+{ 'bibinfo :=
+ duplicate$ empty$ 'skip$ {
+ 's :=
+ "" 't :=
+ #1 'nameptr :=
+ s num.names$ 'numnames :=
+ numnames 'namesleft :=
+ { namesleft #0 > }
+ { s nameptr
+ duplicate$ #1 >
+ { "{f.~}{vv~}{ll}{, jj}" }
+ { "{vv~}{ll}{, f.}{, jj}" }
+ if$
+ format.name$
+ bibinfo bibinfo.check
+ 't :=
+ nameptr #1 >
+ {
+ nameptr #1
+ #1 + =
+ numnames #9
+ > and
+ { "others" 't :=
+ #1 'namesleft := }
+ 'skip$
+ if$
+ namesleft #1 >
+ { ", " * t * }
+ {
+ "," *
+ s nameptr "{ll}" format.name$ duplicate$ "others" =
+ { 't := }
+ { pop$ }
+ if$
+ t "others" =
+ {
+ " " * bbl.etal *
+ }
+ {
+ bbl.and
+ space.word * t *
+ }
+ if$
+ }
+ if$
+ }
+ 't
+ if$
+ nameptr #1 + 'nameptr :=
+ namesleft #1 - 'namesleft :=
+ }
+ while$
+ } if$
+}
+FUNCTION {format.names.ed}
+{
+ 'bibinfo :=
+ duplicate$ empty$ 'skip$ {
+ 's :=
+ "" 't :=
+ #1 'nameptr :=
+ s num.names$ 'numnames :=
+ numnames 'namesleft :=
+ { namesleft #0 > }
+ { s nameptr
+ "{f.~}{vv~}{ll}{, jj}"
+ format.name$
+ bibinfo bibinfo.check
+ 't :=
+ nameptr #1 >
+ {
+ namesleft #1 >
+ { ", " * t * }
+ {
+ numnames #2 >
+ { "," * }
+ 'skip$
+ if$
+ s nameptr "{ll}" format.name$ duplicate$ "others" =
+ { 't := }
+ { pop$ }
+ if$
+ t "others" =
+ {
+
+ " " * bbl.etal *
+ }
+ {
+ bbl.and
+ space.word * t *
+ }
+ if$
+ }
+ if$
+ }
+ 't
+ if$
+ nameptr #1 + 'nameptr :=
+ namesleft #1 - 'namesleft :=
+ }
+ while$
+ } if$
+}
+FUNCTION {format.key}
+{ empty$
+ { key field.or.null }
+ { "" }
+ if$
+}
+
+FUNCTION {format.authors}
+{ author "author" format.names
+}
+FUNCTION {get.bbl.editor}
+{ editor num.names$ #1 > 'bbl.editors 'bbl.editor if$ }
+
+FUNCTION {format.editors}
+{ editor "editor" format.names duplicate$ empty$ 'skip$
+ {
+ " " *
+ get.bbl.editor
+ capitalize
+ "(" swap$ * ")" *
+ *
+ }
+ if$
+}
+FUNCTION {format.book.pages}
+{ pages "pages" bibinfo.check
+ duplicate$ empty$ 'skip$
+ { " " * bbl.pages * }
+ if$
+}
+FUNCTION {format.doi}
+{ doi "doi" bibinfo.check
+ duplicate$ empty$ 'skip$
+ {
+ "\doi{" swap$ * "}" *
+ }
+ if$
+}
+FUNCTION {format.note}
+{
+ note empty$
+ { "" }
+ { note #1 #1 substring$
+ duplicate$ "{" =
+ 'skip$
+ { output.state mid.sentence =
+ { "l" }
+ { "u" }
+ if$
+ change.case$
+ }
+ if$
+ note #2 global.max$ substring$ * "note" bibinfo.check
+ }
+ if$
+}
+
+FUNCTION {format.title}
+{ title
+ duplicate$ empty$ 'skip$
+ { "t" change.case$ }
+ if$
+ "title" bibinfo.check
+}
+FUNCTION {format.full.names}
+{'s :=
+ "" 't :=
+ #1 'nameptr :=
+ s num.names$ 'numnames :=
+ numnames 'namesleft :=
+ { namesleft #0 > }
+ { s nameptr
+ "{vv~}{ll}" format.name$
+ 't :=
+ nameptr #1 >
+ {
+ nameptr #1
+ #1 + =
+ numnames #9
+ > and
+ { "others" 't :=
+ #1 'namesleft := }
+ 'skip$
+ if$
+ namesleft #1 >
+ { ", " * t * }
+ {
+ s nameptr "{ll}" format.name$ duplicate$ "others" =
+ { 't := }
+ { pop$ }
+ if$
+ t "others" =
+ {
+ " " * bbl.etal *
+ cite.name.font
+ }
+ {
+ numnames #2 >
+ { "," * }
+ 'skip$
+ if$
+ bbl.and
+ space.word * t *
+ }
+ if$
+ }
+ if$
+ }
+ 't
+ if$
+ nameptr #1 + 'nameptr :=
+ namesleft #1 - 'namesleft :=
+ }
+ while$
+ t "others" =
+ 'skip$
+ { cite.name.font }
+ if$
+}
+
+FUNCTION {author.editor.key.full}
+{ author empty$
+ { editor empty$
+ { key empty$
+ { cite$ #1 #3 substring$ }
+ 'key
+ if$
+ }
+ { editor format.full.names }
+ if$
+ }
+ { author format.full.names }
+ if$
+}
+
+FUNCTION {author.key.full}
+{ author empty$
+ { key empty$
+ { cite$ #1 #3 substring$ }
+ 'key
+ if$
+ }
+ { author format.full.names }
+ if$
+}
+
+FUNCTION {editor.key.full}
+{ editor empty$
+ { key empty$
+ { cite$ #1 #3 substring$ }
+ 'key
+ if$
+ }
+ { editor format.full.names }
+ if$
+}
+
+FUNCTION {make.full.names}
+{ type$ "book" =
+ type$ "inbook" =
+ or
+ 'author.editor.key.full
+ { type$ "proceedings" =
+ 'editor.key.full
+ 'author.key.full
+ if$
+ }
+ if$
+}
+
+FUNCTION {output.bibitem}
+{ newline$
+ "\bibitem[{" write$
+ label write$
+ ")" make.full.names duplicate$ short.list =
+ { pop$ }
+ { * }
+ if$
+ "}]{" * write$
+ cite$ write$
+ "}" write$
+ newline$
+ ""
+ before.all 'output.state :=
+}
+
+FUNCTION {if.digit}
+{ duplicate$ "0" =
+ swap$ duplicate$ "1" =
+ swap$ duplicate$ "2" =
+ swap$ duplicate$ "3" =
+ swap$ duplicate$ "4" =
+ swap$ duplicate$ "5" =
+ swap$ duplicate$ "6" =
+ swap$ duplicate$ "7" =
+ swap$ duplicate$ "8" =
+ swap$ "9" = or or or or or or or or or
+}
+FUNCTION {n.separate}
+{ 't :=
+ ""
+ #0 'numnames :=
+ { t empty$ not }
+ { t #-1 #1 substring$ if.digit
+ { numnames #1 + 'numnames := }
+ { #0 'numnames := }
+ if$
+ t #-1 #1 substring$ swap$ *
+ t #-2 global.max$ substring$ 't :=
+ numnames #5 =
+ { duplicate$ #1 #2 substring$ swap$
+ #3 global.max$ substring$
+ "," swap$ * *
+ }
+ 'skip$
+ if$
+ }
+ while$
+}
+FUNCTION {n.dashify}
+{
+ n.separate
+ 't :=
+ ""
+ { t empty$ not }
+ { t #1 #1 substring$ "-" =
+ { t #1 #2 substring$ "--" = not
+ { "--" *
+ t #2 global.max$ substring$ 't :=
+ }
+ { { t #1 #1 substring$ "-" = }
+ { "-" *
+ t #2 global.max$ substring$ 't :=
+ }
+ while$
+ }
+ if$
+ }
+ { t #1 #1 substring$ *
+ t #2 global.max$ substring$ 't :=
+ }
+ if$
+ }
+ while$
+}
+
+FUNCTION {word.in}
+{ bbl.in
+ " " * }
+
+FUNCTION {format.date}
+{ year "year" bibinfo.check duplicate$ empty$
+ {
+ }
+ 'skip$
+ if$
+ extra.label *
+}
+FUNCTION {format.btitle}
+{ title "title" bibinfo.check
+ duplicate$ empty$ 'skip$
+ {
+ emphasize
+ }
+ if$
+}
+FUNCTION {either.or.check}
+{ empty$
+ 'pop$
+ { "can't use both " swap$ * " fields in " * cite$ * warning$ }
+ if$
+}
+FUNCTION {format.bvolume}
+{ volume empty$
+ { "" }
+ { bbl.volume volume tie.or.space.prefix
+ "volume" bibinfo.check * *
+ series "series" bibinfo.check
+ duplicate$ empty$ 'pop$
+ { emphasize ", " * swap$ * }
+ if$
+ "volume and number" number either.or.check
+ }
+ if$
+}
+FUNCTION {format.number.series}
+{ volume empty$
+ { number empty$
+ { series field.or.null }
+ { series empty$
+ { number "number" bibinfo.check }
+ { output.state mid.sentence =
+ { bbl.number }
+ { bbl.number capitalize }
+ if$
+ number tie.or.space.prefix "number" bibinfo.check * *
+ bbl.in space.word *
+ series "series" bibinfo.check *
+ }
+ if$
+ }
+ if$
+ }
+ { "" }
+ if$
+}
+
+FUNCTION {format.edition}
+{ edition duplicate$ empty$ 'skip$
+ {
+ output.state mid.sentence =
+ { "l" }
+ { "t" }
+ if$ change.case$
+ "edition" bibinfo.check
+ " " * bbl.edition *
+ }
+ if$
+}
+INTEGERS { multiresult }
+FUNCTION {multi.page.check}
+{ 't :=
+ #0 'multiresult :=
+ { multiresult not
+ t empty$ not
+ and
+ }
+ { t #1 #1 substring$
+ duplicate$ "-" =
+ swap$ duplicate$ "," =
+ swap$ "+" =
+ or or
+ { #1 'multiresult := }
+ { t #2 global.max$ substring$ 't := }
+ if$
+ }
+ while$
+ multiresult
+}
+FUNCTION {format.pages}
+{ pages duplicate$ empty$ 'skip$
+ { duplicate$ multi.page.check
+ {
+ bbl.pages swap$
+ n.dashify
+ }
+ {
+ bbl.page swap$
+ }
+ if$
+ tie.or.space.prefix
+ "pages" bibinfo.check
+ * *
+ }
+ if$
+}
+FUNCTION {format.journal.pages}
+{ pages duplicate$ empty$ 'pop$
+ { swap$ duplicate$ empty$
+ { pop$ pop$ format.pages }
+ {
+ ", " *
+ swap$
+ n.dashify
+ "pages" bibinfo.check
+ *
+ }
+ if$
+ }
+ if$
+}
+FUNCTION {format.journal.eid}
+{ eid "eid" bibinfo.check
+ duplicate$ empty$ 'pop$
+ { swap$ duplicate$ empty$ 'skip$
+ {
+ ", " *
+ }
+ if$
+ swap$ *
+ }
+ if$
+}
+FUNCTION {format.vol.num.pages}
+{ volume field.or.null
+ duplicate$ empty$ 'skip$
+ {
+ "volume" bibinfo.check
+ }
+ if$
+ emphasize
+ 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$ *
+ eid empty$
+ { format.journal.pages }
+ { format.journal.eid }
+ if$
+}
+
+FUNCTION {format.chapter.pages}
+{ chapter empty$
+ 'format.pages
+ { type empty$
+ { bbl.chapter }
+ { type "l" change.case$
+ "type" bibinfo.check
+ }
+ if$
+ chapter tie.or.space.prefix
+ "chapter" bibinfo.check
+ * *
+ pages empty$
+ 'skip$
+ { ", " * format.pages * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.booktitle}
+{
+ booktitle "booktitle" bibinfo.check
+ emphasize
+}
+FUNCTION {format.in.ed.booktitle}
+{ format.booktitle duplicate$ empty$ 'skip$
+ {
+ format.bvolume duplicate$ empty$ 'pop$
+ { ", " swap$ * * }
+ if$
+ editor "editor" format.names.ed duplicate$ empty$ 'pop$
+ {
+ bbl.edby
+ " " * swap$ *
+ swap$
+ "," *
+ " " * swap$
+ * }
+ if$
+ word.in swap$ *
+ }
+ if$
+}
+FUNCTION {format.thesis.type}
+{ type duplicate$ empty$
+ 'pop$
+ { swap$ pop$
+ "t" change.case$ "type" bibinfo.check
+ }
+ if$
+}
+FUNCTION {format.tr.number}
+{ number "number" bibinfo.check
+ type duplicate$ empty$
+ { pop$ bbl.techrep }
+ 'skip$
+ if$
+ "type" bibinfo.check
+ swap$ duplicate$ empty$
+ { pop$ "t" change.case$ }
+ { tie.or.space.prefix * * }
+ if$
+}
+FUNCTION {format.article.crossref}
+{
+ word.in
+ " \cite{" * crossref * "}" *
+}
+FUNCTION {format.book.crossref}
+{ volume duplicate$ empty$
+ { "empty volume in " cite$ * "'s crossref of " * crossref * warning$
+ pop$ word.in
+ }
+ { bbl.volume
+ swap$ tie.or.space.prefix "volume" bibinfo.check * * bbl.of space.word *
+ }
+ if$
+ " \cite{" * crossref * "}" *
+}
+FUNCTION {format.incoll.inproc.crossref}
+{
+ word.in
+ " \cite{" * crossref * "}" *
+}
+FUNCTION {format.org.or.pub}
+{ 't :=
+ ""
+ address empty$ t empty$ and
+ 'skip$
+ {
+ t empty$
+ { address "address" bibinfo.check *
+ }
+ { t *
+ address empty$
+ 'skip$
+ { ", " * address "address" bibinfo.check * }
+ if$
+ }
+ if$
+ }
+ 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 {article}
+{ output.bibitem
+ format.authors "author" output.check
+ author format.key output
+ format.title "title" output.check
+ crossref missing$
+ {
+ journal
+ "journal" bibinfo.check
+ emphasize
+ "journal" output.check
+ format.vol.num.pages output
+ format.doi output
+ }
+ { format.article.crossref output.nonnull
+ format.pages output
+ }
+ if$
+ format.note output
+ format.date "year" output.check
+ fin.entry
+}
+FUNCTION {book}
+{ output.bibitem
+ author empty$
+ { format.editors "author and editor" output.check
+ editor format.key output
+ }
+ { format.authors output.nonnull
+ crossref missing$
+ { "author and editor" editor either.or.check }
+ 'skip$
+ if$
+ }
+ if$
+ format.btitle "title" output.check
+ crossref missing$
+ { format.bvolume output
+ format.number.series output
+ format.edition output
+ format.book.pages output
+ format.publisher.address output
+ }
+ {
+ format.book.crossref output.nonnull
+ }
+ if$
+ format.doi output
+ format.note output
+ format.date "year" output.check
+ fin.entry
+}
+FUNCTION {booklet}
+{ output.bibitem
+ format.authors output
+ author format.key output
+ format.title "title" output.check
+ howpublished "howpublished" bibinfo.check output
+ address "address" bibinfo.check output
+ format.book.pages output
+ format.doi output
+ format.note output
+ format.date "year" output.check
+ fin.entry
+}
+
+FUNCTION {inbook}
+{ output.bibitem
+ author empty$
+ { format.editors "author and editor" output.check
+ editor format.key output
+ }
+ { format.authors output.nonnull
+ crossref missing$
+ { "author and editor" editor either.or.check }
+ 'skip$
+ if$
+ }
+ if$
+ format.btitle "title" output.check
+ crossref missing$
+ {
+ format.bvolume output
+ format.chapter.pages "chapter and pages" output.check
+ format.number.series output
+ format.edition output
+ format.publisher.address output
+ }
+ {
+ format.chapter.pages "chapter and pages" output.check
+ format.book.crossref output.nonnull
+ }
+ if$
+ format.doi output
+ format.note output
+ format.date "year" output.check
+ fin.entry
+}
+
+FUNCTION {incollection}
+{ output.bibitem
+ format.authors "author" output.check
+ author format.key output
+ format.title "title" output.check
+ crossref missing$
+ { format.in.ed.booktitle "booktitle" output.check
+ format.number.series output
+ format.edition output
+ format.chapter.pages output
+ format.publisher.address output
+ }
+ { format.incoll.inproc.crossref output.nonnull
+ format.chapter.pages output
+ }
+ if$
+ format.doi output
+ format.note output
+ format.date "year" output.check
+ fin.entry
+}
+FUNCTION {inproceedings}
+{ output.bibitem
+ format.authors "author" output.check
+ author format.key output
+ format.title "title" output.check
+ crossref missing$
+ { format.in.ed.booktitle "booktitle" output.check
+ format.number.series output
+ format.pages output
+ publisher empty$
+ { format.organization.address output }
+ { organization "organization" bibinfo.check output
+ format.publisher.address output
+ }
+ if$
+ }
+ { format.incoll.inproc.crossref output.nonnull
+ format.pages output
+ }
+ if$
+ format.doi output
+ format.note output
+ format.date "year" output.check
+ fin.entry
+}
+FUNCTION {conference} { inproceedings }
+FUNCTION {manual}
+{ output.bibitem
+ format.authors output
+ author format.key output
+ format.btitle "title" output.check
+ organization "organization" bibinfo.check output
+ address "address" bibinfo.check output
+ format.edition output
+ format.doi output
+ format.note output
+ format.date "year" output.check
+ fin.entry
+}
+
+FUNCTION {mastersthesis}
+{ output.bibitem
+ format.authors "author" output.check
+ author format.key output
+ format.title
+ "title" output.check
+ bbl.mthesis format.thesis.type output.nonnull
+ school "school" bibinfo.warn output
+ address "address" bibinfo.check output
+ format.doi output
+ format.note output
+ format.date "year" output.check
+ fin.entry
+}
+
+FUNCTION {misc}
+{ output.bibitem
+ format.authors output
+ author format.key output
+ format.title output
+ howpublished "howpublished" bibinfo.check output
+ format.doi output
+ format.note output
+ format.date "year" output.check
+ fin.entry
+}
+FUNCTION {phdthesis}
+{ output.bibitem
+ format.authors "author" output.check
+ author format.key output
+ format.title
+ "title" output.check
+ bbl.phdthesis format.thesis.type output.nonnull
+ school "school" bibinfo.warn output
+ address "address" bibinfo.check output
+ format.doi output
+ format.note output
+ format.date "year" output.check
+ fin.entry
+}
+
+FUNCTION {proceedings}
+{ output.bibitem
+ format.editors output
+ editor format.key output
+ format.btitle "title" output.check
+ format.bvolume output
+ format.number.series output
+ publisher empty$
+ { format.organization.address output }
+ { organization "organization" bibinfo.check output
+ format.publisher.address output
+ }
+ if$
+ format.doi output
+ format.note output
+ format.date "year" output.check
+ fin.entry
+}
+
+FUNCTION {techreport}
+{ output.bibitem
+ format.authors "author" output.check
+ author format.key output
+ format.title
+ "title" output.check
+ format.tr.number emphasize output.nonnull
+ institution "institution" bibinfo.warn output
+ address "address" bibinfo.check output
+ format.doi output
+ format.note output
+ format.date "year" output.check
+ fin.entry
+}
+
+FUNCTION {unpublished}
+{ output.bibitem
+ format.authors "author" output.check
+ author format.key output
+ format.title "title" output.check
+ format.doi output
+ format.note "note" output.check
+ format.date output
+ fin.entry
+}
+
+FUNCTION {default.type} { misc }
+READ
+FUNCTION {sortify}
+{ purify$
+ "l" change.case$
+}
+INTEGERS { len }
+FUNCTION {chop.word}
+{ 's :=
+ 'len :=
+ s #1 len substring$ =
+ { s len #1 + global.max$ substring$ }
+ 's
+ if$
+}
+FUNCTION {format.lab.names}
+{ 's :=
+ "" 't :=
+ s #1 "{vv~}{ll}" format.name$
+ s num.names$ duplicate$
+ #2 >
+ { pop$
+ " " * bbl.etal *
+ cite.name.font
+ "others" 't :=
+ }
+ { #2 <
+ 'skip$
+ { s #2 "{ff }{vv }{ll}{ jj}" format.name$ "others" =
+ {
+ " " * bbl.etal *
+ cite.name.font
+ "others" 't :=
+ }
+ { bbl.and space.word * s #2 "{vv~}{ll}" format.name$
+ * }
+ if$
+ }
+ if$
+ }
+ if$
+ t "others" =
+ 'skip$
+ { cite.name.font }
+ if$
+}
+
+FUNCTION {author.key.label}
+{ author empty$
+ { key empty$
+ { cite$ #1 #3 substring$ }
+ 'key
+ if$
+ }
+ { author format.lab.names }
+ if$
+}
+
+FUNCTION {author.editor.key.label}
+{ author empty$
+ { editor empty$
+ { key empty$
+ { cite$ #1 #3 substring$ }
+ 'key
+ if$
+ }
+ { editor format.lab.names }
+ if$
+ }
+ { author format.lab.names }
+ if$
+}
+
+FUNCTION {editor.key.label}
+{ editor empty$
+ { key empty$
+ { cite$ #1 #3 substring$ }
+ 'key
+ if$
+ }
+ { editor format.lab.names }
+ if$
+}
+
+FUNCTION {calc.short.authors}
+{ type$ "book" =
+ type$ "inbook" =
+ or
+ 'author.editor.key.label
+ { type$ "proceedings" =
+ 'editor.key.label
+ 'author.key.label
+ if$
+ }
+ if$
+ 'short.list :=
+}
+
+FUNCTION {calc.label}
+{ calc.short.authors
+ short.list
+ "("
+ *
+ year duplicate$ empty$
+ short.list key field.or.null = or
+ { pop$ "" }
+ 'skip$
+ if$
+ *
+ 'label :=
+}
+
+FUNCTION {sort.format.names}
+{ 's :=
+ #1 'nameptr :=
+ ""
+ s num.names$ 'numnames :=
+ numnames 'namesleft :=
+ { namesleft #0 > }
+ { s nameptr
+ "{vv{ } }{ll{ }}{ f{ }}{ jj{ }}"
+ format.name$ 't :=
+ nameptr #1 >
+ {
+ nameptr #1
+ #1 + =
+ numnames #9
+ > and
+ { "others" 't :=
+ #1 'namesleft := }
+ 'skip$
+ if$
+ " " *
+ namesleft #1 = t "others" = and
+ { "zzzzz" * }
+ { numnames #2 > nameptr #2 = and
+ { "zz" * year field.or.null * " " * }
+ 'skip$
+ if$
+ t sortify *
+ }
+ if$
+ }
+ { t sortify * }
+ if$
+ nameptr #1 + 'nameptr :=
+ namesleft #1 - 'namesleft :=
+ }
+ while$
+}
+
+FUNCTION {sort.format.title}
+{ 't :=
+ "A " #2
+ "An " #3
+ "The " #4 t chop.word
+ chop.word
+ chop.word
+ sortify
+ #1 global.max$ substring$
+}
+FUNCTION {author.sort}
+{ author empty$
+ { key empty$
+ { "to sort, need author or key in " cite$ * warning$
+ ""
+ }
+ { key sortify }
+ if$
+ }
+ { author sort.format.names }
+ if$
+}
+FUNCTION {author.editor.sort}
+{ author empty$
+ { editor empty$
+ { key empty$
+ { "to sort, need author, editor, or key in " cite$ * warning$
+ ""
+ }
+ { key sortify }
+ if$
+ }
+ { editor sort.format.names }
+ if$
+ }
+ { author sort.format.names }
+ if$
+}
+FUNCTION {editor.sort}
+{ editor empty$
+ { key empty$
+ { "to sort, need editor or key in " cite$ * warning$
+ ""
+ }
+ { key sortify }
+ if$
+ }
+ { editor sort.format.names }
+ if$
+}
+FUNCTION {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
+ *
+ " "
+ *
+ cite$
+ *
+ #1 entry.max$ substring$
+ 'sort.key$ :=
+}
+
+ITERATE {presort}
+SORT
+STRINGS { last.label next.extra }
+INTEGERS { last.extra.num number.label }
+FUNCTION {initialize.extra.label.stuff}
+{ #0 int.to.chr$ 'last.label :=
+ "" 'next.extra :=
+ #0 'last.extra.num :=
+ #0 'number.label :=
+}
+FUNCTION {forward.pass}
+{ last.label label =
+ { last.extra.num #1 + 'last.extra.num :=
+ last.extra.num int.to.chr$ 'extra.label :=
+ }
+ { "a" chr.to.int$ 'last.extra.num :=
+ "" 'extra.label :=
+ label 'last.label :=
+ }
+ if$
+ number.label #1 + 'number.label :=
+}
+FUNCTION {reverse.pass}
+{ next.extra "b" =
+ { "a" 'extra.label := }
+ 'skip$
+ if$
+ extra.label 'next.extra :=
+ extra.label
+ duplicate$ empty$
+ 'skip$
+ { "{\natexlab{" swap$ * "}}" * }
+ if$
+ 'extra.label :=
+ label extra.label * 'label :=
+}
+EXECUTE {initialize.extra.label.stuff}
+ITERATE {forward.pass}
+REVERSE {reverse.pass}
+FUNCTION {bib.sort.order}
+{ sort.label
+ " "
+ *
+ year field.or.null sortify
+ *
+ " "
+ *
+ cite$
+ *
+ #1 entry.max$ substring$
+ 'sort.key$ :=
+}
+ITERATE {bib.sort.order}
+SORT
+FUNCTION {begin.bib}
+{ preamble$ empty$
+ 'skip$
+ { preamble$ write$ newline$ }
+ if$
+ "\begin{thebibliography}{" number.label int.to.str$ * "}" *
+ write$ newline$
+ "\providecommand{\natexlab}[1]{#1}"
+ write$ newline$
+ "\expandafter\ifx\csname urlstyle\endcsname\relax"
+ write$ newline$
+ " \providecommand{\doi}[1]{doi:\discretionary{}{}{}#1}\else"
+ write$ newline$
+ " \providecommand{\doi}{doi:\discretionary{}{}{}\begingroup \urlstyle{rm}\Url}\fi"
+ write$ newline$
+}
+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 `agu.bst'.
diff --git a/macros/latex/contrib/aguplus/agu04.bst b/macros/latex/contrib/aguplus/agu04.bst
new file mode 100644
index 0000000000..5f1c71d26d
--- /dev/null
+++ b/macros/latex/contrib/aguplus/agu04.bst
@@ -0,0 +1,1840 @@
+%%
+%% This is file `agu04.bst',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% merlin.mbs (with options: `head,ay,nat,seq-key,nm-rev1,jnrlst,lab,lab-it,keyxyr,blkyear,dt-beg,yr-par,xmth,note-yr,thtit-a,trnum-it,vol-it,volp-com,pgsep-c,num-xser,ser-vol,ser-ed,pg-bk,pg-pre,pre-edn,agu-doi,doi,edpar,bkedcap,edby,blk-com,pp,ed,abr,ednx,xedn,jabr,and-com,em-it,nfss,{},nmlm,x9,m1')
+%% physjour.mbs (with options: `ay,nat,seq-key,nm-rev1,jnrlst,lab,lab-it,keyxyr,blkyear,dt-beg,yr-par,xmth,note-yr,thtit-a,trnum-it,vol-it,volp-com,pgsep-c,num-xser,ser-vol,ser-ed,pg-bk,pg-pre,pre-edn,agu-doi,doi,edpar,bkedcap,edby,blk-com,pp,ed,abr,ednx,xedn,jabr,and-com,em-it,nfss,{},nmlm,x9,m1')
+%% geojour.mbs (with options: `ay,nat,seq-key,nm-rev1,jnrlst,lab,lab-it,keyxyr,blkyear,dt-beg,yr-par,xmth,note-yr,thtit-a,trnum-it,vol-it,volp-com,pgsep-c,num-xser,ser-vol,ser-ed,pg-bk,pg-pre,pre-edn,agu-doi,doi,edpar,bkedcap,edby,blk-com,pp,ed,abr,ednx,xedn,jabr,and-com,em-it,nfss,{},nmlm,x9,m1')
+%% photjour.mbs (with options: `ay,nat,seq-key,nm-rev1,jnrlst,lab,lab-it,keyxyr,blkyear,dt-beg,yr-par,xmth,note-yr,thtit-a,trnum-it,vol-it,volp-com,pgsep-c,num-xser,ser-vol,ser-ed,pg-bk,pg-pre,pre-edn,agu-doi,doi,edpar,bkedcap,edby,blk-com,pp,ed,abr,ednx,xedn,jabr,and-com,em-it,nfss,{},nmlm,x9,m1')
+%% merlin.mbs (with options: `tail,ay,nat,seq-key,nm-rev1,jnrlst,lab,lab-it,keyxyr,blkyear,dt-beg,yr-par,xmth,note-yr,thtit-a,trnum-it,vol-it,volp-com,pgsep-c,num-xser,ser-vol,ser-ed,pg-bk,pg-pre,pre-edn,agu-doi,doi,edpar,bkedcap,edby,blk-com,pp,ed,abr,ednx,xedn,jabr,and-com,em-it,nfss,{},nmlm,x9,m1')
+%% ----------------------------------------
+%% *** For journals of the American Geophysical Union ***
+%% *** NOTE: this version limits number of authors in ref list to
+%% *** maximum of 9; if more there, only First et al are listed
+%% *** Use agufull.bst instead for complete list
+%% ***
+%% ----------------------------------------
+%% *** Version 3.0 from 2004/02/06
+%% *** Changed date format for AGU journals
+%% *** The date now appears in parentheses after authors
+%% ***
+%% *** Version 2.2 from 2003/06/26
+%% *** (with bug fix from 2003/08/19)
+%% *** Includes new fields eid and doi
+%% *** The eid is what the AGU calls "citation number"
+%% *** and doi is the DOI number; both of these are
+%% *** used as substitution for page number
+%% *** The issue number is now also included as
+%% *** 84(3) for vol. 84, nr. 3
+%% ***
+%% *** Version 2.1d from 1999/05/20
+%% *** Book editors done right as P. James (Ed.),
+%% *** Missing italics with some authors fixed
+%% ***
+%% *** Version 2.1c from 1999/02/11
+%% *** This version does not crash older BibTeX installations with
+%% *** more than 3000 wiz-functions
+%% ***
+%% *** Version 2.1b from 1997/11/18
+%% *** (page numbers over 9999 are broken with commas, as 12,345)
+%% ***
+%% *** Version 2.1a from 1997/05/26
+%% *** (contains improvements from copy editor comments,
+%% *** notes added with first word lowercase (bug in 2.1 fixed)
+%% *** and journal `number' never output
+%% *** abbreviation for grl corrected)
+%% ***
+%%
+%% Copyright 1994-2004 Patrick W Daly
+ % ===============================================================
+ % IMPORTANT NOTICE:
+ % This bibliographic style (bst) file has been generated from one or
+ % more master bibliographic style (mbs) files, listed above.
+ %
+ % This generated file can be redistributed and/or modified under the terms
+ % of the LaTeX Project Public License Distributed from CTAN
+ % archives in directory macros/latex/base/lppl.txt; either
+ % version 1 of the License, or any later version.
+ % ===============================================================
+ % Name and version information of the main mbs file:
+ % \ProvidesFile{merlin.mbs}[2004/02/09 4.13 (PWD, AO, DPC)]
+ % For use with BibTeX version 0.99a or later
+ %-------------------------------------------------------------------
+ % This bibliography style file is intended for texts in ENGLISH
+ % This is an author-year citation style bibliography. As such, it is
+ % non-standard LaTeX, and requires a special package file to function properly.
+ % Such a package is natbib.sty by Patrick W. Daly
+ % The form of the \bibitem entries is
+ % \bibitem[Jones et al.(1990)]{key}...
+ % \bibitem[Jones et al.(1990)Jones, Baker, and Smith]{key}...
+ % The essential feature is that the label (the part in brackets) consists
+ % of the author names, as they should appear in the citation, with the year
+ % in parentheses following. There must be no space before the opening
+ % parenthesis!
+ % With natbib v5.3, a full list of authors may also follow the year.
+ % In natbib.sty, it is possible to define the type of enclosures that is
+ % really wanted (brackets or parentheses), but in either case, there must
+ % be parentheses in the label.
+ % The \cite command functions as follows:
+ % \citet{key} ==>> Jones et al. (1990)
+ % \citet*{key} ==>> Jones, Baker, and Smith (1990)
+ % \citep{key} ==>> (Jones et al., 1990)
+ % \citep*{key} ==>> (Jones, Baker, and Smith, 1990)
+ % \citep[chap. 2]{key} ==>> (Jones et al., 1990, chap. 2)
+ % \citep[e.g.][]{key} ==>> (e.g. Jones et al., 1990)
+ % \citep[e.g.][p. 32]{key} ==>> (e.g. Jones et al., p. 32)
+ % \citeauthor{key} ==>> Jones et al.
+ % \citeauthor*{key} ==>> Jones, Baker, and Smith
+ % \citeyear{key} ==>> 1990
+ %---------------------------------------------------------------------
+
+ENTRY
+ { address
+ author
+ booktitle
+ chapter
+ doi
+ edition
+ editor
+ eid
+ howpublished
+ institution
+ journal
+ key
+ month
+ note
+ number
+ organization
+ pages
+ publisher
+ school
+ series
+ title
+ type
+ volume
+ year
+ }
+ {}
+ { label extra.label sort.label short.list }
+INTEGERS { output.state before.all mid.sentence after.sentence after.block }
+FUNCTION {init.state.consts}
+{ #0 'before.all :=
+ #1 'mid.sentence :=
+ #2 'after.sentence :=
+ #3 'after.block :=
+}
+STRINGS { s t}
+FUNCTION {output.nonnull}
+{ 's :=
+ output.state mid.sentence =
+ { ", " * write$ }
+ { output.state after.block =
+ { add.period$ write$
+ newline$
+ "\newblock " write$
+ }
+ { output.state before.all =
+ 'write$
+ { add.period$ " " * write$ }
+ if$
+ }
+ if$
+ mid.sentence 'output.state :=
+ }
+ if$
+ s
+}
+FUNCTION {output}
+{ duplicate$ empty$
+ 'pop$
+ 'output.nonnull
+ if$
+}
+FUNCTION {output.check}
+{ 't :=
+ duplicate$ empty$
+ { pop$ "empty " t * " in " * cite$ * warning$ }
+ 'output.nonnull
+ if$
+}
+FUNCTION {fin.entry}
+{ add.period$
+ write$
+ newline$
+}
+
+FUNCTION {new.block}
+{ output.state before.all =
+ 'skip$
+ { after.block 'output.state := }
+ if$
+}
+FUNCTION {new.sentence}
+{ output.state after.block =
+ 'skip$
+ { output.state before.all =
+ 'skip$
+ { after.sentence 'output.state := }
+ if$
+ }
+ if$
+}
+FUNCTION {add.blank}
+{ " " * before.all 'output.state :=
+}
+
+FUNCTION {date.block}
+{
+ skip$
+}
+
+FUNCTION {not}
+{ { #0 }
+ { #1 }
+ if$
+}
+FUNCTION {and}
+{ 'skip$
+ { pop$ #0 }
+ if$
+}
+FUNCTION {or}
+{ { pop$ #1 }
+ 'skip$
+ if$
+}
+FUNCTION {new.block.checkb}
+{ empty$
+ swap$ empty$
+ and
+ 'skip$
+ 'new.block
+ if$
+}
+FUNCTION {field.or.null}
+{ duplicate$ empty$
+ { pop$ "" }
+ 'skip$
+ if$
+}
+FUNCTION {emphasize}
+{ duplicate$ empty$
+ { pop$ "" }
+ { "\textit{" swap$ * "}" * }
+ if$
+}
+FUNCTION {cite.name.font}
+{ emphasize }
+FUNCTION {tie.or.space.prefix}
+{ duplicate$ text.length$ #3 <
+ { "~" }
+ { " " }
+ if$
+ swap$
+}
+
+FUNCTION {capitalize}
+{ "u" change.case$ "t" change.case$ }
+
+FUNCTION {space.word}
+{ " " swap$ * " " * }
+ % Here are the language-specific definitions for explicit words.
+ % Each function has a name bbl.xxx where xxx is the English word.
+ % The language selected here is ENGLISH
+FUNCTION {bbl.and}
+{ "and"}
+
+FUNCTION {bbl.etal}
+{ "et~al." }
+
+FUNCTION {bbl.editors}
+{ "eds." }
+
+FUNCTION {bbl.editor}
+{ "ed." }
+
+FUNCTION {bbl.edby}
+{ "edited by" }
+
+FUNCTION {bbl.edition}
+{ "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.chapter}
+{ "chap." }
+
+FUNCTION {bbl.techrep}
+{ "Tech. Rep." }
+
+FUNCTION {bbl.mthesis}
+{ "Master's thesis" }
+
+FUNCTION {bbl.phdthesis}
+{ "Ph.D. thesis" }
+
+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."}
+
+ %-------------------------------------------------------------------
+ % 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-2004 Patrick W Daly
+MACRO {acmcs} {"ACM Comput. Surv."}
+
+MACRO {acta} {"Acta Inf."}
+
+MACRO {cacm} {"Commun. ACM"}
+
+MACRO {ibmjrd} {"IBM J. Res. Dev."}
+
+MACRO {ibmsj} {"IBM Syst.~J."}
+
+MACRO {ieeese} {"IEEE Trans. Software Eng."}
+
+MACRO {ieeetc} {"IEEE Trans. Comput."}
+
+MACRO {ieeetcad}
+ {"IEEE Trans. Comput. Aid. Des."}
+
+MACRO {ipl} {"Inf. Process. Lett."}
+
+MACRO {jacm} {"J.~ACM"}
+
+MACRO {jcss} {"J.~Comput. Syst. Sci."}
+
+MACRO {scp} {"Sci. Comput. Program."}
+
+MACRO {sicomp} {"SIAM J. Comput."}
+
+MACRO {tocs} {"ACM Trans. Comput. Syst."}
+
+MACRO {tods} {"ACM Trans. Database Syst."}
+
+MACRO {tog} {"ACM Trans. Graphic."}
+
+MACRO {toms} {"ACM Trans. Math. Software"}
+
+MACRO {toois} {"ACM Trans. Office Inf. Syst."}
+
+MACRO {toplas} {"ACM Trans. Progr. Lang. Syst."}
+
+MACRO {tcs} {"Theor. Comput. Sci."}
+
+FUNCTION {bibinfo.check}
+{ swap$
+ duplicate$ missing$
+ {
+ pop$ pop$
+ ""
+ }
+ { duplicate$ empty$
+ {
+ swap$ pop$
+ }
+ { swap$
+ pop$
+ }
+ if$
+ }
+ if$
+}
+FUNCTION {bibinfo.warn}
+{ swap$
+ duplicate$ missing$
+ {
+ swap$ "missing " swap$ * " in " * cite$ * warning$ pop$
+ ""
+ }
+ { duplicate$ empty$
+ {
+ swap$ "empty " swap$ * " in " * cite$ * warning$
+ }
+ { swap$
+ pop$
+ }
+ if$
+ }
+ if$
+}
+STRINGS { bibinfo}
+INTEGERS { nameptr namesleft numnames }
+
+FUNCTION {format.names}
+{ 'bibinfo :=
+ duplicate$ empty$ 'skip$ {
+ 's :=
+ "" 't :=
+ #1 'nameptr :=
+ s num.names$ 'numnames :=
+ numnames 'namesleft :=
+ { namesleft #0 > }
+ { s nameptr
+ duplicate$ #1 >
+ { "{f.~}{vv~}{ll}{, jj}" }
+ { "{vv~}{ll}{, f.}{, jj}" }
+ if$
+ format.name$
+ bibinfo bibinfo.check
+ 't :=
+ nameptr #1 >
+ {
+ nameptr #1
+ #1 + =
+ numnames #9
+ > and
+ { "others" 't :=
+ #1 'namesleft := }
+ 'skip$
+ if$
+ namesleft #1 >
+ { ", " * t * }
+ {
+ "," *
+ s nameptr "{ll}" format.name$ duplicate$ "others" =
+ { 't := }
+ { pop$ }
+ if$
+ t "others" =
+ {
+ " " * bbl.etal *
+ }
+ {
+ bbl.and
+ space.word * t *
+ }
+ if$
+ }
+ if$
+ }
+ 't
+ if$
+ nameptr #1 + 'nameptr :=
+ namesleft #1 - 'namesleft :=
+ }
+ while$
+ } if$
+}
+FUNCTION {format.names.ed}
+{
+ 'bibinfo :=
+ duplicate$ empty$ 'skip$ {
+ 's :=
+ "" 't :=
+ #1 'nameptr :=
+ s num.names$ 'numnames :=
+ numnames 'namesleft :=
+ { namesleft #0 > }
+ { s nameptr
+ "{f.~}{vv~}{ll}{, jj}"
+ format.name$
+ bibinfo bibinfo.check
+ 't :=
+ nameptr #1 >
+ {
+ namesleft #1 >
+ { ", " * t * }
+ {
+ numnames #2 >
+ { "," * }
+ 'skip$
+ if$
+ s nameptr "{ll}" format.name$ duplicate$ "others" =
+ { 't := }
+ { pop$ }
+ if$
+ t "others" =
+ {
+
+ " " * bbl.etal *
+ }
+ {
+ bbl.and
+ space.word * t *
+ }
+ if$
+ }
+ if$
+ }
+ 't
+ if$
+ nameptr #1 + 'nameptr :=
+ namesleft #1 - 'namesleft :=
+ }
+ while$
+ } if$
+}
+FUNCTION {format.key}
+{ empty$
+ { key field.or.null }
+ { "" }
+ if$
+}
+
+FUNCTION {format.authors}
+{ author "author" format.names
+}
+FUNCTION {get.bbl.editor}
+{ editor num.names$ #1 > 'bbl.editors 'bbl.editor if$ }
+
+FUNCTION {format.editors}
+{ editor "editor" format.names duplicate$ empty$ 'skip$
+ {
+ " " *
+ get.bbl.editor
+ capitalize
+ "(" swap$ * ")" *
+ *
+ }
+ if$
+}
+FUNCTION {format.book.pages}
+{ pages "pages" bibinfo.check
+ duplicate$ empty$ 'skip$
+ { " " * bbl.pages * }
+ if$
+}
+FUNCTION {format.doi}
+{ doi "doi" bibinfo.check
+ duplicate$ empty$ 'skip$
+ {
+ "\doi{" swap$ * "}" *
+ }
+ if$
+}
+FUNCTION {format.note}
+{
+ note empty$
+ { "" }
+ { note #1 #1 substring$
+ duplicate$ "{" =
+ 'skip$
+ { output.state mid.sentence =
+ { "l" }
+ { "u" }
+ if$
+ change.case$
+ }
+ if$
+ note #2 global.max$ substring$ * "note" bibinfo.check
+ }
+ if$
+}
+
+FUNCTION {format.title}
+{ title
+ duplicate$ empty$ 'skip$
+ { "t" change.case$ }
+ if$
+ "title" bibinfo.check
+}
+FUNCTION {format.full.names}
+{'s :=
+ "" 't :=
+ #1 'nameptr :=
+ s num.names$ 'numnames :=
+ numnames 'namesleft :=
+ { namesleft #0 > }
+ { s nameptr
+ "{vv~}{ll}" format.name$
+ 't :=
+ nameptr #1 >
+ {
+ nameptr #1
+ #1 + =
+ numnames #9
+ > and
+ { "others" 't :=
+ #1 'namesleft := }
+ 'skip$
+ if$
+ namesleft #1 >
+ { ", " * t * }
+ {
+ s nameptr "{ll}" format.name$ duplicate$ "others" =
+ { 't := }
+ { pop$ }
+ if$
+ t "others" =
+ {
+ " " * bbl.etal *
+ cite.name.font
+ }
+ {
+ numnames #2 >
+ { "," * }
+ 'skip$
+ if$
+ bbl.and
+ space.word * t *
+ }
+ if$
+ }
+ if$
+ }
+ 't
+ if$
+ nameptr #1 + 'nameptr :=
+ namesleft #1 - 'namesleft :=
+ }
+ while$
+ t "others" =
+ 'skip$
+ { cite.name.font }
+ if$
+}
+
+FUNCTION {author.editor.key.full}
+{ author empty$
+ { editor empty$
+ { key empty$
+ { cite$ #1 #3 substring$ }
+ 'key
+ if$
+ }
+ { editor format.full.names }
+ if$
+ }
+ { author format.full.names }
+ if$
+}
+
+FUNCTION {author.key.full}
+{ author empty$
+ { key empty$
+ { cite$ #1 #3 substring$ }
+ 'key
+ if$
+ }
+ { author format.full.names }
+ if$
+}
+
+FUNCTION {editor.key.full}
+{ editor empty$
+ { key empty$
+ { cite$ #1 #3 substring$ }
+ 'key
+ if$
+ }
+ { editor format.full.names }
+ if$
+}
+
+FUNCTION {make.full.names}
+{ type$ "book" =
+ type$ "inbook" =
+ or
+ 'author.editor.key.full
+ { type$ "proceedings" =
+ 'editor.key.full
+ 'author.key.full
+ if$
+ }
+ if$
+}
+
+FUNCTION {output.bibitem}
+{ newline$
+ "\bibitem[{" write$
+ label write$
+ ")" make.full.names duplicate$ short.list =
+ { pop$ }
+ { * }
+ if$
+ "}]{" * write$
+ cite$ write$
+ "}" write$
+ newline$
+ ""
+ before.all 'output.state :=
+}
+
+FUNCTION {if.digit}
+{ duplicate$ "0" =
+ swap$ duplicate$ "1" =
+ swap$ duplicate$ "2" =
+ swap$ duplicate$ "3" =
+ swap$ duplicate$ "4" =
+ swap$ duplicate$ "5" =
+ swap$ duplicate$ "6" =
+ swap$ duplicate$ "7" =
+ swap$ duplicate$ "8" =
+ swap$ "9" = or or or or or or or or or
+}
+FUNCTION {n.separate}
+{ 't :=
+ ""
+ #0 'numnames :=
+ { t empty$ not }
+ { t #-1 #1 substring$ if.digit
+ { numnames #1 + 'numnames := }
+ { #0 'numnames := }
+ if$
+ t #-1 #1 substring$ swap$ *
+ t #-2 global.max$ substring$ 't :=
+ numnames #5 =
+ { duplicate$ #1 #2 substring$ swap$
+ #3 global.max$ substring$
+ "," swap$ * *
+ }
+ 'skip$
+ if$
+ }
+ while$
+}
+FUNCTION {n.dashify}
+{
+ n.separate
+ 't :=
+ ""
+ { t empty$ not }
+ { t #1 #1 substring$ "-" =
+ { t #1 #2 substring$ "--" = not
+ { "--" *
+ t #2 global.max$ substring$ 't :=
+ }
+ { { t #1 #1 substring$ "-" = }
+ { "-" *
+ t #2 global.max$ substring$ 't :=
+ }
+ while$
+ }
+ if$
+ }
+ { t #1 #1 substring$ *
+ t #2 global.max$ substring$ 't :=
+ }
+ if$
+ }
+ while$
+}
+
+FUNCTION {word.in}
+{ bbl.in
+ " " * }
+
+FUNCTION {format.date}
+{ year "year" bibinfo.check duplicate$ empty$
+ {
+ }
+ 'skip$
+ if$
+ extra.label *
+ before.all 'output.state :=
+ " (" swap$ * ")" *
+}
+FUNCTION {format.btitle}
+{ title "title" bibinfo.check
+ duplicate$ empty$ 'skip$
+ {
+ emphasize
+ }
+ if$
+}
+FUNCTION {either.or.check}
+{ empty$
+ 'pop$
+ { "can't use both " swap$ * " fields in " * cite$ * warning$ }
+ if$
+}
+FUNCTION {format.bvolume}
+{ volume empty$
+ { "" }
+ { bbl.volume volume tie.or.space.prefix
+ "volume" bibinfo.check * *
+ series "series" bibinfo.check
+ duplicate$ empty$ 'pop$
+ { emphasize ", " * swap$ * }
+ if$
+ "volume and number" number either.or.check
+ }
+ if$
+}
+FUNCTION {format.number.series}
+{ volume empty$
+ { number empty$
+ { series field.or.null }
+ { series empty$
+ { number "number" bibinfo.check }
+ { output.state mid.sentence =
+ { bbl.number }
+ { bbl.number capitalize }
+ if$
+ number tie.or.space.prefix "number" bibinfo.check * *
+ bbl.in space.word *
+ series "series" bibinfo.check *
+ }
+ if$
+ }
+ if$
+ }
+ { "" }
+ if$
+}
+
+FUNCTION {format.edition}
+{ edition duplicate$ empty$ 'skip$
+ {
+ output.state mid.sentence =
+ { "l" }
+ { "t" }
+ if$ change.case$
+ "edition" bibinfo.check
+ " " * bbl.edition *
+ }
+ if$
+}
+INTEGERS { multiresult }
+FUNCTION {multi.page.check}
+{ 't :=
+ #0 'multiresult :=
+ { multiresult not
+ t empty$ not
+ and
+ }
+ { t #1 #1 substring$
+ duplicate$ "-" =
+ swap$ duplicate$ "," =
+ swap$ "+" =
+ or or
+ { #1 'multiresult := }
+ { t #2 global.max$ substring$ 't := }
+ if$
+ }
+ while$
+ multiresult
+}
+FUNCTION {format.pages}
+{ pages duplicate$ empty$ 'skip$
+ { duplicate$ multi.page.check
+ {
+ bbl.pages swap$
+ n.dashify
+ }
+ {
+ bbl.page swap$
+ }
+ if$
+ tie.or.space.prefix
+ "pages" bibinfo.check
+ * *
+ }
+ if$
+}
+FUNCTION {format.journal.pages}
+{ pages duplicate$ empty$ 'pop$
+ { swap$ duplicate$ empty$
+ { pop$ pop$ format.pages }
+ {
+ ", " *
+ swap$
+ n.dashify
+ "pages" bibinfo.check
+ *
+ }
+ if$
+ }
+ if$
+}
+FUNCTION {format.journal.eid}
+{ eid "eid" bibinfo.check
+ duplicate$ empty$ 'pop$
+ { swap$ duplicate$ empty$ 'skip$
+ {
+ ", " *
+ }
+ if$
+ swap$ *
+ }
+ if$
+}
+FUNCTION {format.vol.num.pages}
+{ volume field.or.null
+ duplicate$ empty$ 'skip$
+ {
+ "volume" bibinfo.check
+ }
+ if$
+ emphasize
+ 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$ *
+ eid empty$
+ { format.journal.pages }
+ { format.journal.eid }
+ if$
+}
+
+FUNCTION {format.chapter.pages}
+{ chapter empty$
+ 'format.pages
+ { type empty$
+ { bbl.chapter }
+ { type "l" change.case$
+ "type" bibinfo.check
+ }
+ if$
+ chapter tie.or.space.prefix
+ "chapter" bibinfo.check
+ * *
+ pages empty$
+ 'skip$
+ { ", " * format.pages * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.booktitle}
+{
+ booktitle "booktitle" bibinfo.check
+ emphasize
+}
+FUNCTION {format.in.ed.booktitle}
+{ format.booktitle duplicate$ empty$ 'skip$
+ {
+ format.bvolume duplicate$ empty$ 'pop$
+ { ", " swap$ * * }
+ if$
+ editor "editor" format.names.ed duplicate$ empty$ 'pop$
+ {
+ bbl.edby
+ " " * swap$ *
+ swap$
+ "," *
+ " " * swap$
+ * }
+ if$
+ word.in swap$ *
+ }
+ if$
+}
+FUNCTION {format.thesis.type}
+{ type duplicate$ empty$
+ 'pop$
+ { swap$ pop$
+ "t" change.case$ "type" bibinfo.check
+ }
+ if$
+}
+FUNCTION {format.tr.number}
+{ number "number" bibinfo.check
+ type duplicate$ empty$
+ { pop$ bbl.techrep }
+ 'skip$
+ if$
+ "type" bibinfo.check
+ swap$ duplicate$ empty$
+ { pop$ "t" change.case$ }
+ { tie.or.space.prefix * * }
+ if$
+}
+FUNCTION {format.article.crossref}
+{
+ word.in
+ " \cite{" * crossref * "}" *
+}
+FUNCTION {format.book.crossref}
+{ volume duplicate$ empty$
+ { "empty volume in " cite$ * "'s crossref of " * crossref * warning$
+ pop$ word.in
+ }
+ { bbl.volume
+ swap$ tie.or.space.prefix "volume" bibinfo.check * * bbl.of space.word *
+ }
+ if$
+ " \cite{" * crossref * "}" *
+}
+FUNCTION {format.incoll.inproc.crossref}
+{
+ word.in
+ " \cite{" * crossref * "}" *
+}
+FUNCTION {format.org.or.pub}
+{ 't :=
+ ""
+ address empty$ t empty$ and
+ 'skip$
+ {
+ t empty$
+ { address "address" bibinfo.check *
+ }
+ { t *
+ address empty$
+ 'skip$
+ { ", " * address "address" bibinfo.check * }
+ if$
+ }
+ if$
+ }
+ 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 {article}
+{ output.bibitem
+ format.authors "author" output.check
+ author format.key output
+ format.date "year" output.check
+ date.block
+ format.title "title" output.check
+ crossref missing$
+ {
+ journal
+ "journal" bibinfo.check
+ emphasize
+ "journal" output.check
+ format.vol.num.pages output
+ format.doi output
+ }
+ { format.article.crossref output.nonnull
+ format.pages output
+ }
+ if$
+ format.note output
+ fin.entry
+}
+FUNCTION {book}
+{ output.bibitem
+ author empty$
+ { format.editors "author and editor" output.check
+ editor format.key output
+ }
+ { format.authors output.nonnull
+ crossref missing$
+ { "author and editor" editor either.or.check }
+ 'skip$
+ if$
+ }
+ if$
+ format.date "year" output.check
+ date.block
+ format.btitle "title" output.check
+ crossref missing$
+ { format.bvolume output
+ format.number.series output
+ format.edition output
+ format.book.pages output
+ format.publisher.address output
+ }
+ {
+ format.book.crossref output.nonnull
+ }
+ if$
+ format.doi output
+ format.note output
+ fin.entry
+}
+FUNCTION {booklet}
+{ output.bibitem
+ format.authors output
+ author format.key output
+ format.date "year" output.check
+ date.block
+ format.title "title" output.check
+ howpublished "howpublished" bibinfo.check output
+ address "address" bibinfo.check output
+ format.book.pages output
+ format.doi output
+ format.note output
+ fin.entry
+}
+
+FUNCTION {inbook}
+{ output.bibitem
+ author empty$
+ { format.editors "author and editor" output.check
+ editor format.key output
+ }
+ { format.authors output.nonnull
+ crossref missing$
+ { "author and editor" editor either.or.check }
+ 'skip$
+ if$
+ }
+ if$
+ format.date "year" output.check
+ date.block
+ format.btitle "title" output.check
+ crossref missing$
+ {
+ format.bvolume output
+ format.chapter.pages "chapter and pages" output.check
+ format.number.series output
+ format.edition output
+ format.publisher.address output
+ }
+ {
+ format.chapter.pages "chapter and pages" output.check
+ format.book.crossref output.nonnull
+ }
+ if$
+ format.doi output
+ format.note output
+ fin.entry
+}
+
+FUNCTION {incollection}
+{ output.bibitem
+ format.authors "author" output.check
+ author format.key output
+ format.date "year" output.check
+ date.block
+ format.title "title" output.check
+ crossref missing$
+ { format.in.ed.booktitle "booktitle" output.check
+ format.number.series output
+ format.edition output
+ format.chapter.pages output
+ format.publisher.address output
+ }
+ { format.incoll.inproc.crossref output.nonnull
+ format.chapter.pages output
+ }
+ if$
+ format.doi output
+ format.note output
+ fin.entry
+}
+FUNCTION {inproceedings}
+{ output.bibitem
+ format.authors "author" output.check
+ author format.key output
+ format.date "year" output.check
+ date.block
+ format.title "title" output.check
+ crossref missing$
+ { format.in.ed.booktitle "booktitle" output.check
+ format.number.series output
+ format.pages output
+ publisher empty$
+ { format.organization.address output }
+ { organization "organization" bibinfo.check output
+ format.publisher.address output
+ }
+ if$
+ }
+ { format.incoll.inproc.crossref output.nonnull
+ format.pages output
+ }
+ if$
+ format.doi output
+ format.note output
+ fin.entry
+}
+FUNCTION {conference} { inproceedings }
+FUNCTION {manual}
+{ output.bibitem
+ format.authors output
+ author format.key output
+ format.date "year" output.check
+ date.block
+ format.btitle "title" output.check
+ organization "organization" bibinfo.check output
+ address "address" bibinfo.check output
+ format.edition output
+ format.doi output
+ format.note output
+ fin.entry
+}
+
+FUNCTION {mastersthesis}
+{ output.bibitem
+ format.authors "author" output.check
+ author format.key output
+ format.date "year" output.check
+ date.block
+ format.title
+ "title" output.check
+ bbl.mthesis format.thesis.type output.nonnull
+ school "school" bibinfo.warn output
+ address "address" bibinfo.check output
+ format.doi output
+ format.note output
+ fin.entry
+}
+
+FUNCTION {misc}
+{ output.bibitem
+ format.authors output
+ author format.key output
+ format.date "year" output.check
+ date.block
+ format.title output
+ howpublished "howpublished" bibinfo.check output
+ format.doi output
+ format.note output
+ fin.entry
+}
+FUNCTION {phdthesis}
+{ output.bibitem
+ format.authors "author" output.check
+ author format.key output
+ format.date "year" output.check
+ date.block
+ format.title
+ "title" output.check
+ bbl.phdthesis format.thesis.type output.nonnull
+ school "school" bibinfo.warn output
+ address "address" bibinfo.check output
+ format.doi output
+ format.note output
+ fin.entry
+}
+
+FUNCTION {proceedings}
+{ output.bibitem
+ format.editors output
+ editor format.key output
+ format.date "year" output.check
+ date.block
+ format.btitle "title" output.check
+ format.bvolume output
+ format.number.series output
+ publisher empty$
+ { format.organization.address output }
+ { organization "organization" bibinfo.check output
+ format.publisher.address output
+ }
+ if$
+ format.doi output
+ format.note output
+ fin.entry
+}
+
+FUNCTION {techreport}
+{ output.bibitem
+ format.authors "author" output.check
+ author format.key output
+ format.date "year" output.check
+ date.block
+ format.title
+ "title" output.check
+ format.tr.number emphasize output.nonnull
+ institution "institution" bibinfo.warn output
+ address "address" bibinfo.check output
+ format.doi output
+ format.note output
+ fin.entry
+}
+
+FUNCTION {unpublished}
+{ output.bibitem
+ format.authors "author" output.check
+ author format.key output
+ format.date "year" output.check
+ date.block
+ format.title "title" output.check
+ format.doi output
+ format.note "note" output.check
+ fin.entry
+}
+
+FUNCTION {default.type} { misc }
+READ
+FUNCTION {sortify}
+{ purify$
+ "l" change.case$
+}
+INTEGERS { len }
+FUNCTION {chop.word}
+{ 's :=
+ 'len :=
+ s #1 len substring$ =
+ { s len #1 + global.max$ substring$ }
+ 's
+ if$
+}
+FUNCTION {format.lab.names}
+{ 's :=
+ "" 't :=
+ s #1 "{vv~}{ll}" format.name$
+ s num.names$ duplicate$
+ #2 >
+ { pop$
+ " " * bbl.etal *
+ cite.name.font
+ "others" 't :=
+ }
+ { #2 <
+ 'skip$
+ { s #2 "{ff }{vv }{ll}{ jj}" format.name$ "others" =
+ {
+ " " * bbl.etal *
+ cite.name.font
+ "others" 't :=
+ }
+ { bbl.and space.word * s #2 "{vv~}{ll}" format.name$
+ * }
+ if$
+ }
+ if$
+ }
+ if$
+ t "others" =
+ 'skip$
+ { cite.name.font }
+ if$
+}
+
+FUNCTION {author.key.label}
+{ author empty$
+ { key empty$
+ { cite$ #1 #3 substring$ }
+ 'key
+ if$
+ }
+ { author format.lab.names }
+ if$
+}
+
+FUNCTION {author.editor.key.label}
+{ author empty$
+ { editor empty$
+ { key empty$
+ { cite$ #1 #3 substring$ }
+ 'key
+ if$
+ }
+ { editor format.lab.names }
+ if$
+ }
+ { author format.lab.names }
+ if$
+}
+
+FUNCTION {editor.key.label}
+{ editor empty$
+ { key empty$
+ { cite$ #1 #3 substring$ }
+ 'key
+ if$
+ }
+ { editor format.lab.names }
+ if$
+}
+
+FUNCTION {calc.short.authors}
+{ type$ "book" =
+ type$ "inbook" =
+ or
+ 'author.editor.key.label
+ { type$ "proceedings" =
+ 'editor.key.label
+ 'author.key.label
+ if$
+ }
+ if$
+ 'short.list :=
+}
+
+FUNCTION {calc.label}
+{ calc.short.authors
+ short.list
+ "("
+ *
+ year duplicate$ empty$
+ short.list key field.or.null = or
+ { pop$ "" }
+ 'skip$
+ if$
+ *
+ 'label :=
+}
+
+FUNCTION {sort.format.names}
+{ 's :=
+ #1 'nameptr :=
+ ""
+ s num.names$ 'numnames :=
+ numnames 'namesleft :=
+ { namesleft #0 > }
+ { s nameptr
+ "{vv{ } }{ll{ }}{ f{ }}{ jj{ }}"
+ format.name$ 't :=
+ nameptr #1 >
+ {
+ nameptr #1
+ #1 + =
+ numnames #9
+ > and
+ { "others" 't :=
+ #1 'namesleft := }
+ 'skip$
+ if$
+ " " *
+ namesleft #1 = t "others" = and
+ { "zzzzz" * }
+ { numnames #2 > nameptr #2 = and
+ { "zz" * year field.or.null * " " * }
+ 'skip$
+ if$
+ t sortify *
+ }
+ if$
+ }
+ { t sortify * }
+ if$
+ nameptr #1 + 'nameptr :=
+ namesleft #1 - 'namesleft :=
+ }
+ while$
+}
+
+FUNCTION {sort.format.title}
+{ 't :=
+ "A " #2
+ "An " #3
+ "The " #4 t chop.word
+ chop.word
+ chop.word
+ sortify
+ #1 global.max$ substring$
+}
+FUNCTION {author.sort}
+{ author empty$
+ { key empty$
+ { "to sort, need author or key in " cite$ * warning$
+ ""
+ }
+ { key sortify }
+ if$
+ }
+ { author sort.format.names }
+ if$
+}
+FUNCTION {author.editor.sort}
+{ author empty$
+ { editor empty$
+ { key empty$
+ { "to sort, need author, editor, or key in " cite$ * warning$
+ ""
+ }
+ { key sortify }
+ if$
+ }
+ { editor sort.format.names }
+ if$
+ }
+ { author sort.format.names }
+ if$
+}
+FUNCTION {editor.sort}
+{ editor empty$
+ { key empty$
+ { "to sort, need editor or key in " cite$ * warning$
+ ""
+ }
+ { key sortify }
+ if$
+ }
+ { editor sort.format.names }
+ if$
+}
+FUNCTION {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
+ *
+ " "
+ *
+ cite$
+ *
+ #1 entry.max$ substring$
+ 'sort.key$ :=
+}
+
+ITERATE {presort}
+SORT
+STRINGS { last.label next.extra }
+INTEGERS { last.extra.num number.label }
+FUNCTION {initialize.extra.label.stuff}
+{ #0 int.to.chr$ 'last.label :=
+ "" 'next.extra :=
+ #0 'last.extra.num :=
+ #0 'number.label :=
+}
+FUNCTION {forward.pass}
+{ last.label label =
+ { last.extra.num #1 + 'last.extra.num :=
+ last.extra.num int.to.chr$ 'extra.label :=
+ }
+ { "a" chr.to.int$ 'last.extra.num :=
+ "" 'extra.label :=
+ label 'last.label :=
+ }
+ if$
+ number.label #1 + 'number.label :=
+}
+FUNCTION {reverse.pass}
+{ next.extra "b" =
+ { "a" 'extra.label := }
+ 'skip$
+ if$
+ extra.label 'next.extra :=
+ extra.label
+ duplicate$ empty$
+ 'skip$
+ { "{\natexlab{" swap$ * "}}" * }
+ if$
+ 'extra.label :=
+ label extra.label * 'label :=
+}
+EXECUTE {initialize.extra.label.stuff}
+ITERATE {forward.pass}
+REVERSE {reverse.pass}
+FUNCTION {bib.sort.order}
+{ sort.label
+ " "
+ *
+ year field.or.null sortify
+ *
+ " "
+ *
+ cite$
+ *
+ #1 entry.max$ substring$
+ 'sort.key$ :=
+}
+ITERATE {bib.sort.order}
+SORT
+FUNCTION {begin.bib}
+{ preamble$ empty$
+ 'skip$
+ { preamble$ write$ newline$ }
+ if$
+ "\begin{thebibliography}{" number.label int.to.str$ * "}" *
+ write$ newline$
+ "\providecommand{\natexlab}[1]{#1}"
+ write$ newline$
+ "\expandafter\ifx\csname urlstyle\endcsname\relax"
+ write$ newline$
+ " \providecommand{\doi}[1]{doi:\discretionary{}{}{}#1}\else"
+ write$ newline$
+ " \providecommand{\doi}{doi:\discretionary{}{}{}\begingroup \urlstyle{rm}\Url}\fi"
+ write$ newline$
+}
+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 `agu04.bst'.
diff --git a/macros/latex/contrib/aguplus/agufull.bst b/macros/latex/contrib/aguplus/agufull.bst
new file mode 100644
index 0000000000..17223f7edb
--- /dev/null
+++ b/macros/latex/contrib/aguplus/agufull.bst
@@ -0,0 +1,1796 @@
+%%
+%% This is file `agufull.bst',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% merlin.mbs (with options: `head,ay,nat,seq-key,nm-rev1,jnrlst,lab,lab-it,keyxyr,blkyear,dt-end,note-yr,thtit-a,trnum-it,vol-it,volp-com,pgsep-c,num-xser,ser-vol,ser-ed,pg-bk,pg-pre,pre-edn,agu-doi,doi,edpar,bkedcap,edby,blk-com,pp,ed,abr,ednx,xedn,jabr,and-com,em-it,nfss,{}')
+%% physjour.mbs (with options: `ay,nat,seq-key,nm-rev1,jnrlst,lab,lab-it,keyxyr,blkyear,dt-end,note-yr,thtit-a,trnum-it,vol-it,volp-com,pgsep-c,num-xser,ser-vol,ser-ed,pg-bk,pg-pre,pre-edn,agu-doi,doi,edpar,bkedcap,edby,blk-com,pp,ed,abr,ednx,xedn,jabr,and-com,em-it,nfss,{}')
+%% geojour.mbs (with options: `ay,nat,seq-key,nm-rev1,jnrlst,lab,lab-it,keyxyr,blkyear,dt-end,note-yr,thtit-a,trnum-it,vol-it,volp-com,pgsep-c,num-xser,ser-vol,ser-ed,pg-bk,pg-pre,pre-edn,agu-doi,doi,edpar,bkedcap,edby,blk-com,pp,ed,abr,ednx,xedn,jabr,and-com,em-it,nfss,{}')
+%% photjour.mbs (with options: `ay,nat,seq-key,nm-rev1,jnrlst,lab,lab-it,keyxyr,blkyear,dt-end,note-yr,thtit-a,trnum-it,vol-it,volp-com,pgsep-c,num-xser,ser-vol,ser-ed,pg-bk,pg-pre,pre-edn,agu-doi,doi,edpar,bkedcap,edby,blk-com,pp,ed,abr,ednx,xedn,jabr,and-com,em-it,nfss,{}')
+%% merlin.mbs (with options: `tail,ay,nat,seq-key,nm-rev1,jnrlst,lab,lab-it,keyxyr,blkyear,dt-end,note-yr,thtit-a,trnum-it,vol-it,volp-com,pgsep-c,num-xser,ser-vol,ser-ed,pg-bk,pg-pre,pre-edn,agu-doi,doi,edpar,bkedcap,edby,blk-com,pp,ed,abr,ednx,xedn,jabr,and-com,em-it,nfss,{}')
+%% ----------------------------------------
+%% *** For journals of the American Geophysical Union ***
+%% *** NOTE: this version does not limit the number of authors in ref list.
+%% *** Use agu.bst to limit authors to maximum 9.
+%% ***
+%% ----------------------------------------
+%% *** Version 2.2 from 2003/06/26
+%% *** (with bug fix from 2003/08/19)
+%% *** Includes new fields eid and doi
+%% *** The eid is what the AGU calls "citation number"
+%% *** and doi is the DOI number; both of these are
+%% *** used as substitution for page number
+%% *** The issue number is now also included as
+%% *** 84(3) for vol. 84, nr. 3
+%% ***
+%% *** Version 2.1d from 1999/05/20
+%% *** Book editors done right as P. James (Ed.),
+%% *** Missing italics with some authors fixed
+%% ***
+%% *** Version 2.1c from 1999/02/11
+%% *** This version does not crash older BibTeX installations with
+%% *** more than 3000 wiz-functions
+%% ***
+%% *** Version 2.1b from 1997/11/18
+%% *** (page numbers over 9999 are broken with commas, as 12,345)
+%% ***
+%% *** Version 2.1a from 1997/05/26
+%% *** (contains improvements from copy editor comments,
+%% *** notes added with first word lowercase (bug in 2.1 fixed)
+%% *** and journal `number' never output
+%% *** abbreviation for grl corrected)
+%% ***
+%%
+%% Copyright 1994-2004 Patrick W Daly
+ % ===============================================================
+ % IMPORTANT NOTICE:
+ % This bibliographic style (bst) file has been generated from one or
+ % more master bibliographic style (mbs) files, listed above.
+ %
+ % This generated file can be redistributed and/or modified under the terms
+ % of the LaTeX Project Public License Distributed from CTAN
+ % archives in directory macros/latex/base/lppl.txt; either
+ % version 1 of the License, or any later version.
+ % ===============================================================
+ % Name and version information of the main mbs file:
+ % \ProvidesFile{merlin.mbs}[2004/02/09 4.13 (PWD, AO, DPC)]
+ % For use with BibTeX version 0.99a or later
+ %-------------------------------------------------------------------
+ % This bibliography style file is intended for texts in ENGLISH
+ % This is an author-year citation style bibliography. As such, it is
+ % non-standard LaTeX, and requires a special package file to function properly.
+ % Such a package is natbib.sty by Patrick W. Daly
+ % The form of the \bibitem entries is
+ % \bibitem[Jones et al.(1990)]{key}...
+ % \bibitem[Jones et al.(1990)Jones, Baker, and Smith]{key}...
+ % The essential feature is that the label (the part in brackets) consists
+ % of the author names, as they should appear in the citation, with the year
+ % in parentheses following. There must be no space before the opening
+ % parenthesis!
+ % With natbib v5.3, a full list of authors may also follow the year.
+ % In natbib.sty, it is possible to define the type of enclosures that is
+ % really wanted (brackets or parentheses), but in either case, there must
+ % be parentheses in the label.
+ % The \cite command functions as follows:
+ % \citet{key} ==>> Jones et al. (1990)
+ % \citet*{key} ==>> Jones, Baker, and Smith (1990)
+ % \citep{key} ==>> (Jones et al., 1990)
+ % \citep*{key} ==>> (Jones, Baker, and Smith, 1990)
+ % \citep[chap. 2]{key} ==>> (Jones et al., 1990, chap. 2)
+ % \citep[e.g.][]{key} ==>> (e.g. Jones et al., 1990)
+ % \citep[e.g.][p. 32]{key} ==>> (e.g. Jones et al., p. 32)
+ % \citeauthor{key} ==>> Jones et al.
+ % \citeauthor*{key} ==>> Jones, Baker, and Smith
+ % \citeyear{key} ==>> 1990
+ %---------------------------------------------------------------------
+
+ENTRY
+ { address
+ author
+ booktitle
+ chapter
+ doi
+ edition
+ editor
+ eid
+ howpublished
+ institution
+ journal
+ key
+ month
+ note
+ number
+ organization
+ pages
+ publisher
+ school
+ series
+ title
+ type
+ volume
+ year
+ }
+ {}
+ { label extra.label sort.label short.list }
+INTEGERS { output.state before.all mid.sentence after.sentence after.block }
+FUNCTION {init.state.consts}
+{ #0 'before.all :=
+ #1 'mid.sentence :=
+ #2 'after.sentence :=
+ #3 'after.block :=
+}
+STRINGS { s t}
+FUNCTION {output.nonnull}
+{ 's :=
+ output.state mid.sentence =
+ { ", " * write$ }
+ { output.state after.block =
+ { add.period$ write$
+ newline$
+ "\newblock " write$
+ }
+ { output.state before.all =
+ 'write$
+ { add.period$ " " * write$ }
+ if$
+ }
+ if$
+ mid.sentence 'output.state :=
+ }
+ if$
+ s
+}
+FUNCTION {output}
+{ duplicate$ empty$
+ 'pop$
+ 'output.nonnull
+ if$
+}
+FUNCTION {output.check}
+{ 't :=
+ duplicate$ empty$
+ { pop$ "empty " t * " in " * cite$ * warning$ }
+ 'output.nonnull
+ if$
+}
+FUNCTION {fin.entry}
+{ add.period$
+ write$
+ newline$
+}
+
+FUNCTION {new.block}
+{ output.state before.all =
+ 'skip$
+ { after.block 'output.state := }
+ if$
+}
+FUNCTION {new.sentence}
+{ output.state after.block =
+ 'skip$
+ { output.state before.all =
+ 'skip$
+ { after.sentence 'output.state := }
+ if$
+ }
+ if$
+}
+FUNCTION {add.blank}
+{ " " * before.all 'output.state :=
+}
+
+FUNCTION {date.block}
+{
+ skip$
+}
+
+FUNCTION {not}
+{ { #0 }
+ { #1 }
+ if$
+}
+FUNCTION {and}
+{ 'skip$
+ { pop$ #0 }
+ if$
+}
+FUNCTION {or}
+{ { pop$ #1 }
+ 'skip$
+ if$
+}
+FUNCTION {new.block.checkb}
+{ empty$
+ swap$ empty$
+ and
+ 'skip$
+ 'new.block
+ if$
+}
+FUNCTION {field.or.null}
+{ duplicate$ empty$
+ { pop$ "" }
+ 'skip$
+ if$
+}
+FUNCTION {emphasize}
+{ duplicate$ empty$
+ { pop$ "" }
+ { "\textit{" swap$ * "}" * }
+ if$
+}
+FUNCTION {cite.name.font}
+{ emphasize }
+FUNCTION {tie.or.space.prefix}
+{ duplicate$ text.length$ #3 <
+ { "~" }
+ { " " }
+ if$
+ swap$
+}
+
+FUNCTION {capitalize}
+{ "u" change.case$ "t" change.case$ }
+
+FUNCTION {space.word}
+{ " " swap$ * " " * }
+ % Here are the language-specific definitions for explicit words.
+ % Each function has a name bbl.xxx where xxx is the English word.
+ % The language selected here is ENGLISH
+FUNCTION {bbl.and}
+{ "and"}
+
+FUNCTION {bbl.etal}
+{ "et~al." }
+
+FUNCTION {bbl.editors}
+{ "eds." }
+
+FUNCTION {bbl.editor}
+{ "ed." }
+
+FUNCTION {bbl.edby}
+{ "edited by" }
+
+FUNCTION {bbl.edition}
+{ "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.chapter}
+{ "chap." }
+
+FUNCTION {bbl.techrep}
+{ "Tech. Rep." }
+
+FUNCTION {bbl.mthesis}
+{ "Master's thesis" }
+
+FUNCTION {bbl.phdthesis}
+{ "Ph.D. thesis" }
+
+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."}
+
+ %-------------------------------------------------------------------
+ % 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-2004 Patrick W Daly
+MACRO {acmcs} {"ACM Comput. Surv."}
+
+MACRO {acta} {"Acta Inf."}
+
+MACRO {cacm} {"Commun. ACM"}
+
+MACRO {ibmjrd} {"IBM J. Res. Dev."}
+
+MACRO {ibmsj} {"IBM Syst.~J."}
+
+MACRO {ieeese} {"IEEE Trans. Software Eng."}
+
+MACRO {ieeetc} {"IEEE Trans. Comput."}
+
+MACRO {ieeetcad}
+ {"IEEE Trans. Comput. Aid. Des."}
+
+MACRO {ipl} {"Inf. Process. Lett."}
+
+MACRO {jacm} {"J.~ACM"}
+
+MACRO {jcss} {"J.~Comput. Syst. Sci."}
+
+MACRO {scp} {"Sci. Comput. Program."}
+
+MACRO {sicomp} {"SIAM J. Comput."}
+
+MACRO {tocs} {"ACM Trans. Comput. Syst."}
+
+MACRO {tods} {"ACM Trans. Database Syst."}
+
+MACRO {tog} {"ACM Trans. Graphic."}
+
+MACRO {toms} {"ACM Trans. Math. Software"}
+
+MACRO {toois} {"ACM Trans. Office Inf. Syst."}
+
+MACRO {toplas} {"ACM Trans. Progr. Lang. Syst."}
+
+MACRO {tcs} {"Theor. Comput. Sci."}
+
+FUNCTION {bibinfo.check}
+{ swap$
+ duplicate$ missing$
+ {
+ pop$ pop$
+ ""
+ }
+ { duplicate$ empty$
+ {
+ swap$ pop$
+ }
+ { swap$
+ pop$
+ }
+ if$
+ }
+ if$
+}
+FUNCTION {bibinfo.warn}
+{ swap$
+ duplicate$ missing$
+ {
+ swap$ "missing " swap$ * " in " * cite$ * warning$ pop$
+ ""
+ }
+ { duplicate$ empty$
+ {
+ swap$ "empty " swap$ * " in " * cite$ * warning$
+ }
+ { swap$
+ pop$
+ }
+ if$
+ }
+ if$
+}
+STRINGS { bibinfo}
+INTEGERS { nameptr namesleft numnames }
+
+FUNCTION {format.names}
+{ 'bibinfo :=
+ duplicate$ empty$ 'skip$ {
+ 's :=
+ "" 't :=
+ #1 'nameptr :=
+ s num.names$ 'numnames :=
+ numnames 'namesleft :=
+ { namesleft #0 > }
+ { s nameptr
+ duplicate$ #1 >
+ { "{f.~}{vv~}{ll}{, jj}" }
+ { "{vv~}{ll}{, f.}{, jj}" }
+ if$
+ format.name$
+ bibinfo bibinfo.check
+ 't :=
+ nameptr #1 >
+ {
+ namesleft #1 >
+ { ", " * t * }
+ {
+ "," *
+ s nameptr "{ll}" format.name$ duplicate$ "others" =
+ { 't := }
+ { pop$ }
+ if$
+ t "others" =
+ {
+ " " * bbl.etal *
+ }
+ {
+ bbl.and
+ space.word * t *
+ }
+ if$
+ }
+ if$
+ }
+ 't
+ if$
+ nameptr #1 + 'nameptr :=
+ namesleft #1 - 'namesleft :=
+ }
+ while$
+ } if$
+}
+FUNCTION {format.names.ed}
+{
+ 'bibinfo :=
+ duplicate$ empty$ 'skip$ {
+ 's :=
+ "" 't :=
+ #1 'nameptr :=
+ s num.names$ 'numnames :=
+ numnames 'namesleft :=
+ { namesleft #0 > }
+ { s nameptr
+ "{f.~}{vv~}{ll}{, jj}"
+ format.name$
+ bibinfo bibinfo.check
+ 't :=
+ nameptr #1 >
+ {
+ namesleft #1 >
+ { ", " * t * }
+ {
+ numnames #2 >
+ { "," * }
+ 'skip$
+ if$
+ s nameptr "{ll}" format.name$ duplicate$ "others" =
+ { 't := }
+ { pop$ }
+ if$
+ t "others" =
+ {
+
+ " " * bbl.etal *
+ }
+ {
+ bbl.and
+ space.word * t *
+ }
+ if$
+ }
+ if$
+ }
+ 't
+ if$
+ nameptr #1 + 'nameptr :=
+ namesleft #1 - 'namesleft :=
+ }
+ while$
+ } if$
+}
+FUNCTION {format.key}
+{ empty$
+ { key field.or.null }
+ { "" }
+ if$
+}
+
+FUNCTION {format.authors}
+{ author "author" format.names
+}
+FUNCTION {get.bbl.editor}
+{ editor num.names$ #1 > 'bbl.editors 'bbl.editor if$ }
+
+FUNCTION {format.editors}
+{ editor "editor" format.names duplicate$ empty$ 'skip$
+ {
+ " " *
+ get.bbl.editor
+ capitalize
+ "(" swap$ * ")" *
+ *
+ }
+ if$
+}
+FUNCTION {format.book.pages}
+{ pages "pages" bibinfo.check
+ duplicate$ empty$ 'skip$
+ { " " * bbl.pages * }
+ if$
+}
+FUNCTION {format.doi}
+{ doi "doi" bibinfo.check
+ duplicate$ empty$ 'skip$
+ {
+ "\doi{" swap$ * "}" *
+ }
+ if$
+}
+FUNCTION {format.note}
+{
+ note empty$
+ { "" }
+ { note #1 #1 substring$
+ duplicate$ "{" =
+ 'skip$
+ { output.state mid.sentence =
+ { "l" }
+ { "u" }
+ if$
+ change.case$
+ }
+ if$
+ note #2 global.max$ substring$ * "note" bibinfo.check
+ }
+ if$
+}
+
+FUNCTION {format.title}
+{ title
+ duplicate$ empty$ 'skip$
+ { "t" change.case$ }
+ if$
+ "title" bibinfo.check
+}
+FUNCTION {format.full.names}
+{'s :=
+ "" 't :=
+ #1 'nameptr :=
+ s num.names$ 'numnames :=
+ numnames 'namesleft :=
+ { namesleft #0 > }
+ { s nameptr
+ "{vv~}{ll}" format.name$
+ 't :=
+ nameptr #1 >
+ {
+ namesleft #1 >
+ { ", " * t * }
+ {
+ s nameptr "{ll}" format.name$ duplicate$ "others" =
+ { 't := }
+ { pop$ }
+ if$
+ t "others" =
+ {
+ " " * bbl.etal *
+ cite.name.font
+ }
+ {
+ numnames #2 >
+ { "," * }
+ 'skip$
+ if$
+ bbl.and
+ space.word * t *
+ }
+ if$
+ }
+ if$
+ }
+ 't
+ if$
+ nameptr #1 + 'nameptr :=
+ namesleft #1 - 'namesleft :=
+ }
+ while$
+ t "others" =
+ 'skip$
+ { cite.name.font }
+ if$
+}
+
+FUNCTION {author.editor.key.full}
+{ author empty$
+ { editor empty$
+ { key empty$
+ { cite$ #1 #3 substring$ }
+ 'key
+ if$
+ }
+ { editor format.full.names }
+ if$
+ }
+ { author format.full.names }
+ if$
+}
+
+FUNCTION {author.key.full}
+{ author empty$
+ { key empty$
+ { cite$ #1 #3 substring$ }
+ 'key
+ if$
+ }
+ { author format.full.names }
+ if$
+}
+
+FUNCTION {editor.key.full}
+{ editor empty$
+ { key empty$
+ { cite$ #1 #3 substring$ }
+ 'key
+ if$
+ }
+ { editor format.full.names }
+ if$
+}
+
+FUNCTION {make.full.names}
+{ type$ "book" =
+ type$ "inbook" =
+ or
+ 'author.editor.key.full
+ { type$ "proceedings" =
+ 'editor.key.full
+ 'author.key.full
+ if$
+ }
+ if$
+}
+
+FUNCTION {output.bibitem}
+{ newline$
+ "\bibitem[{" write$
+ label write$
+ ")" make.full.names duplicate$ short.list =
+ { pop$ }
+ { * }
+ if$
+ "}]{" * write$
+ cite$ write$
+ "}" write$
+ newline$
+ ""
+ before.all 'output.state :=
+}
+
+FUNCTION {if.digit}
+{ duplicate$ "0" =
+ swap$ duplicate$ "1" =
+ swap$ duplicate$ "2" =
+ swap$ duplicate$ "3" =
+ swap$ duplicate$ "4" =
+ swap$ duplicate$ "5" =
+ swap$ duplicate$ "6" =
+ swap$ duplicate$ "7" =
+ swap$ duplicate$ "8" =
+ swap$ "9" = or or or or or or or or or
+}
+FUNCTION {n.separate}
+{ 't :=
+ ""
+ #0 'numnames :=
+ { t empty$ not }
+ { t #-1 #1 substring$ if.digit
+ { numnames #1 + 'numnames := }
+ { #0 'numnames := }
+ if$
+ t #-1 #1 substring$ swap$ *
+ t #-2 global.max$ substring$ 't :=
+ numnames #5 =
+ { duplicate$ #1 #2 substring$ swap$
+ #3 global.max$ substring$
+ "," swap$ * *
+ }
+ 'skip$
+ if$
+ }
+ while$
+}
+FUNCTION {n.dashify}
+{
+ n.separate
+ 't :=
+ ""
+ { t empty$ not }
+ { t #1 #1 substring$ "-" =
+ { t #1 #2 substring$ "--" = not
+ { "--" *
+ t #2 global.max$ substring$ 't :=
+ }
+ { { t #1 #1 substring$ "-" = }
+ { "-" *
+ t #2 global.max$ substring$ 't :=
+ }
+ while$
+ }
+ if$
+ }
+ { t #1 #1 substring$ *
+ t #2 global.max$ substring$ 't :=
+ }
+ if$
+ }
+ while$
+}
+
+FUNCTION {word.in}
+{ bbl.in
+ " " * }
+
+FUNCTION {format.date}
+{ year "year" bibinfo.check duplicate$ empty$
+ {
+ }
+ 'skip$
+ if$
+ extra.label *
+}
+FUNCTION {format.btitle}
+{ title "title" bibinfo.check
+ duplicate$ empty$ 'skip$
+ {
+ emphasize
+ }
+ if$
+}
+FUNCTION {either.or.check}
+{ empty$
+ 'pop$
+ { "can't use both " swap$ * " fields in " * cite$ * warning$ }
+ if$
+}
+FUNCTION {format.bvolume}
+{ volume empty$
+ { "" }
+ { bbl.volume volume tie.or.space.prefix
+ "volume" bibinfo.check * *
+ series "series" bibinfo.check
+ duplicate$ empty$ 'pop$
+ { emphasize ", " * swap$ * }
+ if$
+ "volume and number" number either.or.check
+ }
+ if$
+}
+FUNCTION {format.number.series}
+{ volume empty$
+ { number empty$
+ { series field.or.null }
+ { series empty$
+ { number "number" bibinfo.check }
+ { output.state mid.sentence =
+ { bbl.number }
+ { bbl.number capitalize }
+ if$
+ number tie.or.space.prefix "number" bibinfo.check * *
+ bbl.in space.word *
+ series "series" bibinfo.check *
+ }
+ if$
+ }
+ if$
+ }
+ { "" }
+ if$
+}
+
+FUNCTION {format.edition}
+{ edition duplicate$ empty$ 'skip$
+ {
+ output.state mid.sentence =
+ { "l" }
+ { "t" }
+ if$ change.case$
+ "edition" bibinfo.check
+ " " * bbl.edition *
+ }
+ if$
+}
+INTEGERS { multiresult }
+FUNCTION {multi.page.check}
+{ 't :=
+ #0 'multiresult :=
+ { multiresult not
+ t empty$ not
+ and
+ }
+ { t #1 #1 substring$
+ duplicate$ "-" =
+ swap$ duplicate$ "," =
+ swap$ "+" =
+ or or
+ { #1 'multiresult := }
+ { t #2 global.max$ substring$ 't := }
+ if$
+ }
+ while$
+ multiresult
+}
+FUNCTION {format.pages}
+{ pages duplicate$ empty$ 'skip$
+ { duplicate$ multi.page.check
+ {
+ bbl.pages swap$
+ n.dashify
+ }
+ {
+ bbl.page swap$
+ }
+ if$
+ tie.or.space.prefix
+ "pages" bibinfo.check
+ * *
+ }
+ if$
+}
+FUNCTION {format.journal.pages}
+{ pages duplicate$ empty$ 'pop$
+ { swap$ duplicate$ empty$
+ { pop$ pop$ format.pages }
+ {
+ ", " *
+ swap$
+ n.dashify
+ "pages" bibinfo.check
+ *
+ }
+ if$
+ }
+ if$
+}
+FUNCTION {format.journal.eid}
+{ eid "eid" bibinfo.check
+ duplicate$ empty$ 'pop$
+ { swap$ duplicate$ empty$ 'skip$
+ {
+ ", " *
+ }
+ if$
+ swap$ *
+ }
+ if$
+}
+FUNCTION {format.vol.num.pages}
+{ volume field.or.null
+ duplicate$ empty$ 'skip$
+ {
+ "volume" bibinfo.check
+ }
+ if$
+ emphasize
+ 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$ *
+ eid empty$
+ { format.journal.pages }
+ { format.journal.eid }
+ if$
+}
+
+FUNCTION {format.chapter.pages}
+{ chapter empty$
+ 'format.pages
+ { type empty$
+ { bbl.chapter }
+ { type "l" change.case$
+ "type" bibinfo.check
+ }
+ if$
+ chapter tie.or.space.prefix
+ "chapter" bibinfo.check
+ * *
+ pages empty$
+ 'skip$
+ { ", " * format.pages * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.booktitle}
+{
+ booktitle "booktitle" bibinfo.check
+ emphasize
+}
+FUNCTION {format.in.ed.booktitle}
+{ format.booktitle duplicate$ empty$ 'skip$
+ {
+ format.bvolume duplicate$ empty$ 'pop$
+ { ", " swap$ * * }
+ if$
+ editor "editor" format.names.ed duplicate$ empty$ 'pop$
+ {
+ bbl.edby
+ " " * swap$ *
+ swap$
+ "," *
+ " " * swap$
+ * }
+ if$
+ word.in swap$ *
+ }
+ if$
+}
+FUNCTION {format.thesis.type}
+{ type duplicate$ empty$
+ 'pop$
+ { swap$ pop$
+ "t" change.case$ "type" bibinfo.check
+ }
+ if$
+}
+FUNCTION {format.tr.number}
+{ number "number" bibinfo.check
+ type duplicate$ empty$
+ { pop$ bbl.techrep }
+ 'skip$
+ if$
+ "type" bibinfo.check
+ swap$ duplicate$ empty$
+ { pop$ "t" change.case$ }
+ { tie.or.space.prefix * * }
+ if$
+}
+FUNCTION {format.article.crossref}
+{
+ word.in
+ " \cite{" * crossref * "}" *
+}
+FUNCTION {format.book.crossref}
+{ volume duplicate$ empty$
+ { "empty volume in " cite$ * "'s crossref of " * crossref * warning$
+ pop$ word.in
+ }
+ { bbl.volume
+ swap$ tie.or.space.prefix "volume" bibinfo.check * * bbl.of space.word *
+ }
+ if$
+ " \cite{" * crossref * "}" *
+}
+FUNCTION {format.incoll.inproc.crossref}
+{
+ word.in
+ " \cite{" * crossref * "}" *
+}
+FUNCTION {format.org.or.pub}
+{ 't :=
+ ""
+ address empty$ t empty$ and
+ 'skip$
+ {
+ t empty$
+ { address "address" bibinfo.check *
+ }
+ { t *
+ address empty$
+ 'skip$
+ { ", " * address "address" bibinfo.check * }
+ if$
+ }
+ if$
+ }
+ 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 {article}
+{ output.bibitem
+ format.authors "author" output.check
+ author format.key output
+ format.title "title" output.check
+ crossref missing$
+ {
+ journal
+ "journal" bibinfo.check
+ emphasize
+ "journal" output.check
+ format.vol.num.pages output
+ format.doi output
+ }
+ { format.article.crossref output.nonnull
+ format.pages output
+ }
+ if$
+ format.note output
+ format.date "year" output.check
+ fin.entry
+}
+FUNCTION {book}
+{ output.bibitem
+ author empty$
+ { format.editors "author and editor" output.check
+ editor format.key output
+ }
+ { format.authors output.nonnull
+ crossref missing$
+ { "author and editor" editor either.or.check }
+ 'skip$
+ if$
+ }
+ if$
+ format.btitle "title" output.check
+ crossref missing$
+ { format.bvolume output
+ format.number.series output
+ format.edition output
+ format.book.pages output
+ format.publisher.address output
+ }
+ {
+ format.book.crossref output.nonnull
+ }
+ if$
+ format.doi output
+ format.note output
+ format.date "year" output.check
+ fin.entry
+}
+FUNCTION {booklet}
+{ output.bibitem
+ format.authors output
+ author format.key output
+ format.title "title" output.check
+ howpublished "howpublished" bibinfo.check output
+ address "address" bibinfo.check output
+ format.book.pages output
+ format.doi output
+ format.note output
+ format.date "year" output.check
+ fin.entry
+}
+
+FUNCTION {inbook}
+{ output.bibitem
+ author empty$
+ { format.editors "author and editor" output.check
+ editor format.key output
+ }
+ { format.authors output.nonnull
+ crossref missing$
+ { "author and editor" editor either.or.check }
+ 'skip$
+ if$
+ }
+ if$
+ format.btitle "title" output.check
+ crossref missing$
+ {
+ format.bvolume output
+ format.chapter.pages "chapter and pages" output.check
+ format.number.series output
+ format.edition output
+ format.publisher.address output
+ }
+ {
+ format.chapter.pages "chapter and pages" output.check
+ format.book.crossref output.nonnull
+ }
+ if$
+ format.doi output
+ format.note output
+ format.date "year" output.check
+ fin.entry
+}
+
+FUNCTION {incollection}
+{ output.bibitem
+ format.authors "author" output.check
+ author format.key output
+ format.title "title" output.check
+ crossref missing$
+ { format.in.ed.booktitle "booktitle" output.check
+ format.number.series output
+ format.edition output
+ format.chapter.pages output
+ format.publisher.address output
+ }
+ { format.incoll.inproc.crossref output.nonnull
+ format.chapter.pages output
+ }
+ if$
+ format.doi output
+ format.note output
+ format.date "year" output.check
+ fin.entry
+}
+FUNCTION {inproceedings}
+{ output.bibitem
+ format.authors "author" output.check
+ author format.key output
+ format.title "title" output.check
+ crossref missing$
+ { format.in.ed.booktitle "booktitle" output.check
+ format.number.series output
+ format.pages output
+ publisher empty$
+ { format.organization.address output }
+ { organization "organization" bibinfo.check output
+ format.publisher.address output
+ }
+ if$
+ }
+ { format.incoll.inproc.crossref output.nonnull
+ format.pages output
+ }
+ if$
+ format.doi output
+ format.note output
+ format.date "year" output.check
+ fin.entry
+}
+FUNCTION {conference} { inproceedings }
+FUNCTION {manual}
+{ output.bibitem
+ format.authors output
+ author format.key output
+ format.btitle "title" output.check
+ organization "organization" bibinfo.check output
+ address "address" bibinfo.check output
+ format.edition output
+ format.doi output
+ format.note output
+ format.date "year" output.check
+ fin.entry
+}
+
+FUNCTION {mastersthesis}
+{ output.bibitem
+ format.authors "author" output.check
+ author format.key output
+ format.title
+ "title" output.check
+ bbl.mthesis format.thesis.type output.nonnull
+ school "school" bibinfo.warn output
+ address "address" bibinfo.check output
+ format.doi output
+ format.note output
+ format.date "year" output.check
+ fin.entry
+}
+
+FUNCTION {misc}
+{ output.bibitem
+ format.authors output
+ author format.key output
+ format.title output
+ howpublished "howpublished" bibinfo.check output
+ format.doi output
+ format.note output
+ format.date "year" output.check
+ fin.entry
+}
+FUNCTION {phdthesis}
+{ output.bibitem
+ format.authors "author" output.check
+ author format.key output
+ format.title
+ "title" output.check
+ bbl.phdthesis format.thesis.type output.nonnull
+ school "school" bibinfo.warn output
+ address "address" bibinfo.check output
+ format.doi output
+ format.note output
+ format.date "year" output.check
+ fin.entry
+}
+
+FUNCTION {proceedings}
+{ output.bibitem
+ format.editors output
+ editor format.key output
+ format.btitle "title" output.check
+ format.bvolume output
+ format.number.series output
+ publisher empty$
+ { format.organization.address output }
+ { organization "organization" bibinfo.check output
+ format.publisher.address output
+ }
+ if$
+ format.doi output
+ format.note output
+ format.date "year" output.check
+ fin.entry
+}
+
+FUNCTION {techreport}
+{ output.bibitem
+ format.authors "author" output.check
+ author format.key output
+ format.title
+ "title" output.check
+ format.tr.number emphasize output.nonnull
+ institution "institution" bibinfo.warn output
+ address "address" bibinfo.check output
+ format.doi output
+ format.note output
+ format.date "year" output.check
+ fin.entry
+}
+
+FUNCTION {unpublished}
+{ output.bibitem
+ format.authors "author" output.check
+ author format.key output
+ format.title "title" output.check
+ format.doi output
+ format.note "note" output.check
+ format.date output
+ fin.entry
+}
+
+FUNCTION {default.type} { misc }
+READ
+FUNCTION {sortify}
+{ purify$
+ "l" change.case$
+}
+INTEGERS { len }
+FUNCTION {chop.word}
+{ 's :=
+ 'len :=
+ s #1 len substring$ =
+ { s len #1 + global.max$ substring$ }
+ 's
+ if$
+}
+FUNCTION {format.lab.names}
+{ 's :=
+ "" 't :=
+ s #1 "{vv~}{ll}" format.name$
+ s num.names$ duplicate$
+ #2 >
+ { pop$
+ " " * bbl.etal *
+ cite.name.font
+ "others" 't :=
+ }
+ { #2 <
+ 'skip$
+ { s #2 "{ff }{vv }{ll}{ jj}" format.name$ "others" =
+ {
+ " " * bbl.etal *
+ cite.name.font
+ "others" 't :=
+ }
+ { bbl.and space.word * s #2 "{vv~}{ll}" format.name$
+ * }
+ if$
+ }
+ if$
+ }
+ if$
+ t "others" =
+ 'skip$
+ { cite.name.font }
+ if$
+}
+
+FUNCTION {author.key.label}
+{ author empty$
+ { key empty$
+ { cite$ #1 #3 substring$ }
+ 'key
+ if$
+ }
+ { author format.lab.names }
+ if$
+}
+
+FUNCTION {author.editor.key.label}
+{ author empty$
+ { editor empty$
+ { key empty$
+ { cite$ #1 #3 substring$ }
+ 'key
+ if$
+ }
+ { editor format.lab.names }
+ if$
+ }
+ { author format.lab.names }
+ if$
+}
+
+FUNCTION {editor.key.label}
+{ editor empty$
+ { key empty$
+ { cite$ #1 #3 substring$ }
+ 'key
+ if$
+ }
+ { editor format.lab.names }
+ if$
+}
+
+FUNCTION {calc.short.authors}
+{ type$ "book" =
+ type$ "inbook" =
+ or
+ 'author.editor.key.label
+ { type$ "proceedings" =
+ 'editor.key.label
+ 'author.key.label
+ if$
+ }
+ if$
+ 'short.list :=
+}
+
+FUNCTION {calc.label}
+{ calc.short.authors
+ short.list
+ "("
+ *
+ year duplicate$ empty$
+ short.list key field.or.null = or
+ { pop$ "" }
+ 'skip$
+ if$
+ *
+ 'label :=
+}
+
+FUNCTION {sort.format.names}
+{ 's :=
+ #1 'nameptr :=
+ ""
+ s num.names$ 'numnames :=
+ numnames 'namesleft :=
+ { namesleft #0 > }
+ { s nameptr
+ "{vv{ } }{ll{ }}{ f{ }}{ jj{ }}"
+ format.name$ 't :=
+ nameptr #1 >
+ {
+ " " *
+ namesleft #1 = t "others" = and
+ { "zzzzz" * }
+ { numnames #2 > nameptr #2 = and
+ { "zz" * year field.or.null * " " * }
+ 'skip$
+ if$
+ t sortify *
+ }
+ if$
+ }
+ { t sortify * }
+ if$
+ nameptr #1 + 'nameptr :=
+ namesleft #1 - 'namesleft :=
+ }
+ while$
+}
+
+FUNCTION {sort.format.title}
+{ 't :=
+ "A " #2
+ "An " #3
+ "The " #4 t chop.word
+ chop.word
+ chop.word
+ sortify
+ #1 global.max$ substring$
+}
+FUNCTION {author.sort}
+{ author empty$
+ { key empty$
+ { "to sort, need author or key in " cite$ * warning$
+ ""
+ }
+ { key sortify }
+ if$
+ }
+ { author sort.format.names }
+ if$
+}
+FUNCTION {author.editor.sort}
+{ author empty$
+ { editor empty$
+ { key empty$
+ { "to sort, need author, editor, or key in " cite$ * warning$
+ ""
+ }
+ { key sortify }
+ if$
+ }
+ { editor sort.format.names }
+ if$
+ }
+ { author sort.format.names }
+ if$
+}
+FUNCTION {editor.sort}
+{ editor empty$
+ { key empty$
+ { "to sort, need editor or key in " cite$ * warning$
+ ""
+ }
+ { key sortify }
+ if$
+ }
+ { editor sort.format.names }
+ if$
+}
+FUNCTION {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
+ *
+ " "
+ *
+ cite$
+ *
+ #1 entry.max$ substring$
+ 'sort.key$ :=
+}
+
+ITERATE {presort}
+SORT
+STRINGS { last.label next.extra }
+INTEGERS { last.extra.num number.label }
+FUNCTION {initialize.extra.label.stuff}
+{ #0 int.to.chr$ 'last.label :=
+ "" 'next.extra :=
+ #0 'last.extra.num :=
+ #0 'number.label :=
+}
+FUNCTION {forward.pass}
+{ last.label label =
+ { last.extra.num #1 + 'last.extra.num :=
+ last.extra.num int.to.chr$ 'extra.label :=
+ }
+ { "a" chr.to.int$ 'last.extra.num :=
+ "" 'extra.label :=
+ label 'last.label :=
+ }
+ if$
+ number.label #1 + 'number.label :=
+}
+FUNCTION {reverse.pass}
+{ next.extra "b" =
+ { "a" 'extra.label := }
+ 'skip$
+ if$
+ extra.label 'next.extra :=
+ extra.label
+ duplicate$ empty$
+ 'skip$
+ { "{\natexlab{" swap$ * "}}" * }
+ if$
+ 'extra.label :=
+ label extra.label * 'label :=
+}
+EXECUTE {initialize.extra.label.stuff}
+ITERATE {forward.pass}
+REVERSE {reverse.pass}
+FUNCTION {bib.sort.order}
+{ sort.label
+ " "
+ *
+ year field.or.null sortify
+ *
+ " "
+ *
+ cite$
+ *
+ #1 entry.max$ substring$
+ 'sort.key$ :=
+}
+ITERATE {bib.sort.order}
+SORT
+FUNCTION {begin.bib}
+{ preamble$ empty$
+ 'skip$
+ { preamble$ write$ newline$ }
+ if$
+ "\begin{thebibliography}{" number.label int.to.str$ * "}" *
+ write$ newline$
+ "\providecommand{\natexlab}[1]{#1}"
+ write$ newline$
+ "\expandafter\ifx\csname urlstyle\endcsname\relax"
+ write$ newline$
+ " \providecommand{\doi}[1]{doi:\discretionary{}{}{}#1}\else"
+ write$ newline$
+ " \providecommand{\doi}{doi:\discretionary{}{}{}\begingroup \urlstyle{rm}\Url}\fi"
+ write$ newline$
+}
+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 `agufull.bst'.
diff --git a/macros/latex/contrib/aguplus/agufull04.bst b/macros/latex/contrib/aguplus/agufull04.bst
new file mode 100644
index 0000000000..0aedded1a4
--- /dev/null
+++ b/macros/latex/contrib/aguplus/agufull04.bst
@@ -0,0 +1,1815 @@
+%%
+%% This is file `agufull04.bst',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% merlin.mbs (with options: `head,ay,nat,seq-key,nm-rev1,jnrlst,lab,lab-it,keyxyr,blkyear,dt-beg,yr-par,xmth,note-yr,thtit-a,trnum-it,vol-it,volp-com,pgsep-c,num-xser,ser-vol,ser-ed,pg-bk,pg-pre,pre-edn,agu-doi,doi,edpar,bkedcap,edby,blk-com,pp,ed,abr,ednx,xedn,jabr,and-com,em-it,nfss,{}')
+%% physjour.mbs (with options: `ay,nat,seq-key,nm-rev1,jnrlst,lab,lab-it,keyxyr,blkyear,dt-beg,yr-par,xmth,note-yr,thtit-a,trnum-it,vol-it,volp-com,pgsep-c,num-xser,ser-vol,ser-ed,pg-bk,pg-pre,pre-edn,agu-doi,doi,edpar,bkedcap,edby,blk-com,pp,ed,abr,ednx,xedn,jabr,and-com,em-it,nfss,{}')
+%% geojour.mbs (with options: `ay,nat,seq-key,nm-rev1,jnrlst,lab,lab-it,keyxyr,blkyear,dt-beg,yr-par,xmth,note-yr,thtit-a,trnum-it,vol-it,volp-com,pgsep-c,num-xser,ser-vol,ser-ed,pg-bk,pg-pre,pre-edn,agu-doi,doi,edpar,bkedcap,edby,blk-com,pp,ed,abr,ednx,xedn,jabr,and-com,em-it,nfss,{}')
+%% photjour.mbs (with options: `ay,nat,seq-key,nm-rev1,jnrlst,lab,lab-it,keyxyr,blkyear,dt-beg,yr-par,xmth,note-yr,thtit-a,trnum-it,vol-it,volp-com,pgsep-c,num-xser,ser-vol,ser-ed,pg-bk,pg-pre,pre-edn,agu-doi,doi,edpar,bkedcap,edby,blk-com,pp,ed,abr,ednx,xedn,jabr,and-com,em-it,nfss,{}')
+%% merlin.mbs (with options: `tail,ay,nat,seq-key,nm-rev1,jnrlst,lab,lab-it,keyxyr,blkyear,dt-beg,yr-par,xmth,note-yr,thtit-a,trnum-it,vol-it,volp-com,pgsep-c,num-xser,ser-vol,ser-ed,pg-bk,pg-pre,pre-edn,agu-doi,doi,edpar,bkedcap,edby,blk-com,pp,ed,abr,ednx,xedn,jabr,and-com,em-it,nfss,{}')
+%% ----------------------------------------
+%% *** For journals of the American Geophysical Union ***
+%% *** NOTE: this version does not limit the number of authors in ref list.
+%% *** Use agu.bst to limit authors to maximum 9.
+%% ***
+%% ----------------------------------------
+%% *** Version 3.0 from 2004/02/06
+%% *** Changed date format for AGU journals
+%% *** The date now appears in parentheses after authors
+%% ***
+%% *** Version 2.2 from 2003/06/26
+%% *** (with bug fix from 2003/08/19)
+%% *** Includes new fields eid and doi
+%% *** The eid is what the AGU calls "citation number"
+%% *** and doi is the DOI number; both of these are
+%% *** used as substitution for page number
+%% *** The issue number is now also included as
+%% *** 84(3) for vol. 84, nr. 3
+%% ***
+%% *** Version 2.1d from 1999/05/20
+%% *** Book editors done right as P. James (Ed.),
+%% *** Missing italics with some authors fixed
+%% ***
+%% *** Version 2.1c from 1999/02/11
+%% *** This version does not crash older BibTeX installations with
+%% *** more than 3000 wiz-functions
+%% ***
+%% *** Version 2.1b from 1997/11/18
+%% *** (page numbers over 9999 are broken with commas, as 12,345)
+%% ***
+%% *** Version 2.1a from 1997/05/26
+%% *** (contains improvements from copy editor comments,
+%% *** notes added with first word lowercase (bug in 2.1 fixed)
+%% *** and journal `number' never output
+%% *** abbreviation for grl corrected)
+%% ***
+%%
+%% Copyright 1994-2004 Patrick W Daly
+ % ===============================================================
+ % IMPORTANT NOTICE:
+ % This bibliographic style (bst) file has been generated from one or
+ % more master bibliographic style (mbs) files, listed above.
+ %
+ % This generated file can be redistributed and/or modified under the terms
+ % of the LaTeX Project Public License Distributed from CTAN
+ % archives in directory macros/latex/base/lppl.txt; either
+ % version 1 of the License, or any later version.
+ % ===============================================================
+ % Name and version information of the main mbs file:
+ % \ProvidesFile{merlin.mbs}[2004/02/09 4.13 (PWD, AO, DPC)]
+ % For use with BibTeX version 0.99a or later
+ %-------------------------------------------------------------------
+ % This bibliography style file is intended for texts in ENGLISH
+ % This is an author-year citation style bibliography. As such, it is
+ % non-standard LaTeX, and requires a special package file to function properly.
+ % Such a package is natbib.sty by Patrick W. Daly
+ % The form of the \bibitem entries is
+ % \bibitem[Jones et al.(1990)]{key}...
+ % \bibitem[Jones et al.(1990)Jones, Baker, and Smith]{key}...
+ % The essential feature is that the label (the part in brackets) consists
+ % of the author names, as they should appear in the citation, with the year
+ % in parentheses following. There must be no space before the opening
+ % parenthesis!
+ % With natbib v5.3, a full list of authors may also follow the year.
+ % In natbib.sty, it is possible to define the type of enclosures that is
+ % really wanted (brackets or parentheses), but in either case, there must
+ % be parentheses in the label.
+ % The \cite command functions as follows:
+ % \citet{key} ==>> Jones et al. (1990)
+ % \citet*{key} ==>> Jones, Baker, and Smith (1990)
+ % \citep{key} ==>> (Jones et al., 1990)
+ % \citep*{key} ==>> (Jones, Baker, and Smith, 1990)
+ % \citep[chap. 2]{key} ==>> (Jones et al., 1990, chap. 2)
+ % \citep[e.g.][]{key} ==>> (e.g. Jones et al., 1990)
+ % \citep[e.g.][p. 32]{key} ==>> (e.g. Jones et al., p. 32)
+ % \citeauthor{key} ==>> Jones et al.
+ % \citeauthor*{key} ==>> Jones, Baker, and Smith
+ % \citeyear{key} ==>> 1990
+ %---------------------------------------------------------------------
+
+ENTRY
+ { address
+ author
+ booktitle
+ chapter
+ doi
+ edition
+ editor
+ eid
+ howpublished
+ institution
+ journal
+ key
+ month
+ note
+ number
+ organization
+ pages
+ publisher
+ school
+ series
+ title
+ type
+ volume
+ year
+ }
+ {}
+ { label extra.label sort.label short.list }
+INTEGERS { output.state before.all mid.sentence after.sentence after.block }
+FUNCTION {init.state.consts}
+{ #0 'before.all :=
+ #1 'mid.sentence :=
+ #2 'after.sentence :=
+ #3 'after.block :=
+}
+STRINGS { s t}
+FUNCTION {output.nonnull}
+{ 's :=
+ output.state mid.sentence =
+ { ", " * write$ }
+ { output.state after.block =
+ { add.period$ write$
+ newline$
+ "\newblock " write$
+ }
+ { output.state before.all =
+ 'write$
+ { add.period$ " " * write$ }
+ if$
+ }
+ if$
+ mid.sentence 'output.state :=
+ }
+ if$
+ s
+}
+FUNCTION {output}
+{ duplicate$ empty$
+ 'pop$
+ 'output.nonnull
+ if$
+}
+FUNCTION {output.check}
+{ 't :=
+ duplicate$ empty$
+ { pop$ "empty " t * " in " * cite$ * warning$ }
+ 'output.nonnull
+ if$
+}
+FUNCTION {fin.entry}
+{ add.period$
+ write$
+ newline$
+}
+
+FUNCTION {new.block}
+{ output.state before.all =
+ 'skip$
+ { after.block 'output.state := }
+ if$
+}
+FUNCTION {new.sentence}
+{ output.state after.block =
+ 'skip$
+ { output.state before.all =
+ 'skip$
+ { after.sentence 'output.state := }
+ if$
+ }
+ if$
+}
+FUNCTION {add.blank}
+{ " " * before.all 'output.state :=
+}
+
+FUNCTION {date.block}
+{
+ skip$
+}
+
+FUNCTION {not}
+{ { #0 }
+ { #1 }
+ if$
+}
+FUNCTION {and}
+{ 'skip$
+ { pop$ #0 }
+ if$
+}
+FUNCTION {or}
+{ { pop$ #1 }
+ 'skip$
+ if$
+}
+FUNCTION {new.block.checkb}
+{ empty$
+ swap$ empty$
+ and
+ 'skip$
+ 'new.block
+ if$
+}
+FUNCTION {field.or.null}
+{ duplicate$ empty$
+ { pop$ "" }
+ 'skip$
+ if$
+}
+FUNCTION {emphasize}
+{ duplicate$ empty$
+ { pop$ "" }
+ { "\textit{" swap$ * "}" * }
+ if$
+}
+FUNCTION {cite.name.font}
+{ emphasize }
+FUNCTION {tie.or.space.prefix}
+{ duplicate$ text.length$ #3 <
+ { "~" }
+ { " " }
+ if$
+ swap$
+}
+
+FUNCTION {capitalize}
+{ "u" change.case$ "t" change.case$ }
+
+FUNCTION {space.word}
+{ " " swap$ * " " * }
+ % Here are the language-specific definitions for explicit words.
+ % Each function has a name bbl.xxx where xxx is the English word.
+ % The language selected here is ENGLISH
+FUNCTION {bbl.and}
+{ "and"}
+
+FUNCTION {bbl.etal}
+{ "et~al." }
+
+FUNCTION {bbl.editors}
+{ "eds." }
+
+FUNCTION {bbl.editor}
+{ "ed." }
+
+FUNCTION {bbl.edby}
+{ "edited by" }
+
+FUNCTION {bbl.edition}
+{ "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.chapter}
+{ "chap." }
+
+FUNCTION {bbl.techrep}
+{ "Tech. Rep." }
+
+FUNCTION {bbl.mthesis}
+{ "Master's thesis" }
+
+FUNCTION {bbl.phdthesis}
+{ "Ph.D. thesis" }
+
+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."}
+
+ %-------------------------------------------------------------------
+ % 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-2004 Patrick W Daly
+MACRO {acmcs} {"ACM Comput. Surv."}
+
+MACRO {acta} {"Acta Inf."}
+
+MACRO {cacm} {"Commun. ACM"}
+
+MACRO {ibmjrd} {"IBM J. Res. Dev."}
+
+MACRO {ibmsj} {"IBM Syst.~J."}
+
+MACRO {ieeese} {"IEEE Trans. Software Eng."}
+
+MACRO {ieeetc} {"IEEE Trans. Comput."}
+
+MACRO {ieeetcad}
+ {"IEEE Trans. Comput. Aid. Des."}
+
+MACRO {ipl} {"Inf. Process. Lett."}
+
+MACRO {jacm} {"J.~ACM"}
+
+MACRO {jcss} {"J.~Comput. Syst. Sci."}
+
+MACRO {scp} {"Sci. Comput. Program."}
+
+MACRO {sicomp} {"SIAM J. Comput."}
+
+MACRO {tocs} {"ACM Trans. Comput. Syst."}
+
+MACRO {tods} {"ACM Trans. Database Syst."}
+
+MACRO {tog} {"ACM Trans. Graphic."}
+
+MACRO {toms} {"ACM Trans. Math. Software"}
+
+MACRO {toois} {"ACM Trans. Office Inf. Syst."}
+
+MACRO {toplas} {"ACM Trans. Progr. Lang. Syst."}
+
+MACRO {tcs} {"Theor. Comput. Sci."}
+
+FUNCTION {bibinfo.check}
+{ swap$
+ duplicate$ missing$
+ {
+ pop$ pop$
+ ""
+ }
+ { duplicate$ empty$
+ {
+ swap$ pop$
+ }
+ { swap$
+ pop$
+ }
+ if$
+ }
+ if$
+}
+FUNCTION {bibinfo.warn}
+{ swap$
+ duplicate$ missing$
+ {
+ swap$ "missing " swap$ * " in " * cite$ * warning$ pop$
+ ""
+ }
+ { duplicate$ empty$
+ {
+ swap$ "empty " swap$ * " in " * cite$ * warning$
+ }
+ { swap$
+ pop$
+ }
+ if$
+ }
+ if$
+}
+STRINGS { bibinfo}
+INTEGERS { nameptr namesleft numnames }
+
+FUNCTION {format.names}
+{ 'bibinfo :=
+ duplicate$ empty$ 'skip$ {
+ 's :=
+ "" 't :=
+ #1 'nameptr :=
+ s num.names$ 'numnames :=
+ numnames 'namesleft :=
+ { namesleft #0 > }
+ { s nameptr
+ duplicate$ #1 >
+ { "{f.~}{vv~}{ll}{, jj}" }
+ { "{vv~}{ll}{, f.}{, jj}" }
+ if$
+ format.name$
+ bibinfo bibinfo.check
+ 't :=
+ nameptr #1 >
+ {
+ namesleft #1 >
+ { ", " * t * }
+ {
+ "," *
+ s nameptr "{ll}" format.name$ duplicate$ "others" =
+ { 't := }
+ { pop$ }
+ if$
+ t "others" =
+ {
+ " " * bbl.etal *
+ }
+ {
+ bbl.and
+ space.word * t *
+ }
+ if$
+ }
+ if$
+ }
+ 't
+ if$
+ nameptr #1 + 'nameptr :=
+ namesleft #1 - 'namesleft :=
+ }
+ while$
+ } if$
+}
+FUNCTION {format.names.ed}
+{
+ 'bibinfo :=
+ duplicate$ empty$ 'skip$ {
+ 's :=
+ "" 't :=
+ #1 'nameptr :=
+ s num.names$ 'numnames :=
+ numnames 'namesleft :=
+ { namesleft #0 > }
+ { s nameptr
+ "{f.~}{vv~}{ll}{, jj}"
+ format.name$
+ bibinfo bibinfo.check
+ 't :=
+ nameptr #1 >
+ {
+ namesleft #1 >
+ { ", " * t * }
+ {
+ numnames #2 >
+ { "," * }
+ 'skip$
+ if$
+ s nameptr "{ll}" format.name$ duplicate$ "others" =
+ { 't := }
+ { pop$ }
+ if$
+ t "others" =
+ {
+
+ " " * bbl.etal *
+ }
+ {
+ bbl.and
+ space.word * t *
+ }
+ if$
+ }
+ if$
+ }
+ 't
+ if$
+ nameptr #1 + 'nameptr :=
+ namesleft #1 - 'namesleft :=
+ }
+ while$
+ } if$
+}
+FUNCTION {format.key}
+{ empty$
+ { key field.or.null }
+ { "" }
+ if$
+}
+
+FUNCTION {format.authors}
+{ author "author" format.names
+}
+FUNCTION {get.bbl.editor}
+{ editor num.names$ #1 > 'bbl.editors 'bbl.editor if$ }
+
+FUNCTION {format.editors}
+{ editor "editor" format.names duplicate$ empty$ 'skip$
+ {
+ " " *
+ get.bbl.editor
+ capitalize
+ "(" swap$ * ")" *
+ *
+ }
+ if$
+}
+FUNCTION {format.book.pages}
+{ pages "pages" bibinfo.check
+ duplicate$ empty$ 'skip$
+ { " " * bbl.pages * }
+ if$
+}
+FUNCTION {format.doi}
+{ doi "doi" bibinfo.check
+ duplicate$ empty$ 'skip$
+ {
+ "\doi{" swap$ * "}" *
+ }
+ if$
+}
+FUNCTION {format.note}
+{
+ note empty$
+ { "" }
+ { note #1 #1 substring$
+ duplicate$ "{" =
+ 'skip$
+ { output.state mid.sentence =
+ { "l" }
+ { "u" }
+ if$
+ change.case$
+ }
+ if$
+ note #2 global.max$ substring$ * "note" bibinfo.check
+ }
+ if$
+}
+
+FUNCTION {format.title}
+{ title
+ duplicate$ empty$ 'skip$
+ { "t" change.case$ }
+ if$
+ "title" bibinfo.check
+}
+FUNCTION {format.full.names}
+{'s :=
+ "" 't :=
+ #1 'nameptr :=
+ s num.names$ 'numnames :=
+ numnames 'namesleft :=
+ { namesleft #0 > }
+ { s nameptr
+ "{vv~}{ll}" format.name$
+ 't :=
+ nameptr #1 >
+ {
+ namesleft #1 >
+ { ", " * t * }
+ {
+ s nameptr "{ll}" format.name$ duplicate$ "others" =
+ { 't := }
+ { pop$ }
+ if$
+ t "others" =
+ {
+ " " * bbl.etal *
+ cite.name.font
+ }
+ {
+ numnames #2 >
+ { "," * }
+ 'skip$
+ if$
+ bbl.and
+ space.word * t *
+ }
+ if$
+ }
+ if$
+ }
+ 't
+ if$
+ nameptr #1 + 'nameptr :=
+ namesleft #1 - 'namesleft :=
+ }
+ while$
+ t "others" =
+ 'skip$
+ { cite.name.font }
+ if$
+}
+
+FUNCTION {author.editor.key.full}
+{ author empty$
+ { editor empty$
+ { key empty$
+ { cite$ #1 #3 substring$ }
+ 'key
+ if$
+ }
+ { editor format.full.names }
+ if$
+ }
+ { author format.full.names }
+ if$
+}
+
+FUNCTION {author.key.full}
+{ author empty$
+ { key empty$
+ { cite$ #1 #3 substring$ }
+ 'key
+ if$
+ }
+ { author format.full.names }
+ if$
+}
+
+FUNCTION {editor.key.full}
+{ editor empty$
+ { key empty$
+ { cite$ #1 #3 substring$ }
+ 'key
+ if$
+ }
+ { editor format.full.names }
+ if$
+}
+
+FUNCTION {make.full.names}
+{ type$ "book" =
+ type$ "inbook" =
+ or
+ 'author.editor.key.full
+ { type$ "proceedings" =
+ 'editor.key.full
+ 'author.key.full
+ if$
+ }
+ if$
+}
+
+FUNCTION {output.bibitem}
+{ newline$
+ "\bibitem[{" write$
+ label write$
+ ")" make.full.names duplicate$ short.list =
+ { pop$ }
+ { * }
+ if$
+ "}]{" * write$
+ cite$ write$
+ "}" write$
+ newline$
+ ""
+ before.all 'output.state :=
+}
+
+FUNCTION {if.digit}
+{ duplicate$ "0" =
+ swap$ duplicate$ "1" =
+ swap$ duplicate$ "2" =
+ swap$ duplicate$ "3" =
+ swap$ duplicate$ "4" =
+ swap$ duplicate$ "5" =
+ swap$ duplicate$ "6" =
+ swap$ duplicate$ "7" =
+ swap$ duplicate$ "8" =
+ swap$ "9" = or or or or or or or or or
+}
+FUNCTION {n.separate}
+{ 't :=
+ ""
+ #0 'numnames :=
+ { t empty$ not }
+ { t #-1 #1 substring$ if.digit
+ { numnames #1 + 'numnames := }
+ { #0 'numnames := }
+ if$
+ t #-1 #1 substring$ swap$ *
+ t #-2 global.max$ substring$ 't :=
+ numnames #5 =
+ { duplicate$ #1 #2 substring$ swap$
+ #3 global.max$ substring$
+ "," swap$ * *
+ }
+ 'skip$
+ if$
+ }
+ while$
+}
+FUNCTION {n.dashify}
+{
+ n.separate
+ 't :=
+ ""
+ { t empty$ not }
+ { t #1 #1 substring$ "-" =
+ { t #1 #2 substring$ "--" = not
+ { "--" *
+ t #2 global.max$ substring$ 't :=
+ }
+ { { t #1 #1 substring$ "-" = }
+ { "-" *
+ t #2 global.max$ substring$ 't :=
+ }
+ while$
+ }
+ if$
+ }
+ { t #1 #1 substring$ *
+ t #2 global.max$ substring$ 't :=
+ }
+ if$
+ }
+ while$
+}
+
+FUNCTION {word.in}
+{ bbl.in
+ " " * }
+
+FUNCTION {format.date}
+{ year "year" bibinfo.check duplicate$ empty$
+ {
+ }
+ 'skip$
+ if$
+ extra.label *
+ before.all 'output.state :=
+ " (" swap$ * ")" *
+}
+FUNCTION {format.btitle}
+{ title "title" bibinfo.check
+ duplicate$ empty$ 'skip$
+ {
+ emphasize
+ }
+ if$
+}
+FUNCTION {either.or.check}
+{ empty$
+ 'pop$
+ { "can't use both " swap$ * " fields in " * cite$ * warning$ }
+ if$
+}
+FUNCTION {format.bvolume}
+{ volume empty$
+ { "" }
+ { bbl.volume volume tie.or.space.prefix
+ "volume" bibinfo.check * *
+ series "series" bibinfo.check
+ duplicate$ empty$ 'pop$
+ { emphasize ", " * swap$ * }
+ if$
+ "volume and number" number either.or.check
+ }
+ if$
+}
+FUNCTION {format.number.series}
+{ volume empty$
+ { number empty$
+ { series field.or.null }
+ { series empty$
+ { number "number" bibinfo.check }
+ { output.state mid.sentence =
+ { bbl.number }
+ { bbl.number capitalize }
+ if$
+ number tie.or.space.prefix "number" bibinfo.check * *
+ bbl.in space.word *
+ series "series" bibinfo.check *
+ }
+ if$
+ }
+ if$
+ }
+ { "" }
+ if$
+}
+
+FUNCTION {format.edition}
+{ edition duplicate$ empty$ 'skip$
+ {
+ output.state mid.sentence =
+ { "l" }
+ { "t" }
+ if$ change.case$
+ "edition" bibinfo.check
+ " " * bbl.edition *
+ }
+ if$
+}
+INTEGERS { multiresult }
+FUNCTION {multi.page.check}
+{ 't :=
+ #0 'multiresult :=
+ { multiresult not
+ t empty$ not
+ and
+ }
+ { t #1 #1 substring$
+ duplicate$ "-" =
+ swap$ duplicate$ "," =
+ swap$ "+" =
+ or or
+ { #1 'multiresult := }
+ { t #2 global.max$ substring$ 't := }
+ if$
+ }
+ while$
+ multiresult
+}
+FUNCTION {format.pages}
+{ pages duplicate$ empty$ 'skip$
+ { duplicate$ multi.page.check
+ {
+ bbl.pages swap$
+ n.dashify
+ }
+ {
+ bbl.page swap$
+ }
+ if$
+ tie.or.space.prefix
+ "pages" bibinfo.check
+ * *
+ }
+ if$
+}
+FUNCTION {format.journal.pages}
+{ pages duplicate$ empty$ 'pop$
+ { swap$ duplicate$ empty$
+ { pop$ pop$ format.pages }
+ {
+ ", " *
+ swap$
+ n.dashify
+ "pages" bibinfo.check
+ *
+ }
+ if$
+ }
+ if$
+}
+FUNCTION {format.journal.eid}
+{ eid "eid" bibinfo.check
+ duplicate$ empty$ 'pop$
+ { swap$ duplicate$ empty$ 'skip$
+ {
+ ", " *
+ }
+ if$
+ swap$ *
+ }
+ if$
+}
+FUNCTION {format.vol.num.pages}
+{ volume field.or.null
+ duplicate$ empty$ 'skip$
+ {
+ "volume" bibinfo.check
+ }
+ if$
+ emphasize
+ 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$ *
+ eid empty$
+ { format.journal.pages }
+ { format.journal.eid }
+ if$
+}
+
+FUNCTION {format.chapter.pages}
+{ chapter empty$
+ 'format.pages
+ { type empty$
+ { bbl.chapter }
+ { type "l" change.case$
+ "type" bibinfo.check
+ }
+ if$
+ chapter tie.or.space.prefix
+ "chapter" bibinfo.check
+ * *
+ pages empty$
+ 'skip$
+ { ", " * format.pages * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.booktitle}
+{
+ booktitle "booktitle" bibinfo.check
+ emphasize
+}
+FUNCTION {format.in.ed.booktitle}
+{ format.booktitle duplicate$ empty$ 'skip$
+ {
+ format.bvolume duplicate$ empty$ 'pop$
+ { ", " swap$ * * }
+ if$
+ editor "editor" format.names.ed duplicate$ empty$ 'pop$
+ {
+ bbl.edby
+ " " * swap$ *
+ swap$
+ "," *
+ " " * swap$
+ * }
+ if$
+ word.in swap$ *
+ }
+ if$
+}
+FUNCTION {format.thesis.type}
+{ type duplicate$ empty$
+ 'pop$
+ { swap$ pop$
+ "t" change.case$ "type" bibinfo.check
+ }
+ if$
+}
+FUNCTION {format.tr.number}
+{ number "number" bibinfo.check
+ type duplicate$ empty$
+ { pop$ bbl.techrep }
+ 'skip$
+ if$
+ "type" bibinfo.check
+ swap$ duplicate$ empty$
+ { pop$ "t" change.case$ }
+ { tie.or.space.prefix * * }
+ if$
+}
+FUNCTION {format.article.crossref}
+{
+ word.in
+ " \cite{" * crossref * "}" *
+}
+FUNCTION {format.book.crossref}
+{ volume duplicate$ empty$
+ { "empty volume in " cite$ * "'s crossref of " * crossref * warning$
+ pop$ word.in
+ }
+ { bbl.volume
+ swap$ tie.or.space.prefix "volume" bibinfo.check * * bbl.of space.word *
+ }
+ if$
+ " \cite{" * crossref * "}" *
+}
+FUNCTION {format.incoll.inproc.crossref}
+{
+ word.in
+ " \cite{" * crossref * "}" *
+}
+FUNCTION {format.org.or.pub}
+{ 't :=
+ ""
+ address empty$ t empty$ and
+ 'skip$
+ {
+ t empty$
+ { address "address" bibinfo.check *
+ }
+ { t *
+ address empty$
+ 'skip$
+ { ", " * address "address" bibinfo.check * }
+ if$
+ }
+ if$
+ }
+ 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 {article}
+{ output.bibitem
+ format.authors "author" output.check
+ author format.key output
+ format.date "year" output.check
+ date.block
+ format.title "title" output.check
+ crossref missing$
+ {
+ journal
+ "journal" bibinfo.check
+ emphasize
+ "journal" output.check
+ format.vol.num.pages output
+ format.doi output
+ }
+ { format.article.crossref output.nonnull
+ format.pages output
+ }
+ if$
+ format.note output
+ fin.entry
+}
+FUNCTION {book}
+{ output.bibitem
+ author empty$
+ { format.editors "author and editor" output.check
+ editor format.key output
+ }
+ { format.authors output.nonnull
+ crossref missing$
+ { "author and editor" editor either.or.check }
+ 'skip$
+ if$
+ }
+ if$
+ format.date "year" output.check
+ date.block
+ format.btitle "title" output.check
+ crossref missing$
+ { format.bvolume output
+ format.number.series output
+ format.edition output
+ format.book.pages output
+ format.publisher.address output
+ }
+ {
+ format.book.crossref output.nonnull
+ }
+ if$
+ format.doi output
+ format.note output
+ fin.entry
+}
+FUNCTION {booklet}
+{ output.bibitem
+ format.authors output
+ author format.key output
+ format.date "year" output.check
+ date.block
+ format.title "title" output.check
+ howpublished "howpublished" bibinfo.check output
+ address "address" bibinfo.check output
+ format.book.pages output
+ format.doi output
+ format.note output
+ fin.entry
+}
+
+FUNCTION {inbook}
+{ output.bibitem
+ author empty$
+ { format.editors "author and editor" output.check
+ editor format.key output
+ }
+ { format.authors output.nonnull
+ crossref missing$
+ { "author and editor" editor either.or.check }
+ 'skip$
+ if$
+ }
+ if$
+ format.date "year" output.check
+ date.block
+ format.btitle "title" output.check
+ crossref missing$
+ {
+ format.bvolume output
+ format.chapter.pages "chapter and pages" output.check
+ format.number.series output
+ format.edition output
+ format.publisher.address output
+ }
+ {
+ format.chapter.pages "chapter and pages" output.check
+ format.book.crossref output.nonnull
+ }
+ if$
+ format.doi output
+ format.note output
+ fin.entry
+}
+
+FUNCTION {incollection}
+{ output.bibitem
+ format.authors "author" output.check
+ author format.key output
+ format.date "year" output.check
+ date.block
+ format.title "title" output.check
+ crossref missing$
+ { format.in.ed.booktitle "booktitle" output.check
+ format.number.series output
+ format.edition output
+ format.chapter.pages output
+ format.publisher.address output
+ }
+ { format.incoll.inproc.crossref output.nonnull
+ format.chapter.pages output
+ }
+ if$
+ format.doi output
+ format.note output
+ fin.entry
+}
+FUNCTION {inproceedings}
+{ output.bibitem
+ format.authors "author" output.check
+ author format.key output
+ format.date "year" output.check
+ date.block
+ format.title "title" output.check
+ crossref missing$
+ { format.in.ed.booktitle "booktitle" output.check
+ format.number.series output
+ format.pages output
+ publisher empty$
+ { format.organization.address output }
+ { organization "organization" bibinfo.check output
+ format.publisher.address output
+ }
+ if$
+ }
+ { format.incoll.inproc.crossref output.nonnull
+ format.pages output
+ }
+ if$
+ format.doi output
+ format.note output
+ fin.entry
+}
+FUNCTION {conference} { inproceedings }
+FUNCTION {manual}
+{ output.bibitem
+ format.authors output
+ author format.key output
+ format.date "year" output.check
+ date.block
+ format.btitle "title" output.check
+ organization "organization" bibinfo.check output
+ address "address" bibinfo.check output
+ format.edition output
+ format.doi output
+ format.note output
+ fin.entry
+}
+
+FUNCTION {mastersthesis}
+{ output.bibitem
+ format.authors "author" output.check
+ author format.key output
+ format.date "year" output.check
+ date.block
+ format.title
+ "title" output.check
+ bbl.mthesis format.thesis.type output.nonnull
+ school "school" bibinfo.warn output
+ address "address" bibinfo.check output
+ format.doi output
+ format.note output
+ fin.entry
+}
+
+FUNCTION {misc}
+{ output.bibitem
+ format.authors output
+ author format.key output
+ format.date "year" output.check
+ date.block
+ format.title output
+ howpublished "howpublished" bibinfo.check output
+ format.doi output
+ format.note output
+ fin.entry
+}
+FUNCTION {phdthesis}
+{ output.bibitem
+ format.authors "author" output.check
+ author format.key output
+ format.date "year" output.check
+ date.block
+ format.title
+ "title" output.check
+ bbl.phdthesis format.thesis.type output.nonnull
+ school "school" bibinfo.warn output
+ address "address" bibinfo.check output
+ format.doi output
+ format.note output
+ fin.entry
+}
+
+FUNCTION {proceedings}
+{ output.bibitem
+ format.editors output
+ editor format.key output
+ format.date "year" output.check
+ date.block
+ format.btitle "title" output.check
+ format.bvolume output
+ format.number.series output
+ publisher empty$
+ { format.organization.address output }
+ { organization "organization" bibinfo.check output
+ format.publisher.address output
+ }
+ if$
+ format.doi output
+ format.note output
+ fin.entry
+}
+
+FUNCTION {techreport}
+{ output.bibitem
+ format.authors "author" output.check
+ author format.key output
+ format.date "year" output.check
+ date.block
+ format.title
+ "title" output.check
+ format.tr.number emphasize output.nonnull
+ institution "institution" bibinfo.warn output
+ address "address" bibinfo.check output
+ format.doi output
+ format.note output
+ fin.entry
+}
+
+FUNCTION {unpublished}
+{ output.bibitem
+ format.authors "author" output.check
+ author format.key output
+ format.date "year" output.check
+ date.block
+ format.title "title" output.check
+ format.doi output
+ format.note "note" output.check
+ fin.entry
+}
+
+FUNCTION {default.type} { misc }
+READ
+FUNCTION {sortify}
+{ purify$
+ "l" change.case$
+}
+INTEGERS { len }
+FUNCTION {chop.word}
+{ 's :=
+ 'len :=
+ s #1 len substring$ =
+ { s len #1 + global.max$ substring$ }
+ 's
+ if$
+}
+FUNCTION {format.lab.names}
+{ 's :=
+ "" 't :=
+ s #1 "{vv~}{ll}" format.name$
+ s num.names$ duplicate$
+ #2 >
+ { pop$
+ " " * bbl.etal *
+ cite.name.font
+ "others" 't :=
+ }
+ { #2 <
+ 'skip$
+ { s #2 "{ff }{vv }{ll}{ jj}" format.name$ "others" =
+ {
+ " " * bbl.etal *
+ cite.name.font
+ "others" 't :=
+ }
+ { bbl.and space.word * s #2 "{vv~}{ll}" format.name$
+ * }
+ if$
+ }
+ if$
+ }
+ if$
+ t "others" =
+ 'skip$
+ { cite.name.font }
+ if$
+}
+
+FUNCTION {author.key.label}
+{ author empty$
+ { key empty$
+ { cite$ #1 #3 substring$ }
+ 'key
+ if$
+ }
+ { author format.lab.names }
+ if$
+}
+
+FUNCTION {author.editor.key.label}
+{ author empty$
+ { editor empty$
+ { key empty$
+ { cite$ #1 #3 substring$ }
+ 'key
+ if$
+ }
+ { editor format.lab.names }
+ if$
+ }
+ { author format.lab.names }
+ if$
+}
+
+FUNCTION {editor.key.label}
+{ editor empty$
+ { key empty$
+ { cite$ #1 #3 substring$ }
+ 'key
+ if$
+ }
+ { editor format.lab.names }
+ if$
+}
+
+FUNCTION {calc.short.authors}
+{ type$ "book" =
+ type$ "inbook" =
+ or
+ 'author.editor.key.label
+ { type$ "proceedings" =
+ 'editor.key.label
+ 'author.key.label
+ if$
+ }
+ if$
+ 'short.list :=
+}
+
+FUNCTION {calc.label}
+{ calc.short.authors
+ short.list
+ "("
+ *
+ year duplicate$ empty$
+ short.list key field.or.null = or
+ { pop$ "" }
+ 'skip$
+ if$
+ *
+ 'label :=
+}
+
+FUNCTION {sort.format.names}
+{ 's :=
+ #1 'nameptr :=
+ ""
+ s num.names$ 'numnames :=
+ numnames 'namesleft :=
+ { namesleft #0 > }
+ { s nameptr
+ "{vv{ } }{ll{ }}{ f{ }}{ jj{ }}"
+ format.name$ 't :=
+ nameptr #1 >
+ {
+ " " *
+ namesleft #1 = t "others" = and
+ { "zzzzz" * }
+ { numnames #2 > nameptr #2 = and
+ { "zz" * year field.or.null * " " * }
+ 'skip$
+ if$
+ t sortify *
+ }
+ if$
+ }
+ { t sortify * }
+ if$
+ nameptr #1 + 'nameptr :=
+ namesleft #1 - 'namesleft :=
+ }
+ while$
+}
+
+FUNCTION {sort.format.title}
+{ 't :=
+ "A " #2
+ "An " #3
+ "The " #4 t chop.word
+ chop.word
+ chop.word
+ sortify
+ #1 global.max$ substring$
+}
+FUNCTION {author.sort}
+{ author empty$
+ { key empty$
+ { "to sort, need author or key in " cite$ * warning$
+ ""
+ }
+ { key sortify }
+ if$
+ }
+ { author sort.format.names }
+ if$
+}
+FUNCTION {author.editor.sort}
+{ author empty$
+ { editor empty$
+ { key empty$
+ { "to sort, need author, editor, or key in " cite$ * warning$
+ ""
+ }
+ { key sortify }
+ if$
+ }
+ { editor sort.format.names }
+ if$
+ }
+ { author sort.format.names }
+ if$
+}
+FUNCTION {editor.sort}
+{ editor empty$
+ { key empty$
+ { "to sort, need editor or key in " cite$ * warning$
+ ""
+ }
+ { key sortify }
+ if$
+ }
+ { editor sort.format.names }
+ if$
+}
+FUNCTION {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
+ *
+ " "
+ *
+ cite$
+ *
+ #1 entry.max$ substring$
+ 'sort.key$ :=
+}
+
+ITERATE {presort}
+SORT
+STRINGS { last.label next.extra }
+INTEGERS { last.extra.num number.label }
+FUNCTION {initialize.extra.label.stuff}
+{ #0 int.to.chr$ 'last.label :=
+ "" 'next.extra :=
+ #0 'last.extra.num :=
+ #0 'number.label :=
+}
+FUNCTION {forward.pass}
+{ last.label label =
+ { last.extra.num #1 + 'last.extra.num :=
+ last.extra.num int.to.chr$ 'extra.label :=
+ }
+ { "a" chr.to.int$ 'last.extra.num :=
+ "" 'extra.label :=
+ label 'last.label :=
+ }
+ if$
+ number.label #1 + 'number.label :=
+}
+FUNCTION {reverse.pass}
+{ next.extra "b" =
+ { "a" 'extra.label := }
+ 'skip$
+ if$
+ extra.label 'next.extra :=
+ extra.label
+ duplicate$ empty$
+ 'skip$
+ { "{\natexlab{" swap$ * "}}" * }
+ if$
+ 'extra.label :=
+ label extra.label * 'label :=
+}
+EXECUTE {initialize.extra.label.stuff}
+ITERATE {forward.pass}
+REVERSE {reverse.pass}
+FUNCTION {bib.sort.order}
+{ sort.label
+ " "
+ *
+ year field.or.null sortify
+ *
+ " "
+ *
+ cite$
+ *
+ #1 entry.max$ substring$
+ 'sort.key$ :=
+}
+ITERATE {bib.sort.order}
+SORT
+FUNCTION {begin.bib}
+{ preamble$ empty$
+ 'skip$
+ { preamble$ write$ newline$ }
+ if$
+ "\begin{thebibliography}{" number.label int.to.str$ * "}" *
+ write$ newline$
+ "\providecommand{\natexlab}[1]{#1}"
+ write$ newline$
+ "\expandafter\ifx\csname urlstyle\endcsname\relax"
+ write$ newline$
+ " \providecommand{\doi}[1]{doi:\discretionary{}{}{}#1}\else"
+ write$ newline$
+ " \providecommand{\doi}{doi:\discretionary{}{}{}\begingroup \urlstyle{rm}\Url}\fi"
+ write$ newline$
+}
+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 `agufull04.bst'.
diff --git a/macros/latex/contrib/aguplus/aguplus.cls b/macros/latex/contrib/aguplus/aguplus.cls
new file mode 100644
index 0000000000..fdd8dc6e15
--- /dev/null
+++ b/macros/latex/contrib/aguplus/aguplus.cls
@@ -0,0 +1,1227 @@
+%% File: aguplus.cls
+%% =============================================
+%% IMPORTANT NOTICE:
+%% See the copyright and distribution conditions below.
+%% =============================================
+%% AGU++ (LaTeX2e Class file)
+%% ---------------------------------
+%% An unofficial LaTeX extension to
+%% the official AGU package AGUTeX
+%% ---------------------------------
+%% Copyright 1993-1999 Patrick W Daly
+%% Max-Planck-Institut f\"ur Aeronomie
+%% Max-Planck-Str. 2
+%% D-37191 Katlenburg-Lindau
+%% Germany
+%% E-mail: daly@linmpi.mpg.de
+%%
+%% This program can be redistributed and/or modified under the terms
+%% of the LaTeX Project Public License Distributed from CTAN
+%% archives in directory macros/latex/base/lppl.txt; either
+%% version 1 of the License, or any later version.
+%%
+%% This is a contributed file to the LaTeX2e system.
+%%
+\NeedsTeXFormat{LaTeX2e}[1994/06/01]
+\ProvidesClass{aguplus}
+ [1999/08/19 1.6b (PWD)]
+ % THIS IS A LATEX2E CLASS FILE; it will not work with LaTeX 2.09
+ % This is AGU++, an extension to the AGU official package AGUTeX
+ % It fixes up some problems with AGUTeX, adds many extra features
+ % including putting figures, plates, tables in the text,
+ % decent author-year citations and BibTeX support,
+ % \title, \author, \affil allowed in preamble,
+ % supplemental abstract for JGR,
+ % balanced columns on last preprint page,
+ % sublabelling of counters figure, plate, table, equation.
+ %
+ % This package MUST be used in conjunction with one of the AGUTeX packages,
+ % (version 4.0 or earlier)
+ % which are given as options to the class, as for example:
+ % \documentclass[agupp]{aguplus}
+ % Other possible AGUTeX packages are: agums, agupp, jgrga, grlga, tecga,
+ % radga, rtjga, paleo
+ %
+ % See the manual AGUPLUS.TEX for details.
+ %--------------------------------------------------------------------
+\def\getAGU{\edef\AGUpack{\CurrentOption}}
+\DeclareOption{agums}{\getAGU\PassOptionsToClass{12pt}{article}}
+\DeclareOption{agupp}{\getAGU}
+\DeclareOption{jgrga}{\getAGU}
+\DeclareOption{grlga}{\getAGU}
+\DeclareOption{tecga}{\getAGU}
+\DeclareOption{radga}{\getAGU}
+\DeclareOption{paleo}{\getAGU}
+\DeclareOption{rtjga}{\getAGU}
+\DeclareOption{tighten}{\AtEndOfClass{\tighten}}
+\DeclareOption*{\PassOptionsToClass{\CurrentOption}{article}}
+\ProcessOptions
+\LoadClass{article}
+\@ifundefined{AGUpack}
+{\ClassError{aguplus}
+ {No valid AGUTeX package given as option}
+ {Valid AGUTeX package names are:\MessageBreak
+ agums, agupp, jgrga, grlga, radga, rtjga, tecga, paleo}
+ \stop}{}
+\newdimen\@maxsep \newdimen\@dblmaxsep
+\let\ori@LaTeX=\LaTeX
+\let\ori@caption=\caption
+\let\ori@thetable=\thetable
+\let\ori@sect=\@sect
+\InputIfFileExists{\AGUpack.sty}
+ {}
+ {\ClassError{aguplus}
+ {File \AGUpack.sty does not exist}
+ {Make \AGUpack.sty accessible}
+ \stop}
+\let\LaTeX=\ori@LaTeX \let\ori@LaTeX\relax
+\let\caption=\ori@caption \let\ori@caption\relax
+\let\thetable=\ori@thetable \let\ori@thetable\relax
+\let\@sect=\ori@sect \let\ori@sect\relax
+\providecommand{\GetFileInfo}[1]{%
+ \def\packname{#1}%
+ \def\@tempb##1 ##2 ##3\relax##4\relax{%
+ \def\packdate{##1}%
+ \def\packversion{##2}
+ \def\packinfo{##3}}%
+ \edef\@tempa{\csname ver@#1\endcsname}%
+ \expandafter\@tempb\@tempa\relax? ? \relax\relax}
+\GetFileInfo{aguplus.cls}
+\newcommand{\optionlogo}{AGU$^{++}$}
+\renewcommand\revtex@pageid{%
+ \vspace{2em}\footnoterule{\footnotesize \parindent1.5em
+ This \revtex@genre\space was prepared with
+ \revtex@org{'s}\space \LaTeX\ macros v\revtex@ver,
+ with the extension package `\optionlogo' by P.~W. Daly, version
+ \packversion\ from \packdate.}}
+\newif\if@draft
+\newif\if@preprint
+\newif\if@camera
+\def\@tempa{manuscript}
+\ifx\revtex@genre\@tempa\@drafttrue\else\@draftfalse\fi
+\def\@tempa{preprint}
+\ifx\revtex@genre\@tempa\@preprinttrue\else\@preprintfalse\fi
+\def\@tempa{galley}
+\ifx\revtex@genre\@tempa\@cameratrue\else\@camerafalse\fi
+\renewcommand{\@seccntformat}[1]{\sectype\csname the#1\endcsname
+ \sectchar\hskip 1ex}
+\def\@ssect#1#2#3#4#5{\@tempskipa #3\relax
+ \ifdim \@tempskipa>\z@
+ \begingroup #4
+ \@hangfrom{\hskip #1}{\interlinepenalty \@M \sectype\ssectchar#5\par}
+ \endgroup
+ \else \def\@svsechd{#4\hskip #1\relax \sectype\ssectchar#5}\fi
+ \@xsect{#3}}
+\def\sectchar{.} \def\ssectchar{} \def\sectype{}
+\def\@hangfrom#1{\noindent#1}
+\def\thesection{\@arabic{\c@section}}
+\def\thesubsection{\thesection.\@arabic{\c@subsection}}
+\def\thesubsubsection{\thesubsection.\@arabic{\c@subsubsection}}
+\def\theparagraph{\thesubsubsection.\@arabic{\c@paragraph}:}
+\def\sectionnumbers{\c@secnumdepth=3}
+\let\agureferences=\references
+\def\references{\noappendix\agureferences}
+\let\aguacknows=\acknowledgments
+\def\acknowledgments{\noappendix\aguacknows}
+\let\acknowledgements=\acknowledgments
+\let\aguacknow=\acknowledgment
+\def\acknowledgment{\noappendix\aguacknow}
+\let\acknowledgement=\acknowledgment
+\if@preprint
+\setlength{\columnsep}{.26in}
+\newdimen\@fmwidth \@fmwidth=33pc
+\def\auth@skip{12pt}
+\def\affil@skip{5pt}
+\def\agutitle#1{\@makeslugcmmnt
+\hsize\@fmwidth
+\par\noindent
+\parbox{\@fmwidth}%
+ {\pretolerance=10000
+ \raggedright
+ \Large\bf#1}}
+\def\aguauthor#1{%
+\par\vskip\auth@skip\noindent
+\parbox{\@fmwidth}%
+ {\pretolerance=10000
+ \raggedright
+ \large#1}
+\gdef\auth@skip{12pt}}
+\def\aguaffil#1{\par\vskip\affil@skip\noindent
+\parbox{\@fmwidth}%
+ {\pretolerance=10000
+ \raggedright
+ \small#1}}
+\def\aguabs{\par\vspace{4ex}\noindent
+\minipage{\@fmwidth}\pretolerance=100
+\@rightskip=\z@ plus 2em\rightskip\@rightskip
+\large
+{\bf Abstract.}}
+
+\def\endaguabs{\endminipage\vspace{2ex}}
+\newbox\@abstract
+\setbox\@abstract\vbox{}
+
+\def\abstract{\global\setbox\@abstract\vbox\bgroup
+ \aguabs}
+\def\endabstract{\endaguabs\egroup}
+\def\xmaketitle{
+\par
+ \begingroup
+ \clearpage
+ \twocolumn[\box\@title
+ \box\@abstract
+ \null]
+ \global\@topnum\z@
+ \thispagestyle{plain}
+ \ifx\@titlenote\empty \else
+ \global\@botnum\z@
+ \long\def\@makefntext##1{##1}
+ \footnotetext{{\parindent=1em\indent
+ \let\@elt=\par\@titlenote}}
+ \fi
+ \endgroup
+ \pt@width=\hsize
+ \setcounter{footnote}{0}
+ \global\let\xmaketitle\relax}
+\def\lefthead#1{\gdef\@versohead{#1}}
+\def\righthead#1{\gdef\@rectohead{#1}}
+\let\agusection=\section
+\def\section{\pagestyle{myheadings}
+\if@twoside \markboth{\@versohead}{\@rectohead} \else
+ \markright{\@versohead: \@rectohead} \fi
+\xmaketitle\agusection}
+\long\def\@makecaption#1#2{%
+ \vskip 10\p@
+ \setbox\@tempboxa\hbox{#1 #2}%
+ \ifdim \wd\@tempboxa >\hsize
+ #1 #2\par
+ \else
+ \hbox to\hsize{\hfil\box\@tempboxa\hfil}%
+ \fi}
+\def\fps@figure{tbp}
+\def\fps@plate{tbp}
+\def\fps@table{tbp}
+\else
+\let\agutitle=\title
+\let\aguaffil=\affil
+\let\aguauthor=\author
+\def\xmaketitle{\par \hsize\wd\@title
+\begingroup
+ \box\@title
+ \ifx\@titlenote\empty \else
+ \global\@botnum\z@
+ \long\def\@makefntext##1{##1}
+ \footnotetext{{\parindent=10pt\indent
+ \parskip=6pt\let\@elt=\par\@titlenote}}
+ \fi
+\endgroup
+ \setcounter{footnote}{0}
+ \global\let\xmaketitle\relax}
+\let\aguabs=\abstract
+\def\abstract{\xmaketitle\aguabs}
+\let\aguendabs=\endabstract
+\def\endabstract{\aguendabs\par}
+\let\agusection=\section
+\def\section{\xmaketitle\par\agusection}
+\fi
+\newbox\@title
+\setbox\@title=\vbox{}
+
+\def\title#1{\setbox\@title=\vbox{
+ \let\@nodocument=\relax
+ \agutitle{#1}}}
+\def\author#1{\setbox\@title=\vbox{\hsize=\wd\@title
+ \let\@nodocument=\relax
+ \box\@title \aguauthor{#1}}}
+\def\affil#1{\setbox\@title=\vbox{\hsize=\wd\@title
+ \let\@nodocument=\relax
+ \box\@title \aguaffil{#1}}}
+\def\altaffiltext#1#2{\let\@elt=\relax
+ \ifx\@titlenote\empty \def
+ \@titlenote{\altaffilmark{#1}#2} \else
+ \xdef\@titlenote{\@titlenote\@elt \altaffilmark{#1}#2}\fi}
+\def\@titlenote{}
+\let\maketitle=\xmaketitle
+\let\date=\slugcomment
+\newif\if@supabs \@supabsfalse
+\def\extraabstract{\global\@supabstrue}
+\if@camera
+\begingroup
+ \catcode `|=0 \catcode `[= 1
+ \catcode`]=2 \catcode `\{=12 \catcode `\}=12
+ \catcode`\^^M=13 \catcode`\\=12 %
+|long|gdef|@preabs#1\begin{abstract}[|endgroup|begin[abstract]]%
+|endgroup
+\long\def\supabs{\newpage \thispagestyle{empty}%
+ \parindent=1em
+ \hsize=20pc \reset@font\footnotesize
+ \noindent
+ \hbox to \hsize{\hfil Paper number \@paperid}\par\vskip1em}
+\def\endsupabs{\par\endinput}
+\def\dosupabse{{\def\documentclass{\begingroup\set@literal\@preabs}
+\let\abstract=\supabs\let\endabstract=\endsupabs
+\input{\jobname}}}
+\AtEndOfPackage{\AtEndDocument{\if@supabs\dosupabse\fi}}
+\fi
+\newenvironment{notation}[1]%
+ {\ifx#1\item\ClassError{aguplus}{%
+ The notation environment MUST have an argument:\MessageBreak
+ the longest symbol to appear in the listing}%
+ {Stop and add an argument to \protect\begin{notation}{sym}}\fi
+ \noappendix\section*{Notation}\begin{list}{}{%
+ \renewcommand\makelabel[1]{\hfill##1}%
+ \settowidth{\labelwidth}{#1}%
+ \setlength{\itemsep}{\z@}\setlength{\parsep}{\z@}%
+ \setlength{\leftmargin}{\labelwidth}%
+ \setlength{\labelsep}{1em}%
+ \addtolength{\leftmargin}{\labelsep}}}{\end{list}}
+\def\iftwocol#1#2{\if@draft#2\else#1\fi}
+\def\afour{\textheight=24cm
+ \if@draft \textwidth=15cm \fi
+ \if@preprint \textwidth=17.4cm \columnsep=0.5cm
+ \oddsidemargin=-0.5cm \evensidemargin=-0.9cm \hoffset=0pt\fi}
+\def\theHplate{\arabic{plate}}
+\if@preprint
+ % Begin coding from agupp.sty version 3.1
+\newbox\pt@box
+\newdimen\pt@width
+\newcount\pt@line
+\newcount\pt@nlines
+\newcount\pt@ncol
+\def\colhead#1{\omit\hidewidth{#1}\hidewidth\global\advance\pt@ncol by\@ne}
+\def\tablecaption#1{\gdef\pt@caption{#1}} \def\pt@caption{\relax}
+\def\tablehead#1{\gdef\pt@head{\\[-1.2ex]\hline\relax\\[-1.7ex]
+#1\hskip\tabcolsep\\[.7ex]\hline\relax\\[-1.5ex]}}
+\def\tabletail#1{\gdef\pt@tail{#1}} \def\pt@tail{\relax}
+\def\tablewidth#1{\pt@width=#1} \pt@width\textwidth
+\def\tableheadfrac#1{\gdef\pt@headfrac{#1}} \def\pt@headfrac{.1}
+\let\figurewidth=\tablewidth
+\def\pt@calcnlines{\@tempdima\pt@headfrac\textheight
+\@tempdimb\textheight\advance\@tempdimb by-\@tempdima
+\@tempdima\arraystretch\baselineskip
+\divide\@tempdimb by\@tempdima
+\global\pt@nlines\@tempdimb
+}
+\def\pt@tabular{\hbox \bgroup $\let\@acol\@ptabacol
+\let\@classz\@tabclassz
+\let\@classiv\@tabclassiv \let\\\@tabularcr\@tabarray}
+\def\@ptabacol{\edef\@preamble{\@preamble \hskip \tabcolsep\tabskip\fill}}
+\def\fnum@ptable{{\bf Table \thetable.}}
+\def\fnum@ptablecont{{\bf Table \thetable.} ({\rm continued})}
+\let\set@mkcaption=\relax
+\def\set@mkcaptioncont{\long\def\@makecaption##1##2{
+\hbox to\pt@width{##1\hfil}\vskip -0.8ex}}
+\renewenvironment{planotable}[1]{\def\pt@format{\string#1}%
+\def\pt@head{\\[-1.2ex]\hline\relax\\[-1.7ex]}\pt@width\textwidth%
+\let\ltx@label=\label\gdef\pt@label{\let\label=\ltx@label}%
+\def\label##1{\gdef\pt@labeltag{##1}%
+ \gdef\pt@label{\ltx@label{\pt@labeltag}\let\label=\ltx@label}}
+\set@tblnotetext\pt@ncol=0}%
+{\crcr\noalign{\vskip .7ex}\hline\endtabular%
+\pt@width\wd\pt@box\center\item[]%
+\caption{\pt@caption}\mbox{\box\pt@box}\spew@ptblnotes%
+\endcenter\pt@label\pt@endfloat}
+\def\startdata{\pt@line=0\pt@calcnlines%
+\ifdim\pt@width>\z@\def\@halignto{to \pt@width}\else\def\@halignto{}\fi%
+\ifdim\pt@width>\columnwidth
+ \let\pt@float\@dblfloat\let\pt@endfloat\end@dblfloat \else
+ \let\pt@float\@float\let\pt@endfloat\end@float \fi
+\let\fnum@table=\fnum@ptable\set@mkcaption%
+\pt@float{table}%
+\setbox\pt@box=\pt@tabular{\pt@format}\pt@head}
+\def\pt@nl{\global\advance\pt@line by\@ne%
+\ifnum\pt@line=\pt@nlines%
+\\\noalign{\vskip .7ex}\hline\endtabular%
+\pt@width\wd\pt@box\center\item[]%
+\caption{\pt@caption}\mbox{\box\pt@box}%
+\endcenter\pt@endfloat%\clearpage% %%%%%%%%% PWD: remove \clearpage
+\addtocounter{table}{\m@ne}%
+\let\fnum@table=\fnum@ptablecont\set@mkcaptioncont%
+\pt@float{table}%
+\global\pt@ncol=0%
+\setbox\pt@box=\pt@tabular{\pt@format}\pt@head%
+\global\pt@line=0%
+\else\\
+\fi}
+\let\nl=\pt@nl
+\let\nextline=\pt@nl
+\def\tablevspace#1{\noalign{\vskip{#1}}}
+\def\tablebreak{\pt@line\pt@nlines\advance\pt@line by\m@ne\pt@nl}
+\def\cutinhead#1{\noalign{\vskip 1.5ex}
+\multicolumn{\pt@ncol}{c}{\it#1}\pt@nl
+\noalign{\vskip .8ex}}
+\def\sidehead#1{\noalign{\vskip 1.5ex}
+\multicolumn{\pt@ncol}{@{\hskip\z@}l}{#1}\pt@nl
+\noalign{\vskip .5ex}}
+\def\set@tblnotetext{\def\tablenotetext##1##2{{%
+\@temptokena={\vspace{0ex}{%
+\parbox{\pt@width}{\hskip1em$^{\rm ##1}$##2}\par}}%
+\@temptokenb=\expandafter{\tblnote@list}
+\xdef\tblnote@list{\the\@temptokenb\the\@temptokena}}}}
+\def\spew@ptblnotes{
+\ifx\tblnote@list\@empty\relax
+\else
+\par
+\vspace{2ex}
+{\tblnote@list}
+\gdef\tblnote@list{}
+\fi}
+\def\tablerefs#1{\@temptokena={\vspace*{3ex}{%
+\parbox{\pt@width}{\hskip1em\rm #1}\par}}%
+\@temptokenb=\expandafter{\tblnote@list}
+\xdef\tblnote@list{\the\@temptokenb\the\@temptokena}}
+\def\tablecomments#1{\@temptokena={\vspace*{3ex}{%
+\parbox{\pt@width}{\hskip1em\rm #1}\par}}%
+\@temptokenb=\expandafter{\tblnote@list}
+\xdef\tblnote@list{\the\@temptokenb\the\@temptokena}}
+ % End of coding from agupp.sty version 3.1
+\else
+ \let\ori@plano\planotable
+ \renewcommand\planotable[1]{%
+ \@ifundefined{totaltabdp}{}{\setlength{\totaltabdp}{0pt}}%
+ \refstepcounter{table}\addtocounter{table}{\m@ne}\ori@plano{#1}}
+\fi
+\def\tablenum#1{\def\thetable{#1}\let\@currentlabel\thetable
+ \addtocounter{table}{\m@ne}}
+%% Copyright 1993-1999 Patrick W Daly
+%% Max-Planck-Institut f\"ur Aeronomie
+%% Max-Planck-Str. 2
+%% D-37191 Katlenburg-Lindau
+%% Germany
+%% E-mail: daly@linmpi.mpg.de
+\def\ModuleVersion#1[#2]{}
+ \ModuleVersion{sublabel}
+ [1999/02/23 4.5 (PWD)]
+\@ifundefined{iffigcaps}{}
+ {\PackageWarningNoLine{sublabel}
+ {***********************************\MessageBreak
+ This package read in after `figcaps'\MessageBreak
+ There could be problems with sublabelled\MessageBreak
+ figure and table numbers.\MessageBreak
+ ***********************************}}
+\newcommand{\substyle}{}
+\def\substyle#1{\alph{#1}}
+\newcommand{\sublabon}[1]{\@bsphack
+\@ifundefined{c@#1}{%
+ \PackageError{sublabel}
+ {\protect\sublabon\space called for a non-existent counter}{\@eha}}
+ {\@ifundefined{c@sb@#1}{\expandafter\newcount\csname c@sb@#1\endcsname
+ \setcounter{sb@#1}{-1}}{}%
+\ifnum\@nameuse{c@sb@#1}<0\else\sublaboff{#1}\fi
+\stepcounter{#1}%
+\setcounter{sb@#1}{0}%
+\def\@tempa{eqnarray}\ifx \@tempa\@currenvir
+ \addtocounter{equation}{-1}\setcounter{sb@equation}{1}\fi
+\global\expandafter\let\csname @ldthe#1\expandafter\endcsname
+ \csname the#1\endcsname
+\expandafter\gdef\csname the#1\endcsname{%
+ \@nameuse{@ldthe#1}{\substyle{sb@#1}}}
+}\@esphack}
+\newcommand{\sublaboff}[1]{\@bsphack
+\@ifundefined{c@#1}{%
+ \PackageError{sublabel}
+ {\protect\sublaboff\space called for a non-existent counter}{\@eha}}
+ {\@ifundefined{c@sb@#1}{%
+ \PackageWarning{sublabel}
+ {\protect\sublaboff{#1} called without any previous
+ \MessageBreak
+ \protect\sublabon{#1} command}}
+ {\ifnum\@nameuse{c@sb@#1}<0
+ \PackageWarning{sublabel}
+ {\protect\sublaboff{#1} called without a previous
+ \MessageBreak
+ \protect\sublabon{#1} command being active}\else
+\ifnum\@nameuse{c@sb@#1}=0\addtocounter{#1}{-1}\fi
+\setcounter{sb@#1}{-1}%
+\global\expandafter\let\csname the#1\expandafter\endcsname
+ \csname @ldthe#1\endcsname
+\def\@tempa{eqnarray}\ifx \@tempa\@currenvir
+ \stepcounter{equation}\fi
+\fi}}\@esphack}
+\AtBeginDocument{%
+\let\@ldstepcounter=\stepcounter
+\renewcommand{\stepcounter}[1]
+ {\@ifundefined{c@sb@#1}{\@ldstepcounter{#1}}{\ifnum
+ \@nameuse{c@sb@#1}<0\relax
+ \@ldstepcounter{#1}\else \@ldstepcounter{sb@#1}\fi}%
+}
+\let\@ldaddtoctr=\addtocounter
+\renewcommand{\addtocounter}[2]
+ {\@ifundefined{c@sb@#1}{\@ldaddtoctr{#1}{#2}}{\ifnum
+ \@nameuse{c@sb@#1}<0\relax
+ \@ldaddtoctr{#1}{#2}\else \@ldaddtoctr{sb@#1}{#2}\fi}%
+}
+\let\@ldendeqnarray=\endeqnarray
+\renewcommand{\endeqnarray}{\@ldendeqnarray
+ \@ifundefined{c@sb@equation}{}{\ifnum\c@sb@equation<0\else
+ \@ldaddtoctr{equation}{1}\@ldaddtoctr{sb@equation}{-1}\fi}}
+}
+%% Copyright 1993-1999 Patrick W Daly
+%% Max-Planck-Institut f\"ur Aeronomie
+%% Max-Planck-Str. 2
+%% D-37191 Katlenburg-Lindau
+%% Germany
+%% E-mail: daly@linmpi.mpg.de
+\def\ModuleVersion#1[#2]{}
+ \ModuleVersion{appendix}
+ [1999/02/23 2.1 (PWD)]
+\@ifundefined{iffigcaps}{}
+ {\PackageWarningNoLine{appendix}
+ {***********************************\MessageBreak
+ This package read in after `figcaps'\MessageBreak
+ There could be problems with sublabelled\MessageBreak
+ figure and table numbers.\MessageBreak
+ ***********************************}}
+\providecommand{\appendixname}{Appendix}
+\let\orisection=\section
+\let\theolds=\thesection
+\let\theoldss=\thesubsection
+\let\orisubsection=\subsection
+\def\appendix{\par
+ \setcounter{section}{0}
+ \setcounter{subsection}{0}
+ \def\thesection{\Alph{section}}
+ \def\thesubsection{\thesection\arabic{subsection}}
+ \setcounter{secnumdepth}{3}
+ \@addtoreset{equation}{section}
+ \setcounter{equation}{0}
+ \def\theequation{\thesection\arabic{equation}}
+ \@addtoreset{figure}{section}
+ \setcounter{figure}{0}
+ \def\thefigure{\thesection\arabic{figure}}
+ \@addtoreset{table}{section}
+ \def\thetable{\thesection\arabic{table}}
+ \setcounter{table}{0}
+ \@ifundefined{c@plate}{\newcounter{plate}}{}
+ \@addtoreset{plate}{section}
+ \def\theplate{\thesection\arabic{plate}}
+ \setcounter{plate}{0}
+ \def\@Alph##1{\ifcase##1A\or A\or B\or C\or D\else\@Ialph{##1}\fi}
+ \def\section{\@sectiontrue\orisection}
+ \def\sectype{\if@section\appendixname~\fi}
+ \def\sectchar{\if@section:\else.\fi}
+ \def\ssectchar{\if@section\unskip:~\else\fi}
+ \def\subsection{\@sectionfalse\orisubsection}
+}
+\newif\if@section \@sectionfalse
+\def\noappendix{\setcounter{secnumdepth}{0}
+ \global\let\section=\orisection
+ \global\let\thesection=\theolds
+ \global\let\thesubsection=\theoldss
+ \gdef\sectchar{.} \gdef\ssectchar{}
+ \gdef\sectype{}
+ \global\let\subsection=\orisubsection
+}
+%% Copyright 1993-1999 Patrick W Daly
+%% Max-Planck-Institut f\"ur Aeronomie
+%% Max-Planck-Str. 2
+%% D-37191 Katlenburg-Lindau
+%% Germany
+%% E-mail: daly@linmpi.mpg.de
+\def\ModuleVersion#1[#2]{}
+ \ModuleVersion{figcaps}
+ [1999/02/23 4.7 (PWD)]
+\@ifundefined{chapter}{}{%
+ \PackageError{figcaps}
+ {`figcaps' may only be used with article-like classes}
+ {There is no help. You just cannot use `figcaps'}}
+\newif\iffigcaps \figcapstrue
+\newif\iffigmark \figmarkfalse
+\newif\if@figpage \@figpagefalse
+\@ifundefined{figurecapname}{\def\figurecapname{Figure Captions}}{}
+\@ifundefined{tablepagename}{\def\tablepagename{Tables}}{}
+\@ifundefined{figurepagename}{\def\figurepagename{Figures}}{}
+\begingroup
+ \catcode `|=0 \catcode `[= 1
+ \catcode`]=2 \catcode `\{=12 \catcode `\}=12
+ \catcode`\^^M=13 \catcode`\\=12 %
+|long|gdef|@vfig#1\end{figure}[|def|@term[\end{figure}]%
+ |expandafter|writelof#1^^M\end{figure}^^M|end[figure]]%
+|long|gdef|@vsfig#1\end{figure*}[|def|@term[\end{figure*}]%
+ |expandafter|writelof#1^^M\end{figure*}^^M|end[figure*]]%
+|long|gdef|@vtab#1\end{table}[|def|@term[\end{table}]%
+ |expandafter|writelot#1^^M\end{table}^^M|end[table]]%
+|long|gdef|@vstab#1\end{table*}[|def|@term[\end{table*}]%
+ |expandafter|writelot#1^^M\end{table*}^^M|end[table*]]%
+ |long|gdef|@vltab#1\end{longtable}[|def|@term[\end{longtable}]%
+ |expandafter|writelot#1^^M\end{longtable}^^M|end[longtable]]%
+|long|gdef|@vpla#1\end{plate}[|def|@term[\end{plate}]%
+ |expandafter|writelof#1^^M\end{plate}^^M|end[plate]]%
+|long|gdef|@vspla#1\end{plate*}[|def|@term[\end{plate*}]%
+ |expandafter|writelof#1^^M\end{plate*}^^M|end[plate*]]%
+ |long|gdef|@vptab#1\end{planotable}[|def|@term[\end{planotable}]%
+ |expandafter|writelot#1^^M\end{planotable}^^M|end[planotable]]%
+ |endgroup
+\long\def\FC@writefile#1#2{\@ifundefined{tf@#1}{}{%
+ \immediate\write\csname tf@#1\endcsname{#2}}}
+\def\lof{lof} \def\lot{lot}
+
+{\catcode`\^^M=13%
+ \long\gdef\writelof#1^^M{\def\@tempb{#1}%
+ \ifx\@tempb\@term\let\@tempa\relax\else
+ \if@filesw\FC@writefile{pof}{#1}\fi\let\@tempa\writelof\fi \@tempa}
+ \long\gdef\writelot#1^^M{\def\@tempb{#1}%
+ \ifx\@tempb\@term\let\@tempa\relax\else
+ \if@filesw\FC@writefile{pot}{#1}\fi\let\@tempa\writelot\fi \@tempa}
+}
+\def\figcapson{\figcapstrue}
+\def\figcapsoff{\figcapsfalse}
+\def\figmarkon{\figmarktrue}
+\def\figmarkoff{\figmarkfalse}
+\def\figure{\iffigcaps \let\@tempb=\@zfigure \else \let\@tempb=\@float\fi
+ \@tempb{figure}}
+\def\@zfigure#1{\begingroup\set@literal\@ifnextchar[{\@figure}{\@figure[]}}
+\def\@figure[#1]{\@ifundefined{tf@pof}{\newwrite\tf@pof
+ \if@filesw\immediate\openout\tf@pof\jobname.\lof\relax
+ \ifFC@appendix\FC@writefile{pof}{\string\doappendix}\fi\fi}{}%
+ \refstepcounter{figure}\iffigmark\marginpar{\fbox{\fnum@figure}}\fi
+ \def\@captype{figure}\if@filesw\FC@writefile{pof}{\string\begin{figure}}\fi
+ \@vfig}
+
+\def\endfigure{\iffigcaps
+ \endgroup\if@filesw\FC@writefile{pof}{\string\end{figure}}\fi\else
+ \end@float\fi}
+
+\@namedef{figure*}{\iffigcaps \let\@tempb=\@zsfigure \else
+ \let\@tempb=\@dblfloat\fi \@tempb{figure}}
+\def\@zsfigure#1{\begingroup\set@literal\@ifnextchar[{\@sfigure}{\@sfigure[]}}
+\def\@sfigure[#1]{\@ifundefined{tf@pof}{\newwrite\tf@pof
+ \if@filesw\immediate\openout\tf@pof\jobname.\lof\relax
+ \ifFC@appendix\FC@writefile{pof}{\string\doappendix}\fi\fi}{}%
+ \refstepcounter{figure}\iffigmark\marginpar{\fbox{\fnum@figure}}\fi
+ \def\@captype{figure}\if@filesw\FC@writefile{pof}{\string\begin{figure}}\fi
+ \@vsfig}
+
+\@namedef{endfigure*}{\iffigcaps\endfigure\else\end@dblfloat\fi}
+\@ifundefined{c@plate}{\newcounter{plate}}{}
+
+\def\plate{\iffigcaps \let\@tempb=\@zplate \else \let\@tempb=\@float\fi
+ \@tempb{plate}}
+\def\@zplate#1{\begingroup\set@literal\@ifnextchar[{\@plate}{\@plate[]}}
+\def\@plate[#1]{\@ifundefined{tf@pof}{\newwrite\tf@pof
+ \if@filesw\immediate\openout\tf@pof\jobname.\lof\relax
+ \ifFC@appendix\FC@writefile{pof}{\string\doappendix}\fi\fi}{}%
+ \refstepcounter{plate}\iffigmark\marginpar{\fbox{\fnum@plate}}\fi
+ \def\@captype{plate}\if@filesw\FC@writefile{pof}{\string\begin{plate}}\fi
+ \@vpla}
+
+\def\endplate{\iffigcaps
+ \endgroup\if@filesw\FC@writefile{pof}{\string\end{plate}}\fi\else
+ \end@float\fi}
+
+\@namedef{plate*}{\iffigcaps \let\@tempb=\@zsplate \else
+ \let\@tempb=\@dblfloat\fi \@tempb{plate}}
+\def\@zsplate#1{\begingroup\set@literal\@ifnextchar[{\@splate}{\@splate[]}}
+\def\@splate[#1]{\@ifundefined{tf@pof}{\newwrite\tf@pof
+ \if@filesw\immediate\openout\tf@pof\jobname.\lof\relax
+ \ifFC@appendix\FC@writefile{pof}{\string\doappendix}\fi\fi}{}%
+ \refstepcounter{plate}\iffigmark\marginpar{\fbox{\fnum@plate}}\fi
+ \def\@captype{plate}\if@filesw\FC@writefile{pof}{\string\begin{plate}}\fi
+ \@vspla}
+
+\@namedef{endplate*}{\iffigcaps\endplate\else\end@dblfloat\fi}
+\def\table{\iffigcaps \let\@tempb=\@ztable \else \let\@tempb=\@float\fi
+ \@tempb{table}}
+\def\@ztable#1{\begingroup\set@literal\@ifnextchar[{\@table}{\@table[]}}
+\def\@table[#1]{\@ifundefined{tf@pot}{\newwrite\tf@pot
+ \if@filesw\immediate\openout\tf@pot\jobname.\lot\relax
+ \ifFC@appendix\FC@writefile{pot}{\string\doappendix}\fi\fi}{}%
+ \refstepcounter{table}\iffigmark\marginpar{\fbox{\fnum@table}}\fi
+ \def\@captype{table}\if@filesw\FC@writefile{pot}{\string\begin{table}}\fi
+ \@vtab}
+
+\def\endtable{\iffigcaps
+ \endgroup\if@filesw\FC@writefile{pot}{\string\end{table}}\fi\else
+ \spew@tblnotes
+ \end@float\fi}
+
+\@namedef{table*}{\iffigcaps \let\@tempb=\@zstable \else
+ \let\@tempb=\@dblfloat\fi \@tempb{table}}
+\def\@zstable#1{\begingroup\set@literal\@ifnextchar[{\@stable}{\@stable[]}}
+\def\@stable[#1]{\@ifundefined{tf@pot}{\newwrite\tf@pot
+ \if@filesw\immediate\openout\tf@pot\jobname.\lot\relax
+ \ifFC@appendix\FC@writefile{pot}{\string\doappendix}\fi\fi}{}%
+ \refstepcounter{table}\iffigmark\marginpar{\fbox{\fnum@table}}\fi
+ \def\@captype{table}\if@filesw\FC@writefile{pot}
+ {\string\begin{table}}%
+ \fi\@vstab}
+
+\@namedef{endtable*}{\iffigcaps\endtable\else
+ \spew@tblnotes
+ \end@dblfloat\fi}
+\AtBeginDocument{\let\FC@ltab=\longtable
+ \let\FC@endltab=\endlongtable
+\def\longtable{\iffigcaps \let\@tempb=\@ltable \else
+ \let\@tempb=\FC@ltab\fi \@tempb}
+\def\@ltable{\begingroup\set@literal
+ \@ifundefined{tf@pot}{\newwrite\tf@pot
+ \if@filesw\immediate\openout\tf@pot\jobname.\lot\relax
+ \ifFC@appendix\FC@writefile{pot}{\string\doappendix}\fi\fi}{}%
+ \refstepcounter{table}\iffigmark\marginpar{\fbox{\fnum@table}}\fi
+ \def\@captype{table}\if@filesw\FC@writefile{pot}
+ {\string\begin{longtable}}\fi \@vltab}
+\def\endlongtable{\iffigcaps
+ \endgroup\if@filesw\FC@writefile{pot}{\string\end{longtable}}\fi\else
+ \FC@endltab\fi}
+\@ifpackageloaded{longtable}{%
+\def\LT@makecaption#1#2#3{%
+ \LT@mcol\LT@cols c{\hbox to\z@{\hss\parbox[t]\LTcapwidth{%
+ \@makecaption{#1{#2}}{#3}%
+ \endgraf\vskip\baselineskip}%
+ \hss}}}}{}
+\@ifpackageloaded{afterpage}{%
+ \let\FC@afterpage=\afterpage
+ \def\afterpage{\iffigcaps \let\@tempb\relax \else \let\@tempb\FC@afterpage\fi
+ \@tempb}}{}
+ }
+\let\aguplano=\planotable
+\let\endaguplano=\endplanotable
+
+\def\planotable{\iffigcaps \let\@tempb=\@ptable \else
+ \let\@tempb=\aguplano\fi \@tempb}
+\def\@ptable{\begingroup\set@literal
+ \@ifundefined{tf@pot}{\newwrite\tf@pot
+ \if@filesw\immediate\openout\tf@pot\jobname.\lot\relax
+ \ifFC@appendix\FC@writefile{pot}{\string\doappendix}\fi\fi}{}%
+ \refstepcounter{table}\iffigmark\marginpar{\fbox{\fnum@table}}\fi
+ \def\@captype{table}\if@filesw\FC@writefile{pot}
+ {\string\begin{planotable}}\fi \@vptab}
+
+\def\endplanotable{\iffigcaps
+ \endgroup\if@filesw\FC@writefile{pot}{\string\end{planotable}}\fi\else
+ \endaguplano\fi}
+\def\tableofcontents{%
+ \PackageWarningNoLine{figcaps}
+ {Ignored: \protect\tableofcontents\space command}}
+\def\listoffigures{%
+ \PackageWarningNoLine{figcaps}
+ {Ignored: \protect\listoffigures\space command}}
+\def\listoftables{%
+ \PackageWarningNoLine{figcaps}
+ {Ignored: \protect\listoftables\space command}}
+\def\listofplates{%
+ \PackageWarningNoLine{figcaps}
+ {Ignored: \protect\listofplates\space command}}
+\def\addtocontents#1#2{\relax}
+\def\addcontentsline#1#2#3{\relax}
+{\catcode`\^^M=\active \gdef\cr@relax{\catcode`\^^M=\active \let^^M=\relax}}
+\def\set@literal{\cr@relax \let\do\@makeother\dospecials}
+\def\@figurecaps{\@ifundefined{tf@pof}{}{\if@filesw
+ \immediate\closeout\tf@pof\fi
+ \@ifundefined{appendixname}{}{\def\appendixname{}}
+ \noappendix
+ \parindent\z@
+ \reset@figtab\clearpage\section*{\figurecapname}\vspace{1cm}%
+ \@mkboth{\uppercase{\figurecapname}}{\uppercase{\figurecapname}}%
+ \addcontentsline{toc}{section}{\figurecapname}%
+ \def\figure{\def\addcontentsline####1####2####3{}%
+ \def\@captype{figure}%
+ \vbox\bgroup
+ }\def\endfigure{\egroup\bigskip}%
+ \def\plate{\def\addcontentsline####1####2####3{}%
+ \def\@captype{plate}%
+ \vbox\bgroup
+ }\let\endplate=\endfigure
+ {\let\@makecaption=\@makefcaption
+ \def\@figbox##1##2##3{\relax}
+ \@input{\jobname.\lof}}%
+ \clearpage}}%
+\def\@tablepage{\@ifundefined{tf@pot}{}{\if@filesw
+ \immediate\closeout\tf@pot\fi
+ \@ifundefined{appendixname}{}{\def\appendixname{}}
+ \noappendix
+ \parindent\z@
+ \reset@figtab\clearpage\section*{\tablepagename}
+ \@mkboth{\uppercase{\tablepagename}}{\uppercase{\tablepagename}}%
+ \def\table{\def\@captype{table}\vbox\bgroup
+ }\def\endtable{\spew@tblnotes\egroup\bigskip}%
+ \let\planotable=\aguplano \let\endplanotable=\endaguplano
+ \def\@float##1{\def\@captype{table}\vbox\bgroup}
+ \let\@dblfloat=\@float \let\clearpage=\newpage
+ \def\longtable{\newpage\FC@ltab} \let\endlongtable=\FC@endltab
+ \@input{\jobname.\lot}
+ \clearpage}}
+\def\printfigures{\@figpagetrue}
+\def\@figurepage{\if@figpage\@ifundefined{tf@pof}{}{%
+ \@ifundefined{appendixname}{}{\def\appendixname{}}
+ \noappendix \parindent\z@
+ \reset@figtab\clearpage\section*{\figurepagename}%
+ \@mkboth{\uppercase{\figurepagename}}{\uppercase{\figurepagename}}%
+ \begingroup
+ \def\figurewidth##1{\pt@width##1\hsize##1}
+ \def\figure{\def\@captype{figure}\vbox\bgroup}\def\endfigure{\egroup
+ \vspace{20pt}}%
+ \let\platewidth=\figurewidth
+ \def\plate{\def\@captype{plate}\vbox\bgroup}\let\endplate=\endfigure
+ \def\label##1{}%
+ \@input{\jobname.\lof}\newpage\endgroup}\fi}
+\def\reset@figtab{%
+ \setcounter{figure}{0}\setcounter{table}{0}
+ \setcounter{plate}{0}
+}
+\AtEndDocument{\iffigcaps\@figurecaps\@tablepage\@figurepage\fi}
+\let\@appendix=\appendix
+\newif\ifFC@appendix \FC@appendixfalse
+\def\appendix{\FC@appendixtrue
+ \@ifundefined{tf@pof}{}{\if@filesw\FC@writefile{pof}{\string\doappendix}\fi}%
+ \@ifundefined{tf@pot}{}{\if@filesw\FC@writefile{pot}{\string\doappendix}\fi}%
+ \global\let\@section=\section
+ \doappendix
+ \let\@@section=\section
+ \def\section{%
+ \@ifundefined{tf@pof}{}{\if@filesw\FC@writefile{pof}{\string
+ \stepcounter{section}}\fi}%
+ \@ifundefined{tf@pot}{}{\if@filesw\FC@writefile{pot}{\string
+ \stepcounter{section}}\fi}%
+ \@@section}
+ \global\let\reset@figtab=\@unappendix}
+\def\doappendix{%
+ \global\let\@thefigure=\thefigure
+ \global\let\@thetable=\thetable
+ \global\let\@theplate=\theplate
+ \global\let\@cl@section=\cl@section
+ \@appendix
+}
+\def\@unappendix{\FC@appendixfalse
+ \setcounter{figure}{0}\setcounter{table}{0}
+ \let\thefigure=\@thefigure
+ \let\thetable=\@thetable
+ \setcounter{plate}{0}%
+ \let\theplate=\@theplate
+ \let\cl@section=\@cl@section
+ \let\section=\@section
+}
+\let\orisubon=\sublabon
+\let\orisuboff=\sublaboff
+\def\sublabon#1{\orisubon{#1}\if@filesw
+ \iffigcaps\def\@tempb{#1}
+ \def\@tempa{figure}\ifx\@tempa\@tempb
+ \@ifundefined{tf@pof}{\newwrite\tf@pof
+ \immediate\openout\tf@pof\jobname.\lof}{}%
+ \FC@writefile{pof}{\string\orisubon{#1}}\fi
+ \def\@tempa{plate}\ifx\@tempa\@tempb
+ \@ifundefined{tf@pof}{\newwrite\tf@pof
+ \immediate\openout\tf@pof\jobname.\lof}{}%
+ \FC@writefile{pof}{\string\orisubon{#1}}\fi
+ \def\@tempa{table}\ifx\@tempa\@tempb
+ \@ifundefined{tf@pot}{\newwrite\tf@pot
+ \immediate\openout\tf@pot\jobname.\lot}{}%
+ \FC@writefile{pot}{\string\orisubon{#1}}\fi
+\fi\fi}
+\def\sublaboff#1{\orisuboff{#1}\if@filesw
+ \iffigcaps\def\@tempb{#1}
+ \def\@tempa{figure}\ifx\@tempa\@tempb
+ \@ifundefined{tf@pof}{\newwrite\tf@pof
+ \immediate\openout\tf@pof\jobname.\lof}{}%
+ \FC@writefile{pof}{\string\orisuboff{#1}}\fi
+ \def\@tempa{plate}\ifx\@tempa\@tempb
+ \@ifundefined{tf@pof}{\newwrite\tf@pof
+ \immediate\openout\tf@pof\jobname.\lof}{}%
+ \FC@writefile{pof}{\string\orisuboff{#1}}\fi
+ \def\@tempa{table}\ifx\@tempa\@tempb
+ \@ifundefined{tf@pot}{\newwrite\tf@pot
+ \immediate\openout\tf@pot\jobname.\lot}{}%
+ \FC@writefile{pot}{\string\orisuboff{#1}}\fi
+\fi\fi}
+\def\figbox{\@ifstar{\let\agubox\makebox\@figbox}
+ {\let\agubox\framebox\@figbox}}
+\def\@figbox#1#2#3{\hbox to \hsize{\hfil
+ \ifx!#1!\agubox{#3}\else
+ \agubox[#1][c]{\ifx!#2!#3\else\@tempdima#2\relax
+ \divide\@tempdima by2\relax
+ \advance\@tempdima by-\fboxsep \advance\@tempdima by-\fboxrule
+ \vrule\@height\@tempdima\@depth\@tempdima\@width\z@
+ \vbox to \z@{\vss\hbox{#3}\vss}\fi}\fi\hfil}}
+\figmarktrue
+\if@preprint \figcapsfalse
+ \def\figurewidth#1{\pt@width=\hsize}
+ \def\platewidth#1{\pt@width=\hsize}
+\fi
+\if@draft
+ \def\figurewidth#1{\pt@width=\hsize}
+ \def\platewidth#1{\pt@width=\hsize}
+\fi
+\let\ori@makecap=\@makecaption
+\def\@makefcaption#1#2{{\if@dblcap\if@camera\pt@width=\textwidth
+ \ori@makecap{#1}{#2}
+ \pt@width=\wpt@width
+ \hsize=\pt@width
+ \vskip10pt \def\label##1{}\fi\fi
+ \ori@makecap{#1}{#2}}
+}
+\newdimen\wpt@width
+\newif\if@dblcap \@dblcapfalse
+\def\doublecaption#1{\wpt@width=#1\relax\@dblcaptrue}
+%% Copyright 1993-1999 Patrick W Daly
+%% Max-Planck-Institut f\"ur Aeronomie
+%% Max-Planck-Str. 2
+%% D-37191 Katlenburg-Lindau
+%% Germany
+%% E-mail: daly@linmpi.mpg.de
+\def\ModuleVersion#1[#2]{}
+ \ModuleVersion{natbib}
+ [1999/05/28 7.0 (PWD)]
+\newcommand\NAT@open{[} \newcommand\NAT@close{]}
+\newcommand\NAT@sep{;} \newcommand\NAT@cmt{, }
+\newcommand\NAT@aysep{,} \newcommand\NAT@yrsep{,~}
+\def\NAT@sort{0}
+\def\NAT@nmfmt#1{{\NAT@up#1}}
+\renewcommand\@cite%
+ [3]{\ifNAT@swa\NAT@@open\if*#2*\else#2\ \fi
+ #1\if*#3*\else\NAT@cmt#3\fi\NAT@@close\else#1\fi\endgroup}
+\providecommand\@firstofone[1]{#1}
+\let\citenumfont=\relax
+\def\@citex%
+ [#1][#2]#3{%
+ \NAT@sort@cites{#3}%
+ \let\@citea\@empty
+ \@cite{\let\NAT@nm\@empty\let\NAT@year\@empty
+ \@for\@citeb:=\NAT@cite@list\do
+ {\edef\@citeb{\expandafter\@firstofone\@citeb}%
+ \if@filesw\immediate\write\@auxout{\string\citation{\@citeb}}\fi
+ \@ifundefined{b@\@citeb\@extra@b@citeb}{\@citea%
+ {\reset@font\bfseries ?}\NAT@citeundefined
+ \PackageWarning{natbib}%
+ {Citation `\@citeb' on page \thepage \space undefined}\def\NAT@date{}}%
+ {\let\NAT@last@nm=\NAT@nm\let\NAT@last@yr=\NAT@year
+ \NAT@parse{\@citeb}%
+ \ifNAT@full\let\NAT@nm\NAT@all@names\else
+ \let\NAT@nm\NAT@name\fi
+ \ifNAT@swa\ifcase\NAT@ctype
+ \if\relax\NAT@date\relax
+ \@citea\hyper@natlinkstart{\@citeb\@extra@b@citeb}%
+ \NAT@nmfmt{\NAT@nm}\NAT@date\hyper@natlinkend
+ \else
+ \ifx\NAT@last@nm\NAT@nm\NAT@yrsep
+ \ifx\NAT@last@yr\NAT@year
+ \hyper@natlinkstart{\@citeb\@extra@b@citeb}\NAT@exlab
+ \hyper@natlinkend
+ \else\unskip\
+ \hyper@natlinkstart{\@citeb\@extra@b@citeb}\NAT@date
+ \hyper@natlinkend
+ \fi
+ \else\@citea\hyper@natlinkstart{\@citeb\@extra@b@citeb}%
+ \NAT@nmfmt{\NAT@nm}%
+ \hyper@natlinkbreak{\NAT@aysep\ }{\@citeb\@extra@b@citeb}%
+ \NAT@date\hyper@natlinkend
+ \fi
+ \fi
+ \or\@citea\hyper@natlinkstart{\@citeb\@extra@b@citeb}%
+ \NAT@nmfmt{\NAT@nm}\hyper@natlinkend
+ \or\@citea\hyper@natlinkstart{\@citeb\@extra@b@citeb}%
+ \NAT@date\hyper@natlinkend
+ \or\@citea\hyper@natlinkstart{\@citeb\@extra@b@citeb}%
+ \NAT@alias\hyper@natlinkend
+ \fi \def\@citea{\NAT@sep\ }%
+ \else\ifcase\NAT@ctype
+ \if\relax\NAT@date\relax
+ \@citea\hyper@natlinkstart{\@citeb\@extra@b@citeb}%
+ \NAT@nmfmt{\NAT@nm}\hyper@natlinkend
+ \else
+ \ifx\NAT@last@nm\NAT@nm\NAT@yrsep
+ \ifx\NAT@last@yr\NAT@year
+ \hyper@natlinkstart{\@citeb\@extra@b@citeb}\NAT@exlab
+ \hyper@natlinkend
+ \else\unskip\
+ \hyper@natlinkstart{\@citeb\@extra@b@citeb}\NAT@date
+ \hyper@natlinkend
+ \fi
+ \else\@citea\hyper@natlinkstart{\@citeb\@extra@b@citeb}%
+ \NAT@nmfmt{\NAT@nm}%
+ \hyper@natlinkbreak{\ \NAT@@open\if*#1*\else#1\ \fi}%
+ {\@citeb\@extra@b@citeb}%
+ \NAT@date\hyper@natlinkend\fi
+ \fi
+ \or\@citea\hyper@natlinkstart{\@citeb\@extra@b@citeb}%
+ \NAT@nmfmt{\NAT@nm}\hyper@natlinkend
+ \or\@citea\hyper@natlinkstart{\@citeb\@extra@b@citeb}%
+ \NAT@date\hyper@natlinkend
+ \or\@citea\hyper@natlinkstart{\@citeb\@extra@b@citeb}%
+ \NAT@alias\hyper@natlinkend
+ \fi \if\relax\NAT@date\relax\def\@citea{\NAT@sep\ }%
+ \else\def\@citea{\NAT@@close\NAT@sep\ }\fi
+ \fi
+ }}\ifNAT@swa\else\if*#2*\else\NAT@cmt#2\fi
+ \if\relax\NAT@date\relax\else\NAT@@close\fi\fi}{#1}{#2}}
+\newif\ifNAT@par \NAT@partrue
+\newcommand\NAT@@open{\ifNAT@par\NAT@open\fi}
+\newcommand\NAT@@close{\ifNAT@par\NAT@close\fi}
+\newcommand\NAT@alias{\@ifundefined{al@\@citeb\@extra@b@citeb}{%
+ {\reset@font\bfseries(alias?)}\PackageWarning{natbib}
+ {Alias undefined for citation `\@citeb'
+ \MessageBreak on page \thepage}}{\@nameuse{al@\@citeb\@extra@b@citeb}}}
+\let\NAT@up\relax
+\newcommand\NAT@Up[1]{{\let\protect\@unexpandable@protect\let~\relax
+ \expandafter\NAT@deftemp#1}\expandafter\NAT@UP\NAT@temp}
+\newcommand\NAT@deftemp[1]{\xdef\NAT@temp{#1}}
+\newcommand\NAT@UP[1]{\let\@tempa\NAT@UP\ifcat a#1\MakeUppercase{#1}%
+ \let\@tempa\relax\else#1\fi\@tempa}
+\renewcommand\@biblabel[1]{\hfill}
+\AtBeginDocument{\ifx\SK@def\@undefined\else
+\ifx\SK@cite\@empty\else
+ \SK@def\@citex[#1][#2]#3{\SK@\SK@@ref{#3}\SK@@citex[#1][#2]{#3}}\fi
+\ifx\SK@citeauthor\@undefined\def\HAR@checkdef{}\else
+ \let\citeauthor\SK@citeauthor
+ \let\citefullauthor\SK@citefullauthor
+ \let\citeyear\SK@citeyear\fi
+\fi}
+\newif\ifNAT@full\NAT@fullfalse
+\newif\ifNAT@swa
+\DeclareRobustCommand\citet
+ {\begingroup\NAT@swafalse\def\NAT@ctype{0}\NAT@partrue
+ \@ifstar{\NAT@fulltrue\NAT@citetp}{\NAT@fullfalse\NAT@citetp}}
+\newcommand\NAT@citetp{\@ifnextchar[{\NAT@@citetp}{\NAT@@citetp[]}}
+\newcommand\NAT@@citetp{}
+\def\NAT@@citetp[#1]{\@ifnextchar[{\@citex[#1]}{\@citex[][#1]}}
+\DeclareRobustCommand\citep
+ {\begingroup\NAT@swatrue\def\NAT@ctype{0}\NAT@partrue
+ \@ifstar{\NAT@fulltrue\NAT@citetp}{\NAT@fullfalse\NAT@citetp}}
+\DeclareRobustCommand\cite
+ {\begingroup\def\NAT@ctype{0}\NAT@partrue\NAT@swatrue
+ \@ifstar{\NAT@fulltrue\NAT@cites}{\NAT@fullfalse\NAT@cites}}
+\newcommand\NAT@cites{\@ifnextchar [{\NAT@@citetp}{%
+ \NAT@swafalse
+ \NAT@@citetp[]}}
+\DeclareRobustCommand\citealt
+ {\begingroup\NAT@swafalse\def\NAT@ctype{0}\NAT@parfalse
+ \@ifstar{\NAT@fulltrue\NAT@citetp}{\NAT@fullfalse\NAT@citetp}}
+\DeclareRobustCommand\citealp
+ {\begingroup\NAT@swatrue\def\NAT@ctype{0}\NAT@parfalse
+ \@ifstar{\NAT@fulltrue\NAT@citetp}{\NAT@fullfalse\NAT@citetp}}
+\DeclareRobustCommand\citeauthor
+ {\begingroup\NAT@swafalse\def\NAT@ctype{1}\NAT@parfalse
+ \@ifstar{\NAT@fulltrue\NAT@citetp}{\NAT@fullfalse\NAT@citetp}}
+\DeclareRobustCommand\Citet
+ {\begingroup\NAT@swafalse\def\NAT@ctype{0}\NAT@partrue
+ \let\NAT@up\NAT@Up
+ \@ifstar{\NAT@fulltrue\NAT@citetp}{\NAT@fullfalse\NAT@citetp}}
+\DeclareRobustCommand\Citep
+ {\begingroup\NAT@swatrue\def\NAT@ctype{0}\NAT@partrue
+ \let\NAT@up\NAT@Up
+ \@ifstar{\NAT@fulltrue\NAT@citetp}{\NAT@fullfalse\NAT@citetp}}
+\DeclareRobustCommand\Citeauthor
+ {\begingroup\NAT@swafalse\def\NAT@ctype{1}\NAT@parfalse
+ \let\NAT@up\NAT@Up
+ \@ifstar{\NAT@fulltrue\NAT@citetp}{\NAT@fullfalse\NAT@citetp}}
+\DeclareRobustCommand\citeyear
+ {\begingroup\NAT@swafalse\def\NAT@ctype{2}\NAT@parfalse\NAT@citetp}
+\DeclareRobustCommand\citeyearpar
+ {\begingroup\NAT@swatrue\def\NAT@ctype{2}\NAT@partrue\NAT@citetp}
+\newcommand\citetext[1]{\NAT@open#1\NAT@close}
+\DeclareRobustCommand\citefullauthor
+ {\citeauthor*}
+\newcommand\defcitealias[2]{%
+ \@ifundefined{al@#1\@extra@b@citeb}{}
+ {\PackageWarning{natbib}{Overwriting existing alias for citation #1}}
+ \@namedef{al@#1\@extra@b@citeb}{#2}}
+\DeclareRobustCommand\citetalias{\begingroup
+ \NAT@swafalse\def\NAT@ctype{3}\NAT@parfalse\NAT@citetp}
+\DeclareRobustCommand\citepalias{\begingroup
+ \NAT@swatrue\def\NAT@ctype{3}\NAT@partrue\NAT@citetp}
+\renewcommand\nocite[1]{\@bsphack
+ \@for\@citeb:=#1\do{%
+ \edef\@citeb{\expandafter\@firstofone\@citeb}%
+ \if@filesw\immediate\write\@auxout{\string\citation{\@citeb}}\fi
+ \if*\@citeb\else
+ \@ifundefined{b@\@citeb\@extra@b@citeb}{%
+ \NAT@citeundefined \PackageWarning{natbib}%
+ {Citation `\@citeb' undefined}}{}\fi}%
+ \@esphack}
+\newcommand\NAT@parse[1]{{%
+ \let\protect=\@unexpandable@protect\let~\relax
+ \let\active@prefix=\@gobble
+ \xdef\NAT@temp{\csname b@#1\@extra@b@citeb\endcsname}}%
+ \expandafter\NAT@split\NAT@temp
+ \expandafter\NAT@parse@date\NAT@date??????@@%
+}
+\newcommand\NAT@split[4]{%
+ \gdef\NAT@num{#1}\gdef\NAT@name{#3}\gdef\NAT@date{#2}%
+ \gdef\NAT@all@names{#4}%
+ \ifx\NAT@noname\NAT@all@names \gdef\NAT@all@names{#3}\fi}
+\newcommand\NAT@parse@date{}
+\def\NAT@parse@date#1#2#3#4#5#6@@{%
+ \ifnum\the\catcode`#1=11\def\NAT@year{}\def\NAT@exlab{#1}\else
+ \ifnum\the\catcode`#2=11\def\NAT@year{#1}\def\NAT@exlab{#2}\else
+ \ifnum\the\catcode`#3=11\def\NAT@year{#1#2}\def\NAT@exlab{#3}\else
+ \ifnum\the\catcode`#4=11\def\NAT@year{#1#2#3}\def\NAT@exlab{#4}\else
+ \def\NAT@year{#1#2#3#4}\def\NAT@exlab{{#5}}\fi\fi\fi\fi}
+\newcommand\NAT@ifcmd{\futurelet\NAT@temp\NAT@ifxcmd}
+\newcommand\NAT@ifxcmd{\ifx\NAT@temp\relax\else\expandafter\NAT@bare\fi}
+\def\NAT@bare#1(#2)#3(@)#4\@nil#5{%
+ \stepcounter{NAT@ctr}%
+ \NAT@wrout{\arabic {NAT@ctr}}{#2}{#1}{#3}{#5}
+}
+\newcommand\NAT@wrout[5]{%
+\if@filesw
+ {\let\protect\noexpand\let~\relax
+ \immediate
+ \write\@auxout{\string\bibcite{#5}{{#1}{#2}{{#3}}{{#4}}}}}\fi
+\ignorespaces}
+\def\NAT@noname{{}}
+\renewcommand\bibitem{%
+ \@ifnextchar[{\@lbibitem}{%
+ \stepcounter{NAT@ctr}\@lbibitem[\arabic{NAT@ctr}]}}
+\def\@lbibitem[#1]#2{%
+ \if\relax\@extra@b@citeb\relax\else
+ \@ifundefined{br@#2\@extra@b@citeb}{}{%
+ \@namedef{br@#2}{\@nameuse{br@#2\@extra@b@citeb}}}\fi
+ \@ifundefined{b@#2\@extra@b@citeb}{\def\NAT@num{}}{\NAT@parse{#2}}%
+ \item[\hfil\hyper@natanchorstart{#2\@extra@b@citeb}\@biblabel{\NAT@num}%
+ \hyper@natanchorend]%
+ \NAT@ifcmd#1(@)(@)\@nil{#2}}
+\ifx\SK@lbibitem\@undefined\else
+ \let\SK@lbibitem\@lbibitem
+ \def\@lbibitem[#1]#2{%
+ \SK@lbibitem[#1]{#2}\SK@\SK@@label{#2}\ignorespaces}\fi
+\providecommand\bibcite{}
+\renewcommand\bibcite[2]{\@ifundefined{b@#1\@extra@binfo}\relax
+ {\NAT@citemultiple
+ \PackageWarningNoLine{natbib}{Citation `#1' multiply defined}}%
+ \global\@namedef{b@#1\@extra@binfo}{#2}}
+\AtEndDocument{\NAT@swatrue\let\bibcite\NAT@testdef}
+\newcommand\NAT@testdef[2]{%
+ \def\NAT@temp{#2}\expandafter \ifx \csname b@#1\@extra@binfo\endcsname
+ \NAT@temp \else \ifNAT@swa \NAT@swafalse
+ \PackageWarningNoLine{natbib}{Citation(s) may have
+ changed.\MessageBreak
+ Rerun to get citations correct}\fi\fi}
+\newcounter{NAT@ctr}
+\let\aguthebib=\thebibliography
+\def\thebibliography#1{\noappendix\aguthebib{#1}}
+\providecommand\reset@font{\relax}
+\providecommand\bibname{Bibliography}
+\providecommand\refname{References}
+\newcommand\NAT@citeundefined{\gdef \NAT@undefined {%
+ \PackageWarningNoLine{natbib}{There were undefined citations}}}
+\let \NAT@undefined \relax
+\newcommand\NAT@citemultiple{\gdef \NAT@multiple {%
+ \PackageWarningNoLine{natbib}{There were multiply defined citations}}}
+\let \NAT@multiple \relax
+\AtEndDocument{\NAT@undefined\NAT@multiple}
+\providecommand\@mkboth[2]{}
+\providecommand\MakeUppercase{\uppercase}
+\providecommand{\@extra@b@citeb}{}
+\gdef\@extra@binfo{}
+\providecommand\hyper@natanchorstart[1]{}
+\providecommand\hyper@natanchorend{}
+\providecommand\hyper@natlinkstart[1]{}
+\providecommand\hyper@natlinkend{}
+\providecommand\hyper@natlinkbreak[2]{#1}
+\AtBeginDocument{\@ifundefined{bbl@redefine}{}{%
+\let\@citex\org@@citex
+\bbl@redefine\@citex[#1][#2]#3{%
+ \@safe@activestrue\org@@citex[#1][#2]{#3}\@safe@activesfalse}%
+\bbl@redefine\NAT@testdef#1#2{%
+ \@safe@activestrue\org@NAT@testdef{#1}{#2}\@safe@activesfalse}%
+\@ifundefined{org@@lbibitem}{%
+\bbl@redefine\@lbibitem[#1]#2{%
+ \@safe@activestrue\org@@lbibitem[#1]{#2}\@safe@activesfalse}}{}%
+}}
+\ifnum\NAT@sort>0
+\newcommand\NAT@sort@cites[1]{%
+\@tempcntb\m@ne
+\let\@celt\delimiter
+\def\NAT@num@list{}%
+\def\NAT@cite@list{}%
+\def\NAT@nonsort@list{}%
+\@for \@citeb:=#1\do{\NAT@make@cite@list}%
+\edef\NAT@cite@list{\NAT@cite@list\NAT@nonsort@list}%
+\edef\NAT@cite@list{\expandafter\NAT@xcom\NAT@cite@list @@}}
+\begingroup \catcode`\_=8
+\gdef\NAT@make@cite@list{%
+ \edef\@citeb{\expandafter\@firstofone\@citeb}%
+ \@ifundefined{b@\@citeb\@extra@b@citeb}{\def\NAT@num{A}}%
+ {\NAT@parse{\@citeb}}%
+ \ifcat _\ifnum\z@<0\NAT@num _\else A\fi
+ \@tempcnta\NAT@num \relax
+ \ifnum \@tempcnta>\@tempcntb
+ \edef\NAT@num@list{\NAT@num@list \@celt{\NAT@num}}%
+ \edef\NAT@cite@list{\NAT@cite@list\@citeb,}%
+ \@tempcntb\@tempcnta
+ \else
+ \let\NAT@@cite@list=\NAT@cite@list \def\NAT@cite@list{}%
+ \edef\NAT@num@list{\expandafter\NAT@num@celt \NAT@num@list \@gobble @}%
+ {\let\@celt=\NAT@celt\NAT@num@list}%
+ \fi
+ \else
+ \edef\NAT@nonsort@list{\NAT@nonsort@list\@citeb,}%
+ \fi}
+\endgroup
+\def\NAT@celt#1{\ifnum #1<\@tempcnta
+ \xdef\NAT@cite@list{\NAT@cite@list\expandafter\NAT@nextc\NAT@@cite@list @@}%
+ \xdef\NAT@@cite@list{\expandafter\NAT@restc\NAT@@cite@list}%
+ \else
+ \xdef\NAT@cite@list{\NAT@cite@list\@citeb,\NAT@@cite@list}\let\@celt\@gobble%
+ \fi}
+\def\NAT@num@celt#1#2{\ifx \@celt #1%
+ \ifnum #2<\@tempcnta
+ \@celt{#2}%
+ \expandafter\expandafter\expandafter\NAT@num@celt
+ \else
+ \@celt{\number\@tempcnta}\@celt{#2}%
+ \fi\fi}
+\def\NAT@nextc#1,#2@@{#1,}
+\def\NAT@restc#1,#2{#2}
+\def\NAT@xcom#1,@@{#1}
+\else
+ \newcommand\NAT@sort@cites[1]{\edef\NAT@cite@list{#1}}\fi
+%% Copyright 1993-1999 Patrick W Daly
+%% Max-Planck-Institut f\"ur Aeronomie
+%% Max-Planck-Str. 2
+%% D-37191 Katlenburg-Lindau
+%% Germany
+%% E-mail: daly@linmpi.mpg.de
+\def\ModuleVersion#1[#2]{}
+ \ModuleVersion{balance}
+ [1999/02/23 4.3 (PWD)]
+\newcommand{\@BAlancecol}{\if@twocolumn
+ \setbox0=\vbox{\unvbox\@outputbox} \@tempdima=\ht0
+ \advance\@tempdima by \topskip \advance\@tempdima
+ by -\baselineskip \divide\@tempdima by 2
+ \splittopskip=\topskip
+ {\vbadness=\@M \loop \global\setbox3=\copy0
+ \global\setbox1=\vsplit3 to \@tempdima
+ \ifdim\ht3>\@tempdima \global\advance\@tempdima by 1pt \repeat}
+ \setbox\@leftcolumn=\vbox to \@tempdima{\unvbox1\vfil}
+ \setbox\@outputbox=\vbox to \@tempdima
+ {\dimen2=\dp3\unvbox3\kern-\dimen2
+ \vfil}
+ \fi}
+\newif\if@BAlanceone
+\global\@BAlanceonefalse
+\newdimen\oldvsize
+\newcommand{\@BAdblcol}{\if@firstcolumn
+ \unvbox\@outputbox \penalty\outputpenalty
+ \global\oldvsize=\@colht \global\multiply \@colht by 2
+ \global\@BAlanceonetrue
+ \global\@firstcolumnfalse
+ \else \global\@firstcolumntrue
+ \if@BAlanceone
+ \global\@BAlanceonefalse\@BAlancecol
+ \global\@colht=\oldvsize \else
+ \PackageWarningNoLine{balance}
+ {You have called \protect\balance\space
+ in second column\MessageBreak
+ Columns might not be balanced}\fi
+ \setbox\@outputbox\vbox to \@colht{\hbox to\textwidth
+ {\hbox to\columnwidth {\box\@leftcolumn \hss}\hfil
+ \vrule width\columnseprule\hfil \hbox to\columnwidth
+ {\box\@outputbox \hss}}\vfil}\@combinedblfloats
+ \@outputpage \begingroup \@dblfloatplacement
+ \@startdblcolumn \@whilesw\if@fcolmade \fi
+ {\@outputpage\@startdblcolumn}\endgroup
+ \fi}
+\newcommand{\@BAcleardblpage}{\clearpage\if@twoside \ifodd\c@page\else
+ \hbox{}\newpage\fi\fi}
+\newcommand{\@@cleardblpage}{}
+\let\@@cleardblpage=\cleardoublepage
+
+\newcommand{\@@utputdblcol}{}
+\let\@@utputdblcol=\@outputdblcol
+\newcommand{\balance}{\global\let\@outputdblcol=\@BAdblcol
+ \global\let\cleardoublepage=\@BAcleardblpage}
+\newcommand{\nobalance}{\global\let\@outputdblcol=\@@utputdblcol
+ \global\let\cleardoublepage=\@@cleardblpage}
+\endinput
+%%
+%% End of file `aguplus.cls'.
diff --git a/macros/latex/contrib/aguplus/aguplus.pdf b/macros/latex/contrib/aguplus/aguplus.pdf
new file mode 100644
index 0000000000..5d90efe7ff
--- /dev/null
+++ b/macros/latex/contrib/aguplus/aguplus.pdf
Binary files differ
diff --git a/macros/latex/contrib/aguplus/aguplus.sty b/macros/latex/contrib/aguplus/aguplus.sty
new file mode 100644
index 0000000000..5775c5e9b6
--- /dev/null
+++ b/macros/latex/contrib/aguplus/aguplus.sty
@@ -0,0 +1,1103 @@
+%% File: aguplus.sty
+%% =============================================
+%% IMPORTANT NOTICE:
+%% See the copyright and distribution conditions below.
+%% =============================================
+%% AGU++ (style option LaTeX 2.09)
+%% ---------------------------------
+%% An unofficial LaTeX extension to
+%% the official AGU package AGUTeX
+%% (This is a semi-supported version for
+%% the obsolete LaTeX 2.09. The author highly
+%% recommends switching to LaTeX2e and using
+%% the class file aguplus.cls instead.)
+%% ---------------------------------
+%% Copyright 1993-1999 Patrick W Daly
+%% Max-Planck-Institut f\"ur Aeronomie
+%% Max-Planck-Str. 2
+%% D-37191 Katlenburg-Lindau
+%% Germany
+%% E-mail: daly@linmpi.mpg.de
+%%
+%% This program can be redistributed and/or modified under the terms
+%% of the LaTeX Project Public License Distributed from CTAN
+%% archives in directory macros/latex/base/lppl.txt; either
+%% version 1 of the License, or any later version.
+%%
+%% This is a contributed file to the LaTeX2e system.
+%%
+\def\ProvidesClass#1 [#2 #3 #4]
+ {\typeout{Main style `#1' [#2 #3 #4]}%
+ \def\pckname{#1}\def\pckdate{#2}\def\pckversion{#3}%
+ \def\pckinfo{#4}}
+\ProvidesClass{aguplus}
+ [1999/08/19 1.6b (PWD)]
+ % THIS IS A LATEX 2.09 STYLE OPTION; it will not work with LaTeX2e
+ % except in compatibility mode
+ % This is AGU++, an extension to the AGU official package AGUTeX
+ % It fixes up some problems with AGUTeX, adds many extra features
+ % including putting figures, plates, tables in the text,
+ % decent author-year citations and BibTeX support,
+ % \title, \author, \affil allowed in preamble,
+ % supplemental abstract for JGR,
+ % balanced columns on last preprint page,
+ % sublabelling of counters figure, plate, table, equation.
+ %
+ % This package MUST be used in conjunction with one of the AGUTeX packages,
+ % (version 4.0 or earlier)
+ % and must follow it, as for example:
+ % \documentstyle[agupp,aguplus]{article}
+ % Other possible AGUTeX packages are: agums, agupp, jgrga, grlga, tecga,
+ % radga, rtjga, paleo
+ %
+ % See the manual AGUPLUS.TEX for details.
+ %--------------------------------------------------------------------
+\@ifundefined{revtex@genre}{\@latexerr{Option `\filename' must
+ come before the AGU option}{\@ehd}\def\@tempa{\endinput}}
+ {\def\@tempa{\relax}}
+\@tempa
+\@ifundefined{savecaption}{}{\let\caption\savecaption}
+\def\thetable{\@arabic\c@table}
+\newcommand{\optionlogo}{AGU$^{++}$}
+\renewcommand\revtex@pageid{%
+ \vspace{2em}\footnoterule{\footnotesize \parindent1.5em
+ This \revtex@genre\space was prepared with
+ \revtex@org{'s}\space \LaTeX\ macros v\revtex@ver,
+ with the extension package `\optionlogo' by P.~W. Daly, version
+ \packversion\ from \packdate.}}
+\newif\if@draft
+\newif\if@preprint
+\newif\if@camera
+\def\@tempa{manuscript}
+\ifx\revtex@genre\@tempa\@drafttrue\else\@draftfalse\fi
+\def\@tempa{preprint}
+\ifx\revtex@genre\@tempa\@preprinttrue\else\@preprintfalse\fi
+\def\@tempa{galley}
+\ifx\revtex@genre\@tempa\@cameratrue\else\@camerafalse\fi
+\@ifundefined{reset@font}{\def\reset@font{\relax}}{}
+\@ifundefined{p@LaTeX}{}{\def\LaTeX{\protect\p@LaTeX}}
+\def\@sect#1#2#3#4#5#6[#7]#8{\ifnum #2>\c@secnumdepth
+ \def\@svsec{}\else
+ \refstepcounter{#1}
+ \edef\@svsec{\sectype\csname the#1\endcsname\sectchar\hskip 1ex }\fi
+ \@tempskipa #5\relax
+ \ifdim \@tempskipa>\z@
+ \begingroup #6\relax
+ \@hangfrom{\hskip #3\relax{\@svsec}}{\interlinepenalty \@M #8\par}
+ \endgroup
+ \csname #1mark\endcsname{#7}\addcontentsline
+ {toc}{#1}{\ifnum #2>\c@secnumdepth \else
+ \protect\numberline{\csname the#1\endcsname}\fi
+ #7}\else
+ \def\@svsechd{#6\hskip #3{\@svsec} #8\csname #1mark\endcsname
+ {#7}\addcontentsline
+ {toc}{#1}{\ifnum #2>\c@secnumdepth \else
+ \protect\numberline{\csname the#1\endcsname}\fi
+ #7}}\fi
+ \@xsect{#5}}
+\def\@ssect#1#2#3#4#5{\@tempskipa #3\relax
+ \ifdim \@tempskipa>\z@
+ \begingroup #4
+ \@hangfrom{\hskip #1}{\interlinepenalty \@M \sectype\ssectchar#5\par}
+ \endgroup
+ \else \def\@svsechd{#4\hskip #1\relax \sectype\ssectchar#5}\fi
+ \@xsect{#3}}
+\def\sectchar{.} \def\ssectchar{} \def\sectype{}
+\def\@hangfrom#1{\noindent#1}
+\def\thesection{\@arabic{\c@section}}
+\def\thesubsection{\thesection.\@arabic{\c@subsection}}
+\def\thesubsubsection{\thesubsection.\@arabic{\c@subsubsection}}
+\def\theparagraph{\thesubsubsection.\@arabic{\c@paragraph}:}
+\def\sectionnumbers{\c@secnumdepth=3}
+\let\agureferences=\references
+\def\references{\noappendix\agureferences}
+\let\aguacknows=\acknowledgments
+\def\acknowledgments{\noappendix\aguacknows}
+\let\acknowledgements=\acknowledgments
+\let\aguacknow=\acknowledgment
+\def\acknowledgment{\noappendix\aguacknow}
+\let\acknowledgement=\acknowledgment
+\if@preprint
+\setlength{\columnsep}{.26in}
+\newdimen\@fmwidth \@fmwidth=33pc
+\def\auth@skip{12pt}
+\def\affil@skip{5pt}
+\def\agutitle#1{\@makeslugcmmnt
+\hsize\@fmwidth
+\par\noindent
+\parbox{\@fmwidth}%
+ {\pretolerance=10000
+ \raggedright
+ \Large\bf#1}}
+\def\aguauthor#1{%
+\par\vskip\auth@skip\noindent
+\parbox{\@fmwidth}%
+ {\pretolerance=10000
+ \raggedright
+ \large#1}
+\gdef\auth@skip{12pt}}
+\def\aguaffil#1{\par\vskip\affil@skip\noindent
+\parbox{\@fmwidth}%
+ {\pretolerance=10000
+ \raggedright
+ \small#1}}
+\def\aguabs{\par\vspace{4ex}\noindent
+\minipage{\@fmwidth}\pretolerance=100
+\@rightskip=\z@ plus 2em\rightskip\@rightskip
+\large
+{\bf Abstract.}}
+
+\def\endaguabs{\endminipage\vspace{2ex}}
+\newbox\@abstract
+\setbox\@abstract\vbox{}
+
+\def\abstract{\global\setbox\@abstract\vbox\bgroup
+ \aguabs}
+\def\endabstract{\endaguabs\egroup}
+\def\xmaketitle{
+\par
+ \begingroup
+ \clearpage
+ \twocolumn[\box\@title
+ \box\@abstract
+ \null]
+ \global\@topnum\z@
+ \thispagestyle{plain}
+ \ifx\@titlenote\empty \else
+ \global\@botnum\z@
+ \long\def\@makefntext##1{##1}
+ \footnotetext{{\parindent=1em\indent
+ \let\@elt=\par\@titlenote}}
+ \fi
+ \endgroup
+ \pt@width=\hsize
+ \setcounter{footnote}{0}
+ \global\let\xmaketitle\relax}
+\def\lefthead#1{\gdef\@versohead{#1}}
+\def\righthead#1{\gdef\@rectohead{#1}}
+\let\agusection=\section
+\def\section{\pagestyle{myheadings}
+\if@twoside \markboth{\@versohead}{\@rectohead} \else
+ \markright{\@versohead: \@rectohead} \fi
+\xmaketitle\agusection}
+\long\def\@makecaption#1#2{%
+ \vskip 10\p@
+ \setbox\@tempboxa\hbox{#1 #2}%
+ \ifdim \wd\@tempboxa >\hsize
+ #1 #2\par
+ \else
+ \hbox to\hsize{\hfil\box\@tempboxa\hfil}%
+ \fi}
+\def\fps@figure{tbp}
+\def\fps@plate{tbp}
+\def\fps@table{tbp}
+\else
+\let\agutitle=\title
+\let\aguaffil=\affil
+\let\aguauthor=\author
+\def\xmaketitle{\par \hsize\wd\@title
+\begingroup
+ \box\@title
+ \ifx\@titlenote\empty \else
+ \global\@botnum\z@
+ \long\def\@makefntext##1{##1}
+ \footnotetext{{\parindent=10pt\indent
+ \parskip=6pt\let\@elt=\par\@titlenote}}
+ \fi
+\endgroup
+ \setcounter{footnote}{0}
+ \global\let\xmaketitle\relax}
+\let\aguabs=\abstract
+\def\abstract{\xmaketitle\aguabs}
+\let\aguendabs=\endabstract
+\def\endabstract{\aguendabs\par}
+\let\agusection=\section
+\def\section{\xmaketitle\par\agusection}
+\fi
+\newbox\@title
+\setbox\@title=\vbox{}
+
+\def\title#1{\setbox\@title=\vbox{
+ \let\@nodocument=\relax
+ \agutitle{#1}}}
+\def\author#1{\setbox\@title=\vbox{\hsize=\wd\@title
+ \let\@nodocument=\relax
+ \box\@title \aguauthor{#1}}}
+\def\affil#1{\setbox\@title=\vbox{\hsize=\wd\@title
+ \let\@nodocument=\relax
+ \box\@title \aguaffil{#1}}}
+\def\altaffiltext#1#2{\let\@elt=\relax
+ \ifx\@titlenote\empty \def
+ \@titlenote{\altaffilmark{#1}#2} \else
+ \xdef\@titlenote{\@titlenote\@elt \altaffilmark{#1}#2}\fi}
+\def\@titlenote{}
+\let\maketitle=\xmaketitle
+\let\date=\slugcomment
+\newif\if@supabs \@supabsfalse
+\def\extraabstract{\global\@supabstrue}
+\if@camera
+\begingroup
+ \catcode `|=0 \catcode `[= 1
+ \catcode`]=2 \catcode `\{=12 \catcode `\}=12
+ \catcode`\^^M=13 \catcode`\\=12 %
+|long|gdef|@preabs#1\begin{abstract}[|endgroup|begin[abstract]]%
+|endgroup
+\long\def\supabs{\newpage \thispagestyle{empty}%
+ \parindent=1em
+ \hsize=20pc \reset@font\footnotesize
+ \noindent
+ \hbox to \hsize{\hfil Paper number \@paperid}\par\vskip1em}
+\def\endsupabs{\par\endinput}
+\def\dosupabs{{\def\documentstyle{\begingroup\set@literal\@preabs}
+\let\abstract=\supabs\let\endabstract=\endsupabs
+\input{\jobname}}}
+\let\keependdoc=\enddocument
+\def\enddocument{\if@supabs\dosupabs\fi\keependdoc}
+\fi
+\newenvironment{notation}[1]%
+ {\ifx#1\item\ClassError{aguplus}{%
+ The notation environment MUST have an argument:\MessageBreak
+ the longest symbol to appear in the listing}%
+ {Stop and add an argument to \protect\begin{notation}{sym}}\fi
+ \noappendix\section*{Notation}\begin{list}{}{%
+ \renewcommand\makelabel[1]{\hfill##1}%
+ \settowidth{\labelwidth}{#1}%
+ \setlength{\itemsep}{\z@}\setlength{\parsep}{\z@}%
+ \setlength{\leftmargin}{\labelwidth}%
+ \setlength{\labelsep}{1em}%
+ \addtolength{\leftmargin}{\labelsep}}}{\end{list}}
+\def\iftwocol#1#2{\if@draft#2\else#1\fi}
+\def\afour{\textheight=24cm
+ \if@draft \textwidth=15cm \fi
+ \if@preprint \textwidth=17.4cm \columnsep=0.5cm
+ \oddsidemargin=-0.5cm \evensidemargin=-0.9cm \hoffset=0pt\fi}
+\def\theHplate{\arabic{plate}}
+\if@preprint
+ % Begin coding from agupp.sty version 3.1
+\newbox\pt@box
+\newdimen\pt@width
+\newcount\pt@line
+\newcount\pt@nlines
+\newcount\pt@ncol
+\def\colhead#1{\omit\hidewidth{#1}\hidewidth\global\advance\pt@ncol by\@ne}
+\def\tablecaption#1{\gdef\pt@caption{#1}} \def\pt@caption{\relax}
+\def\tablehead#1{\gdef\pt@head{\\[-1.2ex]\hline\relax\\[-1.7ex]
+#1\hskip\tabcolsep\\[.7ex]\hline\relax\\[-1.5ex]}}
+\def\tabletail#1{\gdef\pt@tail{#1}} \def\pt@tail{\relax}
+\def\tablewidth#1{\pt@width=#1} \pt@width\textwidth
+\def\tableheadfrac#1{\gdef\pt@headfrac{#1}} \def\pt@headfrac{.1}
+\let\figurewidth=\tablewidth
+\def\pt@calcnlines{\@tempdima\pt@headfrac\textheight
+\@tempdimb\textheight\advance\@tempdimb by-\@tempdima
+\@tempdima\arraystretch\baselineskip
+\divide\@tempdimb by\@tempdima
+\global\pt@nlines\@tempdimb
+}
+\def\pt@tabular{\hbox \bgroup $\let\@acol\@ptabacol
+\let\@classz\@tabclassz
+\let\@classiv\@tabclassiv \let\\\@tabularcr\@tabarray}
+\def\@ptabacol{\edef\@preamble{\@preamble \hskip \tabcolsep\tabskip\fill}}
+\def\fnum@ptable{{\bf Table \thetable.}}
+\def\fnum@ptablecont{{\bf Table \thetable.} ({\rm continued})}
+\let\set@mkcaption=\relax
+\def\set@mkcaptioncont{\long\def\@makecaption##1##2{
+\hbox to\pt@width{##1\hfil}\vskip -0.8ex}}
+\renewenvironment{planotable}[1]{\def\pt@format{\string#1}%
+\def\pt@head{\\[-1.2ex]\hline\relax\\[-1.7ex]}\pt@width\textwidth%
+\let\ltx@label=\label\gdef\pt@label{\let\label=\ltx@label}%
+\def\label##1{\gdef\pt@labeltag{##1}%
+ \gdef\pt@label{\ltx@label{\pt@labeltag}\let\label=\ltx@label}}
+\set@tblnotetext\pt@ncol=0}%
+{\crcr\noalign{\vskip .7ex}\hline\endtabular%
+\pt@width\wd\pt@box\center\item[]%
+\caption{\pt@caption}\mbox{\box\pt@box}\spew@ptblnotes%
+\endcenter\pt@label\pt@endfloat}
+\def\startdata{\pt@line=0\pt@calcnlines%
+\ifdim\pt@width>\z@\def\@halignto{to \pt@width}\else\def\@halignto{}\fi%
+\ifdim\pt@width>\columnwidth
+ \let\pt@float\@dblfloat\let\pt@endfloat\end@dblfloat \else
+ \let\pt@float\@float\let\pt@endfloat\end@float \fi
+\let\fnum@table=\fnum@ptable\set@mkcaption%
+\pt@float{table}%
+\setbox\pt@box=\pt@tabular{\pt@format}\pt@head}
+\def\pt@nl{\global\advance\pt@line by\@ne%
+\ifnum\pt@line=\pt@nlines%
+\\\noalign{\vskip .7ex}\hline\endtabular%
+\pt@width\wd\pt@box\center\item[]%
+\caption{\pt@caption}\mbox{\box\pt@box}%
+\endcenter\pt@endfloat%\clearpage% %%%%%%%%% PWD: remove \clearpage
+\addtocounter{table}{\m@ne}%
+\let\fnum@table=\fnum@ptablecont\set@mkcaptioncont%
+\pt@float{table}%
+\global\pt@ncol=0%
+\setbox\pt@box=\pt@tabular{\pt@format}\pt@head%
+\global\pt@line=0%
+\else\\
+\fi}
+\let\nl=\pt@nl
+\let\nextline=\pt@nl
+\def\tablevspace#1{\noalign{\vskip{#1}}}
+\def\tablebreak{\pt@line\pt@nlines\advance\pt@line by\m@ne\pt@nl}
+\def\cutinhead#1{\noalign{\vskip 1.5ex}
+\multicolumn{\pt@ncol}{c}{\it#1}\pt@nl
+\noalign{\vskip .8ex}}
+\def\sidehead#1{\noalign{\vskip 1.5ex}
+\multicolumn{\pt@ncol}{@{\hskip\z@}l}{#1}\pt@nl
+\noalign{\vskip .5ex}}
+\def\set@tblnotetext{\def\tablenotetext##1##2{{%
+\@temptokena={\vspace{0ex}{%
+\parbox{\pt@width}{\hskip1em$^{\rm ##1}$##2}\par}}%
+\@temptokenb=\expandafter{\tblnote@list}
+\xdef\tblnote@list{\the\@temptokenb\the\@temptokena}}}}
+\def\spew@ptblnotes{
+\ifx\tblnote@list\@empty\relax
+\else
+\par
+\vspace{2ex}
+{\tblnote@list}
+\gdef\tblnote@list{}
+\fi}
+\def\tablerefs#1{\@temptokena={\vspace*{3ex}{%
+\parbox{\pt@width}{\hskip1em\rm #1}\par}}%
+\@temptokenb=\expandafter{\tblnote@list}
+\xdef\tblnote@list{\the\@temptokenb\the\@temptokena}}
+\def\tablecomments#1{\@temptokena={\vspace*{3ex}{%
+\parbox{\pt@width}{\hskip1em\rm #1}\par}}%
+\@temptokenb=\expandafter{\tblnote@list}
+\xdef\tblnote@list{\the\@temptokenb\the\@temptokena}}
+ % End of coding from agupp.sty version 3.1
+\else
+ \let\ori@plano\planotable
+ \renewcommand\planotable[1]{%
+ \@ifundefined{totaltabdp}{}{\setlength{\totaltabdp}{0pt}}%
+ \refstepcounter{table}\addtocounter{table}{\m@ne}\ori@plano{#1}}
+\fi
+\def\tablenum#1{\def\thetable{#1}\let\@currentlabel\thetable
+ \addtocounter{table}{\m@ne}}
+%% Copyright 1993-1999 Patrick W Daly
+%% Max-Planck-Institut f\"ur Aeronomie
+%% Max-Planck-Str. 2
+%% D-37191 Katlenburg-Lindau
+%% Germany
+%% E-mail: daly@linmpi.mpg.de
+\def\ModuleVersion#1[#2]{}
+ \ModuleVersion{sublabel}
+ [1999/02/23 4.5 (PWD)]
+\@ifundefined{iffigcaps}{}
+ {\@@warning
+ {^^J ********************************^^J
+ `sublabel' read in after `figcaps'^^J
+ There could be problems with sublabelled^^J
+ figure and table numbers.^^J
+ ********************************}}
+\newcommand{\substyle}{}
+\def\substyle#1{\alph{#1}}
+\newcommand{\sublabon}[1]{\@bsphack
+\@ifundefined{c@#1}{%
+ \@latexerr
+ {\protect\sublabon\space called for a non-existent counter}{\@eha}}
+ {\@ifundefined{c@sb@#1}{\expandafter\newcount\csname c@sb@#1\endcsname
+ \setcounter{sb@#1}{-1}}{}%
+\ifnum\@nameuse{c@sb@#1}<0\else\sublaboff{#1}\fi
+\stepcounter{#1}%
+\setcounter{sb@#1}{0}%
+\def\@tempa{eqnarray}\ifx \@tempa\@currenvir
+ \addtocounter{equation}{-1}\setcounter{sb@equation}{1}\fi
+\global\expandafter\let\csname @ldthe#1\expandafter\endcsname
+ \csname the#1\endcsname
+\expandafter\gdef\csname the#1\endcsname{%
+ \@nameuse{@ldthe#1}{\substyle{sb@#1}}}
+}\@esphack}
+\newcommand{\sublaboff}[1]{\@bsphack
+\@ifundefined{c@#1}{%
+ \@latexerr
+ {\protect\sublaboff\space called for a non-existent counter}{\@eha}}
+ {\@ifundefined{c@sb@#1}{%
+ \@warning
+ {\protect\sublaboff{#1} called without any previous
+ ^^J
+ \protect\sublabon{#1} command}}
+ {\ifnum\@nameuse{c@sb@#1}<0
+ \@warning
+ {\protect\sublaboff{#1} called without a previous
+ ^^J
+ \protect\sublabon{#1} command being active}\else
+\ifnum\@nameuse{c@sb@#1}=0\addtocounter{#1}{-1}\fi
+\setcounter{sb@#1}{-1}%
+\global\expandafter\let\csname the#1\expandafter\endcsname
+ \csname @ldthe#1\endcsname
+\def\@tempa{eqnarray}\ifx \@tempa\@currenvir
+ \stepcounter{equation}\fi
+\fi}}\@esphack}
+\@ifundefined{selectfont}{}{%
+\def\@setref#1#2#3{%
+ \ifx#1\relax {\reset@font\bf ??}%
+ \@warning{Reference `#3' on page \thepage \space undefined}%
+ \else
+ \expandafter#2#1\null
+ \fi}
+\def\ref#1{\expandafter\@setref\csname r@#1\endcsname\@firstoftwo{#1}}
+\def\pageref#1{\expandafter\@setref\csname r@#1\endcsname
+ \@secondoftwo{#1}}
+\def\@firstoftwo#1#2{#1}
+\def\@secondoftwo#1#2{#2}
+}
+\@ifundefined{reset@font}{\def\reset@font{\relax}}{}
+\let\@ldstepcounter=\stepcounter
+\renewcommand{\stepcounter}[1]
+ {\@ifundefined{c@sb@#1}{\@ldstepcounter{#1}}{\ifnum
+ \@nameuse{c@sb@#1}<0\relax
+ \@ldstepcounter{#1}\else \@ldstepcounter{sb@#1}\fi}%
+}
+\let\@ldaddtoctr=\addtocounter
+\renewcommand{\addtocounter}[2]
+ {\@ifundefined{c@sb@#1}{\@ldaddtoctr{#1}{#2}}{\ifnum
+ \@nameuse{c@sb@#1}<0\relax
+ \@ldaddtoctr{#1}{#2}\else \@ldaddtoctr{sb@#1}{#2}\fi}%
+}
+\let\@ldendeqnarray=\endeqnarray
+\renewcommand{\endeqnarray}{\@ldendeqnarray
+ \@ifundefined{c@sb@equation}{}{\ifnum\c@sb@equation<0\else
+ \@ldaddtoctr{equation}{1}\@ldaddtoctr{sb@equation}{-1}\fi}}
+%% Copyright 1993-1999 Patrick W Daly
+%% Max-Planck-Institut f\"ur Aeronomie
+%% Max-Planck-Str. 2
+%% D-37191 Katlenburg-Lindau
+%% Germany
+%% E-mail: daly@linmpi.mpg.de
+\def\ModuleVersion#1[#2]{}
+ \ModuleVersion{appendix}
+ [1999/02/23 2.1 (PWD)]
+\@ifundefined{iffigcaps}{}
+ {\@@warning
+ {^^J ********************************^^J
+ `appendix' read in after `figcaps'^^J
+ There could be problems with sublabelled^^J
+ figure and table numbers.^^J
+ ********************************}}
+\@ifundefined{appendixname}{\def\appendixname{Appendix}}{}
+\let\orisection=\section
+\let\theolds=\thesection
+\let\theoldss=\thesubsection
+\let\orisubsection=\subsection
+\def\appendix{\par
+ \setcounter{section}{0}
+ \setcounter{subsection}{0}
+ \def\thesection{\Alph{section}}
+ \def\thesubsection{\thesection\arabic{subsection}}
+ \setcounter{secnumdepth}{3}
+ \@addtoreset{equation}{section}
+ \setcounter{equation}{0}
+ \def\theequation{\thesection\arabic{equation}}
+ \@addtoreset{figure}{section}
+ \setcounter{figure}{0}
+ \def\thefigure{\thesection\arabic{figure}}
+ \@addtoreset{table}{section}
+ \def\thetable{\thesection\arabic{table}}
+ \setcounter{table}{0}
+ \@ifundefined{c@plate}{\newcounter{plate}}{}
+ \@addtoreset{plate}{section}
+ \def\theplate{\thesection\arabic{plate}}
+ \setcounter{plate}{0}
+ \def\@Alph##1{\ifcase##1A\or A\or B\or C\or D\else\@Ialph{##1}\fi}
+ \def\section{\@sectiontrue\orisection}
+ \def\sectype{\if@section\appendixname~\fi}
+ \def\sectchar{\if@section:\else.\fi}
+ \def\ssectchar{\if@section\unskip:~\else\fi}
+ \def\subsection{\@sectionfalse\orisubsection}
+}
+\newif\if@section \@sectionfalse
+\def\noappendix{\setcounter{secnumdepth}{0}
+ \global\let\section=\orisection
+ \global\let\thesection=\theolds
+ \global\let\thesubsection=\theoldss
+ \gdef\sectchar{.} \gdef\ssectchar{}
+ \gdef\sectype{}
+ \global\let\subsection=\orisubsection
+}
+\@ifundefined{reset@font}{\let\reset@font=\relax}{}
+%% Copyright 1993-1999 Patrick W Daly
+%% Max-Planck-Institut f\"ur Aeronomie
+%% Max-Planck-Str. 2
+%% D-37191 Katlenburg-Lindau
+%% Germany
+%% E-mail: daly@linmpi.mpg.de
+\def\ModuleVersion#1[#2]{}
+ \ModuleVersion{figcaps}
+ [1999/02/23 4.7 (PWD)]
+\@ifundefined{chapter}{}{%
+ \@latexerr
+ {`figcaps' may only be used with article-like classes}
+ {There is no help. You just cannot use `figcaps'}}
+\newif\iffigcaps \figcapstrue
+\newif\iffigmark \figmarkfalse
+\newif\if@figpage \@figpagefalse
+\@ifundefined{figurecapname}{\def\figurecapname{Figure Captions}}{}
+\@ifundefined{tablepagename}{\def\tablepagename{Tables}}{}
+\@ifundefined{figurepagename}{\def\figurepagename{Figures}}{}
+\begingroup
+ \catcode `|=0 \catcode `[= 1
+ \catcode`]=2 \catcode `\{=12 \catcode `\}=12
+ \catcode`\^^M=13 \catcode`\\=12 %
+|long|gdef|@vfig#1\end{figure}[|def|@term[\end{figure}]%
+ |expandafter|writelof#1^^M\end{figure}^^M|end[figure]]%
+|long|gdef|@vsfig#1\end{figure*}[|def|@term[\end{figure*}]%
+ |expandafter|writelof#1^^M\end{figure*}^^M|end[figure*]]%
+|long|gdef|@vtab#1\end{table}[|def|@term[\end{table}]%
+ |expandafter|writelot#1^^M\end{table}^^M|end[table]]%
+|long|gdef|@vstab#1\end{table*}[|def|@term[\end{table*}]%
+ |expandafter|writelot#1^^M\end{table*}^^M|end[table*]]%
+|long|gdef|@vpla#1\end{plate}[|def|@term[\end{plate}]%
+ |expandafter|writelof#1^^M\end{plate}^^M|end[plate]]%
+|long|gdef|@vspla#1\end{plate*}[|def|@term[\end{plate*}]%
+ |expandafter|writelof#1^^M\end{plate*}^^M|end[plate*]]%
+ |long|gdef|@vptab#1\end{planotable}[|def|@term[\end{planotable}]%
+ |expandafter|writelot#1^^M\end{planotable}^^M|end[planotable]]%
+ |endgroup
+\long\def\FC@writefile#1#2{\@ifundefined{tf@#1}{}{%
+ \immediate\write\csname tf@#1\endcsname{#2}}}
+\def\lof{lof} \def\lot{lot}
+
+{\catcode`\^^M=13%
+ \long\gdef\writelof#1^^M{\def\@tempb{#1}%
+ \ifx\@tempb\@term\let\@tempa\relax\else
+ \if@filesw\FC@writefile{pof}{#1}\fi\let\@tempa\writelof\fi \@tempa}
+ \long\gdef\writelot#1^^M{\def\@tempb{#1}%
+ \ifx\@tempb\@term\let\@tempa\relax\else
+ \if@filesw\FC@writefile{pot}{#1}\fi\let\@tempa\writelot\fi \@tempa}
+}
+\def\figcapson{\figcapstrue}
+\def\figcapsoff{\figcapsfalse}
+\def\figmarkon{\figmarktrue}
+\def\figmarkoff{\figmarkfalse}
+\def\figure{\iffigcaps \let\@tempb=\@zfigure \else \let\@tempb=\@float\fi
+ \@tempb{figure}}
+\def\@zfigure#1{\begingroup\set@literal\@ifnextchar[{\@figure}{\@figure[]}}
+\def\@figure[#1]{\@ifundefined{tf@pof}{\newwrite\tf@pof
+ \if@filesw\immediate\openout\tf@pof\jobname.\lof\relax
+ \ifFC@appendix\FC@writefile{pof}{\string\doappendix}\fi\fi}{}%
+ \refstepcounter{figure}\iffigmark\marginpar{\fbox{\fnum@figure}}\fi
+ \def\@captype{figure}\if@filesw\FC@writefile{pof}{\string\begin{figure}}\fi
+ \@vfig}
+
+\def\endfigure{\iffigcaps
+ \endgroup\if@filesw\FC@writefile{pof}{\string\end{figure}}\fi\else
+ \end@float\fi}
+
+\@namedef{figure*}{\iffigcaps \let\@tempb=\@zsfigure \else
+ \let\@tempb=\@dblfloat\fi \@tempb{figure}}
+\def\@zsfigure#1{\begingroup\set@literal\@ifnextchar[{\@sfigure}{\@sfigure[]}}
+\def\@sfigure[#1]{\@ifundefined{tf@pof}{\newwrite\tf@pof
+ \if@filesw\immediate\openout\tf@pof\jobname.\lof\relax
+ \ifFC@appendix\FC@writefile{pof}{\string\doappendix}\fi\fi}{}%
+ \refstepcounter{figure}\iffigmark\marginpar{\fbox{\fnum@figure}}\fi
+ \def\@captype{figure}\if@filesw\FC@writefile{pof}{\string\begin{figure}}\fi
+ \@vsfig}
+
+\@namedef{endfigure*}{\iffigcaps\endfigure\else\end@dblfloat\fi}
+\@ifundefined{c@plate}{\newcounter{plate}}{}
+
+\def\plate{\iffigcaps \let\@tempb=\@zplate \else \let\@tempb=\@float\fi
+ \@tempb{plate}}
+\def\@zplate#1{\begingroup\set@literal\@ifnextchar[{\@plate}{\@plate[]}}
+\def\@plate[#1]{\@ifundefined{tf@pof}{\newwrite\tf@pof
+ \if@filesw\immediate\openout\tf@pof\jobname.\lof\relax
+ \ifFC@appendix\FC@writefile{pof}{\string\doappendix}\fi\fi}{}%
+ \refstepcounter{plate}\iffigmark\marginpar{\fbox{\fnum@plate}}\fi
+ \def\@captype{plate}\if@filesw\FC@writefile{pof}{\string\begin{plate}}\fi
+ \@vpla}
+
+\def\endplate{\iffigcaps
+ \endgroup\if@filesw\FC@writefile{pof}{\string\end{plate}}\fi\else
+ \end@float\fi}
+
+\@namedef{plate*}{\iffigcaps \let\@tempb=\@zsplate \else
+ \let\@tempb=\@dblfloat\fi \@tempb{plate}}
+\def\@zsplate#1{\begingroup\set@literal\@ifnextchar[{\@splate}{\@splate[]}}
+\def\@splate[#1]{\@ifundefined{tf@pof}{\newwrite\tf@pof
+ \if@filesw\immediate\openout\tf@pof\jobname.\lof\relax
+ \ifFC@appendix\FC@writefile{pof}{\string\doappendix}\fi\fi}{}%
+ \refstepcounter{plate}\iffigmark\marginpar{\fbox{\fnum@plate}}\fi
+ \def\@captype{plate}\if@filesw\FC@writefile{pof}{\string\begin{plate}}\fi
+ \@vspla}
+
+\@namedef{endplate*}{\iffigcaps\endplate\else\end@dblfloat\fi}
+\def\table{\iffigcaps \let\@tempb=\@ztable \else \let\@tempb=\@float\fi
+ \@tempb{table}}
+\def\@ztable#1{\begingroup\set@literal\@ifnextchar[{\@table}{\@table[]}}
+\def\@table[#1]{\@ifundefined{tf@pot}{\newwrite\tf@pot
+ \if@filesw\immediate\openout\tf@pot\jobname.\lot\relax
+ \ifFC@appendix\FC@writefile{pot}{\string\doappendix}\fi\fi}{}%
+ \refstepcounter{table}\iffigmark\marginpar{\fbox{\fnum@table}}\fi
+ \def\@captype{table}\if@filesw\FC@writefile{pot}{\string\begin{table}}\fi
+ \@vtab}
+
+\def\endtable{\iffigcaps
+ \endgroup\if@filesw\FC@writefile{pot}{\string\end{table}}\fi\else
+ \spew@tblnotes
+ \end@float\fi}
+
+\@namedef{table*}{\iffigcaps \let\@tempb=\@zstable \else
+ \let\@tempb=\@dblfloat\fi \@tempb{table}}
+\def\@zstable#1{\begingroup\set@literal\@ifnextchar[{\@stable}{\@stable[]}}
+\def\@stable[#1]{\@ifundefined{tf@pot}{\newwrite\tf@pot
+ \if@filesw\immediate\openout\tf@pot\jobname.\lot\relax
+ \ifFC@appendix\FC@writefile{pot}{\string\doappendix}\fi\fi}{}%
+ \refstepcounter{table}\iffigmark\marginpar{\fbox{\fnum@table}}\fi
+ \def\@captype{table}\if@filesw\FC@writefile{pot}
+ {\string\begin{table}}%
+ \fi\@vstab}
+
+\@namedef{endtable*}{\iffigcaps\endtable\else
+ \spew@tblnotes
+ \end@dblfloat\fi}
+\let\aguplano=\planotable
+\let\endaguplano=\endplanotable
+
+\def\planotable{\iffigcaps \let\@tempb=\@ptable \else
+ \let\@tempb=\aguplano\fi \@tempb}
+\def\@ptable{\begingroup\set@literal
+ \@ifundefined{tf@pot}{\newwrite\tf@pot
+ \if@filesw\immediate\openout\tf@pot\jobname.\lot\relax
+ \ifFC@appendix\FC@writefile{pot}{\string\doappendix}\fi\fi}{}%
+ \refstepcounter{table}\iffigmark\marginpar{\fbox{\fnum@table}}\fi
+ \def\@captype{table}\if@filesw\FC@writefile{pot}
+ {\string\begin{planotable}}\fi \@vptab}
+
+\def\endplanotable{\iffigcaps
+ \endgroup\if@filesw\FC@writefile{pot}{\string\end{planotable}}\fi\else
+ \endaguplano\fi}
+\def\tableofcontents{%
+ \@@warning
+ {Ignored: \protect\tableofcontents\space command}}
+\def\listoffigures{%
+ \@@warning
+ {Ignored: \protect\listoffigures\space command}}
+\def\listoftables{%
+ \@@warning
+ {Ignored: \protect\listoftables\space command}}
+\def\listofplates{%
+ \@@warning
+ {Ignored: \protect\listofplates\space command}}
+\def\addtocontents#1#2{\relax}
+\def\addcontentsline#1#2#3{\relax}
+{\catcode`\^^M=\active \gdef\cr@relax{\catcode`\^^M=\active \let^^M=\relax}}
+\def\set@literal{\cr@relax \let\do\@makeother\dospecials}
+\def\@figurecaps{\@ifundefined{tf@pof}{}{\if@filesw
+ \immediate\closeout\tf@pof\fi
+ \@ifundefined{appendixname}{}{\def\appendixname{}}
+ \noappendix
+ \parindent\z@
+ \reset@figtab\clearpage\section*{\figurecapname}\vspace{1cm}%
+ \@mkboth{\uppercase{\figurecapname}}{\uppercase{\figurecapname}}%
+ \addcontentsline{toc}{section}{\figurecapname}%
+ \def\figure{\def\addcontentsline####1####2####3{}%
+ \def\@captype{figure}%
+ \vbox\bgroup
+ }\def\endfigure{\egroup\bigskip}%
+ \def\plate{\def\addcontentsline####1####2####3{}%
+ \def\@captype{plate}%
+ \vbox\bgroup
+ }\let\endplate=\endfigure
+ {\let\@makecaption=\@makefcaption
+ \def\@figbox##1##2##3{\relax}
+ \@input{\jobname.\lof}}%
+ \clearpage}}%
+\def\@tablepage{\@ifundefined{tf@pot}{}{\if@filesw
+ \immediate\closeout\tf@pot\fi
+ \@ifundefined{appendixname}{}{\def\appendixname{}}
+ \noappendix
+ \parindent\z@
+ \reset@figtab\clearpage\section*{\tablepagename}
+ \@mkboth{\uppercase{\tablepagename}}{\uppercase{\tablepagename}}%
+ \def\table{\def\@captype{table}\vbox\bgroup
+ }\def\endtable{\spew@tblnotes\egroup\bigskip}%
+ \let\planotable=\aguplano \let\endplanotable=\endaguplano
+ \def\@float##1{\def\@captype{table}\vbox\bgroup}
+ \let\@dblfloat=\@float \let\clearpage=\newpage
+ \@input{\jobname.\lot}
+ \clearpage}}
+\def\printfigures{\@figpagetrue}
+\def\@figurepage{\if@figpage\@ifundefined{tf@pof}{}{%
+ \@ifundefined{appendixname}{}{\def\appendixname{}}
+ \noappendix \parindent\z@
+ \reset@figtab\clearpage\section*{\figurepagename}%
+ \@mkboth{\uppercase{\figurepagename}}{\uppercase{\figurepagename}}%
+ \begingroup
+ \def\figurewidth##1{\pt@width##1\hsize##1}
+ \def\figure{\def\@captype{figure}\vbox\bgroup}\def\endfigure{\egroup
+ \vspace{20pt}}%
+ \let\platewidth=\figurewidth
+ \def\plate{\def\@captype{plate}\vbox\bgroup}\let\endplate=\endfigure
+ \def\label##1{}%
+ \@input{\jobname.\lof}\newpage\endgroup}\fi}
+\def\reset@figtab{%
+ \setcounter{figure}{0}\setcounter{table}{0}
+ \setcounter{plate}{0}
+}
+\let\@nddoc=\enddocument
+\def\enddocument{\iffigcaps\@figurecaps\@tablepage\@figurepage\fi\@nddoc}
+\let\@appendix=\appendix
+\newif\ifFC@appendix \FC@appendixfalse
+\def\appendix{\FC@appendixtrue
+ \@ifundefined{tf@pof}{}{\if@filesw\FC@writefile{pof}{\string\doappendix}\fi}%
+ \@ifundefined{tf@pot}{}{\if@filesw\FC@writefile{pot}{\string\doappendix}\fi}%
+ \global\let\@section=\section
+ \doappendix
+ \let\@@section=\section
+ \def\section{%
+ \@ifundefined{tf@pof}{}{\if@filesw\FC@writefile{pof}{\string
+ \stepcounter{section}}\fi}%
+ \@ifundefined{tf@pot}{}{\if@filesw\FC@writefile{pot}{\string
+ \stepcounter{section}}\fi}%
+ \@@section}
+ \global\let\reset@figtab=\@unappendix}
+\def\doappendix{%
+ \global\let\@thefigure=\thefigure
+ \global\let\@thetable=\thetable
+ \global\let\@theplate=\theplate
+ \global\let\@cl@section=\cl@section
+ \@appendix
+}
+\def\@unappendix{\FC@appendixfalse
+ \setcounter{figure}{0}\setcounter{table}{0}
+ \let\thefigure=\@thefigure
+ \let\thetable=\@thetable
+ \setcounter{plate}{0}%
+ \let\theplate=\@theplate
+ \let\cl@section=\@cl@section
+ \let\section=\@section
+}
+\let\orisubon=\sublabon
+\let\orisuboff=\sublaboff
+\def\sublabon#1{\orisubon{#1}\if@filesw
+ \iffigcaps\def\@tempb{#1}
+ \def\@tempa{figure}\ifx\@tempa\@tempb
+ \@ifundefined{tf@pof}{\newwrite\tf@pof
+ \immediate\openout\tf@pof\jobname.\lof}{}%
+ \FC@writefile{pof}{\string\orisubon{#1}}\fi
+ \def\@tempa{plate}\ifx\@tempa\@tempb
+ \@ifundefined{tf@pof}{\newwrite\tf@pof
+ \immediate\openout\tf@pof\jobname.\lof}{}%
+ \FC@writefile{pof}{\string\orisubon{#1}}\fi
+ \def\@tempa{table}\ifx\@tempa\@tempb
+ \@ifundefined{tf@pot}{\newwrite\tf@pot
+ \immediate\openout\tf@pot\jobname.\lot}{}%
+ \FC@writefile{pot}{\string\orisubon{#1}}\fi
+\fi\fi}
+\def\sublaboff#1{\orisuboff{#1}\if@filesw
+ \iffigcaps\def\@tempb{#1}
+ \def\@tempa{figure}\ifx\@tempa\@tempb
+ \@ifundefined{tf@pof}{\newwrite\tf@pof
+ \immediate\openout\tf@pof\jobname.\lof}{}%
+ \FC@writefile{pof}{\string\orisuboff{#1}}\fi
+ \def\@tempa{plate}\ifx\@tempa\@tempb
+ \@ifundefined{tf@pof}{\newwrite\tf@pof
+ \immediate\openout\tf@pof\jobname.\lof}{}%
+ \FC@writefile{pof}{\string\orisuboff{#1}}\fi
+ \def\@tempa{table}\ifx\@tempa\@tempb
+ \@ifundefined{tf@pot}{\newwrite\tf@pot
+ \immediate\openout\tf@pot\jobname.\lot}{}%
+ \FC@writefile{pot}{\string\orisuboff{#1}}\fi
+\fi\fi}
+\def\figbox{\@ifstar{\let\agubox\makebox\@figbox}
+ {\let\agubox\framebox\@figbox}}
+\def\@figbox#1#2#3{\hbox to \hsize{\hfil
+ \ifx!#1!\agubox{#3}\else
+ \agubox[#1][c]{\ifx!#2!#3\else\@tempdima#2\relax
+ \divide\@tempdima by2\relax
+ \advance\@tempdima by-\fboxsep \advance\@tempdima by-\fboxrule
+ \vrule\@height\@tempdima\@depth\@tempdima\@width\z@
+ \vbox to \z@{\vss\hbox{#3}\vss}\fi}\fi\hfil}}
+\figmarktrue
+\if@preprint \figcapsfalse
+ \def\figurewidth#1{\pt@width=\hsize}
+ \def\platewidth#1{\pt@width=\hsize}
+\fi
+\if@draft
+ \def\figurewidth#1{\pt@width=\hsize}
+ \def\platewidth#1{\pt@width=\hsize}
+\fi
+\let\ori@makecap=\@makecaption
+\def\@makefcaption#1#2{{\if@dblcap\if@camera\pt@width=\textwidth
+ \ori@makecap{#1}{#2}
+ \pt@width=\wpt@width
+ \hsize=\pt@width
+ \vskip10pt \def\label##1{}\fi\fi
+ \ori@makecap{#1}{#2}}
+}
+\newdimen\wpt@width
+\newif\if@dblcap \@dblcapfalse
+\def\doublecaption#1{\wpt@width=#1\relax\@dblcaptrue}
+%% Copyright 1993-1999 Patrick W Daly
+%% Max-Planck-Institut f\"ur Aeronomie
+%% Max-Planck-Str. 2
+%% D-37191 Katlenburg-Lindau
+%% Germany
+%% E-mail: daly@linmpi.mpg.de
+\def\ModuleVersion#1[#2]{}
+ \ModuleVersion{natbib}
+ [1999/05/28 7.0 (PWD)]
+\newcommand\NAT@open{[} \newcommand\NAT@close{]}
+\newcommand\NAT@sep{;} \newcommand\NAT@cmt{, }
+\newcommand\NAT@aysep{,} \newcommand\NAT@yrsep{,~}
+\def\NAT@sort{0}
+\def\NAT@nmfmt#1{{\NAT@up#1}}
+\renewcommand\@cite%
+ [3]{\ifNAT@swa\NAT@@open\if*#2*\else#2\ \fi
+ #1\if*#3*\else\NAT@cmt#3\fi\NAT@@close\else#1\fi\endgroup}
+\let\@firstofone\@iden
+\let\citenumfont=\relax
+\def\@citex%
+ [#1][#2]#3{%
+ \let\@citea\@empty
+ \@cite{\let\NAT@nm\@empty\let\NAT@year\@empty
+ \@for\@citeb:=#3\do
+ {\edef\@citeb{\expandafter\@firstofone\@citeb}%
+ \if@filesw\immediate\write\@auxout{\string\citation{\@citeb}}\fi
+ \@ifundefined{b@\@citeb\@extra@b@citeb}{\@citea%
+ {\reset@font\bf ?}\@warning
+ {Citation `\@citeb' on page \thepage \space undefined}\def\NAT@date{}}%
+ {\let\NAT@last@nm=\NAT@nm\let\NAT@last@yr=\NAT@year
+ \NAT@parse{\@citeb}%
+ \ifNAT@full\let\NAT@nm\NAT@all@names\else
+ \let\NAT@nm\NAT@name\fi
+ \ifNAT@swa\ifcase\NAT@ctype
+ \if\relax\NAT@date\relax
+ \@citea\hyper@natlinkstart{\@citeb\@extra@b@citeb}%
+ \NAT@nmfmt{\NAT@nm}\NAT@date\hyper@natlinkend
+ \else
+ \ifx\NAT@last@nm\NAT@nm\NAT@yrsep
+ \ifx\NAT@last@yr\NAT@year
+ \hyper@natlinkstart{\@citeb\@extra@b@citeb}\NAT@exlab
+ \hyper@natlinkend
+ \else\unskip\
+ \hyper@natlinkstart{\@citeb\@extra@b@citeb}\NAT@date
+ \hyper@natlinkend
+ \fi
+ \else\@citea\hyper@natlinkstart{\@citeb\@extra@b@citeb}%
+ \NAT@nmfmt{\NAT@nm}%
+ \hyper@natlinkbreak{\NAT@aysep\ }{\@citeb\@extra@b@citeb}%
+ \NAT@date\hyper@natlinkend
+ \fi
+ \fi
+ \or\@citea\hyper@natlinkstart{\@citeb\@extra@b@citeb}%
+ \NAT@nmfmt{\NAT@nm}\hyper@natlinkend
+ \or\@citea\hyper@natlinkstart{\@citeb\@extra@b@citeb}%
+ \NAT@date\hyper@natlinkend
+ \fi \def\@citea{\NAT@sep\ }%
+ \else\ifcase\NAT@ctype
+ \if\relax\NAT@date\relax
+ \@citea\hyper@natlinkstart{\@citeb\@extra@b@citeb}%
+ \NAT@nmfmt{\NAT@nm}\hyper@natlinkend
+ \else
+ \ifx\NAT@last@nm\NAT@nm\NAT@yrsep
+ \ifx\NAT@last@yr\NAT@year
+ \hyper@natlinkstart{\@citeb\@extra@b@citeb}\NAT@exlab
+ \hyper@natlinkend
+ \else\unskip\
+ \hyper@natlinkstart{\@citeb\@extra@b@citeb}\NAT@date
+ \hyper@natlinkend
+ \fi
+ \else\@citea\hyper@natlinkstart{\@citeb\@extra@b@citeb}%
+ \NAT@nmfmt{\NAT@nm}%
+ \hyper@natlinkbreak{\ \NAT@@open\if*#1*\else#1\ \fi}%
+ {\@citeb\@extra@b@citeb}%
+ \NAT@date\hyper@natlinkend\fi
+ \fi
+ \or\@citea\hyper@natlinkstart{\@citeb\@extra@b@citeb}%
+ \NAT@nmfmt{\NAT@nm}\hyper@natlinkend
+ \or\@citea\hyper@natlinkstart{\@citeb\@extra@b@citeb}%
+ \NAT@date\hyper@natlinkend
+ \fi \if\relax\NAT@date\relax\def\@citea{\NAT@sep\ }%
+ \else\def\@citea{\NAT@@close\NAT@sep\ }\fi
+ \fi
+ }}\ifNAT@swa\else\if*#2*\else\NAT@cmt#2\fi
+ \if\relax\NAT@date\relax\else\NAT@@close\fi\fi}{#1}{#2}}
+\newif\ifNAT@par \NAT@partrue
+\newcommand\NAT@@open{\ifNAT@par\NAT@open\fi}
+\newcommand\NAT@@close{\ifNAT@par\NAT@close\fi}
+\let\NAT@up\relax
+\newcommand\NAT@Up[1]{{\let\protect\@unexpandable@protect\let~\relax
+ \expandafter\NAT@deftemp#1}\expandafter\NAT@UP\NAT@temp}
+\newcommand\NAT@deftemp[1]{\xdef\NAT@temp{#1}}
+\newcommand\NAT@UP[1]{\let\@tempa\NAT@UP\ifcat a#1\MakeUppercase{#1}%
+ \let\@tempa\relax\else#1\fi\@tempa}
+\renewcommand\@biblabel[1]{\hfill}
+\newif\ifNAT@full\NAT@fullfalse
+\newif\ifNAT@swa
+\newcommand\citet
+ {\begingroup\NAT@swafalse\def\NAT@ctype{0}\NAT@partrue
+ \@ifstar{\NAT@fulltrue\NAT@citetp}{\NAT@fullfalse\NAT@citetp}}
+\newcommand\NAT@citetp{\@ifnextchar[{\NAT@@citetp}{\NAT@@citetp[]}}
+\newcommand\NAT@@citetp{}
+\def\NAT@@citetp[#1]{\@ifnextchar[{\@citex[#1]}{\@citex[][#1]}}
+\newcommand\citep
+ {\begingroup\NAT@swatrue\def\NAT@ctype{0}\NAT@partrue
+ \@ifstar{\NAT@fulltrue\NAT@citetp}{\NAT@fullfalse\NAT@citetp}}
+\renewcommand\cite
+ {\begingroup\def\NAT@ctype{0}\NAT@partrue\NAT@swatrue
+ \@ifstar{\NAT@fulltrue\NAT@cites}{\NAT@fullfalse\NAT@cites}}
+\newcommand\NAT@cites{\@ifnextchar [{\NAT@@citetp}{%
+ \NAT@swafalse
+ \NAT@@citetp[]}}
+\newcommand\citealt
+ {\begingroup\NAT@swafalse\def\NAT@ctype{0}\NAT@parfalse
+ \@ifstar{\NAT@fulltrue\NAT@citetp}{\NAT@fullfalse\NAT@citetp}}
+\newcommand\citealp
+ {\begingroup\NAT@swatrue\def\NAT@ctype{0}\NAT@parfalse
+ \@ifstar{\NAT@fulltrue\NAT@citetp}{\NAT@fullfalse\NAT@citetp}}
+\newcommand\citeauthor
+ {\begingroup\NAT@swafalse\def\NAT@ctype{1}\NAT@parfalse
+ \@ifstar{\NAT@fulltrue\NAT@citetp}{\NAT@fullfalse\NAT@citetp}}
+\newcommand\Citet
+ {\begingroup\NAT@swafalse\def\NAT@ctype{0}\NAT@partrue
+ \let\NAT@up\NAT@Up
+ \@ifstar{\NAT@fulltrue\NAT@citetp}{\NAT@fullfalse\NAT@citetp}}
+\newcommand\Citep
+ {\begingroup\NAT@swatrue\def\NAT@ctype{0}\NAT@partrue
+ \let\NAT@up\NAT@Up
+ \@ifstar{\NAT@fulltrue\NAT@citetp}{\NAT@fullfalse\NAT@citetp}}
+\newcommand\Citeauthor
+ {\begingroup\NAT@swafalse\def\NAT@ctype{1}\NAT@parfalse
+ \let\NAT@up\NAT@Up
+ \@ifstar{\NAT@fulltrue\NAT@citetp}{\NAT@fullfalse\NAT@citetp}}
+\newcommand\citeyear
+ {\begingroup\NAT@swafalse\def\NAT@ctype{2}\NAT@parfalse\NAT@citetp}
+\newcommand\citeyearpar
+ {\begingroup\NAT@swatrue\def\NAT@ctype{2}\NAT@partrue\NAT@citetp}
+\newcommand\citetext[1]{\NAT@open#1\NAT@close}
+\newcommand\citefullauthor
+ {\citeauthor*}
+\renewcommand\nocite[1]{\@bsphack
+ \@for\@citeb:=#1\do{%
+ \edef\@citeb{\expandafter\@firstofone\@citeb}%
+ \if@filesw\immediate\write\@auxout{\string\citation{\@citeb}}\fi
+ \if*\@citeb\else
+ \@ifundefined{b@\@citeb\@extra@b@citeb}{%
+ \@warning
+ {Citation `\@citeb' undefined}}{}\fi}%
+ \@esphack}
+\newcommand\NAT@parse[1]{{%
+ \@ifundefined{documentclass}
+ {\let\prm=\relax\let\psf=\relax\let\ptt=\relax\let\pbf=\relax
+ \let\psl=\relax\let\psc=\relax\let\pit=\relax\let\pem=\relax
+ \let\prmfamily=\relax\let\psffamily=\relax\let\pttfamily=\relax
+ \let\pbfseries=\relax\let\pslshape=\relax\let\pscshape=\relax
+ \let\pitshape=\relax\let\pmdseries=\relax\let\pupshape=\relax
+ \let\pc=\relax \let\pd=\relax \let\pb=\relax}
+ {\let\protect=\@unexpandable@protect\let~\relax}%
+ \xdef\NAT@temp{\csname b@#1\@extra@b@citeb\endcsname}}%
+ \expandafter\NAT@split\NAT@temp
+ \expandafter\NAT@parse@date\NAT@date??????@@%
+}
+\newcommand\NAT@split[4]{%
+ \gdef\NAT@num{#1}\gdef\NAT@name{#3}\gdef\NAT@date{#2}%
+ \gdef\NAT@all@names{#4}%
+ \ifx\NAT@noname\NAT@all@names \gdef\NAT@all@names{#3}\fi}
+\newcommand\NAT@parse@date{}
+\def\NAT@parse@date#1#2#3#4#5#6@@{%
+ \ifnum\the\catcode`#1=11\def\NAT@year{}\def\NAT@exlab{#1}\else
+ \ifnum\the\catcode`#2=11\def\NAT@year{#1}\def\NAT@exlab{#2}\else
+ \ifnum\the\catcode`#3=11\def\NAT@year{#1#2}\def\NAT@exlab{#3}\else
+ \ifnum\the\catcode`#4=11\def\NAT@year{#1#2#3}\def\NAT@exlab{#4}\else
+ \def\NAT@year{#1#2#3#4}\def\NAT@exlab{{#5}}\fi\fi\fi\fi}
+\newcommand\NAT@ifcmd{\futurelet\NAT@temp\NAT@ifxcmd}
+\newcommand\NAT@ifxcmd{\ifx\NAT@temp\relax\else\expandafter\NAT@bare\fi}
+\def\NAT@bare#1(#2)#3(@)#4\@nil#5{%
+ \stepcounter{NAT@ctr}%
+ \NAT@wrout{\arabic {NAT@ctr}}{#2}{#1}{#3}{#5}
+}
+\newcommand\NAT@wrout[5]{%
+\if@filesw
+ {\let\protect\noexpand\let~\relax
+ \immediate
+ \write\@auxout{\string\bibcite{#5}{{#1}{#2}{{#3}}{{#4}}}}}\fi
+\ignorespaces}
+\def\NAT@noname{{}}
+\renewcommand\bibitem{%
+ \@ifnextchar[{\@lbibitem}{%
+ \stepcounter{NAT@ctr}\@lbibitem[\arabic{NAT@ctr}]}}
+\def\@lbibitem[#1]#2{%
+ \if\relax\@extra@b@citeb\relax\else
+ \@ifundefined{br@#2\@extra@b@citeb}{}{%
+ \@namedef{br@#2}{\@nameuse{br@#2\@extra@b@citeb}}}\fi
+ \@ifundefined{b@#2\@extra@b@citeb}{\def\NAT@num{}}{\NAT@parse{#2}}%
+ \item[\hfil\hyper@natanchorstart{#2\@extra@b@citeb}\@biblabel{\NAT@num}%
+ \hyper@natanchorend]%
+ \NAT@ifcmd#1(@)(@)\@nil{#2}}
+\renewcommand\bibcite[2]{\global\@namedef{b@#1\@extra@binfo}{#2}}
+\newcounter{NAT@ctr}
+\let\aguthebib=\thebibliography
+\def\thebibliography#1{\noappendix\aguthebib{#1}}
+\@ifundefined{reset@font}{\let\reset@font=\relax}{}
+\@ifundefined{refname}{\newcommand\refname{References}}{}
+\@ifundefined{@mkboth}{\newcommand\@markboth[2]{}}{}
+\let\MakeUppercase\uppercase
+\@ifundefined{@extra@b@citeb}{\def\@extra@b@citeb{}}{}
+\gdef\@extra@binfo{}
+\@ifundefined{hyper@natanchorstart}{\def\hyper@natanchorstart#1{}}{}
+\@ifundefined{hyper@natanchorend}{\def\hyper@natanchorend{}}{}
+\@ifundefined{hyper@natlinkstart}{\def\hyper@natlinkstart#1{}}{}
+\@ifundefined{hyper@natlinkend}{\def\hyper@natlinkend{}}{}
+\@ifundefined{hyper@natlinkbreak}{\def\hyper@natlinkbreak#1#2{#1}}{}
+%% Copyright 1993-1999 Patrick W Daly
+%% Max-Planck-Institut f\"ur Aeronomie
+%% Max-Planck-Str. 2
+%% D-37191 Katlenburg-Lindau
+%% Germany
+%% E-mail: daly@linmpi.mpg.de
+\def\ModuleVersion#1[#2]{}
+ \ModuleVersion{balance}
+ [1999/02/23 4.3 (PWD)]
+\newcommand{\@BAlancecol}{\if@twocolumn
+ \setbox0=\vbox{\unvbox\@outputbox} \@tempdima=\ht0
+ \advance\@tempdima by \topskip \advance\@tempdima
+ by -\baselineskip \divide\@tempdima by 2
+ \splittopskip=\topskip
+ {\vbadness=\@M \loop \global\setbox3=\copy0
+ \global\setbox1=\vsplit3 to \@tempdima
+ \ifdim\ht3>\@tempdima \global\advance\@tempdima by 1pt \repeat}
+ \setbox\@leftcolumn=\vbox to \@tempdima{\unvbox1\vfil}
+ \setbox\@outputbox=\vbox to \@tempdima
+ {\dimen2=\dp3\unvbox3\kern-\dimen2
+ \vfil}
+ \fi}
+\newif\if@BAlanceone
+\global\@BAlanceonefalse
+\newdimen\oldvsize
+\newcommand{\@BAdblcol}{\if@firstcolumn
+ \unvbox\@outputbox \penalty\outputpenalty
+ \global\oldvsize=\@colht \global\multiply \@colht by 2
+ \global\@BAlanceonetrue
+ \global\@firstcolumnfalse
+ \else \global\@firstcolumntrue
+ \if@BAlanceone
+ \global\@BAlanceonefalse\@BAlancecol
+ \global\@colht=\oldvsize \else
+ \@@warning
+ {You have called \protect\balance\space
+ in second column^^J
+ Columns might not be balanced}\fi
+ \setbox\@outputbox\vbox to \@colht{\hbox to\textwidth
+ {\hbox to\columnwidth {\box\@leftcolumn \hss}\hfil
+ \vrule width\columnseprule\hfil \hbox to\columnwidth
+ {\box\@outputbox \hss}}\vfil}\@combinedblfloats
+ \@outputpage \begingroup \@dblfloatplacement
+ \@startdblcolumn \@whilesw\if@fcolmade \fi
+ {\@outputpage\@startdblcolumn}\endgroup
+ \fi}
+\newcommand{\@BAcleardblpage}{\clearpage\if@twoside \ifodd\c@page\else
+ \hbox{}\newpage\fi\fi}
+\newcommand{\@@cleardblpage}{}
+\let\@@cleardblpage=\cleardoublepage
+
+\newcommand{\@@utputdblcol}{}
+\let\@@utputdblcol=\@outputdblcol
+\newcommand{\balance}{\global\let\@outputdblcol=\@BAdblcol
+ \global\let\cleardoublepage=\@BAcleardblpage}
+\newcommand{\nobalance}{\global\let\@outputdblcol=\@@utputdblcol
+ \global\let\cleardoublepage=\@@cleardblpage}
+\endinput
+%%
+%% End of file `aguplus.sty'.
diff --git a/macros/latex/contrib/aguplus/aguplus.tex b/macros/latex/contrib/aguplus/aguplus.tex
new file mode 100644
index 0000000000..4efe29adfb
--- /dev/null
+++ b/macros/latex/contrib/aguplus/aguplus.tex
@@ -0,0 +1,1104 @@
+%% File: aguplus.tex
+%% =============================================
+%% IMPORTANT NOTICE:
+%% See the copyright and distribution conditions below.
+%% =============================================
+%% This is the user's manual for
+%% AGU++
+%% an extension to the AGU
+%% LaTeX package AGUTeX
+%% ---------------------------------
+%% Copyright 1993-1999 Patrick W Daly
+%% Max-Planck-Institut f\"ur Aeronomie
+%% Max-Planck-Str. 2
+%% D-37191 Katlenburg-Lindau
+%% Germany
+%% E-mail: daly@linmpi.mpg.de
+%%
+%% This program can be redistributed and/or modified under the terms
+%% of the LaTeX Project Public License Distributed from CTAN
+%% archives in directory macros/latex/base/lppl.txt; either
+%% version 1 of the License, or any later version.
+%%
+%% This is a contributed file to the LaTeX2e system.
+%%
+\def\FileID#1 [#2 #3 #4]
+ {\def\pckname{#1}\def\pckdate{#2}\def\pckversion{#3}}
+\FileID{aguplus}
+ [1999/08/19 1.6b (PWD)]
+\ifx\documentclass\undefined
+\documentstyle[twoside,agupp,aguplus]{article}
+ \def\LaTeXe{\protect\pLaTeXe}
+ \def\pLaTeXe{\mbox{\LaTeX\kern.15em$2_{\textstyle\varepsilon}$}}
+\makeatletter
+\def\p@LaTeX{\@tempcnta=\the\fam \leavevmode L\raise.42ex
+ \hbox{$\fam\@tempcnta\scriptstyle\kern-.3em A$}\kern-.15em%
+ T\kern-.1667em\lower.7ex\hbox{E}\kern-.125emX}
+\makeatother
+ \let\bfseries=\bf \let\mdseries=\rm
+ \let\upshape=\rm \let\itshape=\it
+ \let\slshape=\sl \let\scshape=\sc
+ \let\sffamily=\sf \let\rmfamily=\rm
+ \let\ttfamily=\tt \let\normalfont=\rm
+ \newcommand{\emph}[1]{{\em #1\/}}
+ \newcommand{\textbf}[1]{{\bf #1}}
+ \newcommand{\textit}[1]{{\it #1}\/}
+ \newcommand{\texttt}[1]{{\tt #1}}
+ \newcommand{\textsf}[1]{{\sf #1}}
+ \newcommand{\textrm}[1]{{\rm #1}}
+ \newcommand{\textsc}[1]{{\sc #1}}
+ \newcommand{\textsl}[1]{{\sl #1\/}}
+\else
+ \documentclass[twoside,agupp]{aguplus}
+\fi
+\newcommand{\btx}{\textsc{Bib}\TeX}
+\newcommand{\app}{{\small\optionlogo}}
+\newcommand{\bsl}{\char`\\}
+\lefthead{P. W. Daly}
+\righthead{\protect\optionlogo: an Extension to AGU\TeX}
+\cpright{PD}{1993}
+\afour
+
+\sloppy
+\begin{document}
+\let\filename=\pckname
+
+\slugcomment{Version \pckversion\ from \pckdate}
+
+\title{The \LaTeX{}
+ Extension Package \optionlogo\\
+ for Use with AGU\TeX}
+
+\author{Patrick W. Daly}
+\affil{Max-Planck-Institut f\"ur Aeronomie, Lindau, Germany}
+\authoraddr{P. W. Daly, Max-Planck-Institut f\"ur Aeronomie, D--37189
+ Katlenburg-Lindau, Germany}
+
+\begin{abstract}
+This paper describes how to use the AGU package (AGU\TeX) for producing
+manuscripts, preprints, and camera-ready copy, together with an unofficial
+extension package called \app{}. This extension adds extra features such as
+author-year citations with \btx{} and true figures in the preprint version.
+Other extra features include corrected coding to avoid having to give certain
+numbers explicitly, sublabelling of equations, figures, etc., and balancing
+two columns of text on the last page. These features were all part of my older
+unofficial AGU package and are thus well-known among its users.
+
+\end{abstract}
+
+\section{Introduction}
+At the beginning of 1994, the American Geophysical Union (AGU) finally
+came out with its own official \LaTeX\ package for producing manuscripts
+and camera-ready copy for its journals. At the same time the format of
+the journals was dramatically altered. Thus my unofficial \LaTeX\ package
+for AGU (\texttt{art-jgr} and \texttt{art-grl}) became not only
+superfluous but obsolete.
+
+However, in looking over the instructions and coding of the official package,
+I realize that not only are some imperfections present, but many useful
+features of my styles are missing. The most noticeable of these is the means
+of using author-year citations with \btx{} in an automated manner.
+
+The coding imperfections are related to the way in which figure captions and
+tables are treated: they must be placed at the end of the document, and if an
+appendix is present, then the automatic numbering system will consider them as
+appendix figures and tables (numbered A1, A2, \dots). To avoid this, explicit
+numbers must be given, something that violates the essential principles of a
+formatting program like \LaTeX. A second implication of this treatment is that
+preprints will be missing the figures and tables in the text. In my older
+system, neither of these problems occurred.
+
+{\em By popular demand}, I have undertaken to write an extension to the
+official AGU package, called \app (for AGU doubly-ionized or super-charged, as
+you please). It includes my extra features without changing any of the formats
+of the original package. The user should prepare his documents in the manner
+described by the AGU, except that figures, tables, and plates are to be
+included {\em in the text\/} as described below. A number of extra commands
+are available to control and/or enable the extra features.
+
+Version~4.0 of AGU\TeX\ was released in August 1996, adding the doubled
+captions and the supplemental abstract, things which already existed in \app.
+Some recoding was necessary in this package to accommodate those changes.
+(Actually, the changes had to be nullified!)
+
+This manual explains the official package with my extensions. This is to
+enable the user to obtain all the necessary information in one article rather
+than to have to search among several. It is not meant to serve as instructions
+for the standard AGU package alone, although differences will be indicated;
+neither is it intended to be a manual for \LaTeX, since it assumes that the
+user already understands the workings of that text formatting scheme. The
+basic manual for \LaTeX{} is \citet{ltx:lamport2}; a more recent
+and more extensive work is by \citet{ltx:guide3}.
+
+\section{The Official Package}
+The official AGU package is called AGU\TeX. It consists of an instruction
+manual (\texttt{aguguide.tex}), a sample article (\texttt{sample.tex}),
+and, of course, a number of \emph{style options} that
+are to be used with the standard main style \texttt{article}. These are
+\begin{description}
+\item[\ttfamily agums] to produce a manuscript for submission;
+
+\item[\ttfamily agupp] to produce a preprint in two-column format (like
+ this paper) for distribution to colleagues;
+
+\item[\ttfamily jgrga] to produce camera-ready copy (or \emph{galley proofs})
+ for the \emph{Journal of Geophysical Research} (JGR), the \emph{Global
+ Biogeochemical Cycles}, and \emph{Pale\-ocean\-o\-graphy};
+
+\item[\ttfamily grlga] to produce camera-ready copy for \emph{Geophysical
+ Research Letters} (GRL);
+
+\item[\ttfamily tecga] to produce camera-ready copy for \emph{Tectonics};
+
+\item[\ttfamily paleo] to produce camera-ready copy for
+\emph{Paleoceanography};
+
+\item[\ttfamily radga] to produce camera-ready copy for \emph{Radio
+ Science};
+
+\item[\ttfamily rtjga] to produce camera-ready copy for \emph{Russian
+ Translation Journal}.
+\end{description}
+For example, the first line of the document should be something like
+\begin{quote}
+\verb!\documentstyle[jgrga]{article}! \\
+\makebox[0pt][r]{or\hspace{1ex}}\verb!\documentstyle[agums]{article}!
+\end{quote}
+for JGR camera-ready copy or a manuscript, respectively.
+
+Note that the term \emph{galley proofs} is more accurate than
+\emph{camera-ready copy}, since the latter implies finished pages in 1-to-1
+relation with the final journal article. In fact, the papers are still cut and
+pasted together, with figures and tables inserted by hand. However, I will
+continue to refer to the galley proofs as camera-ready copy since this is the
+terminology that most of us are used to.
+
+\subsection{The New \LaTeX{} Standard}
+On 1994 June~1, a new improved, modernized \LaTeX{} was released and
+declared to be the only supported standard. This new version is called
+\LaTeXe. The older one, version~2.09, is still available but will no
+longer be updated. It is also expected that \LaTeX{} programmers who
+write extension packages (like AGU\TeX{} and \app) will do so in future
+only for \LaTeXe.
+
+\LaTeXe{} can operate in one of two modes. The \emph{native mode}, which
+is more efficient, is invoked by calling \verb!\documentclass! in place
+of \verb!\documentstyle!. In the new jargon, what used to be \emph{main
+style} (e.g., \texttt{article}) is now a \emph{class}, and \emph{style
+options} (like \texttt{agupp}) are called \emph{packages}, to be loaded
+with the command \verb!\usepackage!.
+
+There is also a \emph{compatibility mode} that emulates the 2.09 version,
+allowing older documents and many (but not all) extension packages to run
+just as before. It is the \verb!\documentstyle! command that activates
+this mode. As it now stands, AGU\TeX{} (version 4.0) will not run in
+native mode, but will procede in compatibility mode, with some minor
+discrepancies. (In \texttt{agums}, for manuscripts, 12~pt should be
+selected, otherwise the file \texttt{art12.sty} is read in; this file no
+longer exists in \LaTeXe.)
+
+I now provide \app{} for both versions of \LaTeX: as a style option
+\texttt{\filename.sty} for 2.09 or compatibility, and as a class file
+\texttt{\filename.cls} for \LaTeXe{} native mode. The latter also fixes
+up the problems in AGU\TeX{} so that it can run in native mode, but only
+with \app. By providing a class file for \LaTeXe{} instead of a package,
+I can distinguish between the two with the file extension. The
+alternative would be to issue two versions with identical names, which
+could cause headaches.
+
+\subsection{The Extension Package}
+The \app{} extension package requires that AGU\TeX{} be present and
+available on the system. It does not replace the official AGU package,
+but rather uses it with modifications.
+
+For \LaTeXe, \app{} is called as a class with one of the AGU\TeX{}
+packages as an option, as e.g.
+\begin{quote}
+\verb!\documentclass[jgrga]{!\texttt{\filename}\verb!}!
+\end{quote}
+This loads the \texttt{article} class and then the selected package
+before making the \app{} modifications.
+(Do not load the AGU\TeX{} package with \verb!\usepackage!, since that
+would undo those modifications.)
+
+Of the regular options to \texttt{article}, only \texttt{twoside}
+is meaningful, and then only with the preprint
+\texttt{agupp} choice; there is no point in selecting \texttt{titlepage}.
+
+The manuscript produced with \texttt{agums} is double spaced. In order to
+generate a single space manuscript, add the option \texttt{tighten}, or
+include the command \verb!\tighten! in the preample. (Reminder: the
+\emph{preamble} is everything that comes before
+\verb!\begin{document}!.) To alternate between single and double
+spaced text, use the commands \verb!\singlespace! and \verb!\doublespace!
+anywhere in the text.
+
+For \LaTeX~2.09, \app{} is included by adding the option \texttt{\filename}
+\emph{after} the AGU\TeX{} option name, as e.g.
+\begin{quote}
+\verb!\documentstyle[jgrga,!\texttt{\filename}\verb!]{article}!
+\end{quote}
+
+\section{Organization of the Paper}
+
+\subsection{Front Material}
+Before the main body of the text, some information about the manuscript and
+paper must be given. This information may actually be printed at the end of
+the article, depending on which option has been selected, but it is always
+entered at the start, before \verb!\begin{document}!.
+\begin{quote}
+\verb!\received{!\emph{date\_received}\verb!}!\\
+\verb!\revised{!\emph{date\_revised}\verb!}!\\
+\verb!\accepted{!\emph{date\_accepted}\verb!}!
+\end{quote}
+These commands enter the relevant dates, which are only meaningful for the
+camera-ready copy. They will be communicated to the author by the editor.
+
+\begin{quote}
+\verb!\journalid{!\emph{vol}\verb!}{!\emph{journal\_date}\verb!}!\\
+\verb!\articleid{!\emph{start\_page}\verb!}{!\emph{end\_page}\verb!}!\\
+\verb!\paperid{!\emph{manuscript\_id}\verb!}!
+\end{quote}
+Again, this information will be communicated to the author by the editor. (It
+seems that at the moment the first two do not really do anything at all, but
+may be provided for the future when AGU dispenses with cutting and pasting and
+goes to true camera-ready production.)
+
+\begin{quote}
+\verb!\cpright{!\emph{type}\verb!}{!\emph{year}\verb!}!\\
+\verb!\ccc{!\emph{code}\verb!}!
+\end{quote}
+These enter copyright information, for which \emph{code} will be communicated
+to the author. The \emph{type} is one of
+\begin{description}
+\item[\ttfamily AGU] for AGU copyright
+\item[\ttfamily Crown] for (Commonwealth) government copyright
+\item[\ttfamily PD] for public domain (no copyright)
+\end{description}
+
+\begin{quote}
+\verb!\lefthead{!\emph{authors}\verb!}!\\
+\verb!\righthead{!\emph{short\_title}\verb!}!
+\end{quote}
+These commands permit text for the running heads to be included. For the
+camera-ready copy, they are (currently) printed out so many times at the end
+(later cutting and pasting!) but with \texttt{\filename}, they will be added
+at the top of each page of the preprint.
+
+\begin{quote}
+\verb!\slugcomment{!\emph{text}\verb!}!
+\end{quote}
+With this command, the author may include his own text to be printed at the
+top of the preprint title page, such as ``This article is to appear in
+\dots.'' It should be given before the \verb!\title! command.
+
+The information that is printed at the end of the camera-ready copy comes
+after the list of references, and the output is part of that command. If
+there are no references, then the information must be forced out with the
+command
+\begin{quote}
+\verb!\forcesluginfo!
+\end{quote}
+following the main text.
+
+\subsection[]{Declarations for \app}
+A number of additional \app{} declarations are available to enable or modify
+some of the features. These may all be given in the preamble too, although
+some may actually be permitted anywhere in the document. They are all
+described later, but are listed here for completeness.
+\begin{description}
+\item[\ttfamily \bsl sectionnumbers]
+ turns on section numbering; default is no
+ numbering, as preferred by AGU; must be given before the first
+ \verb!\section! command.
+
+\item[\ttfamily \bsl extraabstract]
+ prints a supplemental abstract at the end of the
+ camera-ready version, as required by JGR; this may be invoked anywhere in
+ the paper, for it only enables the output which always comes at the end.
+
+\item[\ttfamily \bsl printfigures]
+ causes the figures and plates to be output at the
+ end of the manuscript and camera-ready copy; this is in addition to the
+ figure captions that are always output and is only meaningful if the
+ \texttt{figure} and \texttt{plate} environments really contain
+ something to print.
+
+\item[\ttfamily \bsl figmarkoff]
+ suppresses the printing of marginal notes next to the location where
+ \texttt{figure}, \texttt{plate}, and \texttt{table} environments occur;
+ by default such mar\-gin\-al notes are enabled.
+
+\item[\ttfamily \bsl figmarkon]
+ re-enables the marginal notes; these two declarations
+ may be given as often and wherever one feels they are needed.
+
+\item[\ttfamily \bsl doublecaption\char`\{35pc\char`\}]
+ enables the printing of all
+ figure and plate captions in two widths: once in the single column width
+ and again in the width specified, here 35~pc; JGR requires that all
+ captions be provided in two sizes. (AGU\TeX-4.0 provides this feature
+ automatically.)
+
+\item[\ttfamily \bsl afour]
+ changes the page layout to be more appropriate to
+ European A4 paper; for camera-ready this means only that the page is
+ slightly longer but the column width remains the same.
+
+\end{description}
+
+\subsection{Title and Authors}
+The preamble is ended with \verb!\begin{document}!, and the title and author
+information are given.
+\begin{quote}\slshape
+Contrary to standard \LaTeX, the title and authors are printed by the commands
+that enter the information. This means these commands {\bfseries may not
+be given in the preamble!} For many authors, this means changing
+long-standing habits.
+\end{quote}
+
+The coding in \app{} corrects this, so that the traditional \LaTeX{}
+behavior is re-established.
+
+\begin{quote}
+\verb!\title{!\emph{full\_title}\verb!}!\\
+\verb!\author{!\emph{names}\verb!}!\\
+\verb!\affil{!\emph{organization}\verb!}!\\
+\verb!\authoraddr{!\emph{full\_address}\verb!}!
+\end{quote}
+The order of these commands is important. First comes the \verb!\title!, the
+argument of which may be broken up into lines with \verb!\\! commands (not
+absolutely necessary). Next come sets of \verb!\author! and \verb!\affil!
+commands, one set per author organization.
+ {\slshape(This again is different from standard \LaTeX{} where
+ \verb!\author! is given only once.)}
+Finally, the \verb!\authoraddr! command is given (anywhere) once for each
+author, with the name and full postal address as argument.
+
+An alternative method of presenting the authors is with footnotes for the
+affiliations. This is done with the commands
+\begin{quote}
+\verb!\altaffilmark{!\emph{numbers}\verb!}!\\
+\verb!\altaffiltext{!\emph{number}\verb!}{!\emph{text}\verb!}!
+\end{quote}
+The first command is included in the text of the \verb!\author! command; the
+second is given once per footnote afterwards. For example,
+\begin{quote}
+\begin{verbatim}
+\author{J. P. Smith\altaffilmark{1,2}
+ and C. J. Jones\altaffilmark{2}}
+\altaffiltext{1}{On leave}
+\altaffiltext{2}{Research Institute X}
+\end{verbatim}
+\end{quote}
+The two methods (\verb!\affil! or footnotes) may be combined.
+
+The \verb!\authoraddr! commands should rightly come in the preamble after the
+copyright information. Their arguments are printed out only for the
+camera-ready copy, at the end.
+
+\subsection{The Abstract}
+Following the title comes the abstract. This is given as in standard \LaTeX{}
+within an \texttt{abstract} environment, as
+\begin{quote}\begin{verbatim}
+\begin{abstract}
+ This is the text of the abstract. . .
+\end{abstract}
+\end{verbatim}
+\end{quote}
+
+\subsection{The Text Body}
+The rest of the body of the article is organized into \emph{sections},
+\emph{subsections}, and \emph{sub-subsections}, with commands
+\verb!\section{!\emph{heading}\verb!}!,
+\verb!\subsection{!\emph{heading}\verb!}!, and
+\verb!\subsubsection{!\emph{heading}\verb!}!, whereby the third-level
+\emph{heading} should capitalize only the first word and end with a period.
+
+For AGU\TeX\ version 4.0 and later, all the text from the first section to the
+end of the references is to be included within the \verb!\begin{article}!
+\dots \verb!\end{article}! environment.
+With \app{}, this environment is optional.
+
+\subsubsection{This is a third-level heading.}
+It has been entered with: \verb!\subsubsection{!\texttt{This is a
+third-level heading.}\verb!}! with the final period included. (In the
+camera-ready copy, the third-level heading is run into the following text on
+the same line.)
+
+\begin{quote}
+Sections are normally not numbered, unless the \app{} declaration
+\verb!\sectionnumbers! has been issued. The AGU manual states that section
+numbering should be carried out \emph{by explicitly including the numbers in
+the heading text.} This would violate a fundamental principle of a
+formatting language like \LaTeX, and will lead to much annoyance when sections
+are referred to or are changed. The AGU's argument is that \LaTeX{} will not
+format the numbered sections in the way that it wants them. \app{} has
+corrected so that the automatic numbering may be used.
+\end{quote}
+
+\subsection{Appendices}
+As in normal \LaTeX, the declaration \verb!\appendix! is issued at that point
+where the appendices are to start. This command redefines a number of things
+so that the sectioning commands now function as appendix headers. The
+numbering of equations and tables is also changed.
+
+\begin{quote}
+With \app, the numbering of figures and plates is also changed. I think it was
+an oversight on the part of AGU not to do this too, for it seems strange to
+have such inconsistent behavior. Besides, there are enough examples in
+previous AGU publications where figures too are numbered within appendices.
+\end{quote}
+
+If there is only one appendix, it should be introduced with the command
+\verb!\section*! rather than \verb!\section!. Recall that the starred versions
+suppress section numbering, or in the case of appendices, lettering.
+
+\begin{quote}
+The standard AGU package requires that the appendix letter be included in the
+heading text. This is the same repugnant notion as putting section numbers in
+explicitly. In \app, this is not necessary. Thus where AGU says to give
+\verb!\section{Appendix A: Title}!, it is sufficient to type only
+\verb!\section{Title}! (or \verb!\section*{Title}! if there is only one
+appendix).
+\end{quote}
+
+\subsection{The Acknowledgments}
+Acknowledgments come after the main text, including appendices, but before the
+list of references. They are introduced with one of the commands
+\begin{quote}
+\verb!\acknowledgments!\\
+\verb!\acknowledgment!\\
+\verb!\acknowledgements!\\
+\makebox[0pt][r]{or }\verb!\acknowledgement!
+\end{quote}
+Both the American and British versions of the command names print the same
+result: the American spelling!
+
+\section{Floats}
+
+The major difference between the official AGU package and \app{} is the
+treatment of figures, plates, and tables, objects that are referred to as
+`floats' in \LaTeX{} terminology because they do not appear where they are
+typed in in the text, but move around to an appropriate location. The AGU
+standard package wants \emph{all} floats to appear at the end of the
+manuscript and camera-ready copy (fair enough), and the figures and plates to
+be printed \emph{only as captions}. This means that the preprints will also
+only exhibit the captions, and that all floats come at the end and will not be
+integrated in the text.
+
+Another major, ridiculous problem, is that if there is an appendix in the
+work, then all floats entered at the end must be given explicit numbers, for
+otherwise \LaTeX{} automatic numbering will treat them as appendix items with
+corresponding numbering. I have already expressed my sentiment about explicit
+numbering.
+
+With \app, these problems are solved. Floats are entered in the text
+\emph{where they are first referred to}. For preprints, they are then
+printed in the text as in a normal \LaTeX{} article; for manuscripts and
+camera-ready copy, only a marginal note is printed with the number,
+something AGU insists on anyway.
+(This may be suppressed with \verb!\figmarkfalse! and reinstated with
+\verb!\figmarktrue!.) The figure and plate captions are then automatically
+listed at the end, followed by the tables, followed optionally by the figures
+and plates themselves.
+
+\subsection{Figures and Plates}
+\begin{figure}
+\figbox{\hsize}{6cm}{Paste Figure Here}
+\caption[]{A demonstration paste-in figure. The width was given as
+ {\tt\protect\bsl hsize} (the column width), the height as
+ 6~cm.\label{fig:demo}}
+\end{figure}
+
+Figures are entered in the \texttt{figure} or \texttt{figure*}
+environments, the latter being intended for double-column figures in
+two-column (preprint) format. Both environments produce identical results
+for manuscripts and camera-ready. The AGU provides a command
+\verb!\figurewidth! to specify the \emph{width of the camera-ready
+caption}; if it is omitted, the caption width is the normal column width.
+There is a limited number of allowed values as arguments: 20~pc (the
+default single-column width), 35~pc, and 41~pc. (For \emph{Radio Science}
+with \texttt{radga}, the values are 19, 33, and 38~pc.)
+
+JGR is still demanding that all figure captions be printed twice, once in
+width 20 and again in 35~pc. To enable this, give \verb!\doublecaption{35pc}!
+somewhere in the document, preferrably in the preamble so you notice it.
+
+The standard AGU package says that a \texttt{figure} environment should contain
+only an optional \verb!\figurewidth! command and a compulsory \verb!\caption!
+command, and nothing else. \app{} allows real figure contents to be included,
+but packed in a special \verb!\figbox!.
+This command takes three arguments:
+the width and height of the box, and the figure contents. The contents may be
+merely a note about what figure is to be pasted here, or a diagram made with
+\texttt{picture} or \textsc{Pic}\TeX, or an imported figure from other software,
+such as an encapsulated PostScript\footnote{PostScript is registered trademark
+of Adobe-Systems Incorporated.} file.
+
+There is also a starred version \verb!\figbox*! that behaves exactly the same
+as \verb!\figbox! except that no frame is drawn around the figure. This is
+most useful for real figures, whereas the unstarred command is more
+appropriate for reserved space for glued-in figures.
+
+Examples of input text for figures are:
+\begin{verbatim}
+\begin{figure}
+\figbox{\hsize}{6cm}{Paste Figure Here}
+\caption[]{A demonstration paste-in figure.
+ The width was given as {\tt hsize}
+ (the column width), the height as
+ 6~cm.\label{fig:demo}}
+\end{figure}
+
+\begin{figure*}
+ \figurewidth{35pc}
+ \figbox*{}{}{%
+ \includegraphics[width=35pc]{myfig.eps}}
+ \caption{A plot of Y versus X for various
+ times\label{fig:my}}
+\end{figure*}
+\end{verbatim}
+For this to work, you must have loaded the \texttt{graphicx} package with
+\verb!\usepackage! at the beginning, and you must have a PostScript driver for
+the output. (There are other packages with different syntaxes for importing
+graphics; use the one that you are most familiar with.)
+
+The result of the first example is shown in Figure~\ref{fig:demo}.
+
+The \verb!\figbox! command reserves a framed box of the specified size and
+centers the contents both horizontally and vertically. It makes use of the
+standard \LaTeX{} \verb!\framebox! command, which can be customized with the
+parameters \verb!\fboxrule! and \verb!\fboxsep!. To suppress the rule
+altogether, use \verb!\figbox*! rather than setting \verb!\fboxrule! to zero,
+since this will turn off the box around the marginal notes.
+
+It is possible to have \verb!\figbox! and \verb!\figbox*! scale automatically
+to the size of its contents, something that is useful when the contents are a
+real figure. If the first argument (the width) is left empty, both dimensions
+are automatically set; otherwise one can specify the width and leave the
+second (height) empty for automatic sizing. Thus the possibilities are:
+\begin{quote}
+\verb!\figbox{}{}{...} ! scales both automatically\\
+\verb!\figbox{\hsize}{}{...} ! sets width to column width, height automatically
+\end{quote}
+Plates are made up in exactly the same way as figures but with the
+\texttt{plate} and \texttt{plate*} environments. These are not part of standard
+\LaTeX, but have been added for AGU publications. In place of
+\verb!\figurewidth!, one must use
+\verb!\platewidth!; however, \verb!\figbox! and \verb!\figbox*! work for
+plates as well.
+
+\subsection{Tables}
+Tables function somewhat differently from figures and plates because their
+contents will always be printed. Thus there is no equivalent of \verb!\figbox!
+for tables.
+
+Tables are constructed with the \LaTeX{} \texttt{tabular} or
+\texttt{tabbing} environments, as described in the manuals. To make them
+into floats, they must be included in a \texttt{table} or \texttt{table*}
+environment. For \app, they are to be placed in the text where
+appropriate, and not at the end as in standard AGU\TeX.
+There is an AGU command \verb!\tablewidth! to set the width of the
+table caption. Allowed values are 20, 30, 41, 48--57~pc, except for
+\emph{Radio Science} which has 19, 20, 37, 43--51~pc.
+
+The AGU package contains some additions to standard \LaTeX{} to put footnotes
+and comments in a table. These are
+\begin{quote}
+\verb!\tablenotemark{!\emph{letter}\verb!}!\\
+\verb!\tablenotetext{!\emph{letter}\verb!}{!\emph{text}\verb!}!\\
+\verb!\tablecomments{!\emph{cmnt\_text}\verb!}!
+\end{quote}
+The footnotes are numbered with lowercase letters which the author must enter
+explicitly. The \emph{cmnt\_text} is explanatory material that is printed
+below the table. These will all work with \app{} as well.
+
+AGU\TeX{} also provides an additional table-making environment, called
+\texttt{planotable}, for tables that may be continued over several pages.
+This too works with \app.
+
+
+\begin{planotable}{lcc}
+\tablewidth{20pc}
+\tablecaption{Coordinates of stations
+ \label{tab:coords}}
+\tablehead{\colhead{Station} &
+ \colhead{$\theta$\tablenotemark{\it a}} &
+ \colhead{$\phi$\tablenotemark{\it b}}}
+\tablenotetext{\it a}{Latitute, north $>0$}
+\tablenotetext{\it b}{Longitude, east $>0$}
+\tablecomments{Taken from Broodey [1976]}
+\startdata
+Brixstone & $45^\circ$ & $90^\circ$ \nl
+Wilstone &$-45^\circ$ &$-50^\circ$ \nl
+Tipstone & $56^\circ$ &$124^\circ$
+\end{planotable}
+
+The \texttt{planotable} environment is encouraged by AGU, because it
+automatically formats the tables with the three horizontal rules that they
+want: after the title, after the column headings, and after the table data.
+A typical example would look like
+\begin{verbatim}
+\begin{planotable}{lcc}
+\tablewidth{20pc}
+\tablecaption{Coordinates of stations
+ \label{tab:coords}}
+\tablehead{\colhead{Station} &
+ \colhead{$\theta$\tablenotemark{\it a}} &
+ \colhead{$\phi$\tablenotemark{\it b}}}
+\tablenotetext{\it a}{Latitute, north $>0$}
+\tablenotetext{\it b}{Longitude, east $>0$}
+\tablecomments{Taken from Broodey [1976]}
+\startdata
+Brixstone & $45^\circ$ & $90^\circ$ \nl
+Wilstone &$-45^\circ$ &$-50^\circ$ \nl
+Tipstone & $56^\circ$ &$124^\circ$
+\end{planotable}
+\end{verbatim}
+The result is shown in Table~\ref{tab:coords}.
+
+Additional commands possible are
+\begin{description}
+\item[\ttfamily\bsl tablebreak] to force a page break in the middle of table;
+\item[\ttfamily\bsl nodata] for table elements that are empty;
+\item[\ttfamily\bsl cutinhead] to add new heading centered across whole table.
+\end{description}
+
+\noindent
+\textbf{Note}: users who are familiar with the \texttt{longtable} environment
+from the package of the same name may use it too in place of
+\texttt{planotable}. However, be aware that that environment does not work in
+two-column mode. This means you can use it for manuscripts and camera-ready
+copy, but not for two-column preprints.
+
+\section{Citations and List of References}
+The great disappointment in AGU\TeX{} is the lack of a decent author-year
+citation scheme and \btx{} style file. This is corrected with \app, which also
+provides the bibliography style file \texttt{agu.bst} along with the interfacing
+to use it correctly.
+
+Even if one does not make use of \btx{} to generate the list of references,
+one may type it in oneself as a \texttt{thebibliography} environment. The form of
+the entries must be observed, however.
+\begin{verbatim}
+\begin{thebibliography}{} %<-- Note {}
+ \bibitem[Smith {\it et al.}(1992)]{smi92}
+ Smith, J. G., P. G. Jones, and F. H. Weston,
+ Some results, {\it J. Strange Results},
+ {\it 32}, 345--350, 1992
+
+ \bibitem . . .
+\end{thebibliography}
+\end{verbatim}
+Each \verb!\bibitem! entry contains in square brackets the text that should
+appear in the citation, \emph{but with the year in round parentheses}.
+Following that is the \emph{key} to refer to the citation, here \texttt{smi92}.
+This is also the key that is used to identify a reference in a \btx{}
+database. Of course, it is much easier to make up such a database and let
+\btx{} generate the \texttt{thebibliography} environment. This is done with
+commands
+\begin{quote}
+\verb!\bibliographystyle{agu}!\\
+\verb!\bibliography{!\emph{database}\verb!}!
+\end{quote}
+where \emph{database} is the name of the bibliographic database file(s) that
+are to be searched by \btx. (The \btx{} program must also be run after at
+least one \LaTeX{} processing, and then \LaTeX{} must be run at least two
+times more.)
+
+In the main text, the commands \verb!\citet! and \verb!\citep! are
+used almost as in
+standard \LaTeX{} to print the citation, but with the following variations:
+\\[1ex]
+\begin{tabular}{l@{~$\Rightarrow$~}l}
+\verb!\citet{smi92}! & Smith {\it et al.} [1992] \\
+\verb!\citep{smi92}! & [Smith {\it et al.}, 1992] \\
+\verb!\citep[p.~3]{smi92}! & [Smith {\it et al.}, 1992, p.~3]\\
+\verb!\citep[see][]{smi92}! & [see Smith {\it et al.}, 1992]
+\end{tabular}\\[1ex]
+Note that the use of optional arguments is somewhat different from that
+of normal \LaTeX{} where only a single argument in square brackets is
+allowed to place a note \emph{after} the citation. Here one optional
+argument behaves that way, but if there are two, then the first goes
+before, the second after the citation. This is because in author-year
+citations one often wants to say [see Smith {\it et al.}, 1992, and
+references therein].
+
+Multiple citations may be made with one \verb!\citep! command:\\[1ex]
+\begin{tabular}{l@{~$\Rightarrow$~}l}
+\verb!\citep{smi92,jam89}! & [Smith {\it et al.}, 1992; \\
+\multicolumn{1}{c}{} & \quad James, 1989]\\
+\verb!\citep{smi89,smi92}! & [Smith {\it et al.}, 1989, 1992]
+\end{tabular}
+
+It is also possible to cite the authors and years of a reference
+separately, as\\[1ex]
+\begin{tabular}{l@{~$\Rightarrow$~}l}
+\verb!\citeauthor{smi92}! & Smith {\it et al.}\\
+\verb!\citeyear{smi92}! & 1992
+\end{tabular}
+
+\section{Other Features}
+These are the major features of \app, but there are a few more
+nice frills that are provided at no extra charge.
+
+\subsection{Improved Preprint Title}
+The AGU\TeX{} style \texttt{agupp} puts the title, authors, and abstract on
+a titlepage and starts the two-column mode with the first \verb!\section!
+command on the next page. Frankly, this looks cheap. By selecting the
+option \texttt{twocolumn} explicitly, the title and authors are put on the
+same page as the opening text, but the abstract goes into a narrow
+column. (This is actually standard \LaTeX, so one should not complain.)
+\app, on the other hand, puts the
+title, author, and abstract all across the two columns of the starting
+text.
+This is illustrated on the first page of this paper.
+Furthermore, the information in \verb!\lefthead! and \verb!\righthead!
+are added in the running heads; the option \texttt{twoside} may be used
+to effect here. This looks far more professional, more like a reprint
+than a preprint.
+
+\subsection{Notation List}
+
+If there is to be a list of notations used, AGU wishes it to appear after any
+appendices but before the acknowledgements and reference list. They recommend
+using the \texttt{tabular} environment, which has some inconveniences, such as
+it cannot continue on to another page and one has to adjust a width manually.
+
+
+\app\ provides the \texttt{notation} environment for this, which takes as its
+argument the longest symbol to be listed. For example
+\begin{quote}\begin{verbatim}
+\begin{notation}{$V_{\mbox{\small max}}$}
+ \item[$V$] velocity in general
+ \item[$V_{\mbox{\small p}}$]
+ proton velocity
+ \item[$V_{\mbox{\small max}}$]
+ maximum velocity
+\end{notation}
+\end{verbatim}
+\end{quote}
+This produces an unnumbered section heading \textbf{Notation} with the listing:
+\begin{quote}\begin{minipage}{0.8\columnwidth}
+\begin{notation}{$V_{\mbox{\small max}}$}
+ \item[$V$] velocity in general
+ \item[$V_{\mbox{\small p}}$]
+ proton velocity
+ \item[$V_{\mbox{\small max}}$]
+ maximum velocity
+\end{notation}
+\end{minipage}\end{quote}
+
+\subsection{Supplemental Abstract}
+JGR requires an additional abstract with the paper number for printing in the
+JGR-Space Physics Subsets. By including the declaration
+\begin{quote}
+\verb!\extraabstract!
+\end{quote}
+anywhere in the paper (preferrably in the preamble), this will be printed
+automatically as the very last page of the camera-ready copy. For other
+versions, it does nothing, so that it may be left in all the time.
+
+\noindent
+\textbf{Note:} AGU\TeX-4.0 provides this feature too, with the command
+\verb|\printabstract| just before \verb|\end{document}|. This only works for
+\texttt{jgrga.sty}.
+
+\subsection{Sublabelling}
+Sometimes it is required to label some equations, figures, or tables as 4a,
+4b, 4c, \dots, that is, to sublabel them. This can be done with the pair of
+commands
+\begin{quote}
+\verb!\sublabon{!\emph{counter}\verb!}!\\
+\verb!\sublaboff{!\emph{counter}\verb!}!
+\end{quote}
+where \emph{counter} is one of \texttt{equation}, \texttt{figure},
+\texttt{plate}, or \texttt{table}. For example,
+\begin{verbatim}
+\sublabon{figure}
+\begin{figure}
+ \caption{Caption of fig. 4a}
+\end{figure}
+\begin{figure}
+ \caption{Caption of fig. 4b}
+\end{figure}
+\sublaboff{figure}
+\begin{figure}
+ \caption{Caption of fig. 5}
+\end{figure}
+\end{verbatim}
+The \verb!\sublabon! contains an implicit \verb!\sublaboff! so it is not
+necessary to turn the sublabelling first off then on again in order to step
+the main counter: a single \verb!\sublabon! will do the job.
+
+AGU\TeX{} provides a \texttt{mathletters} environment that is equivalent to
+\verb!\sublabon{equation}!. There is no reason not to use this with \app{}
+too.
+
+\subsection{Balancing Two Columns}
+An annoying thing about the \LaTeX{} two-column mode is that the two columns
+on the last page are of different lengths. The \app{} package contains the
+command \verb!\balance! that activates the equalizing of columns of text on
+one page. Since this sometimes causes problems with floats and footnotes, it
+is better to issue it only on the last page. More precisely, it should appear
+somewhere in the text of the (unbalanced) left-hand column of the last page.
+Obviously, it only makes sense for preprints; in other modes, it has no
+effect, and may safely be left in the text.
+
+The counter command \verb!\nobalance! undoes the equalizing if this should be
+necessary.
+
+\subsection{Alternative Text for One and Two Columns}
+Often one needs to format text differently for the narrow columns of the
+preprint and camera-ready copy than for the wider columns of the manuscript.
+This is especially so for mathematical formulas. Since it is frustrating to
+have to alter the text every time one changes between manuscript and other
+output, \app{} provides the command
+\begin{quote}
+\verb!\iftwocol{!\emph{two\_col\_text}\verb!}{!\emph{one\_col\_text}\verb!}!
+\end{quote}
+to be able to keep the alternative versions always present. The {\em
+two\_col\_text\/} will be printed for preprints or camera-ready copy (which
+ultimately appears as double columns) and \emph{one\_col\_text} for
+manuscripts.
+
+\section{Conclusions}
+The extension package \app{} adds features to AGU\TeX{} that have been gained
+over many years of practical experience of providing camera-ready copy to JGR
+and GRL. It has not been thought up out of the blue, but derives from feedback
+between the author, his colleagues, other users, and their interactions with
+the AGU copy editors, who often have been quite frustrating in their demands.
+The extension package is a distillation from the full-fledged \LaTeX{} styles
+\texttt{art-jgr} and \texttt{art-grl}. However, since \app{} is an extension to
+AGU\TeX, it simply assumes the layout specifications given to it, and so
+should be able to survive any future format alterations.
+
+It is the offspring of a battle-tested warrior and as such should be able to
+provide much more sturdy service. Its major advantages over standard AGU\TeX{}
+are
+\begin{enumerate}
+\item explicit numbering of many items can be avoided,
+
+\item figures, plates, and tables may be put into the text so that decent
+ preprints are made with a minimum of changes (simply by changing an option
+ in \verb!\documentstyle! or \verb!\documentclass!),
+
+\item and yet figure captions and tables appear at the end as required for
+ manuscripts and camera-ready copy,
+
+\item author-year citations may be done comfortably with \btx,
+
+\item appendices do not require explicit lettering, nor do they imply that
+ tables must be explicitly numbered afterwards,
+
+\item sublabelling of counters other than \texttt{equation} is possible,
+
+\item alternative text may be inserted for narrow and wide columns so that,
+ for example, math formulas always fit properly,
+
+\item the appearance of the first preprint page is improved, with title,
+ authors, and abstract across the two columns of text,
+
+\item the two columns on the last page of a preprint may be nicely balanced.
+\end{enumerate}
+
+The main emphasis of \app{} is that explicit numbering should be avoided at
+all costs, and that the text should be able to output manuscripts,
+camera-ready copy, and preprints, with only a simple change to the
+\verb!\documentstyle/class! command.
+
+\appendix
+\section{Encapsulated PostScript}
+As mentioned here, it is possible to include encapsulated PostScript files in
+a figure or plate, but within a \verb!\figbox*! frame. What makes a PostScript
+file `encapsulated' is the addition of certain standardized comments, the most
+important of which, for our purposes, is the \emph{bounding box
+specifications}. This tells \LaTeX{} (more properly the \texttt{dvips} driver)
+how to scale and shift the diagram to make it fit into the reserved space.
+
+However, many application programs cheat on the bounding box. It is not
+trivial to calculate (I know, for I have written a program to do it), so many
+programs just give the size of the full page. In this case, the figure will
+not fit so well into \verb!\figbox*!, which places the center of the specified
+bounding box in the center of the \verb!\figbox*!. If your figures come out
+displaced, or too small, then this may be the problem. A bounding box
+adjustment is necessary.
+
+For encapsulated PostScript diagrams, or for any other real figures, it is
+better to use \verb!\figbox*! rather than \verb!\figbox! in order to suppress
+the frame drawn around the figure.
+
+\balance
+\section{A Template for an \app{} Article}
+I present here the outline of a source file with the essential
+AGU\TeX{} and \app{} shown.
+\begin{small}
+\begin{verbatim}
+\documentclass[twoside,agupp]{aguplus}
+ %\documentclass[agums]{aguplus}
+ %\documentclass[jgrga]{aguplus}
+ % STANDARD PACKAGE FOR GRAPHICS
+\usepackage{graphicx}
+ % ALTERNATIVELY: (LaTeX 2.09)
+ %\documentstyle[twoside,agupp,aguplus]{article}
+ %\documentstyle[agums,aguplus]{article}
+ %\documentstyle[jgrga,aguplus]{article}
+ % AGU++ OPTIONS
+ %\printfigures % ADDS FIGURES AT END
+ %\doublecaption{35pc} % CAPTIONS PRINTED TWICE
+ %\sectionnumbers % TURNS ON SECTION NUMBERS
+ %\extraabstract % ADDS SUPPLEMENTAL ABSTRACT
+ %\afour % EUROPEAN A4 PAPER SIZE
+ %\figmarkoff % SUPPRESS MARGINAL MARKINGS
+
+ % AGUTeX OPTIONS AND ENTRIES
+ %\tighten % TURNS OFF DOUBLE SPACING
+ %\singlespace % RESTORES SINGLE SPACING
+ %\doublespace % RESTORES DOUBLE SPACING
+\lefthead{authors}
+\righthead{short title}
+\received{date1}
+\revised{date2}
+\accepted{date3}
+\journalid{JGRA}{Journal date}
+\articleid{page1}{page2}
+\paperid{94JZ12345}
+\ccc{0000-0000/00/94JZ-12345\$05.00}
+ % \cpright{PD}{1994}
+ % \cpright{Crown}{1994}
+ % (No \ccc{} for Crown copyrights.)
+\cpright{AGU}{1994}
+
+\authoraddr{author1, full address}
+\authoraddr{author2, full address}
+
+\slugcomment{To appear ...}
+
+ % END OF PREAMBLE
+\begin{document}
+\title{Full Title}
+ %
+ % TWO METHODS FOR GIVING THE AUTHORS
+ %
+\author{author set 1}
+\affil{Institute 1}
+
+\author{author set 2\altaffilmark{1}}
+\affil{Institute 2}
+
+\altaffiltext{1}{Other institute}
+
+ % ALTERNATIVELY:
+ %\author{author1\altaffilmark{1} and
+ % author2\altaffilmark{2,3}}
+ %\altaffiltext{1}{Institute 1}
+ %\altaffiltext{2}{Institute 2}
+ %\altaffiltext{3}{Other institute}
+
+ %
+ % THE ABSTRACT
+ %
+\begin{abstract}
+ Text of abstract.
+\end{abstract}
+
+ %
+ % THE MAIN BODY OF TEXT
+ %
+\begin{article}
+\section{Introduction}\label{sec:lab}
+
+\subsection{..}
+
+\subsubsection{..}
+
+ %
+ % FLOAT EXAMPLES
+ %
+\begin{figure}
+ \figbox{\hsize}{10cm}{Paste Fig Here}
+ \caption{Caption text.\label{fig:lab}}
+\end{figure}
+
+\begin{figure}
+ \figbox*{}{}{\includegraphics[height=10cm]{fig.eps}}
+ \caption{Caption text.\label{fig:eps}}
+\end{figure}
+
+\begin{plate*}
+ \platewidth{35pc}
+ \figbox{35pc}{12cm}{Paste Plate Here}
+ \caption{Caption text.\label{pla:lab}}
+\end{plate*}
+
+\begin{table}
+ \caption{Caption of table.\label{tab:lab}}
+ \begin{tabular}{...}
+ .....
+ \end{tabular}
+\end{table}
+
+ %
+ % CITATION EXAMPLES
+ %
+As shown by \citet{smi92}, one may ...
+
+It has been shown \citep{smi92} that one may ...
+
+ %
+ % APPENDIX
+ %
+\appendix
+\section{Some More Stuff}
+
+ %
+ % ACKNOWLEDGMENTS
+ %
+\acknowledgments
+We wish to thank...
+
+ %
+ % BALANCING PREPRINT COLUMNS
+ %
+\balance
+
+ %
+ % LIST OF REFERENCES (BIBTEX)
+ %
+\bibliographystyle{agu}
+\bibliography{...}
+ %
+ % WITHOUT BIBTEX
+ %
+ %\begin{thebibliography}{}
+ % \bibitem[author {\it et al.}(year)]{key}
+ % reference text
+ %
+ % \bibitem[author1 and author2(year)]{key}
+ % reference text
+ %
+ %\end{thebibliography}
+
+\end{article}
+\end{document}
+\end{verbatim}
+
+\end{small}
+
+\begin{thebibliography}{}
+
+\bibitem[{{\it Kopka and Daly\/}(1999)}]{ltx:guide3}
+Kopka, H., and P.~W. Daly, {\it A Guide to \LaTeX---Document Preparation for
+ Beginners and Advanced Users\/}, 3rd ed., Addison Wesley Longman, Reading,
+ MA, 1999.
+
+\bibitem[{{\it Lamport\/}(1994)}]{ltx:lamport2}
+Lamport, L., {\it \LaTeX---A Document Preparation System\/}, 2nd ed.,
+ Addison-Wesley, Reading, MA, 1994.
+
+\end{thebibliography}
+\end{document}
+\endinput
+%%
+%% End of file `aguplus.tex'.
diff --git a/macros/latex/contrib/aguplus/agupp.sty b/macros/latex/contrib/aguplus/agupp.sty
new file mode 100644
index 0000000000..bf3da0a12b
--- /dev/null
+++ b/macros/latex/contrib/aguplus/agupp.sty
@@ -0,0 +1,970 @@
+
+%% agupp.sty -- March 29, 1999 version
+%% revisions by Jennifer Harvey, AGU, 3/29/99:
+%% Table breaking problem corrected.
+%%
+% revisions by Jennifer Harvey, AGU, 8/3/98
+% Changed \gras journal command to \gji
+%
+%% revisions by Amy Hendrickson, TeXnology Inc, 1/5/96
+%
+%% This file (agupp.sty) creates two-column preprint
+% pages suitable for distribution among colleagues.
+% Do not submit two-column output to AGU.
+
+
+\def\revtex@ver{5.01}
+\def\revtex@date{August 3, 1998}
+\def\revtex@org{AGU}
+\def\revtex@jnl{AGU}
+\def\revtex@genre{preprint}
+\typeout{\revtex@org\space \revtex@genre\space substyle, v\revtex@ver\space
+<\revtex@date>.}
+\def\revtex@pageid{\xdef\@thefnmark{\null} \@footnotetext{This
+\revtex@genre\space was prepared with
+\revtex@org{'s}\space \LaTeX\ macros v\revtex@ver. \fmtdate@id}}
+\def\genre@MS{manuscript}
+\def\genre@PP{preprint}
+\ifx\revtex@genre\genre@MS
+\ifnum\@ptsize<2
+\typeout{Warning: Undersize \revtex@genre\space font (1\@ptsize\space pts).
+Use 12pt documentstyle option.}
+\fi
+\fi
+\def\ps@plaintop{\let\@mkboth\@gobbletwo
+\def\@oddfoot{}\def\@oddhead{\rm\hfil--\space\thepage\space--\hfil}
+\def\@evenfoot{}\let\@evenhead\@oddhead}
+%\ps@plain
+\textwidth=6.9in
+\textheight=8.6in
+\topmargin=0in
+\headheight=9pt
+\headsep=12pt
+\oddsidemargin=0in
+\evensidemargin=0in
+\parindent=1.2em
+
+\newdimen\saveparindent
+\saveparindent=\parindent
+
+\parskip=0.5ex
+\columnsep=0.5in
+\hoffset=-0.2in
+\def\@tolerant{600}
+\def\@verytolerant{10000}
+\tolerance\@tolerant
+\def\@tightleading{1.1}
+\def\@doubleleading{1.6}
+\let\tighten=\relax
+\let\tightenlines=\tighten
+\let\singlespace=\relax
+\let\doublespace=\relax
+\def\sec@upcase#1{\relax{#1}}
+\def\eqsecnum{
+\@newctr{equation}[section]
+\def\theequation{\hbox{\normalsize\arabic{section}-\arabic{equation}}} }
+\def\@journalname{The Geopolitical Journal} \def\cpr@holder{American
+Geophysical Union}
+\def\received#1{\gdef\@recvdate{#1}} \received{}
+\def\revised#1{\gdef\@revisedate{#1}} \revised{}
+\def\accepted#1{\gdef\@accptdate{#1}} \accepted{}
+\def\journalid#1#2{\gdef\@jourvol{#1}\gdef\@jourdate{#2}}
+\def\articleid#1#2{\gdef\@startpage{#1}\gdef\@finishpage{#2}}
+\def\paperid#1{\gdef\@paperid{#1}} \paperid{}
+\def\ccc#1{\gdef\CCC@code{#1}} \ccc{} \def\cpright#1#2{\@nameuse{cpr@#1}
+\gdef\cpr@year{#2} \typeout{`#1' copyright \cpr@year.}}
+\newcount\@cprtype \@cprtype=\@ne
+\def\cpr@AGU{\@cprtype=1}
+\def\cpr@PD{\@cprtype=2}
+\def\cpr@Crown{\@cprtype=3}
+\def\cpr@none{\@cprtype=4}
+\def\cpr@year{\number\year}
+\def\@slug{\par\noindent
+\ifcase\@cprtype
+\relax
+\or
+Copyright \cpr@year\space by the \cpr@holder.
+\or
+This paper is not subject to U.S. copyright. Published by \cpr@year\space
+by the \cpr@holder.
+\or
+Published by \cpr@year\space by the \cpr@holder.
+\or
+No copyright is claimed for this article.
+\fi
+\par\noindent
+Paper number \@paperid.\par\noindent \CCC@code
+}
+\def\lefthead#1{\gdef\@versohead{#1}} \lefthead{\relax}
+\def\righthead#1{\gdef\@rectohead{#1}} \righthead{\relax}
+\def\@runheads{\@tempcnta\c@page
+\@whilenum \@tempcnta >0\do{
+\vskip 3ex
+\hbox to30pc{\small\expandafter\uppercase\expandafter{\@versohead}:
+\expandafter\uppercase\expandafter{\@rectohead}\hfil}
+\advance\@tempcnta by\m@ne}
+}
+
+
+\def\slugcomment#1{\gdef\slug@comment{#1}} \slugcomment{}
+\newdimen\@slugcmmntwidth \@slugcmmntwidth\textwidth
+\long\def\@makeslugcmmnt{\ifx\slug@comment\@empty\relax\else
+\setbox\@tempboxa\hbox{\slug@comment}
+\ifdim \wd\@tempboxa >\@slugcmmntwidth
+\hbox to\textwidth{\parbox\@slugcmmntwidth\slug@comment\hfil} \else
+\hbox to\textwidth{\box\@tempboxa\hfil} \fi
+\vskip 2ex
+\fi}
+
+\def\@dates{
+\ifx\@recvdate\@empty\relax\else
+{\rm Received}\space\@recvdate\fi%
+\ifx\@revisedate\@empty\relax\else%
+; \space{\rm revised}\space\@revisedate\fi%
+\ifx\@accptdate\@empty\else; \space{\rm accepted}\space%
+\@accptdate.\fi%
+}
+
+\def\@authaddrs{\ifx\authaddr@list\@empty\relax \else
+{\normalsize\authaddr@list\vskip1sp} \gdef\authaddr@list{}
+\fi}
+\def\@sluginfo{{\flushleft
+\@dates
+\endflushleft}}
+\let\dates=\relax
+\let\sluginfo=\relax
+\let\forcesluginfo=\relax
+\def\abstract{\if@twocolumn
+\section*{Abstract}
+\else \large \vspace{3em}
+\flushleft{\bf{Abstract}\vspace{-.5em}\vspace{0pt}}\endflushleft
+\parindent\z@
+\fi}
+\def\title#1{%\thispagestyle{plain}
+\@makeslugcmmnt
+{\flushleft\if@twocolumn\large\else\Large\fi\bf#1\endflushleft}}
+\def\author#1{{\topsep 0pt\flushleft
+\if@twocolumn\normalsize\else\vspace{4ex}\large\fi#1\endflushleft}}
+\def\affil#1{\vspace*{-0.8ex}{\topsep 0pt\flushleft
+\if@twocolumn\small\else\normalsize\fi\rm#1\endflushleft}}
+\def\altaffilmark#1{$^{#1}$}
+\def\and{\vspace*{-0.5ex}{\topsep\z@\flushleft and\endflushleft}}
+\newtoks\@temptokenb
+\def\authaddr@list{}
+\def\authoraddress#1{
+\@temptokena={\vskip-\parskip\noindent\hskip1em#1}
+\@temptokenb=\expandafter{\authaddr@list}
+\xdef\authaddr@list{\the\@temptokenb\the\@temptokena}}
+\let\authoraddr=\authoraddress
+\def\@keywordtext{Subject headings}
+\def\@keyworddelim{---}
+\def\keywords#1{\vspace*{-.7ex}
+\if@twocolumn\noindent{\small{\it\@keywordtext:\/}\space\@kwds{#1}}
+\else{\quote\if@twocolumn\small\else\large\fi
+{\it\@keywordtext:\/}\space\@kwds{#1}\endquote}
+\fi}
+\let\subjectheadings=\keywords
+\def\@kwds#1{#1\relax}
+\skip\footins 3ex plus 1ex minus .5ex \footnotesep 2ex
+\newif\if@firstsection \@firstsectiontrue
+
+% Make Section heads with numbers
+% and text wraps flush left.
+
+\setcounter{secnumdepth}{0}
+
+\def\@sect#1#2#3#4#5#6[#7]#8{\ifnum #2>\c@secnumdepth
+\let\@svsec\@empty\else
+\refstepcounter{#1}\edef\@svsec{\csname the#1\endcsname.\ \ }\fi%
+%
+\@tempskipa #5\relax
+\ifdim \@tempskipa>\z@
+\begingroup #6\relax
+%\@hangfrom{
+\hskip #3\relax%
+\@svsec%}%
+{\hyphenpenalty10000\relax\interlinepenalty\@M%
+#8\par}%
+\endgroup
+\csname #1mark\endcsname{#7}\addcontentsline
+{toc}{#1}{\ifnum #2>\c@secnumdepth \else
+\protect\numberline{\csname the#1\endcsname}\fi
+#7}\else
+\def\@svsechd{#6\hskip #3\relax
+% \relax added 2 May 90
+\@svsec #8\ifnum#2=4:\else\ifnum#2=3.\fi\fi%
+\csname #1mark\endcsname
+{#7}\addcontentsline
+{toc}{#1}{\ifnum #2>\c@secnumdepth \else
+\protect\numberline{\csname
+the#1\endcsname}\fi
+#7}}\fi
+\@xsect{#5}}
+
+% \@startsection
+% {NAME}{LEVEL}{INDENT}{BEFORESKIP}{AFTERSKIP}{STYLE}
+% optional * [ALTHEADING]{HEADING}
+% Generic command to start a section.
+% NAME : e.g., `subsection'
+% LEVEL : a number, denoting depth of
+% section -- e.g., chapter=1,
+% section = 2, etc.
+% INDENT : Indentation of heading from left
+% margin
+% BEFORESKIP : Absolute value = skip to leave
+% above the heading. If negative,
+% then paragraph indent of text
+% following heading is suppressed.
+% AFTERSKIP : if positive, then skip to leave
+% below heading, else negative of
+% skip to leave to right of run-in
+% heading.
+% STYLE : commands to set style
+% If `*' missing, then increments the counter.
+% If it is present, then there should be no
+% [ALTHEADING] argument. Uses the counter
+% `secnumdepth' whose value is the highest section
+% level that is to be numbered.
+
+\def\section{\@startsection{section}{1}{-\parindent} {2.3ex plus 1ex minus
+.2ex}{1.5ex plus .2ex}{\large\raggedright\bf}}
+\def\subsection{\@startsection{subsection}{2}{-\parindent} {2ex plus 1ex
+minus .2ex}{1ex plus .2ex}{\normalsize\raggedright\bf}}
+\def\subsubsection{\@startsection{subsubsection}{3}{\parindent}
+{1sp}{-1em}{\normalsize\bf}}
+\def\subsubsubsection{\@startsection{paragraph}{4}{\parindent}
+{1sp}{-1em}{\normalsize\bf}}
+\let\paragraph\subsubsubsection
+
+\def\thesection{\@arabic{\c@section}}
+\def\thesubsection{\thesection.\@arabic{\c@subsection}}
+\def\thesubsubsection{\thesubsection.\@arabic{\c@subsubsection}}
+\def\theparagraph{\thesubsubsection.\@arabic{\c@paragraph}}
+
+\def\appendix{\par
+\setcounter{section}{0}
+\setcounter{equation}{0}
+\def\theequation{\hbox{\Alph{section}\arabic{equation}}}
+\let\body@section=\section
+\def\section{\setcounter{equation}{0}
+\setcounter{table}{0}\refstepcounter{section}%
+\def\@currentlabel{\Alph{section}}%
+\body@section*}}
+\newcounter{cureqno}
+
+\newenvironment{mathletters}{\refstepcounter{equation}%
+\setcounter{cureqno}{\value{equation}}%
+\let\@curtheeqn\theequation%
+\edef\cur@eqn{\csname theequation\endcsname}%
+\def\theequation{\cur@eqn\alph{equation}}%
+\setcounter{equation}{0}}%
+{\let\theequation\@curtheeqn%
+\setcounter{equation}{\value{cureqno}}\hskip-4pt\relax}
+
+\def\eqnum#1{\def\theequation{#1}\let\@currentlabel\theequation
+\addtocounter{equation}{\m@ne}}
+\def\references{\@startsection{section}{1}{\z@}
+{2.3ex plus 1ex minus .2ex}{1.5ex plus .2ex}{\large\bf}*{References}
+\bgroup\parindent=\z@\parskip=\itemsep
+\def\refpar{\vskip-\parskip\hangindent=1.2em\hangafter=1}}
+
+\def\endreferences{\refpar\egroup
+% new ==>>
+\vskip12pt
+\footnoterule
+\footnotesize
+\@authaddrs
+\vskip1pt
+\@dates
+\doaltaffils
+% <==
+\revtex@pageid\normalsize}
+
+\def\forcesluginfo{\vskip12pt
+\footnoterule
+\footnotesize
+\@authaddrs
+\vskip1pt
+\@dates
+\doaltaffils
+\revtex@pageid\normalsize}
+
+\def\thebibliography#1{\@startsection{section}{1}{\z@}
+{2.3ex plus 1ex minus .2ex}{1.5ex plus .2ex}{\large\bf}*{References}
+\list{\null}{\leftmargin 1.2em\labelwidth\z@\labelsep\z@\itemindent -1.2em
+\usecounter{enumi}}
+\def\refpar{\relax}
+\def\newblock{\hskip .11em plus .33em minus .07em}
+\sloppy\clubpenalty4000\widowpenalty4000 \itemsep=-2.5pt
+\sfcode`\.=1000\relax}
+\def\endthebibliography{\endlist{
+% new ==>> \vskip3pt
+\leftskip-1.2em
+\footnoterule
+\footnotesize
+\@authaddrs
+\vskip1pt
+\@dates
+\doaltaffils
+% <==
+\revtex@pageid}\normalsize}
+
+\def\@biblabel#1{\relax}
+
+\def\reference{\relax\refpar}
+\def\markcite#1{#1\relax}
+
+\def\figurenum#1{\def\thefigure{#1}\let\@currentlabel\thefigure
+\addtocounter{figure}{\m@ne}}
+
+\let\set@mkcaption=\relax
+\def\set@mkcaptioncont{\long\def\@makecaption##1##2{ \hbox
+to\pt@width{##1\hfil}\vskip -0.8ex}}
+
+\newcounter{plate}
+\def\theplate{\@arabic\c@plate}
+\def\fps@plate{bp}
+\def\ftype@plate{4} \def\ext@plate{lof}
+ \def\fnum@plate{{\bf Plate \theplate.}}
+\def\plate{\@float{plate}}
+\let\endplate\end@float
+\@namedef{plate*}{\@dblfloat{plate}} \@namedef{endplate*}{\end@dblfloat}
+
+\def\platenum#1{\def\theplate{#1}\let\@currentlabel\theplate
+\addtocounter{plate}{\m@ne}}
+\def\thefigure{\@arabic\c@figure}
+\def\fnum@figure{{\bf Figure \thefigure.}} \def\thetable{\@arabic\c@table}
+\def\fnum@table{{\bf Table \thetable.}} \def\fps@figure{bp}
+\def\fps@table{bp}
+\def\plotone#1{\centering \leavevmode \epsfxsize=\columnwidth \epsfbox{#1}}
+\def\plottwo#1#2{\centering \leavevmode \epsfxsize=.45\columnwidth
+\epsfbox{#1} \hfil \epsfxsize=.45\columnwidth \epsfbox{#2}}
+\def\plotfiddle#1#2#3#4#5#6#7{\centering \leavevmode \vbox
+to#2{\rule{0pt}{#2}}
+\special{psfile=#1 voffset=#7 hoffset=#6 vscale=#5 hscale=#4 angle=#3}}
+\let\jnl@style=\it
+\def\ref@jnl#1{{\jnl@style#1}}
+\def\aj{\ref@jnl{Astron.\ J., }}
+\def\apj{\ref@jnl{Astrophys.\ J., }}
+\def\apjl{\ref@jnl{Astrophys.\ J., }}
+\def\apjs{\ref@jnl{Astrophys.\ J.\ (Supp.), }}
+\def\aap{\ref@jnl{Astron.\ Astrophys., }}
+\def\bams{\ref@jnl{Bull.\ Am.\ Meteorol.\ Soc., }}
+\def\bssa{\ref@jnl{Bull.\ Seismol.\ Soc.\ Am., }}
+\def\eos{\ref@jnl{Eos Trans.\ AGU, }}
+\def\epsl{\ref@jnl{Earth Planet.\ Sci.\ Lett., }}
+\def\gca{\ref@jnl{Geochim.\ Cosmochim.\ Acta, }}
+\def\gjras{\ref@jnl{Geophys.\ J.\ R.\ Astron.\ Soc., }}
+\def\grl{\ref@jnl{Geophys.\ Res.\ Lett., }}
+\def\gsab{\ref@jnl{Geol.\ Soc.\ Am.\ Bull., }}
+\def\jatp{\ref@jnl{J.\ Atmos.\ Terr.\ Phys., }}
+\def\jgr{\ref@jnl{J.\ Geophys.\ Res., }}
+\def\jpo{\ref@jnl{J.\ Phys.\ Oceanogr., }}
+\def\mnras{\ref@jnl{Mon.\ Not.\ R.\ Astron.\ Soc., }}
+\def\mwr{\ref@jnl{Mon.\ Weather Rev., }}
+\def\pepi{\ref@jnl{Phys.\ Earth Planet.\ Inter., }}
+\def\pra{\ref@jnl{Phys.\ Rev.\ A, }}
+\def\prl{\ref@jnl{Phys.\ Rev.\ Lett., }}
+\def\pasp{\ref@jnl{Publ.\ A.\ S.\ P., }}
+\def\qjrms{\ref@jnl{Q.\ J.\ R.\ Meteorol.\ Soc., }}
+\def\rg{\ref@jnl{Rev.\ Geophys., }}
+\def\rs{\ref@jnl{Radio Sci., }}
+\def\usgsof{\ref@jnl{U.S.\ Geol.\ Surv.\ Open File Rep., }}
+\def\usgspp{\ref@jnl{U.S.\ Geol.\ Surv.\ Prof.\ Pap., }}
+\let\astap=\aap
+\let\apjlett=\apjl
+\let\apjsupp=\apjs
+
+% Add on, Aug 24, 1995
+\def\lookforpunct{\ifcat\next]\else, \fi}
+\def\dsr#1{\ifcase#1\or{\it Deep Sea Res.\ Part I}\or%
+{\it Deep Sea Res.\ Part II}\fi\futurelet\next\lookforpunct}
+
+\def\gji{{\frenchspacing\it Geophys. J. Int.}\futurelet\next\lookforpunct}
+
+\def\prb{{\frenchspacing\it Phys. Rev. B Condens. Matter}%
+\futurelet\next\lookforpunct}
+
+\def\prc{{\frenchspacing\it Phys. Rev. C Nucl. Phys.}%
+\futurelet\next\lookforpunct}
+
+\def\prd{{\frenchspacing\it Phys. Rev. D Part. Fields}%
+\futurelet\next\lookforpunct}
+
+\def\pag{{\frenchspacing\it Pure Appl. Geophys.}%
+\futurelet\next\lookforpunct}
+
+%
+\def\deg{\hbox{$^\circ$}}
+\def\sun{\hbox{$\odot$}}
+\def\earth{\hbox{$\oplus$}}
+\def\lesssim{\mathrel{\hbox{\rlap{\hbox{\lower4pt\hbox{$\sim$}}}\hbox{
+$<$}}}}
+\def\gtrsim{\mathrel{\hbox{\rlap{\hbox{\lower4pt\hbox{$\sim$}}}\hbox{$
+>$}}}}
+\def\sq{\hbox{\rlap{$\sqcap$}$\sqcup$}} \def\arcmin{\hbox{$^\prime$}}
+\def\arcsec{\hbox{$^{\prime\prime}$}} \def\fd{\hbox{$.\!\!^{\rm d}$}}
+\def\fh{\hbox{$.\!\!^{\rm h}$}}
+\def\fm{\hbox{$.\!\!^{\rm m}$}}
+\def\fs{\hbox{$.\!\!^{\rm s}$}}
+\def\fdg{\hbox{$.\!\!^\circ$}}
+\def\farcm{\hbox{$.\mkern-4mu^\prime$}}
+\def\farcs{\hbox{$.\!\!^{\prime\prime}$}}
+\def\fp{\hbox{$.\!\!^{\scriptscriptstyle\rm p}$}}
+\def\micron{\hbox{$\mu$m}}
+\let\la=\lesssim
+\let\ga=\gtrsim
+\def\case#1#2{\hbox{$\frac{#1}{#2}$}}
+\def\slantfrac#1#2{\hbox{$\,^#1\!/_#2$}} \def\onehalf{\slantfrac{1}{2}}
+\def\onethird{\slantfrac{1}{3}}
+\def\twothirds{\slantfrac{2}{3}}
+\def\onequarter{\slantfrac{1}{4}}
+\def\threequarters{\slantfrac{3}{4}} \def\ubvr{\hbox{$U\!BV\!R$}}
+ \def\ub{\hbox{$U\!-\!B$}}
+\def\bv{\hbox{$B\!-\!V$}}
+\def\vr{\hbox{$V\!-\!R$}}
+\def\ur{\hbox{$U\!-\!R$}}
+\def\ion#1#2{#1$\;${\small\rm\@Roman{#2}}\relax}
+\def\nodata{\multicolumn{1}{c}{$\cdots$}} \newcount\lecurrentfam
+\def\LaTeX{\lecurrentfam=\the\fam \leavevmode L\raise.42ex
+\hbox{$\fam\lecurrentfam\scriptstyle\kern-.3em A$}\kern-.15em\TeX}
+\def\sizrpt{
+(\fontname\the\font): em=\the\fontdimen6\font, ex=\the\fontdimen5\font
+\typeout{
+(\fontname\the\font): em=\the\fontdimen6\font, ex=\the\fontdimen5\font }}
+\def\format@date{\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\fmtdate@id{File \jobname\space formatted \format@date.}
+
+% Captions
+
+\let\saveAA\AA
+\def\captionAA{\protect{\footnotesize\saveAA}}
+
+\long\def\@makecaption#1#2{{\let\AA\captionAA \vskip
+2ex\noindent\parbox{\pt@width}{#1 #2}\par}}
+\long\def\@caption#1[#2]#3{\par\addcontentsline{\csname
+ext@#1\endcsname}{#1}{\protect\numberline{\csname
+the#1\endcsname}{\ignorespaces #2}}\begingroup \@makecaption{\csname
+fnum@#1\endcsname}{\ignorespaces #3}\par \endgroup}
+
+% Changes needed for all styles
+
+% Alternate affiliations appearing
+% at the end of the article:
+
+\def\altaffiltext#1#2{{\small
+\global\advance\totalaffils by 1
+\expandafter\xdef\csname altaffil#1\endcsname{\noindent\hskip1em$^{#1}${#2}}}}
+
+
+\def\doaltaffils{{\parskip=0pt
+\parindent=0pt
+\loop\ifnum\affilnum<\totalaffils
+\ifnum\affilnum=0
+\goodbreak
+\vskip12pt
+\footnoterule
+\vspace{1sp}\fi
+\csname altaffil\the\affilnum\endcsname \vskip1pt
+\global\advance\affilnum by 1
+\repeat
+\expandafter\ifx\csname altaffil\the\affilnum\endcsname\relax \else
+\csname altaffil\the\affilnum\endcsname\fi \global\affilnum=0
+\global\totalaffils=0
+\vskip12pt
+}}
+\let\doaffils\doaltaffils
+
+\newcount\affilnum
+\affilnum=0
+\newcount\totalaffils
+
+% Changes to citations
+
+\def\newcite{\@ifnextchar
+[{\@tempswatrue\@citex}{\@tempswafalse\x@citex[]}}
+
+\def\x@citex[#1]#2{\if@filesw\immediate\write\@auxout{\string\citation{#2}}
+\fi
+ \let\@citea\@empty
+ \@cite{\@for\@citeb:=#2\do
+ {\@citea\def\@citea{;\penalty\@m\ }%
+ \def\@tempa##1##2\@nil{\edef\@citeb{\if##1\space##2\else##1##2\fi}}%
+ \expandafter\@tempa\@citeb\@nil
+ \@ifundefined{b@\@citeb}{{\reset@font\bf ?}\@warning
+ {Citation `\@citeb' on page \thepage \space undefined}}%
+% \hbox{ commented out to
+% let citation break over lines
+\csname b@\@citeb\endcsname %}
+}}{#1}}
+
+\def\cite{\futurelet\next\lookforbrac}
+
+\def\dobrac[#1]#2{\newcite[#1]{#2}}
+
+\def\donobrac#1{\newcite{#1}}
+
+\def\lookforbrac{\if\next[\let\go\dobrac\else\let\go\donobrac\fi\go}
+
+%
+
+\def\article{\if@twocolumn\relax\else\twocolumn\fi\vskip28pt}
+\def\endarticle{\@normalsize\onecolumn}
+
+
+\def\footnoterule{\kern-3\p@
+ \hrule width 4pc
+ \kern 2.6\p@}
+
+% Make \eqnum work in \eqnarray:
+
+\def\arrayeqnum#1{\gdef\xtheequation{#1}%
+\let\@currentlabel\xtheequation
+\addtocounter{equation}{\m@ne}}
+
+\def\eqnarray{\let\eqnum\arrayeqnum
+% <== to make eqnum work in eqnarray
+\stepcounter{equation}%
+\let\@currentlabel\theequation
+\global\@eqnswtrue\m@th
+\global\@eqcnt\z@\tabskip\@centering\let\\\@eqncr
+$$\halign to\displaywidth\bgroup\@eqnsel\hskip\@centering
+ $\displaystyle\tabskip\z@{##}$&\global\@eqcnt\@ne
+ \hskip 2\arraycolsep \hfil${##}$\hfil
+ &\global\@eqcnt\tw@ \hskip 2\arraycolsep
+$\displaystyle\tabskip\z@{##}$\hfil
+ \tabskip\@centering&\llap{##}\tabskip\z@\cr}
+
+\def\@@eqncr{\let\@tempa\relax
+ \ifcase\@eqcnt \def\@tempa{& & &}\or \def\@tempa{& &}%
+ \else \def\@tempa{&}\fi
+ \@tempa \if@eqnsw\expandafter\ifx\csname xtheequation\endcsname\relax
+\@eqnnum\else(\xtheequation)\global\let\xtheequation\relax\fi
+% <===
+\stepcounter{equation}\fi
+ \global\@eqnswtrue\global\@eqcnt\z@\cr}
+
+%
+
+\def\broadside{\bgroup
+\global\dimen0=\the\textheight
+\global\dimen1=\the\textwidth
+\global\textheight = \dimen1
+\global\textwidth= \dimen0
+\clearpage
+%
+%\thispagestyle{empty}
+%
+\figurewidth{\textwidth}
+\tablewidth{\textwidth}}
+
+\def\endbroadside{\egroup
+\global\textheight\dimen0
+\global\textwidth\dimen1\clearpage}
+
+\let\tableline=\hline
+\newtoks\@temptokena
+\newtoks\@temptokenb
+
+\def\tablenotemark#1{\rlap{$^{\rm #1}$}}
+\def\nodata{\multicolumn{1}{c}{$\cdots$}}
+\newcount\pt@ncol
+\def\tblnote@list{}
+
+\newdimen\pt@width
+\pt@width=\textwidth
+
+\def\tablecaption#1{\gdef\pt@caption{#1}}
+
+\def\pt@caption{\relax}
+
+\newcount\ampcount
+\def\saveamp{&}
+\def\saveandcountamps{\global\advance\ampcount by1\saveamp}
+\catcode`\&=\active
+
+\def\htabular #1{\def\@halignto{to#1}\@tabular[t]}
+
+\def\xendtabular{\crcr\egroup\egroup}
+
+\let\endhtabular\xendtabular
+
+\def\x@tabular{\let\@acol\@tabacol
+ \let\@classz\@tabclassz
+ \let\@classiv\@tabclassiv \let\\\@tabularcr\@tabarray}
+
+\def\multicolumn#1#2#3{\multispan{#1}\begingroup
+\@mkpream{#2}%
+\def\@sharp{#3}\let\protect\relax
+ \let\@startpbox\@@startpbox\let\@endpbox\@@endpbox
+ \@arstrut \@preamble\hbox{}\endgroup\ignorespaces}
+
+\def\tablecomments#1{\@temptokena={\hskip1em\rm #1\par}%
+\@temptokenb=\expandafter{\tblnote@list}
+\xdef\tblnote@list{\the\@temptokenb\the\@temptokena}}
+
+\let\tablerefs\tablecomments
+
+\def\tablenotetext#1#2{{%
+\@temptokena={\vspace{0.0ex}{%
+\vskip1pt\noindent\strut\hskip1em$^{\rm #1}$#2}\par}%
+\@temptokenb=\expandafter{\tblnote@list}
+\xdef\tblnote@list{\the\@temptokenb\the\@temptokena}}}
+
+\def\spew@tblnotes{
+\ifx\tblnote@list\@empty\relax
+\else
+\vspace{.4ex}
+{\small\tblnote@list}
+\gdef\tblnote@list{}
+\fi}
+
+\def\spew@ptblnotes{\ifx\tblnote@list\@empty\relax
+\else
+\par
+\vspace{2ex}
+{\small\tblnote@list}
+\gdef\tblnote@list{}
+\fi}
+
+\def\continuedcaption{{\bf Table \thetable.}
+({\rm continued})}
+
+\newbox\tabbox
+\newdimen\totaltabdp
+
+\def\xplanotable{planotable}
+
+\def\HasNoWidth#1{\cr\noalign{\vskip-2ex}%
+\multicolumn{\the\finalcolcount}{c}{$\vcenter{\parindent=0pt
+\hsize=.5\hsize
+\center\baselineskip=14pt\relax%
+\it\relax#1
+\endcenter\vskip1sp}$}\cr%
+\noalign{\vskip-2ex}}
+
+\def\haswidth#1{\cr\noalign{\center\baselineskip=14pt\relax%
+\hsize=\pt@width
+\it\relax\vskip-14pt#1}}
+
+\def\cutinhead#1{\ifdim\pt@width=0pt\let\go\HasNoWidth\else%
+\let\go\haswidth\fi\go{#1}}
+
+\def\xend{\end}
+\def\lookforending{%
+\ifx\next\end
+\global\let\xgo\pickuparg\else
+\global\let\xgo\xendline\fi\xgo}
+
+\def\pickuparg#1#2{\def\two{#2}\ifx\two\xplanotable
+\gdef\ygo{\end{planotable}}\else\gdef\ygo{#1#2\endline}\fi\ygo}
+
+\def\endline{\futurelet\next\lookforending}
+
+\long\def\xendline#1\nl{\let&\saveandcountamps
+\setbox0=\vbox{\hbox{\tabular[t]{\pt@format}
+#1\cr\doendtabular}}%
+\ifnum\ampcount>\finalcolcount \global\finalcolcount=\ampcount\fi
+\global\ampcount=0
+\ifdim\wd0>\insidetablewd
+\global\insidetablewd=\wd0\fi
+\global\advance\totaltabdp by\ht0
+\global\advance\totaltabdp by\dp0
+\ifdim\totaltabdp >.85\textheight\global\let\zgo\endpage\else
+\global\let\zgo\endline\fi#1\cr\let&\relax\zgo}%%
+
+\def\endpage{\crcr\noalign{\vskip-\the\baselineskip\hrule\vskip4pt}
+\doendtabular\egroup%
+\expandafter\ifx\csname pt@caption\endcsname\relax
+\else
+\noindent%
+{\bf Table \thetable.} \pt@caption \vskip10pt\global\let\pt@caption\relax
+\fi
+\noindent\unvbox\tabbox
+\newpage
+\global\totaltabdp=0pt
+\startcontinueddata}
+
+\def\dofirstpreamble{\htabular{\the\pt@width}{@{\extracolsep{\fill}}
+\pt@format}}
+\def\dofirstend{\endhtabular}
+
+\def\dosecondpreamble{\tabular[t]{\pt@format}}
+
+\def\dosecondend{\endtabular}
+
+\newdimen\insidetablewd
+
+\def\startdata{\advance\totaltabdp by \the\baselineskip
+\let\endtabular\xendtabular
+\let\@tabular\x@tabular
+\let&\saveamp
+\setbox\tabbox=\vbox\bgroup%
+%
+\ifdim\pt@width=0pt\relax%
+\gdef\dopreamble{\dosecondpreamble}%
+\gdef\doendtabular{\dosecondend}%
+\else%
+\gdef\dopreamble{\dofirstpreamble}%
+\gdef\doendtabular{\dofirstend}%
+\fi\dopreamble\pt@head\cr%
+\noalign{\vskip-\the\baselineskip
+\global\finalcolcount=\the\pt@ncol\relax}
+\let&\relax
+\xendline}
+
+\def\xrelax{\relax}
+
+\def\startcontinueddata{\let&\saveamp
+\let\endtabular\xendtabular
+\let\@tabular\x@tabular
+\setbox\tabbox=\vbox\bgroup%
+%
+\ifx\pt@caption\xrelax\else
+\hbox{\continuedcaption}\fi
+\let&\saveamp
+\setbox0=\vbox{\tabular[t]{\pt@format}\pt@head\cr\doendtabular}%
+\global\advance\totaltabdp by\ht0
+\global\advance\totaltabdp by\dp0
+\advance\totaltabdp by\the\baselineskip
+\ifdim\wd0>\insidetablewd
+\global\insidetablewd=\wd0\fi
+%
+\dopreamble\pt@head\cr%
+\noalign{\vskip-\the\baselineskip}%
+\let&\relax\xendline}
+
+\let\nl\relax
+
+\long\def\pickupend#1\end#2{\def\two{#2}\ifx\two\xplanotable
+\gdef\ago{#1\nl\end{planotable}}\else
+\gdef\ago{#1\end{#2}\pickupend}\fi\ago}
+
+\def\planotable#1{\clearpage%
+\global\pt@width=0pt
+\catcode`\&=\active
+\let\ltx@label=\label\gdef\pt@label{\let\label=\ltx@label}%
+\def\label##1{\gdef\pt@labeltag{##1}%
+\gdef\pt@label{\ltx@label{\pt@labeltag}\let\label=\ltx@label}}
+\global\advance\c@table by 1\relax
+\def\@captype{table}\def\pt@format{#1}\pickupend}
+
+\def\endplanotable{\crcr
+\noalign{\vskip-\the\baselineskip\hrule}
+\doendtabular
+\egroup%
+\hsize=\wd\tabbox
+\expandafter\ifx\csname pt@caption\endcsname\relax
+\else
+\noindent%
+{\bf Table \thetable.} \pt@caption \vskip10pt\global\let\pt@caption\relax
+\fi
+\noindent\unvbox\tabbox
+\pt@label
+\vskip1sp
+%
+\spew@ptblnotes
+\vskip1sp
+\hsize=\textwidth
+\catcode`\&=4
+\global\pt@ncol=0
+\gdef\pt@caption{\relax}
+\global\totaltabdp=0pt
+\global\pt@width=\textwidth\relax\gdef\thespnum{}}
+
+\edef\tablewidth#1{\global\pt@width=#1}
+\let\platewidth=\tablewidth
+
+\def\tablehead#1{\gdef\pt@head{\noalign{\hrule\vskip3pt}
+#1\strut\cr\noalign{\vskip3pt\hrule}}}
+
+\def\colhead#1{\hfill\relax #1\global\advance\pt@ncol by\@ne\hfill\relax}
+
+\newcount\finalcolcount
+
+% Tablenum
+%
+% If a letter is given preceding the number, that letter
+% is assumed to be an appendix letter and is repeated on
+% following tables until a new appendix letter is given.
+% If a letter follows the table number, it is used for
+% that table number only.
+
+\let\thespnum\relax
+\def\saveapos{'}
+\def\savedoll{$}
+\def\dodollars#1${\xdef\thespnum{$#1$}}
+
+\def\gotokazowee#1\kazowee{\xdef\thespnum{\x#1}}
+\def\xkazowee{\kazowee}
+\def\kazowee{\relax}
+\def\xrelax{\relax}
+
+\def\loopthru#1{\def\x{#1}\ifx\x\xkazowee\let\go\relax\else
+\ifx\x\savedoll\let\go\dodollars\else
+\ifx\x\xrelax\let\go\relax\else
+\let\go\loopthru
+\expandafter\ifcat\x 8\ifx\x\saveapos\xdef\thespnum{'}\fi\else%
+\let\go\gotokazowee\fi\fi\fi\fi\go}
+
+\def\lookforletter#1#2#3\relax{\def\two{#2}
+\ifx\two\empty\global\c@table=#1\relax\else
+\def\x{#1}\def\y{#2}
+\ifcat\x a
+\ifcat\y a\gdef\theletter{#1#2}\def\test{#3}
+% in case there are 2 letters
+\else\def\test{#2#3}\gdef\theletter{#1}\fi
+% in case there is one letter
+%
+\expandafter\loopthru\test\kazowee
+\setbox0=\hbox{\global\c@table=\test}\else
+\def\test{#1#2#3}\expandafter\loopthru\test\kazowee
+\setbox0=\hbox{\global\c@table=\test}
+\gdef\theletter{\relax}\fi\fi}
+
+\def\tablenum#1{\def\xone{#1}\expandafter\lookforletter\xone\relax
+\global\let\@currentlabel\thetable\relax\relax}
+%
+
+\def\thetable{\theletter\the\c@table\thespnum}
+
+\let\theletter\relax
+
+\def\endtable{\spew@tblnotes\end@float}
+
+\def\tablevspace#1{\noalign{\vskip{#1}}}
+
+\def\tablebreak{\global\totaltabdp=2\textheight\relax}
+
+\catcode`\&=4
+
+%
+
+\def\ps@plaintop{\let\@mkboth\@gobbletwo
+\def\@oddfoot{}\def\@oddhead{\rm\hfil\thepage}
+\def\@evenfoot{}\let\@evenhead\@oddhead}
+\ps@plaintop
+
+\let\saveenddocument\enddocument
+\def\enddocument{\@runheads\saveenddocument}
+
+\newif\ifprintcallout
+\printcallouttrue
+\def\nocallouts{\global\printcalloutfalse}
+\def\callout#1{#1\ifprintcallout\marginpar{\fbox{\large#1}}\fi}
+
+% Reset these to more generous
+% values to make it easier to
+% position floats.
+
+\setcounter{topnumber}{10}
+\setcounter{bottomnumber}{10}
+
+\def\topfraction{.99}
+\def\bottomfraction{.99}
+\def\textfraction{.01}
+\def\floatpagefraction{.5}
+
+\setcounter{totalnumber}{20}
+
+\setcounter{dbltopnumber}{2}
+\def\dbltopfraction{.7}
+\def\dblfloatpagefraction{.5}
+
+% Macros to make caption and tablenotes
+% be the width of the table in
+% \begin{table}\begin{tabular}...
+% \end{tabular}\end{table}
+
+\let\savetabular\tabular
+\let\saveendtabular\endtabular
+
+\newdimen\tabwidth
+
+\def\ytabular{\global\setbox\tabbox=\hbox\bgroup\hsize=0pt\savetabular}
+\def\endytabular{\saveendtabular\egroup}
+
+\let\savetable\table
+\let\saveendtable\endtable
+
+\let\savecaption\caption
+\def\docaption#1{\gdef\currcaption{#1}}
+
+\let\savetablenum\tablenum
+\def\tabtablenum#1{\savetablenum{#1}\global\advance\c@table-1\relax}
+
+\let\savelabel\label
+\newcount\labnum
+\newcount\labloopnum
+\def\keeplabel#1{\global\advance\labnum by 1
+\expandafter\gdef\csname label\the\labnum\endcsname{#1}}
+
+\def\dolabel{\labloopnum=1\loop
+\ifnum\labloopnum<\labnum
+\savelabel{\csname label\the\labloopnum\endcsname}
+\global\advance\labloopnum by 1
+\repeat
+\ifnum\labnum=0\else
+\savelabel{\csname label\the\labloopnum\endcsname}\fi
+\global\labloopnum=0
+\global\labnum=0
+\relax}
+
+\newbox\tablebox
+\def\table{\setbox\tablebox=\vbox\bgroup\let\tabular\ytabular
+\let\endtabular\endytabular
+\let\caption\docaption
+\let\tablenum\tabtablenum
+\let\label\keeplabel
+\def\@captype{table}\tablook}
+
+\newcount\tabnotecount
+\newcount\loopnotecount
+
+\def\endtable{{\hsize=\wd\tabbox
+\ifx\currcaption\relax\else
+\savecaption{\hsize=\wd\tabbox\currcaption}\fi
+\global\tabwidth=\wd\tabbox
+\vskip9pt
+\noindent\unhbox\tabbox
+\vskip-6pt
+\spew@tblnotes}\egroup
+\vbox{\unvbox\tablebox}
+\dolabel\gdef\thespnum{}}
+
+\def\addtotabnum#1{\gdef\thespnum{#1}}
+\let\thespnum\relax
+
+%
+\def\acknowledgments{\vskip-\lastskip\vskip12pt\indent{\small\bf
+Acknowledgments.}\quad\small}
+
+\def\acknowledgment{\vskip-\lastskip\vskip12pt\indent{\small\bf
+Acknowledgment.}%
+\quad\small}
+
+\let\acknowledgements=\acknowledgments
+ \let\acknowledgement=\acknowledgment
+
+ \def\figurewidth#1{\hsize=#1}
+
+%
+
+ \def\lookbrac{\if\next[\let\go\catchbrac\else\let\go\relax\fi\go}
+ \def\catchbrac[#1]{\relax}
+
+ \def\figure{\bgroup%
+ \def\@captype{figure}\futurelet\next\lookbrac}
+ \let\endfigure\egroup
+
+ \def\tablook{\futurelet\next\lookbrac}
+
+% Jan. 4, 1996
+
+ \def\lefthead#1{\relax}
+ \def\righthead#1{\relax}
+
+ \let\@runheads\relax
diff --git a/macros/latex/contrib/aguplus/changes.v16b b/macros/latex/contrib/aguplus/changes.v16b
new file mode 100644
index 0000000000..4506f981e2
--- /dev/null
+++ b/macros/latex/contrib/aguplus/changes.v16b
@@ -0,0 +1,161 @@
+ CHANGES TO AGU++ SINCE THE ORIGINAL VERSION
+
+Version 1.6b 1999 Aug 19
+ For conformance with AGUTeX 5.01 of March 29, 1999, add option paleo
+ to input the paleo.sty for Paleoceanography.
+
+ If an invalid AGUTeX file is specified as option, an error is issued
+ (previously only a warning and agums was used).
+
+Version 1.6a 1999 May 21
+ The agu.bst and agufull.bst have been corrected again to fix some bugs
+ and incorrect formatting of book editors.
+
+ Aguplus.cls regenerated with natbib 7.0 (new treatment for authorless
+ and/or yearless references). Changes to agu.bst and agufull.bst
+ accordingly.
+
+Version 1.6 1999 February 24
+ Copyright notices changed to conform to the LaTeX Project Public License,
+ ensuring the free distribution with protection against unauthorized copies
+ with the same name.
+
+ The agu.bst and agufull.bst files have been redone to avoid crashing BibTeX
+ on some older versions with limited memory.
+
+Version 1.5g 1998 September 14
+ The longtable environment in the tools package of the same name is
+ supported; however, since this does not work for two-column text, it cannot
+ be used for preprints, only for manuscripts and camera-ready copy.
+
+ The agu.bst bibliography style limits the number of authors to a maximum of
+ nine. If more appear, the list is shortened to the first author et al. If
+ this is not desired, use agufull.bst instead, which lists ALL authors in
+ the list of references.
+
+Version 1.5f 1998 July 16
+ Make the plate environment compatible with hyperref package (version 6.32)
+ Multiple citations in one \citep command are no longer sorted; they appear
+ in the order given.
+
+Version 1.5e 1997 November 18
+ Revise agu.bst (version 2.1b) so page numbers over 9999 are comma-divided
+ as 12,345.
+ Fix a bug so that the \begin{article}...\end{article} can be used.
+ There is no real need for this nonsense, but AGUTeX provides it,
+ so AGU++ does allow it. Previously there were problems when it was
+ used with \appendix.
+
+Version 1.5d 1997 April 28
+ Revise agu.bst (version 2.1) so notes added in mid-sentence with lowercase
+ first word, and journal `number' no longer printed.
+ May be used with amsmath; previously there was a conflict if \sublab used.
+
+Version 1.5c 1997 March 14
+ Revised agu.bst (version 2) fixing up several reported discrepancies
+ between the old version and copy-editor wishes.
+ Replace shorthnd.tex, listing all the physics and geophysics journals with
+ prestored abbreviations in agu.bst; previously optics journals also
+ included although they are not in agu.bst.
+ Minor changes in manual, primarily to emphasize preferred syntax for
+ citations: \citet and \citep instead of \cite and \cite[] (old syntax
+ still works).
+
+Version 1.5b 1996 October 24
+ Fix up bug in AGUTeX's planotable (produces unexpected page changes)
+
+Version 1.5a 1996 October 9
+ Additional patch (overlooked in 1.5) to allow appendices to work right.
+ Add notation environment.
+ Fix running heads with agupp (preprint)
+ Fix footnote at end of text (preprint and manuscript)
+
+Version 1.5 1996 August 20
+ Patches to work with AGUTeX version 4.0.
+
+Version 1.4a 1996 July 29
+ Adds \figbox* command, the same as \figbox but no frame is drawn around
+ the enclosed figure; useful with imported graphics or other `real' figures.
+
+Version 1.4 1996 July 22
+ The \figbox command may now take empty width and height arguments
+ (as \figbox{}{}{...} ) to allow the box to scale automatically to the
+ size of its contents. This is most useful with imported graphics files.
+
+ The agu.bst file contains shorthands for journals in the fields of physics,
+ geophysics, and optics. For example, a BibTeX entry of journal = jgr is
+ sufficient to specify the journal as JGR,
+ instead of journal = "J. Geophys. Res." A list of all such shorthands can
+ be printed by processing shorthnd.tex.
+
+Version 1.3 1995 Dec 01
+ The natbib module that handles author-year citations has been overhauled.
+ This really makes no difference for AGU++, except that it gets the new
+ coding `free of charge'. However, the fourth release of LaTeX2e in
+ December 1995 made changes to the module necessary.
+
+ The supplementary abstract has lost its indentation in a previous revision;
+ it has now been reinserted.
+
+Version 1.2 1995 Jan 08
+ The second release of LaTeX2e in December 1994 contained some internal
+ changes that interfere with the AGU++ figure caption handling mechanism.
+ This has been fixed up in a way to make it consistent with earlier LaTeX
+ versions.
+
+ There was also a serious bug in \figmarkoff that lead to an endless loop.
+ This has been fixed.
+
+Version 1.1 1994 Aug 24
+ For LaTeX2e, make AGUPLUS a class file that takes one of the AGUTEX
+ .sty files as an option. Also take advantage of some internal 2e
+ trickery to improve the coding.
+
+ A 2.09 version is retained as a style option to article as before.
+ Thus: 2.09==>> \documentstyle[jgrga,aguplus]{article}
+ but 2e ==>> \documentclass[jgrga]{aguplus}
+
+ The AGUTEX package cannot run properly under LaTeX2e by itself. The AGU++
+ fixes this up.
+
+Version 1.0b 1994 Aug 22
+ The 1.0 versions were made using a preliminary test release of LaTeX2e. The
+ official release of 1994 June 1 contained some changes that made the
+ citations no longer work properly. This has now been fixed up. (Which means
+ it will not work with the preliminary test release!)
+
+ NOTE: this 1.0b version is still a hybrid; it works under both 2.09 and 2e
+ versions of LaTeX. In future, a LaTeX2e-only package will be supported.
+
+Version 1.0a 1994 June 6
+ Fix up problems with overfull hboxes.
+
+Version 1.0 1994 May 26
+ Made compatible with the new LaTeX2e, although it does not take
+ advantage of any of the new features. (This may come in future.)
+ Add a patch to make AGUTeX work with LaTeX2e.
+
+ Otherwise, only change on the surface is in the \cite command, which
+ now takes 2 optional arguments, for text before and after the citation.
+ \cite{key} ==>> Jones et al. [1990]
+ \cite[]{key} ==>> [Jones et al., 1990]
+ \cite[chap. 2]{key} ==>> [Jones et al., 1990, chap. 2]
+ \cite[e.g.,][]{key} ==>> [e.g., Jones et al., 1990]
+ \cite[see][pg. 34]{key}==>> [see Jones et al., 1990, pg. 34]
+
+ The title of the preprint has been changed to be left justified instead
+ of centered. This makes it the same as the galley proofs and final
+ printing. (I prefer centered myself.)
+
+Version 0.5y 1993 December 17
+ Corrections to fix up problems with planotable, which was not behaving
+ ideally when moved to the back of the manuscript and galley proof.
+
+ Sublabelling of planotables that extended over more than one page
+ did not work correctly, and this has been repaired.
+
+Version 0.5x 1993 December 2
+ Original version
+(The version numbers less than 1 are meant to be experimental still.
+Letters are prefixed to some to indicate that only minor corrections
+ have been undertaken.)
diff --git a/macros/latex/contrib/aguplus/geophys.tex b/macros/latex/contrib/aguplus/geophys.tex
new file mode 100644
index 0000000000..8b8ea01771
--- /dev/null
+++ b/macros/latex/contrib/aguplus/geophys.tex
@@ -0,0 +1,328 @@
+%%
+%% This is file `geophys.tex',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% shorthnd.ins (with options: `head')
+%% physjour.mbs
+%% geojour.mbs
+%% shorthnd.ins (with options: `tail')
+%% ===============================================
+%% IMPORTANT NOTICE
+%% See below for the copyright and distribution conditions.
+%%
+%% This is a generated file.
+%% It may be distributed without the source files listed above.
+%% ===============================================
+%% Copyright 1998, 1999 Patrick W. Daly
+%%
+%% This program 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.
+\documentclass{article}
+\usepackage{longtable}
+
+\def\ACRO{\begingroup\catcode`\M=11\relax\catcode`\"=9\relax\acro}
+\def\acro#1#2{\endgroup\ttfamily#1 & \raggedright #2 \tabularnewline}
+\def\PF#1[#2]{\\\hline\multicolumn{2}{c}{File: \texttt{#1}, version: #2
+ \rule[-.75em]{0pt}{2em}}\\\hline\\[-1ex]}
+\setlength{\parindent}{0pt}
+\setlength{\parskip}{1ex}
+
+\pagestyle{myheadings}
+\markright{List of Journal Shorthands}
+\begin{document}
+
+\title
+ {List of the Shorthands for Journal Names in Various \texttt{.mbs} Files}
+
+\author{Patrick W. Daly}
+
+\date{This is part of the \texttt{makebst} or \texttt{custom-bib} bundle}
+
+\maketitle
+
+\newcommand{\btx}{\textsc{Bib}\TeX}
+
+The shorthands here may be used in \btx\ database (\texttt{.bib}) files in
+place of the full journal name. For example, instead of
+\begin{verbatim}
+journal = "Phys. Rev.",
+\end{verbatim}
+it is sufficient to give
+\begin{verbatim}
+journal = pr,
+\end{verbatim}
+The advantage of this is not only the convenience of typing a shorter form,
+but also the automatic switching between the abbreviated (here ``Phys.\
+Rev.'')\ and full forms (``Physical Review'') depending on the bibliographic
+style file. Thus the one database entry is reformatted automatically.
+
+There is a set of standard shorthands for computing science included in the
+original \texttt{plain.bst}, \texttt{abbrv.bst}, \texttt{unsrt.bst}, and
+\texttt{alpha.bst} files. These are built into \texttt{merlin.mbs} and are
+always present in every \texttt{.bst} file generated from it.
+
+Whether or not the shorthand is present in your \texttt{.bst} file depends on
+the inclusion of the proper \texttt{.mbs} source file during its creation with
+the \texttt{makebst} program. Check the heading to the \texttt{.bst} file
+to find out what source files went into its generation.
+
+You may make up your own list of journal names, abbreviated and full, by using
+one of the existing \texttt{.mbs} files as a model. Include its name in
+\texttt{shorthnd.ins} to obtain a listing of its shorthands too.
+
+\newpage
+
+\begingroup
+\centering
+\def\PC#1{\ifx#1\ProvidesFile \let\next=#1\else\let\next=\skipline\fi\next}
+\def\skipline{\begingroup\catcode`\^^M=12 \SKPLNE}
+{\catcode`\^^M=12 \endlinechar=-1 \gdef\SKPLNE#1^^M{\endgroup}}
+\let\ProvidesFile=\PF
+\catcode`\%=\active
+\let%=\PC
+\catcode`\M=0
+\begin{longtable}{lp{6cm}}
+ \PF{merlin.mbs}[(all)]
+MACRO {acmcs} {"ACM Computing Surveys"}
+MACRO {acta} {"Acta Informatica"}
+MACRO {cacm} {"Communications of the ACM"}
+MACRO {ibmjrd} {"IBM Journal of Research and Development"}
+MACRO {ibmsj} {"IBM Systems Journal"}
+MACRO {ieeese} {"IEEE Transactions on Software Engineering"}
+MACRO {ieeetc} {"IEEE Transactions on Computers"}
+MACRO {ieeetcad}
+ {"IEEE Transactions on Computer-Aided Design of Integrated Circuits"}
+MACRO {ipl} {"Information Processing Letters"}
+MACRO {jacm} {"Journal of the ACM"}
+MACRO {jcss} {"Journal of Computer and System Sciences"}
+MACRO {scp} {"Science of Computer Programming"}
+MACRO {sicomp} {"SIAM Journal on Computing"}
+MACRO {tocs} {"ACM Transactions on Computer Systems"}
+MACRO {tods} {"ACM Transactions on Database Systems"}
+MACRO {tog} {"ACM Transactions on Graphics"}
+MACRO {toms} {"ACM Transactions on Mathematical Software"}
+MACRO {toois} {"ACM Transactions on Office Information Systems"}
+MACRO {toplas} {"ACM Transactions on Programming Languages and Systems"}
+MACRO {tcs} {"Theoretical Computer Science"}
+ %-------------------------------------------------------------------
+ % Begin module:
+ % \ProvidesFile{physjour.mbs}[1999/02/24 2.0d (PWD)]
+MACRO {aa}{"Astronomy and Astrophysics"}
+MACRO {aasup}{"Astronomy and Astrophysics, Supplement Series"}
+MACRO {aph} {"Acta Physica"}
+MACRO {advp} {"Advances in Physics"}
+MACRO {ajp} {"American Journal of Physics"}
+MACRO {ajm} {"American Journal of Mathematics"}
+MACRO {amsci} {"American Scientist"}
+MACRO {anofd} {"Annals of Fluid Dynamics"}
+MACRO {am} {"Annals of Mathematics"}
+MACRO {ap} {"Annals of Physics"}
+MACRO {adp} {"Annalen der Physik"}
+MACRO {ao} {"Applied Optics"}
+MACRO {apl} {"Applied Physics Letters"}
+MACRO {app} {"Astroparticle Physics"}
+MACRO {apj} {"Astrophysical Journal"}
+MACRO {apjsup} {"Astrophysical Journal, Supplement Series"}
+MACRO {baps} {"Bulletin of the American Physical Society"}
+MACRO {cmp} {"Communications in Mathematical Physics"}
+MACRO {cpam} {"Communications on Pure and Applied Mathematics"}
+MACRO {cppcf} {"Comments on Plasma Physics and Controlled Fusion"}
+MACRO {cpc} {"Computer Physics Communications"}
+MACRO {cqg} {"Classical and Quantum Gravity"}
+MACRO {cra} {"Comptes Rendus des S{\'e}ances de l'Acad{\'e}mie des Sciences A"}
+MACRO {fed} {"Fusion Engineering and Design"}
+MACRO {ft} {"Fusion Technology"}
+MACRO {grg} {"General Relativity and Gravitation"}
+MACRO {ieeens} {"IEEE Transactions on Nuclear Science"}
+MACRO {ieeeps} {"IEEE Transactions on Plasma Science"}
+MACRO {ijimw} {"International Journal of Infrared and Millimeter Waves"}
+MACRO {ip} {"Infrared Physics"}
+MACRO {irp} {"Infrared Physics"}
+MACRO {jap} {"Journal of Applied Physics"}
+MACRO {jasa} {"Journal of the Acoustical Society of America"}
+MACRO {jcp} {"Journal of Computational Physics"}
+MACRO {jetp} {"Soviet Physics--JETP"}
+MACRO {jfe} {"Journal of Fusion Energy"}
+MACRO {jfm} {"Journal of Fluid Mechanics"}
+MACRO {jmp} {"Journal of Mathematical Physics"}
+MACRO {jne} {"Journal of Nuclear Energy"}
+MACRO {jnec} {"Journal of Nuclear Energy, Part C: Plasma Physics, Accelerators, Thermonuclear Research"}
+MACRO {jnm} {"Journal of Nuclear Materials"}
+MACRO {jpc} {"Journal of Physical Chemistry"}
+MACRO {jpp} {"Journal of Plasma Physics"}
+MACRO {jpsj} {"Journal of the Physical Society of Japan"}
+MACRO {jsi} {"Journal of Scientific Instruments"}
+MACRO {jvst} {"Journal of Vacuum Science and Technology"}
+MACRO {nat} {"Nature"}
+MACRO {nature} {"Nature"}
+MACRO {nedf} {"Nuclear Engineering and Design/Fusion"}
+MACRO {nf} {"Nuclear Fusion"}
+MACRO {nim} {"Nuclear Instruments and Methods"}
+MACRO {nimpr} {"Nuclear Instruments and Methods in Physics Research"}
+MACRO {np} {"Nuclear Physics"}
+MACRO {npb} {"Nuclear Physics B"}
+MACRO {nt/f} {"Nuclear Technology/Fusion"}
+MACRO {npbpc} {"Nuclear Physics B (Proceedings Suppluments)"}
+MACRO {inc} {"Il Nuovo Cimento"}
+MACRO {nc} {"Nuovo Cimento"}
+MACRO {pf} {"Physics of Fluids"}
+MACRO {pfa} {"Physics of Fluids A: Fluid Dynamics"}
+MACRO {pfb} {"Physics of Fluids B: Plasma Physics"}
+MACRO {pl} {"Physics Letters"}
+MACRO {pla} {"Physics Letters A"}
+MACRO {plb} {"Physics Letters B"}
+MACRO {prep} {"Physics Reports"}
+MACRO {pnas} {"Proceedings of the National Academy of Sciences of the USA"}
+MACRO {pp} {"Physics of Plasmas"}
+MACRO {ppcf} {"Plasma Physics and Controlled Fusion"}
+MACRO {phitrsl} {"Philosophical Transactions of the Royal Society of London"}
+MACRO {prl} {"Physical Review Letters"}
+MACRO {pr} {"Physical Review"}
+MACRO {physrev} {"Physical Review"}
+MACRO {pra} {"Physical Review A"}
+MACRO {prb} {"Physical Review B"}
+MACRO {prc} {"Physical Review C"}
+MACRO {prd} {"Physical Review D"}
+MACRO {pre} {"Physical Review E"}
+MACRO {ps} {"Physica Scripta"}
+MACRO {procrsl} {"Proceedings of the Royal Society of London"}
+MACRO {rmp} {"Reviews of Modern Physics"}
+MACRO {rsi} {"Review of Scientific Instruments"}
+MACRO {science} {"Science"}
+MACRO {sciam} {"Scientific American"}
+MACRO {sam} {"Studies in Applied Mathematics"}
+MACRO {sjpp} {"Soviet Journal of Plasma Physics"}
+MACRO {spd} {"Soviet Physics--Doklady"}
+MACRO {sptp} {"Soviet Physics--Technical Physics"}
+MACRO {spu} {"Soviet Physics--Uspeki"}
+ % End module: physjour.mbs
+ %-------------------------------------------------------------------
+ % Begin module:
+ % \ProvidesFile{geojour.mbs}[1999/02/24 2.0e (PWD)]
+MACRO {aisr} {"Advances in Space Research"}
+MACRO {ag} {"Annales Geophysic\ae"}
+MACRO {anigeo} {"Annali di Geofisica"}
+MACRO {angl} {"Annals of Glaciology"}
+MACRO {andmet} {"Annalen der Meteorologie"}
+MACRO {andgeo} {"Annales de Geophysique"}
+MACRO {andphy} {"Annales de Physique"}
+MACRO {afmgb} {"Archiv f\^^b{u}r Meteorologie, Geophysik und Bioklimatologie"}
+MACRO {ass}{"Astrophysics and Space Science"}
+MACRO {atph} {"Atm\'osphera"}
+MACRO {aao} {"Atmosphere-Ocean"}
+MACRO {atenv} {"Atmospheric Environment"}
+MACRO {aujag} {"Australian Journal of Agricultural Research"}
+MACRO {aumet} {"Australian Meteorological Magazine"}
+MACRO {blmet} {"Boundary-Layer Meteorology"}
+MACRO {bams} {"Bulletin of the American Meteorological Society"}
+MACRO {cch} {"Climatic Change"}
+MACRO {cdyn} {"Climate Dynamics"}
+MACRO {cbul} {"Climatological Bulletin"}
+MACRO {cap} {"Contributions to Atmospheric Physics"}
+MACRO {dsr} {"Deep-Sea Research"}
+MACRO {dhz} {"Deutsche Hydrographische Zeitschrift"}
+MACRO {dao} {"Dynamics of Atmospheres and Oceans"}
+MACRO {eco} {"Ecology"}
+MACRO {empl}{"Earth, Moon and Planets"}
+MACRO {envres} {"Environmental Research"}
+MACRO {envst} {"Environmental Science and Technology"}
+MACRO {ecms} {"Estuarine and Coastal Marine Science"}
+MACRO {expa}{"Experimental Astronomy"}
+MACRO {geoint} {"Geofisica Internationale"}
+MACRO {geopub} {"Geofysiske Publikasjoner"}
+MACRO {geogeo} {"Geologiya i Geofizika"}
+MACRO {gafd} {"Geophysical and Astrophysical Fluid Dynamics"}
+MACRO {gfd} {"Geophysical Fluid Dynamics"}
+MACRO {geomag} {"Geophysical Magazine"}
+MACRO {georl} {"Geophysical Research Letters"}
+MACRO {grl} {"Geophysical Research Letters"}
+MACRO {ga} {"Geophysica"}
+MACRO {gs} {"Geophysics"}
+MACRO {ieeetap} {"IEEE Transactions on Antennas and Propagation"}
+MACRO {ijawp} {"International Journal of Air and Water Pollution"}
+MACRO {ijc} {"International Journal of Climatology"}
+MACRO {ijrs} {"International Journal of Remote Sensing"}
+MACRO {jam} {"Journal of Applied Meteorology"}
+MACRO {jaot} {"Journal of Atmospheric and Oceanic Technology"}
+MACRO {jatp} {"Journal of Atmospheric and Terrestrial Physics"}
+MACRO {jce} {"Journal of Climate"}
+MACRO {jcam} {"Journal of Climate and Applied Meteorology"}
+MACRO {jcm} {"Journal of Climate Meteorology"}
+MACRO {jcy} {"journal of Climatology"}
+MACRO {jgr} {"Journal of Geophysical Research"}
+MACRO {jga} {"Journal of Glaciology"}
+MACRO {jh} {"Journal of Hydrology"}
+MACRO {jmr} {"Journal of Marine Research"}
+MACRO {jmrj} {"Journal of Meteorological Research, Japan"}
+MACRO {jm} {"Journal of Meteorology"}
+MACRO {jpo} {"Journal of Physical Oceanography"}
+MACRO {jra} {"Journal de Recherches Atmospheriques"}
+MACRO {jaes} {"Journal of the Aeronautical Sciences"}
+MACRO {japca} {"Journal of the Air Pollution Control Association"}
+MACRO {jas} {"Journal of the Atmospheric Sciences"}
+MACRO {jmts} {"Journal of the Marine Technology Society"}
+MACRO {jmsj} {"Journal of Meteorological Society of Japan"}
+MACRO {josj} {"Journal of the Oceanographical Society of Japan"}
+MACRO {jwm} {"Journal of Weather Modification"}
+MACRO {lao} {"Limnology and Oceanography"}
+MACRO {mwl} {"Mariners Weather Log"}
+MACRO {mau} {"Mausam"}
+MACRO {meteor} {"``Meteor'' Forschungsergebnisse"}
+MACRO {map} {"Meteorology and Atmospheric Physics"}
+MACRO {metmag} {"Meteorological Magazine"}
+MACRO {metmon} {"Meteorological Monographs"}
+MACRO {metrun} {"Meteorologische Rundschau"}
+MACRO {metzeit} {"Meteorologische Zeitschrift"}
+MACRO {metgid} {"Meteorologiya i Gidrologiya"}
+MACRO {mwr} {"Monthly Weather Review"}
+MACRO {nwd} {"National Weather Digest"}
+MACRO {nzjmfr} {"New Zealand Journal of Marine and Freshwater Research"}
+MACRO {npg} {"Nonlinear Processes in Geophysics"}
+MACRO {om} {"Oceanography and Meteorology"}
+MACRO {ocac} {"Oceanologica Acta"}
+MACRO {oceanus} {"Oceanus"}
+MACRO {paleoc} {"Paleoceanography"}
+MACRO {pce} {"Phys. Chem. Earth"}
+MACRO {pmg} {"Papers in Meteorology and Geophysics"}
+MACRO {ppom} {"Papers in Physical Oceanography and Meteorology"}
+MACRO {physzeit} {"Physikalische Zeitschrift"}
+MACRO {pps} {"Planetary and Space Science"}
+MACRO {pss} {"Planetary and Space Science"}
+MACRO {pag} {"Pure and Applied Geophysics"}
+MACRO {qjrms} {"Quarterly Journal of the Royal Meteorological Society"}
+MACRO {quatres} {"Quaternary Research"}
+MACRO {rsci} {"Radio Science"}
+MACRO {rse} {"Remote Sensing of the Environment"}
+MACRO {rgeo} {"Reviews of Geophysics"}
+MACRO {rgsp} {"Reviews of Geophysics and Space Physics"}
+MACRO {rdgeo} {"Revista de Geofisica"}
+MACRO {revmeta} {"Revista Meteorologica"}
+MACRO {sgp}{"Surveys in Geophysics"}
+MACRO {sp} {"Solar Phys."}
+MACRO {ssr} {"Space Science Review"}
+MACRO {tellus} {"Tellus"}
+MACRO {tac} {"Theoretical and Applied Climatology"}
+MACRO {tagu} {"Transactions, American Geophysical Union (EOS)"}
+MACRO {wrr} {"Water Resources Research"}
+MACRO {weather} {"Weather"}
+MACRO {wafc} {"Weather and Forecasting"}
+MACRO {ww} {"Weatherwise"}
+MACRO {wmob} {"World Meteorological Organization Bulletin"}
+MACRO {zeitmet} {"Zeitschrift f\^^b{u}r Meteorologie"}
+ % End module: geojour.mbs
+%% Copyright 1998, 1999 Patrick W. Daly
+%%
+%% This program 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.
+\end{longtable}
+\endgroup
+\end{document}
+\endinput
+%%
+%% End of file `geophys.tex'.
diff --git a/macros/latex/contrib/aguplus/sample.bib b/macros/latex/contrib/aguplus/sample.bib
new file mode 100644
index 0000000000..f5e8fa23a9
--- /dev/null
+++ b/macros/latex/contrib/aguplus/sample.bib
@@ -0,0 +1,50 @@
+% ****************************************
+% * File: SAMPLE.BIB *
+% ****************************************
+% * An invented bib file *
+% * For the sample texts *
+% * The order is unimportant and there *
+% * may be more entries than references *
+% * in the text *
+% ****************************************
+%
+@ARTICLE{smit54,
+ AUTHOR = {J. G. Smith and H. K. Weston},
+ TITLE = {Nothing Particular in this Year's History},
+ YEAR = {1954},
+ JOURNAL = {J. Geophys. Res.},
+ VOLUME = {2},
+ PAGES = {14-15}
+}
+@BOOK{colu92,
+ AUTHOR = {Christopher Columbus},
+ TITLE = {How {I} Discovered {America}},
+ YEAR = {1492},
+ PUBLISHER = {Hispanic Press},
+ ADDRESS = {Barcelona}
+}
+@ARTICLE{gree00,
+ AUTHOR = {R. J. Green and U. P. Fred and W. P. Norbert},
+ TITLE = {Things that Go Bump in the Night},
+ YEAR = {1900},
+ JOURNAL = {Psych. Today},
+ VOLUME = {46},
+ PAGES = {345-678}
+}
+@ARTICLE{phil99,
+ AUTHOR = {T. P. Phillips},
+ TITLE = {Possible Influence of the Magnetosphere on {American} History},
+ YEAR = {1999},
+ JOURNAL = {J. Oddball Res.},
+ VOLUME = {98},
+ PAGES = {1000-1003}
+}
+@ARTICLE{jame76,
+ AUTHOR = {Kelly James and Harris, Jr., George and Wilby Wollops},
+ TITLE = {{American} Independence and Magnetism},
+ YEAR = {1776},
+ JOURNAL = {Revol. Tracts},
+ VOLUME = {32},
+ PAGES = {34-55}
+}
+
diff --git a/macros/latex/contrib/aguplus/samplus.tex b/macros/latex/contrib/aguplus/samplus.tex
new file mode 100644
index 0000000000..aad0cec9f1
--- /dev/null
+++ b/macros/latex/contrib/aguplus/samplus.tex
@@ -0,0 +1,304 @@
+%% Version of source file:
+%% Date: 1998 Sep 14
+%% **************************************
+% * SAMPLE INPUT FOR AGUTeX & AGU++ *
+%% **************************************
+% Various alternatives for the input are shown, commented out.
+% E.g., for the documentstyle options
+% for the authors' names,
+% for the bibliography
+% Feel free to play around with these variations, especially with
+% the style options ms and twocolumn and 11pt/12pt
+
+ %%%% LATEX2E: SELECT ONE OF THE NEXT LINES
+\documentclass[jgrga]{aguplus} % CAMERA-READY, JGR
+
+%\documentclass[twoside,agupp]{aguplus} % PREPRINT
+
+%\documentclass[agums]{aguplus} % MANUSCRIPT
+% % (ALWAYS 12PT)
+%% <<<<<<<<<<<<<<<<<<<<<<<<<<<>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
+%% ADD THIS LINE IF POSTSCRIPT FONTS AVAILABLE
+% \usepackage{times} % WITH TIMES ROMAN FONT
+% ^^^^^^^^^^^^^^^^^^
+%% This is STRONGLY recommended for the camera-ready version!!
+%% <<<<<<<<<<<<<<<<<<<<<<<<<<<>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
+
+ %%%% LATEX 2.09: SELECT ONE OF THE FOLLOWING
+%\documentstyle[jgrga,aguplus]{article} % CAMERA-READY FOR JGR
+
+%\documentstyle[twoside,agupp,aguplus]{article} % PREPRINT, TWOSIDED
+
+%\documentstyle[agums,aguplus]{article} % MANUSCRIPT (12PT)
+
+
+%% ADD THIS PACKAGE IF GRAPHICS ARE TO BE IMPORTED
+% \usepackage{graphicx}
+
+% SOME EXTRA FEATURES THAT MAY BE TURNED ON WITH APPROPRIATE COMMANDS
+% THESE ARE ALL PART OF AGU++, NOT STANDARD AGUTeX
+%
+\printfigures % PRINTS OUT FIGURES AT END OF MANUSCRIPT AND
+ % CAMERA-READY COPY
+\doublecaption{35pc} % FIGURE CAPTIONS PRINTED OUT TWICE, IN REGULAR
+ % WIDTH AND WIDTH 35 PICAS (STILL REQ'D BY JGR)
+ % EFFECTIVE ONLY FOR CAMERA-READY COPY
+\sectionnumbers % TURNS ON SECTION NUMBERS, WHICH ARE TURNED
+ % OFF BY DEFAULT (AGU DISCOURAGES THEM)
+\extraabstract % ADDS SUPPLEMENTAL ABSTRACT WITH PAPER NUMBER
+ % AT END OF CAMERA-READY COPY (FOR JGR)
+%\afour % SET PAPER SIZE FOR EUROPEAN A4 SPECIFICATION
+
+%\figmarkoff % INCLUDE TO SUPPRESS AUTOMATIC MARGINAL MARKING OF FIGS, TABLES
+
+%\tighten % STANDARD AGUTeX: TURNS OFF DOUBLE SPACING IN MANUSCRIPT
+
+% PREAMBLE INFOMATION ABOUT THE PAPER
+\lefthead{Smith and Weston}
+\righthead{Western Frontiers and Geophysics}
+\received{April 1, 1989}
+\revised{November 11, 1993}
+\accepted{December 25, 1999}
+\journalid{JGRA}{January 2000}
+\articleid{1}{4}
+\paperid{99JZ12345}
+\ccc{0000-0000/00/99JZ-12345\$05.00}
+ % \cpright{PD}{1999}
+ % \cpright{Crown}{1999}
+ % (Crown copyrights have no "\ccc{}" information.)
+\cpright{AGU}{1999}
+
+\authoraddr{J. G. Smith, Institute for Historical Geophysics, 26 Camrose
+ Drive, Houston, Texas}
+
+\authoraddr{H. K. Weston, School for Military Advances, 87 Blackborn Rd,
+ London, United Kingdom}
+
+\slugcomment{To appear in the Journal of Irreproducible Results,
+ February 30, 1999}
+
+
+\begin{document}
+\title{How the Western Frontiers were Won with the Help of Geophysics}
+
+%
+% TWO METHODS FOR GIVING THE AUTHORS' NAMES
+%
+\author{J. G. Smith}
+\affil{Institute for Historical Geophysics, Houston, Texas}
+
+\author{H. K. Weston\altaffilmark{1}}
+\affil{School for Military Advances, London, United Kingdom}
+
+\altaffiltext{1}{Present address Playa del Ingeles, Gran Canaria.}
+
+%\author{J. G. Weston\altaffilmark{1} and H. K. Smith\altaffilmark{2,3}}
+%\altaffiltext{1}{Institute for Historical Geophysics, Houston, Texas.}
+%\altaffiltext{2}{School for Military Advances, London, United Kingdom.}
+%\altaffiltext{3}{Present address Playa del Ingeles, Gran Canaria.}
+
+
+\begin{abstract}
+To date, very little has been written about the very important role
+played by the magnetosphere during the conquest of the Western Hemisphere.
+This paper tries to fill this gap by drawing on historical documents from the
+years 1492 to 1888, the most vital years for this development. Almost no
+conclusions are drawn as the influence appears to approach absolute zero.
+\end{abstract}
+
+% FOR AGUTeX VERSION 4.0 AND LATER, TEXT MUST BE IN article ENVIRONMENT
+% FOR EARLIER VERSIONS, THIS ENVIRONMENT IS NOT RECOGNIZED
+\begin{article}
+
+\section{Introduction}\label{sec:intro}
+
+%% Citations: \citep for parenthetical (Columbus, 1492), or
+%% \citet for in text, shown by Columbus (1492)
+
+With the discovery of America \citep{colu92} a new continent was opened up.
+However its full exploitation by Europeans and their offspring was not fully
+complete until many centuries later, as reported by \citet{jame76}. During this
+interval, known as the Winning of the West \citep{smit54}, a major role in
+the development of the continent was played by the lowly revolver
+\citep[e.g.][]{gree00}. Recently, \citet{phil99} suggested that the
+magnetosphere could have played an even more significant role. In order to
+pursue this conjecture, the authors of this work have carried out a historical
+survey and have found start\-ling\-ly little evidence for such a claim.
+
+\section{The Discovery}
+\label{sec:dis}
+
+America was discovered by \citet{colu92}, as illustrated in Figure~\ref{fig:dis}.
+Without the use of the compass, this would never have been possible. In fact,
+this could be considered the most important (and only) contribution of the
+geomagnetism to the development of the American continent. A painting of
+Christopher Columbus' departure is shown in
+Plate~\ref{pla:columbus}.
+
+\begin{figure}
+ \figbox{8cm}{4cm}{Paste map here}
+ \caption[]{\label{fig:dis}
+Columbus's voyages to the New World between 1492 and 1504.}
+\end{figure}
+\begin{plate*}
+ \platewidth{35pc}
+ \figbox*{}{}{\rule[-9cm]{0pt}{18cm}Paste painting here}
+% If an eps graphics file is available, use this line instead:
+% \figbox*{}{}{\includegraphics[width=35pc]{cc1492.eps}}
+ \caption{\label{pla:columbus}
+This lithograph shows famed explorer Christopher Columbus in 1492 departing
+on his first voyage in search of a quicker route to Asia. Here, Columbus
+takes leave of Ferdinand~V and Isabella, the king and queen of Castile, who
+sponsored his first expedition.
+(THE BETTMANN ARCHIVE)}
+\end{plate*}
+
+The subsequent taming of the West took place with considerable quantities of
+lead, but since this non-mag\-ne\-tic, there are no geomagnetic variances
+attributed to it.
+
+\section{The Next Five Centuries}
+\label{sec:next5}
+
+In Section~\ref{sec:dis}, the discovery of America was described.
+Here we will outline the subsequent history until the present. This is best
+summarized in Table~\ref{tab:sum}.
+
+\begin{planotable}{cll}
+ \tablewidth{20pc}
+\tablecaption
+{\label{tab:sum}The History of America from Discovery to Present}
+\tablehead{\colhead{Date} & \colhead{Event} & \colhead{Ref.}}
+\startdata
+1492 & Discovery & \citet{colu92}
+ \nl
+1776 & Independence & \citet{jame76}
+ \nl
+1954 & Nothing much & \citet{smit54}
+ \nl
+1999 & Present & \citet{phil99}
+\end{planotable}
+
+As can be seen from Table~\ref{tab:sum}, there is almost no mention of
+geomagnetism or the magnetosphere at all. This sorry situation is discussed
+further and explained away in Section~\ref{sec:end}.
+
+\subsection{The Mathematics of Development}
+
+The complete mathematical description is beyond the scope of this report, but
+can be found in \citet{smit54}. The basic equation is
+\begin{equation}
+ z = \sqrt{x^2 + y^2} \label{eq:z} .
+\end{equation}
+
+In addition to Equation~\ref{eq:z}, we also have
+\begin{eqnarray}
+x & = & A \sin\theta \nonumber \\
+y & = & A \cos\theta \nonumber \\
+A & = & \int^\infty_0 dt\,f(t) \label{eq:int}
+.\end{eqnarray}
+Equations~\ref{eq:z} and \ref{eq:int} together describe the entire time
+development of the history of America. Again no geomagnetic term enters.
+
+\subsubsection{Pseudo-mathematics.}
+In addition to the true mathematics mentioned above, there are a number of
+pseudo-mathematical theories, but these cannot be seriously considered by
+reputable scientists.
+
+
+\section{Conclusions}\label{sec:end}
+
+Considering Figure~\ref{fig:dis} and Table~\ref{tab:sum} we see that the
+influence of the geomagnetic and magnetospheric terms is negligible.
+Furthermore, equations~\ref{eq:z} and \ref{eq:int} add no insight to the
+problem. We must therefore conclude that \citet{phil99} incorrectly supposed
+such a connection to exist.
+
+In spite of this negative result, research will continue on this highly
+interesting question. For if it were to prove correct, then the consequences
+would be enormous to say the least.
+
+\balance % USE THIS TO BALANCE THE LAST TWO COLUMNS IN TWOCOLUMN MODE
+
+\appendix
+%%
+%% IF THERE IS ONLY ONE APPENDIX, USE \section*
+%% FOR MORE THAN ONE, USE \section FOR EACH APPENDIX
+%%
+\section*{Mathematical Background}
+Apart from the following equation
+%%
+%% HERE IS AN EXAMPLE OF AN EQUATION THAT IS TO BE BROKEN UP IN TWOCOLUMN
+%% MODE, BUT LEFT IN ONE LINE IN ONECOLUMN
+%%
+\iftwocol{% HERE FOLLOWS THE TWOCOLUMN VERSION
+\begin{eqnarray}
+(1-x)^n & = & 1 - n x + \frac{n(n-1)}{2}\,x^2 \nonumber\\
+ & & -{} \,\frac{n(n-1)(n-2)}{3\cdot2}\,x^3 + \cdots
+\end{eqnarray}
+}{% NOW THE ONECOLUMN VERSION
+\begin{equation}
+(1-x)^n = 1 - n x + \frac{n(n-1)}{2!}\,x^2 - \frac{n(n-1)(n-2)}{3\cdot2}\,x^3 +
+\cdots
+\end{equation}} % END OF THE \iftwocol DEMONSTRATION
+there is not very much to say about mathematical background to this topic.
+
+
+% IF A LIST OF NOTATIONS IS TO BE INCLUDED, IT COMES AFTER ANY
+% APPENDICES BUT BEFORE THE ACKNOWLEDGEMENTS. AGUPLUS PROVIDES
+% AN ENVIRONMENT FOR THIS. THE ARGUMENT IS TO BE THE LONGEST
+% SYMBOL PRINTED, SO THAT THE SIZE OF THE FIRST COLUMN
+% IS PROPERLY SET
+
+\begin{notation}{$V_{\mbox{\small max}}$}
+ \item[$V$] velocity in general
+ \item[$V_{\mbox{\small p}}$]
+ proton velocity
+ \item[$V_{\mbox{\small max}}$]
+ maximum velocity over the entire distribution of particles
+\end{notation}
+
+\acknowledgments % OR ALTERNATIVELY \acknowledgements
+The authors thank their colleagues for continuing support and discussion
+around the coffee breaks. The editor thanks X. Y. Furore and another referee
+for assisting in evaluating this paper.
+
+%% TWO METHODS FOR INCLUDING THE BIBLIOGRAPHY (LIST OF REFERENCES)
+%% EITHER TYPE IN THE ENTRIES YOURSELF AS SHOWN HERE IN
+%% `thebibliography' ENVIRONMENT,
+%% OR
+%% USE THE FOLLOWING TWO COMMANDS SO THAT BIBTEX WILL GENERATE
+%% `thebibliography' TEXT FOR YOU AND READ IT IN.
+%%
+%\bibliographystyle{agu}%<-- LIST OF REFERENCES TO BE IN "AGU" STYLE
+%\bibliography{sample} %<-- REFERENCES ARE IN FILE "SAMPLE.BIB"
+%%
+%% IF THE ABOVE TWO COMMANDS ARE USED, THEN thebibliography ENVIRONMENT
+%% MUST BE REMOVED.
+\begin{thebibliography}{} % (THIS TEXT WAS GENERATED BY BIBTEX)
+
+\bibitem[{\it Columbus}(1492)]{colu92}
+Columbus, C., {\it How {I} Discovered {America}}. Hispanic Press, Barcelona,
+ 1492.
+
+\bibitem[{\it Green et~al.}(1900)]{gree00}
+Green, R.~J., U.~P. Fred, and W.~P. Norbert, Things that go bump in the night,
+ {\it Psych. Today}, {\it 46}, 345--678, 1900.
+
+\bibitem[{\it James et~al.}(1776)]{jame76}
+James, K., G.~Harris, Jr., and W.~Wollops, {American} independence and
+ magnetism, {\it Revol. Tracts}, {\it 32}, 34--55, 1776.
+
+\bibitem[{\it Phillips}(1999)]{phil99}
+Phillips, T.~P., Possible influence of the magnetosphere on {American} history,
+ {\it J. Oddball Res.}, {\it 98}, 1000--1003, 1999.
+
+\bibitem[{\it Smith and Weston}(1954)]{smit54}
+Smith, J.~G., and H.~K. Weston, Nothing particular in this year's history, {\it
+ J. Geophys. Res.}, {\it 2}, 14--15, 1954.
+
+\end{thebibliography}
+
+\end{article} % AGUTeX VERSION 4.0 AND LATER
+
+\end{document}