summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/bibtex/bst/aguplus/agufull.bst
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2007-12-23 01:41:53 +0000
committerKarl Berry <karl@freefriends.org>2007-12-23 01:41:53 +0000
commitb65e843c0c17f9373e6d1b8b569aac16125f228c (patch)
treee0be33984f0d49c7b62a04435dc209fe37a66838 /Master/texmf-dist/bibtex/bst/aguplus/agufull.bst
parent2f8629041e590d6d4c493eb2d7682665ff696f73 (diff)
aguplus update (19dec07)
git-svn-id: svn://tug.org/texlive/trunk@5832 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/bibtex/bst/aguplus/agufull.bst')
-rw-r--r--Master/texmf-dist/bibtex/bst/aguplus/agufull.bst631
1 files changed, 369 insertions, 262 deletions
diff --git a/Master/texmf-dist/bibtex/bst/aguplus/agufull.bst b/Master/texmf-dist/bibtex/bst/aguplus/agufull.bst
index 4fa3b80e582..17223f7edbc 100644
--- a/Master/texmf-dist/bibtex/bst/aguplus/agufull.bst
+++ b/Master/texmf-dist/bibtex/bst/aguplus/agufull.bst
@@ -4,15 +4,26 @@
%%
%% The original source files were:
%%
-%% merlin.mbs (with options: `head,ay,nat,seq-key,nm-rev1,lab,lab-it,keyxyr,blkyear,note-yr,thtit-a,trnum-it,vol-it,vnum-x,volp-com,pgsep-c,num-xser,pre-edn,edpar,bkedcap,edby,blk-com,pp,ed,abr,ednx,xedn,jabr,and-com,em-it,{}')
-%% physjour.mbs (with options: `ay,nat,seq-key,nm-rev1,lab,lab-it,keyxyr,blkyear,note-yr,thtit-a,trnum-it,vol-it,vnum-x,volp-com,pgsep-c,num-xser,pre-edn,edpar,bkedcap,edby,blk-com,pp,ed,abr,ednx,xedn,jabr,and-com,em-it,{}')
-%% geojour.mbs (with options: `ay,nat,seq-key,nm-rev1,lab,lab-it,keyxyr,blkyear,note-yr,thtit-a,trnum-it,vol-it,vnum-x,volp-com,pgsep-c,num-xser,pre-edn,edpar,bkedcap,edby,blk-com,pp,ed,abr,ednx,xedn,jabr,and-com,em-it,{}')
-%% merlin.mbs (with options: `tail,ay,nat,seq-key,nm-rev1,lab,lab-it,keyxyr,blkyear,note-yr,thtit-a,trnum-it,vol-it,vnum-x,volp-com,pgsep-c,num-xser,pre-edn,edpar,bkedcap,edby,blk-com,pp,ed,abr,ednx,xedn,jabr,and-com,em-it,{}')
+%% 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
@@ -26,12 +37,12 @@
%% ***
%% *** 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)
-%% ***
+%% *** notes added with first word lowercase (bug in 2.1 fixed)
+%% *** and journal `number' never output
+%% *** abbreviation for grl corrected)
+%% ***
%%
-%% Copyright 1994-1999 Patrick W Daly
+%% Copyright 1994-2004 Patrick W Daly
% ===============================================================
% IMPORTANT NOTICE:
% This bibliographic style (bst) file has been generated from one or
@@ -43,7 +54,7 @@
% version 1 of the License, or any later version.
% ===============================================================
% Name and version information of the main mbs file:
- % \ProvidesFile{merlin.mbs}[1999/05/20 3.89 (PWD)]
+ % \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
@@ -79,8 +90,10 @@ ENTRY
author
booktitle
chapter
+ doi
edition
editor
+ eid
howpublished
institution
journal
@@ -100,18 +113,14 @@ ENTRY
}
{}
{ 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 }
-
+STRINGS { s t}
FUNCTION {output.nonnull}
{ 's :=
output.state mid.sentence =
@@ -132,14 +141,12 @@ FUNCTION {output.nonnull}
if$
s
}
-
FUNCTION {output}
{ duplicate$ empty$
'pop$
'output.nonnull
if$
}
-
FUNCTION {output.check}
{ 't :=
duplicate$ empty$
@@ -147,7 +154,6 @@ FUNCTION {output.check}
'output.nonnull
if$
}
-
FUNCTION {fin.entry}
{ add.period$
write$
@@ -160,7 +166,6 @@ FUNCTION {new.block}
{ after.block 'output.state := }
if$
}
-
FUNCTION {new.sentence}
{ output.state after.block =
'skip$
@@ -171,7 +176,6 @@ FUNCTION {new.sentence}
}
if$
}
-
FUNCTION {add.blank}
{ " " * before.all 'output.state :=
}
@@ -186,19 +190,16 @@ FUNCTION {not}
{ #1 }
if$
}
-
FUNCTION {and}
{ 'skip$
{ pop$ #0 }
if$
}
-
FUNCTION {or}
{ { pop$ #1 }
'skip$
if$
}
-
FUNCTION {new.block.checkb}
{ empty$
swap$ empty$
@@ -207,31 +208,33 @@ FUNCTION {new.block.checkb}
'new.block
if$
}
-
FUNCTION {field.or.null}
{ duplicate$ empty$
{ pop$ "" }
'skip$
if$
}
-
FUNCTION {emphasize}
{ duplicate$ empty$
{ pop$ "" }
- { "{\it " swap$ * "\/}" * }
+ { "\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
@@ -312,9 +315,10 @@ MACRO {dec} {"Dec."}
%-------------------------------------------------------------------
% Begin module:
- % \ProvidesFile{physjour.mbs}[1999/02/24 2.0d (PWD)]
+ % \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."}
@@ -328,7 +332,10 @@ MACRO {ao} {"Appl. Opt."}
MACRO {apl} {"Appl. Phys. Lett."}
MACRO {app} {"Astroparticle Phys."}
MACRO {apj} {"Astrophys. J."}
-MACRO {apjsup} {"Astrophys. J. Suppl. Ser."}
+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."}
@@ -401,33 +408,34 @@ MACRO {sjpp} {"Sov. J. Plasma Phys."}
MACRO {spd} {"Sov. Phys.--Doklady"}
MACRO {sptp} {"Sov. Phys.--Tech. Phys."}
MACRO {spu} {"Sov. Phys.--Uspeki"}
+MACRO {st} {"Sky and Telesc."}
% End module: physjour.mbs
%-------------------------------------------------------------------
% Begin module:
- % \ProvidesFile{geojour.mbs}[1999/02/24 2.0e (PWD)]
+ % \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. d. Phys."}
+MACRO {andphy} {"Ann. Phys.-Paris"}
MACRO {afmgb} {"Arch. Meteor. Geophys. Bioklimatol."}
MACRO {atph} {"Atm\'osphera"}
-MACRO {aao} {"Atmos.-Ocean"}
+MACRO {aao} {"Atmos. Ocean"}
MACRO {ass}{"Astrophys. Space Sci."}
MACRO {atenv} {"Atmos. Environ."}
-MACRO {aujag} {"Aust. J. Agric. Res."}
-MACRO {aumet} {"Aust. Meteor. Mag."}
-MACRO {blmet} {"Bound.-Layer Meteor."}
-MACRO {bams} {"Bull. Amer. Meteor. Soc."}
+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} {"Climate Dyn."}
+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} {"Dyn. Atmos. Oceans"}
+MACRO {dao} {"Dynam. Atmos. Oceans"}
MACRO {eco} {"Ecology"}
MACRO {empl}{"Earth, Moon and Planets"}
MACRO {envres} {"Environ. Res."}
@@ -444,13 +452,14 @@ MACRO {georl} {"Geophys. Res. Lett."}
MACRO {grl} {"Geophys. Res. Lett."}
MACRO {ga} {"Geophysica"}
MACRO {gs} {"Geophysics"}
-MACRO {ieeetap} {"IEEE Trans. Antennas Propag."}
+MACRO {ieeetap} {"IEEE Trans. Antenn. Propag."}
MACRO {ijawp} {"Int. J. Air Water Pollut."}
MACRO {ijc} {"Int. J. Climatol."}
-MACRO {ijrs} {"Int. J. Remote Sensing"}
-MACRO {jam} {"J. Appl. Meteor."}
+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."}
@@ -467,42 +476,42 @@ 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. Meteor. Soc. Japan"}
+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} {"Met. Atmos. Phys."}
+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. Wea. Rev."}
-MACRO {nwd} {"Natl. Wea. Dig."}
-MACRO {nzjmfr} {"N. Z. J. Mar. Freshwater Res."}
+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. Meteor."}
+MACRO {om} {"Oceanogr. Meteorol."}
MACRO {ocac} {"Oceanol. Acta"}
MACRO {oceanus} {"Oceanus"}
MACRO {paleoc} {"Paleoceanography"}
-MACRO {pce} {"Physics and Chemistry of the Earth"}
+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. Meteor. Soc."}
+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. Meteor."}
+MACRO {revmeta} {"Rev. Meteorol."}
MACRO {sgp}{"Surveys in Geophys."}
MACRO {sp} {"Solar Phys."}
MACRO {ssr} {"Space Sci. Rev."}
@@ -511,12 +520,46 @@ MACRO {tac} {"Theor. Appl. Climatol."}
MACRO {tagu} {"Trans. Am. Geophys. Union (EOS)"}
MACRO {wrr} {"Water Resour. Res."}
MACRO {weather} {"Weather"}
-MACRO {wafc} {"Wea. Forecasting"}
+MACRO {wafc} {"Weather Forecast."}
MACRO {ww} {"Weatherwise"}
MACRO {wmob} {"WMO Bull."}
-MACRO {zeitmet} {"Z. Meteor."}
+MACRO {zeitmet} {"Z. Meteorol."}
% End module: geojour.mbs
-%% Copyright 1994-1999 Patrick W Daly
+ %-------------------------------------------------------------------
+ % 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."}
@@ -527,12 +570,12 @@ MACRO {ibmjrd} {"IBM J. Res. Dev."}
MACRO {ibmsj} {"IBM Syst.~J."}
-MACRO {ieeese} {"IEEE Trans. Softw. Eng."}
+MACRO {ieeese} {"IEEE Trans. Software Eng."}
MACRO {ieeetc} {"IEEE Trans. Comput."}
MACRO {ieeetcad}
- {"IEEE Trans. Comput.-Aided Design Integrated Circuits"}
+ {"IEEE Trans. Comput. Aid. Des."}
MACRO {ipl} {"Inf. Process. Lett."}
@@ -540,7 +583,7 @@ MACRO {jacm} {"J.~ACM"}
MACRO {jcss} {"J.~Comput. Syst. Sci."}
-MACRO {scp} {"Sci. Comput. Programming"}
+MACRO {scp} {"Sci. Comput. Program."}
MACRO {sicomp} {"SIAM J. Comput."}
@@ -548,31 +591,72 @@ MACRO {tocs} {"ACM Trans. Comput. Syst."}
MACRO {tods} {"ACM Trans. Database Syst."}
-MACRO {tog} {"ACM Trans. Gr."}
+MACRO {tog} {"ACM Trans. Graphic."}
-MACRO {toms} {"ACM Trans. Math. Softw."}
+MACRO {toms} {"ACM Trans. Math. Software"}
MACRO {toois} {"ACM Trans. Office Inf. Syst."}
-MACRO {toplas} {"ACM Trans. Prog. Lang. Syst."}
-
-MACRO {tcs} {"Theoretical Comput. Sci."}
+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}
-{ 's :=
+{ 'bibinfo :=
+ duplicate$ empty$ 'skip$ {
+ 's :=
"" 't :=
#1 'nameptr :=
s num.names$ 'numnames :=
numnames 'namesleft :=
{ namesleft #0 > }
- { nameptr #1 >
- { s nameptr "{f.~}{vv~}{ll}{, jj}" format.name$ }
- { s nameptr "{vv~}{ll}{, f.}{, jj}" format.name$ }
+ { s nameptr
+ duplicate$ #1 >
+ { "{f.~}{vv~}{ll}{, jj}" }
+ { "{vv~}{ll}{, f.}{, jj}" }
if$
- 't :=
+ format.name$
+ bibinfo bibinfo.check
+ 't :=
nameptr #1 >
{
namesleft #1 >
@@ -587,7 +671,8 @@ FUNCTION {format.names}
{
" " * bbl.etal *
}
- { bbl.and
+ {
+ bbl.and
space.word * t *
}
if$
@@ -600,10 +685,13 @@ FUNCTION {format.names}
namesleft #1 - 'namesleft :=
}
while$
+ } if$
}
-
FUNCTION {format.names.ed}
-{ 's :=
+{
+ 'bibinfo :=
+ duplicate$ empty$ 'skip$ {
+ 's :=
"" 't :=
#1 'nameptr :=
s num.names$ 'numnames :=
@@ -612,6 +700,7 @@ FUNCTION {format.names.ed}
{ s nameptr
"{f.~}{vv~}{ll}{, jj}"
format.name$
+ bibinfo bibinfo.check
't :=
nameptr #1 >
{
@@ -631,7 +720,8 @@ FUNCTION {format.names.ed}
" " * bbl.etal *
}
- { bbl.and
+ {
+ bbl.and
space.word * t *
}
if$
@@ -644,8 +734,8 @@ FUNCTION {format.names.ed}
namesleft #1 - 'namesleft :=
}
while$
+ } if$
}
-
FUNCTION {format.key}
{ empty$
{ key field.or.null }
@@ -654,35 +744,36 @@ FUNCTION {format.key}
}
FUNCTION {format.authors}
-{ author empty$
- { "" }
- { author format.names }
- if$
+{ author "author" format.names
}
+FUNCTION {get.bbl.editor}
+{ editor num.names$ #1 > 'bbl.editors 'bbl.editor if$ }
FUNCTION {format.editors}
-{ editor empty$
- { "" }
- { editor format.names
- " (" *
- editor num.names$ #1 >
- 'bbl.editors
- 'bbl.editor
- if$
+{ editor "editor" format.names duplicate$ empty$ 'skip$
+ {
+ " " *
+ get.bbl.editor
capitalize
- * ")" *
+ "(" swap$ * ")" *
+ *
}
if$
}
-
-FUNCTION {format.in.editors}
-{ editor empty$
- { "" }
- { editor format.names.ed
+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$
@@ -697,19 +788,18 @@ FUNCTION {format.note}
change.case$
}
if$
- note #2 global.max$ substring$ *
+ note #2 global.max$ substring$ * "note" bibinfo.check
}
if$
}
FUNCTION {format.title}
-{ title empty$
- { "" }
- { title "t" change.case$
- }
+{ title
+ duplicate$ empty$ 'skip$
+ { "t" change.case$ }
if$
+ "title" bibinfo.check
}
-
FUNCTION {format.full.names}
{'s :=
"" 't :=
@@ -889,80 +979,75 @@ FUNCTION {word.in}
" " * }
FUNCTION {format.date}
-{ year duplicate$ empty$
- { pop$ "" }
+{ year "year" bibinfo.check duplicate$ empty$
+ {
+ }
'skip$
if$
extra.label *
}
-
FUNCTION {format.btitle}
-{ title emphasize
-}
-
-FUNCTION {tie.or.space.connect}
-{ duplicate$ text.length$ #3 <
- { "~" }
- { " " }
+{ title "title" bibinfo.check
+ duplicate$ empty$ 'skip$
+ {
+ emphasize
+ }
if$
- swap$ * *
}
-
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.connect
- series empty$
- 'skip$
- { bbl.of space.word * series emphasize * }
+ { 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 }
- { output.state mid.sentence =
- { bbl.number }
- { bbl.number capitalize }
+ { 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$
- number tie.or.space.connect
- bbl.in space.word * series *
}
if$
}
- if$
- }
{ "" }
if$
}
-
FUNCTION {format.edition}
-{ edition empty$
- { "" }
- { output.state mid.sentence =
- { edition "l" change.case$ " " * bbl.edition * }
- { edition "t" change.case$ " " * bbl.edition * }
- if$
+{ 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 :=
@@ -982,36 +1067,72 @@ FUNCTION {multi.page.check}
while$
multiresult
}
-
FUNCTION {format.pages}
-{ pages empty$
- { "" }
- { pages multi.page.check
- { bbl.pages pages n.dashify tie.or.space.connect }
- { bbl.page pages tie.or.space.connect }
+{ 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 empty$
- 'skip$
- { duplicate$ empty$
- { pop$ format.pages }
+{ pages duplicate$ empty$ 'pop$
+ { swap$ duplicate$ empty$
+ { pop$ pop$ format.pages }
{
", " *
- pages n.dashify *
+ 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
- format.journal.pages
+ 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}
@@ -1019,9 +1140,13 @@ FUNCTION {format.chapter.pages}
'format.pages
{ type empty$
{ bbl.chapter }
- { type "l" change.case$ }
+ { type "l" change.case$
+ "type" bibinfo.check
+ }
if$
- chapter tie.or.space.connect
+ chapter tie.or.space.prefix
+ "chapter" bibinfo.check
+ * *
pages empty$
'skip$
{ ", " * format.pages * }
@@ -1030,66 +1155,71 @@ FUNCTION {format.chapter.pages}
if$
}
+FUNCTION {format.booktitle}
+{
+ booktitle "booktitle" bibinfo.check
+ emphasize
+}
FUNCTION {format.in.ed.booktitle}
-{ booktitle empty$
- { "" }
- { editor empty$
- { word.in booktitle emphasize * }
- { word.in booktitle emphasize *
- ", " *
+{ format.booktitle duplicate$ empty$ 'skip$
+ {
+ format.bvolume duplicate$ empty$ 'pop$
+ { ", " swap$ * * }
+ if$
+ editor "editor" format.names.ed duplicate$ empty$ 'pop$
+ {
bbl.edby
- * " " *
- format.in.editors *
- }
+ " " * swap$ *
+ swap$
+ "," *
+ " " * swap$
+ * }
if$
+ word.in swap$ *
}
if$
}
-
FUNCTION {format.thesis.type}
-{ type empty$
- 'skip$
- { pop$
- type "t" change.case$
+{ type duplicate$ empty$
+ 'pop$
+ { swap$ pop$
+ "t" change.case$ "type" bibinfo.check
}
if$
}
-
FUNCTION {format.tr.number}
-{ type empty$
- { bbl.techrep }
- 'type
+{ number "number" bibinfo.check
+ type duplicate$ empty$
+ { pop$ bbl.techrep }
+ 'skip$
if$
- number empty$
- { "t" change.case$ }
- { number tie.or.space.connect }
+ "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 empty$
+{ volume duplicate$ empty$
{ "empty volume in " cite$ * "'s crossref of " * crossref * warning$
- word.in
+ pop$ word.in
}
- { bbl.volume volume tie.or.space.connect
- bbl.of space.word *
+ { 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 :=
""
@@ -1097,38 +1227,24 @@ FUNCTION {format.org.or.pub}
'skip$
{
t empty$
- { address empty$
- 'skip$
- { address * }
- if$
+ { address "address" bibinfo.check *
}
{ t *
address empty$
'skip$
- { ", " * address * }
+ { ", " * address "address" bibinfo.check * }
if$
}
if$
}
if$
}
-
FUNCTION {format.publisher.address}
-{ publisher empty$
- { "empty publisher in " cite$ * warning$
- ""
- }
- { publisher }
- if$
- format.org.or.pub
+{ publisher "publisher" bibinfo.warn format.org.or.pub
}
FUNCTION {format.organization.address}
-{ organization empty$
- { "" }
- { organization }
- if$
- format.org.or.pub
+{ organization "organization" bibinfo.check format.org.or.pub
}
FUNCTION {article}
@@ -1137,20 +1253,22 @@ FUNCTION {article}
author format.key output
format.title "title" output.check
crossref missing$
- { journal
+ {
+ journal
+ "journal" bibinfo.check
emphasize
"journal" output.check
format.vol.num.pages output
- format.date "year" output.check
+ 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$
@@ -1169,26 +1287,29 @@ FUNCTION {book}
{ 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.date "year" output.check
+ 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 output
- address output
- format.date "year" 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
}
@@ -1219,8 +1340,9 @@ FUNCTION {inbook}
format.book.crossref output.nonnull
}
if$
- format.date "year" output.check
+ format.doi output
format.note output
+ format.date "year" output.check
fin.entry
}
@@ -1231,21 +1353,20 @@ FUNCTION {incollection}
format.title "title" output.check
crossref missing$
{ format.in.ed.booktitle "booktitle" output.check
- format.bvolume output
format.number.series output
format.edition output
format.chapter.pages output
format.publisher.address output
- format.date "year" output.check
}
{ 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
@@ -1253,37 +1374,36 @@ FUNCTION {inproceedings}
format.title "title" output.check
crossref missing$
{ format.in.ed.booktitle "booktitle" output.check
- format.bvolume output
format.number.series output
format.pages output
publisher empty$
{ format.organization.address output }
- { organization output
+ { organization "organization" bibinfo.check output
format.publisher.address output
}
if$
- format.date "year" output.check
}
{ 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 output
- address output
+ organization "organization" bibinfo.check output
+ address "address" bibinfo.check output
format.edition output
- format.date "year" output.check
+ format.doi output
format.note output
+ format.date "year" output.check
fin.entry
}
@@ -1291,12 +1411,14 @@ FUNCTION {mastersthesis}
{ output.bibitem
format.authors "author" output.check
author format.key output
- format.title "title" output.check
+ format.title
+ "title" output.check
bbl.mthesis format.thesis.type output.nonnull
- school "school" output.check
- address output
- format.date "year" output.check
+ school "school" bibinfo.warn output
+ address "address" bibinfo.check output
+ format.doi output
format.note output
+ format.date "year" output.check
fin.entry
}
@@ -1305,22 +1427,24 @@ FUNCTION {misc}
format.authors output
author format.key output
format.title output
- howpublished output
- format.date "year" output.check
+ 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
+ format.title
+ "title" output.check
bbl.phdthesis format.thesis.type output.nonnull
- school "school" output.check
- address output
- format.date "year" output.check
+ school "school" bibinfo.warn output
+ address "address" bibinfo.check output
+ format.doi output
format.note output
+ format.date "year" output.check
fin.entry
}
@@ -1333,12 +1457,13 @@ FUNCTION {proceedings}
format.number.series output
publisher empty$
{ format.organization.address output }
- { organization output
+ { organization "organization" bibinfo.check output
format.publisher.address output
}
if$
- format.date "year" output.check
+ format.doi output
format.note output
+ format.date "year" output.check
fin.entry
}
@@ -1346,12 +1471,14 @@ FUNCTION {techreport}
{ output.bibitem
format.authors "author" output.check
author format.key output
- format.title "title" output.check
+ format.title
+ "title" output.check
format.tr.number emphasize output.nonnull
- institution "institution" output.check
- address output
- format.date "year" output.check
+ institution "institution" bibinfo.warn output
+ address "address" bibinfo.check output
+ format.doi output
format.note output
+ format.date "year" output.check
fin.entry
}
@@ -1360,22 +1487,19 @@ FUNCTION {unpublished}
format.authors "author" output.check
author format.key output
format.title "title" output.check
- format.date "year" 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 :=
@@ -1384,7 +1508,6 @@ FUNCTION {chop.word}
's
if$
}
-
FUNCTION {format.lab.names}
{ 's :=
"" 't :=
@@ -1523,7 +1646,6 @@ FUNCTION {sort.format.title}
sortify
#1 global.max$ substring$
}
-
FUNCTION {author.sort}
{ author empty$
{ key empty$
@@ -1536,7 +1658,6 @@ FUNCTION {author.sort}
{ author sort.format.names }
if$
}
-
FUNCTION {author.editor.sort}
{ author empty$
{ editor empty$
@@ -1553,7 +1674,6 @@ FUNCTION {author.editor.sort}
{ author sort.format.names }
if$
}
-
FUNCTION {editor.sort}
{ editor empty$
{ key empty$
@@ -1566,7 +1686,6 @@ FUNCTION {editor.sort}
{ editor sort.format.names }
if$
}
-
FUNCTION {presort}
{ calc.label
label sortify
@@ -1595,20 +1714,15 @@ FUNCTION {presort}
}
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 :=
@@ -1621,7 +1735,6 @@ FUNCTION {forward.pass}
if$
number.label #1 + 'number.label :=
}
-
FUNCTION {reverse.pass}
{ next.extra "b" =
{ "a" 'extra.label := }
@@ -1636,13 +1749,9 @@ FUNCTION {reverse.pass}
'extra.label :=
label extra.label * 'label :=
}
-
EXECUTE {initialize.extra.label.stuff}
-
ITERATE {forward.pass}
-
REVERSE {reverse.pass}
-
FUNCTION {bib.sort.order}
{ sort.label
" "
@@ -1656,11 +1765,8 @@ FUNCTION {bib.sort.order}
#1 entry.max$ substring$
'sort.key$ :=
}
-
ITERATE {bib.sort.order}
-
SORT
-
FUNCTION {begin.bib}
{ preamble$ empty$
'skip$
@@ -1668,21 +1774,22 @@ FUNCTION {begin.bib}
if$
"\begin{thebibliography}{" number.label int.to.str$ * "}" *
write$ newline$
- "\expandafter\ifx\csname natexlab\endcsname\relax\def\natexlab#1{#1}\fi"
+ "\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
%%