summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/bibtex
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2006-07-17 22:12:06 +0000
committerKarl Berry <karl@freefriends.org>2006-07-17 22:12:06 +0000
commit037d0c8b95024ed72ea62802db4f25231049bb7d (patch)
tree8e4e2f7a73a0b67e8db46b0d4d7ac53f47b4eddb /Master/texmf-dist/bibtex
parentdb891214aab7e3a9c9b2ebfc08f8aa237c9fafd0 (diff)
new package vancouver for biomed journals (12mar06)
git-svn-id: svn://tug.org/texlive/trunk@1871 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/bibtex')
-rw-r--r--Master/texmf-dist/bibtex/bib/vancouver/vancouver.bib539
-rw-r--r--Master/texmf-dist/bibtex/bst/vancouver/vancouver.bst1866
2 files changed, 2405 insertions, 0 deletions
diff --git a/Master/texmf-dist/bibtex/bib/vancouver/vancouver.bib b/Master/texmf-dist/bibtex/bib/vancouver/vancouver.bib
new file mode 100644
index 00000000000..10ae51efbbb
--- /dev/null
+++ b/Master/texmf-dist/bibtex/bib/vancouver/vancouver.bib
@@ -0,0 +1,539 @@
+
+@Patent{ pagedas:flexible,
+ inventor = {Pagedas, A.C.},
+ assignee = {Ancel Surgical R\&D Inc.},
+ title = {Flexible endoscopic grasping and cutting device and positioning tool assembly},
+ numberi = {United States patent US 20020103498},
+ year = {2002 Aug 1}
+}
+
+@Map{ prat.flick.ea:biodiversity,
+ cartographer = {Pratt, B. and Flick, P. and Vynne, C.},
+ title = {Biodiversity hotspots},
+ type = {map},
+ address = {Washington},
+ publisher = {Conservation International},
+ year = {2000}
+}
+
+@Dictionary{ filamin,
+ title = {Filamin},
+ booktitle = {Dorland's illustrated medical dictionary},
+ edition = {29},
+ address = {Philadelphia},
+ publisher = {W.B. Saunders},
+ pages = {675},
+ year = {2000}
+}
+
+@Article{ 21st,
+ title = {21st century heart solution may have a sting in the
+ tail.},
+ journal = {BMJ},
+ volume = {325},
+ number = {7357},
+ pages = {184},
+ year = 2002
+}
+
+@Webpage{ american,
+ title = {American {M}edical {A}ssociation},
+ part = {AMA Office of Group Practice Liaison; [about 2 screens]},
+ address = {Chicago},
+ publisher = {The Association},
+ type = {homepage on the Internet},
+ year = {c1995-2002},
+ lastchecked = {2002 Aug 12},
+ updated = {2001 Aug 23},
+ url = {http://www.ama-assn.org/ama/pub/category/1736.html}
+}
+
+@Webpage{ bibliographic,
+ title = {Bibliographic {S}ervices {D}ivision},
+ address = {Bethesda (MD)},
+ publisher = {National Library of Medicine (US)},
+ type = {homepage on the Internet},
+ year = {c1993 -},
+ lastchecked = {2006 Mar 10},
+ updated = {2005 Sep 19},
+ url = {http://www.nlm.nih.gov/bsd/uniform_requirements.html}
+}
+
+@Webpage{ cancer-pain,
+ title = {Cancer-{P}ain.org},
+ publisher = {Association of Cancer Online Resources, Inc.},
+ address = {New York},
+ type = {homepage on the Internet},
+ year = {c2000-01},
+ lastchecked = {2002 Jul 9},
+ updated = {2002 May 16},
+ url = {http://www.cancer-pain.org/}
+}
+
+@Book{ compendium,
+ title = {Compendium of nursing research and practice development,
+ 1999-2000},
+ publisher = {Adelaide University},
+ address = {Adelaide (Australia)},
+ organization = {{Royal Adelaide Hospital} and {University of Adelaide,
+ Department of Clinical Nursing}},
+ year = 2001
+}
+
+@Article{ hypertension,
+ title = {Hypertension, insulin, and proinsulin in participants with
+ impaired glucose tolerance.},
+ journal = {Hypertension},
+ volume = {40},
+ number = {5},
+ pages = {679-86},
+ organization = {Diabetes Prevention Program Research Group},
+ year = 2002
+}
+
+@Webpage{ mesh,
+ title = {Me{SH} {B}rowser},
+ part = {Meta-analysis; unique ID: D015201},
+ address = {Bethesda (MD)},
+ pages = {about 3 p.},
+ publisher = {National Library of Medicine (US)},
+ type = {database on the Internet},
+ year = {2002 -},
+ lastchecked = {2003 Jun 10},
+ url = {http://www.nlm.nih.gov/mesh/MBrowser.html},
+}
+
+@Article{ outreach,
+ title = {Outreach: bringing {HIV}-positive individuals into care.},
+ journal = {HRSA Careaction},
+ pages = {1-6},
+ year = 2002
+}
+
+@Webpage{ whos,
+ title = {Who's {C}ertified},
+ address = {Evanston (IL)},
+ publisher = {The American Board of Medical Specialists},
+ type = {database on the Internet},
+ year = {c2000 -},
+ lastchecked = {2001 Mar 8},
+ url = {http://www.abms.org/newsearch.asp}
+}
+
+@Article{ abend.kulish:psychoanalytic,
+ author = {Abend, S.M. and Kulish, N.},
+ title = {The psychoanalytic method from an epistemological
+ viewpoint.},
+ journal = {Int J Psychoanal},
+ volume = {83},
+ number = {Pt 2},
+ pages = {491-5},
+ year = 2002
+}
+
+@Webpage{ abood:quality,
+ author = {Abood, S.},
+ title = {Quality improvement initiative in nursing homes: the {ANA}
+ acts in an advisory role},
+ journal = {Am J Nurs},
+ type = {serial on the Internet},
+ volume = {102},
+ number = {6},
+ pages = {about 3 p.},
+ month = {Jun},
+ year = {2002},
+ lastchecked = {2002 Aug 12},
+ url = {http://www.nursingworld.org/AJN/2002/june/Wawatch.htm}
+}
+
+@Article{ ahrar.madoff.ea:development,
+ author = {Ahrar, Kamran and Madoff, David C and Gupta, Sanjay and
+ Wallace, Michael J and Price, Roger E and Wright, Kenneth
+ C},
+ title = {Development of a large animal model for lung tumors.},
+ journal = {J Vasc Interv Radiol},
+ volume = {13},
+ number = {9 Pt 1},
+ pages = {923-8},
+ year = 2002
+}
+
+@Misc{ anderson.poulsen:andersons,
+ author = {Anderson, S.C. and Poulsen, K.B.},
+ title = {Anderson's electronic atlas of hematology},
+ address = {Philadelphia},
+ publisher = {Lippincott Williams \& Wilkins},
+ type = {CD-ROM},
+ year = 2002
+}
+
+@Article{ banit.kaufer.ea:intraoperative,
+ author = {Banit, D.M. and Kaufer, H. and Hartford, J.M.},
+ title = {Intraoperative frozen section analysis in revision total
+ joint arthroplasty.},
+ journal = {Clin Orthop Relat Res},
+ number = {401},
+ pages = {230-8},
+ year = 2002
+}
+
+@PhDThesis{ borkowski:infant,
+ author = {Borkowski, M.M.},
+ title = {Infant sleep and feeding: a telephone survey of {H}ispanic
+ {A}mericans},
+ school = {Central Michigan University},
+ type = {dissertation},
+ address = {Mount Pleasant (MI)},
+ year = 2002
+}
+
+@Book{ breedlove.schorfheide:adolescent,
+ author = {Breedlove, G.K. and Schorfheide, A.M.},
+ editor = {Wieczorek, R.R.},
+ title = {Adolescent pregnancy},
+ publisher = {March of Dimes Education Services},
+ address = {White Plains (NY)},
+ edition = {2},
+ year = 2001
+}
+
+@Article{ chadwick.schuklenk:politics,
+ author = {Chadwick, R. and Schuklenk, U.},
+ title = {The politics of ethical consensus finding.},
+ journal = {Bioethics},
+ volume = {16},
+ number = {2},
+ pages = {iii-v},
+ year = 2002
+}
+
+@Misc{ chason.sallustio:hospital,
+ author = {Chason, K.W. and Sallustio, S.},
+ title = {Hospital preparedness for bioterrorism},
+ address = {Secaucus (NJ)},
+ publisher = {Network for Continuing Medical Education},
+ type = {videocassette},
+ year = 2002
+}
+
+@InProceedings{ christensen.oppacher:analysis,
+ author = {Christensen, S. and Oppacher, F.},
+ title = {An analysis of {K}oza's computational effort statistic for
+ genetic programming},
+ booktitle = {Genetic programming. {E}uro{GP} 2002: {P}roceedings of the
+ 5th {E}uropean {C}onference on {G}enetic {P}rogramming;
+ 2002 {A}pr 3-5; {K}insdale, {I}reland},
+ editor = {Foster, J.A. and Lutton, E. and Miller, J. and Ryan, C.
+ and Tettamanzi, A.G.},
+ pages = {182-91},
+ address = {Berlin},
+ publisher = {Springer},
+ year = 2002
+}
+
+@Article{ ellingsen.wilhelmsen:sykdomsangst,
+ author = {Ellingsen, A.E. and Wilhelmsen, I.},
+ title = {Sykdomsangst blant medisin- og jusstudenter},
+ journal = {Tidsskr Nor Laegeforen},
+ volume = {122},
+ number = {8},
+ pages = {785-7},
+ year = 2002
+}
+
+@Article{ feifel.moutier.ea:safety,
+ author = {Feifel, D. and Moutier, C.Y. and Perry, W.},
+ title = {Safety and tolerability of a rapidly escalating
+ dose-loading regimen for risperidone.},
+ journal = {J Clin Psychiatry},
+ volume = {61},
+ number = {12},
+ pages = {909-11},
+ note = {Retraction in: Feifel D, Moutier CY, Perry W. J Clin
+ Psychiatry. 2002;63(2):169.},
+ year = 2000
+}
+
+@Article{ feifel.moutier.ea:safety*1,
+ author = {Feifel, D. and Moutier, C.Y. and Perry, W.},
+ title = {Safety and tolerability of a rapidly escalating
+ dose-loading regimen for risperidone.},
+ journal = {J Clin Psychiatry},
+ volume = {63},
+ number = {2},
+ pages = {169},
+ note = {Retraction of: Feifel D, Moutier CY, Perry W. J Clin
+ Psychiatry. 2000;61(12):909-11.},
+ year = 2002
+}
+
+@Webpage{ foley.gelband:improving,
+ title = {Improving palliative care for cancer},
+ address = {Washington},
+ editor = {Foley, K.M. and Gelband, H.},
+ publisher = {National Academy Press},
+ type = {monograph on the Internet},
+ year = {2001},
+ lastchecked = {2002 Jul 9},
+ url = {http://www.nap.edu/books/0309074029/html/}
+}
+
+@Article{ geraud.spierings.ea:tolerability,
+ author = {Geraud, G. and Spierings, E.L. and Keywood, C.},
+ title = {Tolerability and safety of frovatriptan with short- and
+ long-term use for treatment of migraine and in comparison
+ with sumatriptan.},
+ journal = {Headache},
+ volume = {42 Suppl 2},
+ pages = {S93-9},
+ year = 2002
+}
+
+@Book{ gilstrap.cunningham.ea:operative,
+ editor = {Gilstrap, 3rd, L.C. and Cunningham, F.G. and VanDorsten,
+ J.P.},
+ title = {Operative obstetrics},
+ publisher = {McGraw-Hill},
+ address = {New York},
+ edition = {2},
+ year = 2002
+}
+
+@Article{ glauser:integrating,
+ author = {Glauser, T.A.},
+ title = {Integrating clinical trial data into clinical practice.},
+ journal = {Neurology},
+ volume = {58},
+ number = {12 Suppl 7},
+ pages = {S6-12},
+ year = 2002
+}
+
+@Article{ halpern.ubel.ea:solid-organ,
+ author = {Halpern, S.D. and Ubel, P.A. and Caplan, A.L.},
+ title = {Solid-organ transplantation in {HIV}-infected patients.},
+ journal = {N Engl J Med},
+ volume = {347},
+ number = {4},
+ pages = {284-7},
+ year = 2002
+}
+
+@Article{ halpern.ubel.ea:solid-organ*1,
+ author = {Halpern, S.D. and Ubel, P.A. and Caplan, A.L.},
+ title = {Solid-organ transplantation in {HIV}-infected patients.},
+ journal = {N Engl J Med},
+ volume = {347},
+ number = {4},
+ pages = {284-7},
+ note = {Cited in PubMed; PMID 12140307.},
+ year = 2002
+}
+
+@Article{ halpern.ubel.ea:solid-organ*2,
+ author = {Halpern, S.D. and Ubel, P.A. and Caplan, A.L.},
+ title = {Solid-organ transplantation in {HIV}-infected patients.},
+ journal = {N Engl J Med},
+ volume = {347},
+ number = {4},
+ pages = {284-7},
+ month = {Jul 25},
+ year = 2002
+}
+
+@Proceedings{ harnden.joffe.ea:germ,
+ title = {Germ cell tumours {V}. {P}roceedings of the 5th {G}erm
+ {C}ell {T}umour {C}onference; 2001 {S}ep 13-15; {L}eeds,
+ {UK}},
+ editor = {Harnden, P. and Joffe, J.K. and Jones, W.G.},
+ address = {New York},
+ publisher = {Springer},
+ year = 2002
+}
+
+@Webpage{ jablonski:online,
+ author = {Jablonski, S.},
+ title = {Online {M}ultiple {C}ongential {A}nomaly/{M}ental
+ {R}etardation ({MCA}/{MR}) {S}yndromes},
+ address = {Bethesda (MD)},
+ publisher = {National Library of Medicine (US)},
+ type = {database on the Internet},
+ year = {c1999},
+ lastchecked = {2002 Aug 12},
+ updated = {2001 Nov 20},
+ url = {http://www.nlm.nih.gov/mesh/jablonski/syndrome\_title.html}
+}
+
+@Article{ lofwall.strain.ea:characteristics,
+ author = {Lofwall, M.R. and Strain, E.C. and Brooner, R.K. and
+ Kindbom, K.A. and Bigelow, G.E.},
+ title = {Characteristics of older methadone maintenance ({MM})
+ patients},
+ journal = {Drug Alcohol Depend},
+ volume = {66 Suppl 1},
+ pages = {S105},
+ type = {abstract},
+ year = 2002
+}
+
+@Article{ malinowski.bolesta:rosiglitazone,
+ author = {Malinowski, J.M. and Bolesta, S.},
+ title = {Rosiglitazone in the treatment of type 2 diabetes
+ mellitus: a critical review.},
+ journal = {Clin Ther},
+ volume = {22},
+ number = {10},
+ pages = {1151-68; discussion 1149-50},
+ note = {Erratum in: Clin Ther 2001;23(2):309.},
+ year = 2000
+}
+
+@Article{ mansharamani.chilton:reproductive,
+ author = {Mansharamani, M. and Chilton, B.S.},
+ title = {The reproductive importance of {P}-type {ATP}ases.},
+ journal = {Mol Cell Endocrinol},
+ volume = {188},
+ number = {1-2},
+ pages = {22-5},
+ note = {Corrected and republished from: Mol Cell Endocrinol.
+ 2001;183(1-2):123-6.},
+ year = 2002
+}
+
+@Article{ mansharamani.chilton:reproductive*1,
+ author = {Mansharamani, M. and Chilton, B.S.},
+ title = {The reproductive importance of {P}-type {ATP}ases.},
+ journal = {Mol Cell Endocrinol},
+ volume = {183},
+ number = {1-2},
+ pages = {123-6},
+ year = 2001
+}
+
+@InBook{ meltzer.kallioniemi.ea:genetic,
+ author = {Meltzer, P.S. and Kallioniemi, A. and Trent, J.M.},
+ editor = {Vogelstein, B. and Kinzler, K.W.},
+ title = {The genetic basis of human cancer},
+ chapter = {Chromosome alterations in human solid tumors},
+ pages = {93-113},
+ publisher = {McGraw-Hill},
+ address = {New York},
+ year = 2002
+}
+
+@Book{ murray.rosenthal.ea:medical,
+ author = {Murray, P.R. and Rosenthal, K.S. and Kobayashi, G.S. and
+ Pfaller, M.A.},
+ title = {Medical microbiology},
+ publisher = {Mosby},
+ address = {St. Louis},
+ edition = {4},
+ year = 2002
+}
+
+@Article{ rose.huerbin.ea:regulation,
+ author = {Rose, M.E. and Huerbin, M.B. and Melick, J. and Marion,
+ D.W. and Palmer, A.M. and Schiding, J.K. and Kochanek, P.M.
+ and Graham, S.H.},
+ title = {Regulation of interstitial excitatory amino acid
+ concentrations after cortical contusion injury.},
+ journal = {Brain Res},
+ volume = {935},
+ number = {1-2},
+ pages = {40-6},
+ year = 2002
+}
+
+@TechReport{ russell.goth-goldstein.ea:method,
+ author = {Russell, M.L. and Goth-Goldstein, R. and Apte, M.G. and
+ Fisk, W.J.},
+ title = {Method for measuring the size distribution of airborne
+ {R}hinovirus},
+ institution = {Lawrence Berkeley National Laboratory, Environmental
+ Energy Technologies Division},
+ number = {Report No.: LBNL49574. Contract No.: DEAC0376SF00098},
+ address = {Berkeley (CA)},
+ note = {Sponsored by the Department of Energy.},
+ month = jan,
+ year = 2002
+}
+
+@Unpublished{ tian.araki.ea:signature,
+ author = {Tian, D. and Araki, H. and Stahl, E. and Bergelson, J. and
+ Kreitman, M.},
+ title = {Signature of balancing selection in {A}rabidopsis},
+ note = {In press 2002.},
+ organization = {Proc Natl Acad Sci U S A},
+ year = 2002
+}
+
+@Article{ tor.turker:international,
+ author = {Tor, M. and Turker, H.},
+ title = {International approaches to the prescription of long-term
+ oxygen therapy},
+ journal = {Eur Respir J},
+ volume = {20},
+ number = {1},
+ pages = {242},
+ type = {letter},
+ year = 2002
+}
+
+@Article{ tynan:medical,
+ author = {Tynan, T.},
+ title = {Medical improvements lower homicide rate: study sees drop
+ in assault rate},
+ journal = {The Washington Post},
+ volume = {Sect. A},
+ pages = {2 (col. 4).},
+ month = {Aug 12},
+ year = 2002
+}
+
+@Webpage{ uniform,
+ title = {Uniform {R}equirements for {M}anuscripts {S}ubmitted to {B}iomedical {J}ournals: {W}riting and {E}diting for {B}iomedical {P}ublication},
+ publisher = {International Committee of Medical Journal Editors},
+ address = {Philadelphia (PA)},
+ type = {homepage on the Internet},
+ year = {2005},
+ lastchecked = {2002 Jul 9},
+ updated = {2006 Feb},
+ url = {http://www.icmje.org/}
+}
+
+@Article{ vallancien.emberton.ea:sexual,
+ author = {Vallancien, G. and Emberton, M. and Harving, N. and van
+ Moorselaar, R.J.},
+ title = {Sexual dysfunction in 1,274 {E}uropean men suffering from
+ lower urinary tract symptoms.},
+ journal = {J Urol},
+ volume = {169},
+ number = {6},
+ pages = {2257-61},
+ organization = {Alf-One Study Group},
+ year = 2003
+}
+
+@TechReport{ yen:health,
+ author = {Yen, G.G.},
+ title = {Health monitoring on vibration signatures. {F}inal
+ report},
+ institution = {Air Force Office of Scientific Research (US), Air Force
+ Research Laboratory},
+ number = {Report No.: AFRLSRBLTR020123. Contract No.:
+ F496209810049.},
+ address = {Arlington (VA)},
+ month = feb,
+ year = 2002
+}
+
+@Article{ yu.hawley.ea:immortalization,
+ author = {Yu, W.M. and Hawley, T.S. and Hawley, R.G. and Qu, C.K.},
+ title = {Immortalization of yolk sac-derived precursor cells.},
+ journal = {Blood},
+ volume = {100},
+ number = {10},
+ pages = {3828-31},
+ note = {Epub 2002 Jul 5.},
+ year = 2002
+}
diff --git a/Master/texmf-dist/bibtex/bst/vancouver/vancouver.bst b/Master/texmf-dist/bibtex/bst/vancouver/vancouver.bst
new file mode 100644
index 00000000000..644563ce1dd
--- /dev/null
+++ b/Master/texmf-dist/bibtex/bst/vancouver/vancouver.bst
@@ -0,0 +1,1866 @@
+%%
+%% This `vancouver.bst' bibliographic style file (for LaTeX/BibTeX) is
+%% generated with the docstrip utility and modified manually to meet the
+%% ``Uniform Requirements for Manuscripts Submitted to Biomedical Journals''
+%% as published in N Engl J Med 1997;336:309-315.
+%% (also known as the Vancouver style)
+%% This specification may be found on the web page of the
+%% International Committe of Medical Journal Editors:
+%%
+%% http://www.icmje.org
+%%
+%%-------------------------------------------------------------------
+%%
+%% Copyleft 2004 Folkert van der Beek
+%%
+%% This program is free software; you can redistribute it and/or
+%% modify it under the terms of the GNU General Public License
+%% as published by the Free Software Foundation; either version 2
+%% of the License, or (at your option) any later version.
+%%
+%% This program is distributed in the hope that it will be useful,
+%% but WITHOUT ANY WARRANTY; without even the implied warranty of
+%% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+%% GNU General Public License for more details.
+%%
+%% Complaints, suggestions and comments may be sent to
+%%
+%% Folkert van der Beek
+%% Spieghelstraat 78
+%% 9721 JX Groningen
+%% the Netherlands
+%%
+%% folkertvanderbeek at gmail dot com
+%%
+%%-------------------------------------------------------------------
+%%
+%% This bibliography style file is intended for texts in ENGLISH
+%% This is a numerical citation style, and as such is standard LaTeX.
+%% It requires no extra package to interface to the main text.
+%% The form of the \bibitem entries is
+%% \bibitem{key}...
+%% Usage of \cite is as follows:
+%% \cite{key} ==>> [#]
+%% \cite[chap. 2]{key} ==>> [#, chap. 2]
+%% where # is a number determined by the ordering in the reference list.
+%% The order in the reference list is that by which the works were originally
+%% cited in the text, or that in the database.
+ %
+%% To change the reference numbering system from [1] to 1,
+%% put the following code in the preamble:
+%% \makeatletter % Reference list option change
+%% \renewcommand\@biblabel[1]{#1} % from [1] to 1
+%% \makeatother %
+%%
+%%---------------------------------------------------------------------
+
+%% List of all possible fields
+ENTRY
+ { address
+ assignee % for patents
+ author
+ booktitle % for articles in books
+ chapter % for incollection, esp. internet documents
+ cartographer % for maps
+ day
+ edition
+ editor
+ howpublished
+ institution % for technical reports
+ inventor % for patents
+ journal
+ key
+ month
+ note
+ number
+ organization
+ pages
+ part
+ publisher
+ school
+ series
+ title
+ type
+ volume
+ word
+ year
+ eprint % urlbst
+ doi % urlbst
+ url % urlbst
+ lastchecked % urlbst
+ updated % urlbst
+ }
+ {}
+ { label }
+%% Declaration of integer variables
+INTEGERS { output.state before.all mid.sentence after.sentence after.block }
+STRINGS { urlintro eprinturl eprintprefix doiprefix doiurl } % urlbst...
+INTEGERS { hrefform addeprints adddoiresolver }
+% Following constants may be adjusted by hand, if desired
+FUNCTION {init.config.constants}
+{
+ "Available from: " 'urlintro := % prefix before URL
+ "http://arxiv.org/abs/" 'eprinturl := % prefix to make URL from eprint ref
+ "arXiv:" 'eprintprefix := % text prefix printed before eprint ref
+ "http://dx.doi.org/" 'doiurl := % prefix to make URL from DOI
+ "doi:" 'doiprefix := % text prefix printed before DOI ref
+ #0 'addeprints := % 0=no eprints; 1=include eprints
+ #0 'adddoiresolver := % 0=no DOI resolver; 1=include it
+ #0 'hrefform := % 0=no crossrefs; 1=hypertex xrefs; 2=hyperref refs
+}
+INTEGERS {
+ bracket.state
+ outside.brackets
+ open.brackets
+ within.brackets
+ close.brackets
+}
+% ...urlbst to here
+FUNCTION {init.state.consts}
+{ #0 'outside.brackets := % urlbst
+ #1 'open.brackets :=
+ #2 'within.brackets :=
+ #3 'close.brackets :=
+
+ #0 'before.all :=
+ #1 'mid.sentence :=
+ #2 'after.sentence :=
+ #3 'after.block :=
+}
+%% Declaration of string variables
+STRINGS { s t}
+
+% urlbst
+FUNCTION {output.nonnull.original}
+{ '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
+}
+
+% urlbst...
+FUNCTION {output.nonnull}
+{ % Save the thing we've been asked to output
+ 's :=
+ % If the bracket-state is close.brackets, then add a close-bracket to
+ % what is currently at the top of the stack, and set bracket.state
+ % to outside.brackets
+ bracket.state close.brackets =
+ { "]" *
+ outside.brackets 'bracket.state :=
+ }
+ 'skip$
+ if$
+ bracket.state outside.brackets =
+ { % We're outside all brackets -- this is the normal situation.
+ % Write out what's currently at the top of the stack, using the
+ % original output.nonnull function.
+ s
+ output.nonnull.original
+ }
+ { % Still in brackets. Add open-bracket or (continuation) comma, add the
+ % new text (in s) to the top of the stack, and move to the close-brackets
+ % state, ready for next time (unless inbrackets resets it). If we come
+ % into this branch, then output.state is carefully undisturbed.
+ bracket.state open.brackets =
+ { " [" * }
+ { ", " * } % bracket.state will be within.brackets
+ if$
+ s *
+ close.brackets 'bracket.state :=
+ }
+ if$
+}
+
+% Call this function just before adding something which should be presented in
+% brackets. bracket.state is handled specially within output.nonnull.
+FUNCTION {inbrackets}
+{ bracket.state close.brackets =
+ { within.brackets 'bracket.state := } % reset the state: not open nor closed
+ { open.brackets 'bracket.state := }
+ if$
+}
+
+FUNCTION {format.lastchecked}
+{ lastchecked empty$
+ { "" }
+ { updated empty$
+ { inbrackets "cited " lastchecked * }
+ { inbrackets "updated " updated * "; cited " * lastchecked * }
+ if$
+ }
+ if$
+}
+% ...urlbst to here
+
+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}
+{
+ bracket.state close.brackets = % urlbst
+ { "]" * }
+ 'skip$
+ if$
+ 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 {no.blank.or.punct}
+{ "" * before.all 'output.state :=
+}
+
+FUNCTION {add.semicolon}
+{
+ ";" *
+ no.blank.or.punct
+}
+
+FUNCTION {date.block}
+{
+ "." *
+ no.blank.or.punct
+}
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% LOGICAL `NOT', `AND', AND `OR' %
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% Logical 'not':
+% If the first element on the stack is A then this function
+% does the following:
+% push { #0 }
+% push { #1 }
+% So now the first 3 elements of the stack are
+% { #1 } { #0 } A
+% The first 3 are popped and subjected to 'if':
+% If A > 0 then { #0 } is executed, else { #1 } is executed:
+% if A > 0
+% then 0
+% else 1
+% So consider integers as logicals, where 1 = true and 0 = false,
+% then this does
+% (if A then false else true)
+% which is a logical 'not'.
+
+FUNCTION {not}
+{ { #0 }
+ { #1 }
+ if$
+}
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% Logical 'and':
+% If the first 2 elements on the stack are A B
+% then this function does the following:
+% push 'skip$
+% push { pop$ #0 }
+% So now first 4 elements are
+% { pop$ #0 } 'skip$ A B
+% The first 3 are popped and subjected to 'if' (B is on top of
+% the stack):
+% If A > 0 then 'skip$ is executed, else { pop$ #0 } is executed:
+% if A > 0
+% then (B stays on top of stack)
+% else (B is popped and #0 is pushed)
+% So consider integers as logicals, where 1 = true and 0 = false,
+% then this does
+% (if A then B else false)
+% which is a logical 'and'.
+
+FUNCTION {and}
+{ 'skip$
+ { pop$ #0 }
+ if$
+}
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% Logical 'or':
+% If the first 2 elements on the stack are A B
+% then this function does the following:
+% push { pop$ #1 }
+% push 'skip$
+% So now first 4 elements are
+% 'skip$ { pop$ #1 } A B
+% The first 3 are popped and subjected to 'if' (B is on top of
+% the stack):
+% If A > 0 then { pop$ #1 } is executed, else 'skip$ is executed:
+% if A > 0
+% then (B is popped and #1 is pushed)
+% else (B stays on top of stack)
+% So consider integers as logicals, where 1 = true and 0 = false,
+% then this does
+% (if A then true else B)
+% which is a logical 'or'.
+
+FUNCTION {or}
+{ { pop$ #1 }
+ 'skip$
+ if$
+}
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% GENERAL PURPOSE FUNCTIONS FOR FORMATTING %
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% issues warning if field is empty
+% call with
+% "field" field warning.if.empty
+% Note that the first field must be between quotes
+% because it is the fieldname for use in the warning message.
+%
+
+FUNCTION {warning.if.empty}
+{ empty$
+ { "No " swap$ * " in " * cite$ * warning$ }
+ { pop$ }
+ if$
+}
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+ %
+ % encloses string in pre- and postfix string
+ % call with
+ % prefix postfix S enclose.check
+ % delivers empty string if S empty
+ %
+FUNCTION {enclose.check}
+{ duplicate$ empty$
+ { pop$ pop$ pop$
+ ""
+ }
+ { swap$ * * }
+ if$
+}
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%
+% emphasizes top of stack
+% call with
+% string" emphasize.check
+%
+
+FUNCTION {emphasize.check}
+{ "\Bem{" swap$
+ "}" swap$
+ enclose.check
+}
+
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+ %
+ % brackets top of stack
+ % call with
+ % "string" bracket.check
+ %
+FUNCTION {bracket.check}
+{ "[" swap$
+ "]" swap$
+ enclose.check
+}
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+ %
+ % parenthesizes top of stack
+ % call with
+ % "string" parenthesize
+ %
+FUNCTION {parenthesize.check}
+{ "(" swap$
+ ")" swap$
+ enclose.check
+}
+
+STRINGS {z}
+
+FUNCTION {remove.dots}
+{ 'z :=
+ ""
+ { z empty$ not }
+ { z #1 #1 substring$
+ z #2 global.max$ substring$ 'z :=
+ duplicate$ "." = 'pop$
+ { * }
+ if$
+ }
+ while$
+}
+
+INTEGERS {l}
+FUNCTION{string.length}
+{
+ #1 'l :=
+ { duplicate$ duplicate$ #1 l substring$ = not }
+ { l #1 + 'l := }
+ while$
+ pop$ l
+}
+
+STRINGS {replace find text}
+INTEGERS {find_length}
+FUNCTION {find.replace}
+{
+ 'replace :=
+ 'find :=
+ 'text :=
+ find string.length 'find_length :=
+ ""
+ { text empty$ not }
+ { text #1 find_length substring$ find =
+ {
+ replace *
+ text #1 find_length + global.max$ substring$ 'text :=
+ }
+ { text #1 #1 substring$ *
+ text #2 global.max$ substring$ 'text :=
+ }
+ if$
+ }
+ while$
+}
+
+FUNCTION {new.block.checka}
+{ empty$
+ 'skip$
+ 'new.block
+ if$
+}
+
+FUNCTION {new.block.checkb}
+{ empty$
+ swap$ empty$
+ and
+ 'skip$
+ 'new.block
+ if$
+}
+
+FUNCTION {new.sentence.checka}
+{ empty$
+ 'skip$
+ 'new.sentence
+ if$
+}
+
+FUNCTION {new.sentence.checkb}
+{ empty$
+ swap$ empty$
+ and
+ 'skip$
+ 'new.sentence
+ if$
+}
+
+FUNCTION {field.or.null}
+{ duplicate$ empty$
+ { pop$ "" }
+ 'skip$
+ if$
+}
+
+FUNCTION {emphasize}
+{ skip$ }
+
+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}
+{ "editors" }
+
+FUNCTION {bbl.editor}
+{ "editor" }
+
+FUNCTION {bbl.cartographers}
+{ "cartographers" }
+
+FUNCTION {bbl.cartographer}
+{ "cartographer" }
+
+FUNCTION {bbl.inventors}
+{ "inventors" }
+
+FUNCTION {bbl.inventor}
+{ "inventor" }
+
+FUNCTION {bbl.assignees}
+{ "assignees" }
+
+FUNCTION {bbl.assignee}
+{ "assignee" }
+
+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}
+{ "p." }
+
+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" }
+
+FUNCTION {bbl.first}
+{ "1st" }
+
+FUNCTION {bbl.second}
+{ "2nd" }
+
+FUNCTION {bbl.third}
+{ "3rd" }
+
+FUNCTION {bbl.fourth}
+{ "4th" }
+
+FUNCTION {bbl.fifth}
+{ "5th" }
+
+FUNCTION {bbl.st}
+{ "st" }
+
+FUNCTION {bbl.nd}
+{ "nd" }
+
+FUNCTION {bbl.rd}
+{ "rd" }
+
+FUNCTION {bbl.th}
+{ "th" }
+
+MACRO {jan} {"Jan."}
+
+MACRO {feb} {"Feb."}
+
+MACRO {mar} {"Mar."}
+
+MACRO {apr} {"Apr."}
+
+MACRO {may} {"May"}
+
+MACRO {jun} {"Jun."}
+
+MACRO {jul} {"Jul."}
+
+MACRO {aug} {"Aug."}
+
+MACRO {sep} {"Sep."}
+
+MACRO {oct} {"Oct."}
+
+MACRO {nov} {"Nov."}
+
+MACRO {dec} {"Dec."}
+
+FUNCTION {eng.ord}
+{ duplicate$ "1" swap$ *
+ #-2 #1 substring$ "1" =
+ { bbl.th * }
+ { duplicate$ #-1 #1 substring$
+ duplicate$ "1" =
+ { pop$ bbl.st * }
+ { duplicate$ "2" =
+ { pop$ bbl.nd * }
+ { "3" =
+ { bbl.rd * }
+ { bbl.th * }
+ if$
+ }
+ if$
+ }
+ if$
+ }
+ if$
+}
+
+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$ {
+ "." ". " find.replace 's :=
+ "" 't :=
+ #1 'nameptr :=
+ s num.names$ 'numnames :=
+ numnames 'namesleft :=
+ { namesleft #0 > }
+ { s nameptr
+ "{vv~}{ll}{ f{}}{ jj}"
+ format.name$
+ remove.dots
+ bibinfo bibinfo.check
+ 't :=
+ nameptr #1 >
+ {
+ nameptr #6
+ #1 + =
+ numnames #6
+ > and
+ { "others" 't :=
+ #1 'namesleft := }
+ 'skip$
+ if$
+ namesleft #1 >
+ { ", " * t * }
+ {
+ "," *
+ s nameptr "{ll}" format.name$ duplicate$ "others" =
+ { 't := }
+ { pop$ }
+ if$
+ t "others" =
+ {
+ " " * bbl.etal *
+ }
+ { " " * t * }
+ if$
+ }
+ if$
+ }
+ 't
+ if$
+ nameptr #1 + 'nameptr :=
+ namesleft #1 - 'namesleft :=
+ }
+ while$
+ } if$
+}
+
+FUNCTION {format.names.org}
+{ 'bibinfo :=
+ duplicate$ empty$ 'skip$ {
+ 's :=
+ "" 't :=
+ #1 'nameptr :=
+ s num.names$ 'numnames :=
+ numnames 'namesleft :=
+ { namesleft #0 > }
+ { s nameptr
+ "{ff~}{vv~}{ll}"
+ 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 *
+ }
+ { " " * t * }
+ if$
+ }
+ if$
+ }
+ 't
+ if$
+ nameptr #1 + 'nameptr :=
+ namesleft #1 - 'namesleft :=
+ }
+ while$
+ } if$
+}
+
+FUNCTION {format.names.ed}
+{
+ format.names
+}
+
+FUNCTION {format.authors}
+{
+ author "author" format.names
+ %%"." " " "author" find.replace format.names
+}
+
+FUNCTION {format.organizations}
+{ organization "organization" format.names.org
+}
+
+FUNCTION {get.bbl.editor}
+{ editor num.names$ #1 > 'bbl.editors 'bbl.editor if$ }
+
+FUNCTION {get.bbl.cartographer}
+{ cartographer num.names$ #1 > 'bbl.cartographers 'bbl.cartographer if$ }
+
+FUNCTION {get.bbl.inventor}
+{ inventor num.names$ #1 > 'bbl.inventors 'bbl.inventor if$ }
+
+FUNCTION {get.bbl.assignee}
+{ assignee num.names$ #1 > 'bbl.assignees 'bbl.assignee if$ }
+
+FUNCTION {format.editors}
+{ editor "editor" format.names duplicate$ empty$ 'skip$
+ {
+ "," *
+ " " *
+ get.bbl.editor
+ *
+ }
+ if$
+}
+
+FUNCTION {format.assignees}
+{ assignee "assignee" format.names.org duplicate$ empty$ 'skip$
+ {
+ "," *
+ " " *
+ get.bbl.assignee
+ *
+ }
+ if$
+}
+
+FUNCTION {format.cartographers}
+{ cartographer "cartographer" format.names duplicate$ empty$ 'skip$
+ {
+ "," *
+ " " *
+ get.bbl.cartographer
+ *
+ }
+ if$
+}
+
+FUNCTION {format.inventors}
+{ inventor "inventor" format.names duplicate$ empty$ 'skip$
+ {
+ "," *
+ " " *
+ get.bbl.inventor
+ *
+ }
+ 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.type}
+{ type empty$
+ 'skip$
+ { inbrackets type }
+ %%{ add.blank "[" type * "]" * }
+ if$
+}
+
+FUNCTION {output.bibitem}
+{ outside.brackets 'bracket.state := % urlbst
+ newline$
+ "\bibitem{" write$
+ cite$ write$
+ "}" write$
+ newline$
+ ""
+ before.all 'output.state :=
+}
+
+FUNCTION {n.dashify}
+{
+ 't :=
+ ""
+ { t empty$ not }
+ { t #1 #1 substring$ "-" =
+ { t #1 #2 substring$ "--" = not
+ { "--" *
+ t #2 global.max$ substring$ 't :=
+ }
+ { { t #1 #1 substring$ "-" = }
+ { "-" *
+ t #2 global.max$ substring$ 't :=
+ }
+ while$
+ }
+ if$
+ }
+ { t #1 #1 substring$ *
+ t #2 global.max$ substring$ 't :=
+ }
+ if$
+ }
+ while$
+}
+
+FUNCTION {word.in}
+{ bbl.in capitalize
+ ":" *
+ " " * }
+
+FUNCTION {format.journal.date}
+{
+ month "month" bibinfo.check
+ duplicate$ empty$
+ year "year" bibinfo.check duplicate$ empty$
+ {
+ swap$ 'skip$
+ { "there's a month but no year in " cite$ * warning$ }
+ if$
+ *
+ }
+ { swap$ 'skip$
+ {
+ " " * swap$
+ }
+ if$
+ *
+ remove.dots
+ }
+ if$
+ duplicate$ empty$
+ 'skip$
+ {
+ before.all 'output.state :=
+ after.sentence 'output.state :=
+ }
+ if$
+}
+
+FUNCTION {format.date}
+{
+ no.blank.or.punct
+ ";"
+ duplicate$ empty$
+ year "year" bibinfo.check duplicate$ empty$
+ { swap$ 'skip$
+ { "there's a month but no year in " cite$ * warning$ }
+ if$
+ *
+ }
+ { swap$ 'skip$
+ {
+ swap$
+ " " * swap$
+ }
+ if$
+ *
+ }
+ if$
+}
+
+FUNCTION {format.btitle}
+{ title "title" bibinfo.check
+ duplicate$ empty$ 'skip$
+ {
+ }
+ if$
+}
+
+FUNCTION {either.or.check}
+{ empty$
+ 'pop$
+ { "can't use both " swap$ * " fields in " * cite$ * warning$ }
+ if$
+}
+
+FUNCTION {format.bvolume}
+{ volume empty$
+ { "" }
+ { bbl.volume volume tie.or.space.prefix
+ "volume" bibinfo.check * *
+ series "series" bibinfo.check
+ duplicate$ empty$ 'pop$
+ { swap$ bbl.of space.word * swap$
+ emphasize * }
+ if$
+ "volume and number" number either.or.check
+ }
+ if$
+}
+
+FUNCTION {format.number.series}
+{ volume empty$
+ { number empty$
+ { series field.or.null }
+ { series empty$
+ { number "number" bibinfo.check }
+ { output.state mid.sentence =
+ { bbl.number }
+ { bbl.number capitalize }
+ if$
+ number tie.or.space.prefix "number" bibinfo.check * *
+ bbl.in space.word *
+ series "series" bibinfo.check *
+ }
+ if$
+ }
+ if$
+ }
+ { "" }
+ if$
+}
+
+FUNCTION {is.num}
+{ chr.to.int$
+ duplicate$ "0" chr.to.int$ < not
+ swap$ "9" chr.to.int$ > not and
+}
+
+FUNCTION {extract.num}
+{ duplicate$ 't :=
+ "" 's :=
+ { t empty$ not }
+ { t #1 #1 substring$
+ t #2 global.max$ substring$ 't :=
+ duplicate$ is.num
+ { s swap$ * 's := }
+ { pop$ "" 't := }
+ if$
+ }
+ while$
+ s empty$
+ 'skip$
+ { pop$ s }
+ if$
+}
+
+FUNCTION {convert.edition}
+{ extract.num "l" change.case$ 's :=
+ s "first" = s "1" = or
+ { bbl.first 't := }
+ { s "second" = s "2" = or
+ { bbl.second 't := }
+ { s "third" = s "3" = or
+ { bbl.third 't := }
+ { s "fourth" = s "4" = or
+ { bbl.fourth 't := }
+ { s "fifth" = s "5" = or
+ { bbl.fifth 't := }
+ { s #1 #1 substring$ is.num
+ { s eng.ord 't := }
+ { edition 't := }
+ if$
+ }
+ if$
+ }
+ if$
+ }
+ if$
+ }
+ if$
+ }
+ if$
+ t
+}
+
+FUNCTION {format.edition}
+{ edition duplicate$ empty$ 'skip$
+ {
+ convert.edition
+ output.state 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.vol.num}
+{ volume field.or.null
+ duplicate$ empty$ 'skip$
+ {
+ "volume" bibinfo.check
+ }
+ if$
+ number "number" bibinfo.check duplicate$ empty$ 'skip$
+ {
+ swap$ duplicate$ empty$
+ { "there's a number but no volume in " cite$ * warning$ }
+ 'skip$
+ if$
+ swap$
+ "(" swap$ * ")" *
+ }
+ if$ *
+}
+
+FUNCTION {format.vol.num.pages}
+{ volume field.or.null
+ duplicate$ empty$ 'skip$
+ {
+ "volume" bibinfo.check
+ }
+ if$
+ 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$ *
+ format.journal.pages
+}
+
+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
+ }
+
+ FUNCTION {format.in.ed.booktitle}
+ { format.booktitle duplicate$ empty$ 'skip$
+ {
+ editor "editor" format.names.ed duplicate$ empty$ 'pop$
+ {
+ "," *
+ " " *
+ get.bbl.editor
+ ". " *
+ * swap$
+ * }
+ if$
+ word.in swap$ *
+ }
+ if$
+ }
+
+ FUNCTION {format.in.ed.title}
+ { format.title duplicate$ empty$ 'skip$
+ {
+ editor "editor" format.names.ed duplicate$ empty$ 'pop$
+ {
+ "," *
+ " " *
+ get.bbl.editor
+ ". " *
+ * swap$
+ * }
+ if$
+ word.in swap$ *
+ }
+ if$
+ }
+
+ FUNCTION {empty.misc.check}
+ { author empty$ title empty$ howpublished empty$
+ month empty$ year empty$ note empty$
+ and and and and and
+ { "all relevant fields are empty in " cite$ * warning$ }
+ 'skip$
+ 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.org.or.pub}
+{ 't :=
+ ""
+ address empty$ t empty$ and
+ 'skip$
+ {
+ address "address" bibinfo.check *
+ t empty$
+ 'skip$
+ { address empty$
+ 'skip$
+ { ": " * }
+ if$
+ t *
+ }
+ 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 {format.institution.address}
+{ institution "institution" bibinfo.check format.org.or.pub
+}
+
+
+% urlbst...
+% Functions for making hypertext links.
+% In all cases, the stack has (link-text href-url)
+%
+% make 'null' specials
+FUNCTION {make.href.null}
+{
+ pop$
+}
+% make hypertex specials
+FUNCTION {make.href.hypertex}
+{
+ "\special {html:<a href=" quote$ *
+ swap$ * quote$ * "> }" * swap$ *
+ "\special {html:</a>}" *
+}
+% make hyperref specials
+FUNCTION {make.href.hyperref}
+{
+ "\href {" swap$ * "} {" * swap$ * "}" *
+}
+FUNCTION {make.href}
+{ hrefform #2 =
+ 'make.href.hyperref % hrefform = 2
+ { hrefform #1 =
+ 'make.href.hypertex % hrefform = 1
+ 'make.href.null % hrefform = 0 (or anything else)
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.url}
+{ url empty$
+ { "" }
+ { hrefform #1 =
+ { % special case -- add HyperTeX specials
+ urlintro "\url{" url * "}" * url make.href.hypertex * }
+ { urlintro "\url{" * url * "}" * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.eprint}
+{ eprint empty$
+ { "" }
+ { eprintprefix eprint * eprinturl eprint * make.href }
+ if$
+}
+
+FUNCTION {format.doi}
+{ doi empty$
+ { "" }
+ { doiprefix doi * doiurl doi * make.href }
+ if$
+}
+
+% Output a URL. We can't use the more normal idiom (something like
+% `format.url output'), because the `inbrackets' within
+% format.lastchecked applies to everything between calls to `output',
+% so that `format.url format.lastchecked * output' ends up with both
+% the URL and the lastchecked in brackets.
+FUNCTION {output.url}
+{ url empty$
+ 'skip$
+ { new.block
+ format.url output
+ format.lastchecked output
+ }
+ if$
+}
+
+FUNCTION {output.web.refs}
+{
+ new.block
+ output.url
+ addeprints eprint empty$ not and
+ { format.eprint output.nonnull }
+ 'skip$
+ if$
+ adddoiresolver doi empty$ not and
+ { format.doi output.nonnull }
+ 'skip$
+ if$
+% addeprints
+% { eprint empty$
+% 'skip$
+% { format.eprint output.nonnull }
+% if$
+% }
+% 'skip$
+% if$
+}
+
+% Webpage entry type.
+% Title and url fields required;
+% author, note, year, month, and lastchecked fields optional
+STRINGS {database}
+FUNCTION {webpage}
+{ output.bibitem
+ author empty$
+ { editor empty$
+ 'skip$ % author and editor both optional
+ { format.editors output.nonnull }
+ if$
+ }
+ { editor empty$
+ { format.authors output.nonnull }
+ { "can't use both author and editor fields in " cite$ * warning$ }
+ if$
+ }
+ if$
+% author empty$
+% 'skip$
+% { format.authors output.nonnull }
+% if$
+ new.block
+ format.title "title" output.check
+ journal empty$
+ {
+ format.type "type" output.check
+ publisher empty$
+ 'skip$
+ { format.publisher.address output }
+ if$
+ "database on the Internet" 'database :=
+ type database =
+ { format.journal.date "year" output.check }
+ { format.date "year" output.check }
+ if$
+ lastchecked empty$
+ 'skip$
+ { format.lastchecked output }
+ if$
+ new.block
+ part empty$
+ 'skip$
+ { part output }
+ if$
+ pages empty$
+ 'skip$
+ { pages bracket.check output }
+ if$
+ }
+ { journal
+ remove.dots
+ "journal" bibinfo.check
+ "journal" output.check
+ format.type "type" output.check
+ format.journal.date "year" output.check
+ lastchecked empty$
+ 'skip$
+ { format.lastchecked output
+ ";" no.blank.or.punct output
+ }
+ if$
+ no.blank.or.punct format.vol.num output
+ pages empty$
+ 'skip$
+ { ":" no.blank.or.punct output
+ no.blank.or.punct pages bracket.check output
+ }
+ if$
+ new.block
+ }
+ if$
+ format.url "url" output.check
+ new.block
+ note output
+ fin.entry
+}
+% ...urlbst to here
+
+FUNCTION {misc}
+{ output.bibitem
+ format.authors "author" output.check
+ format.editors "author and editor" output.check
+ format.title "title" output.check
+ type missing$
+ { skip$ }
+ { format.type "type" output.check }
+ %%{ inbrackets type output }
+ if$
+ format.publisher.address output
+ format.date "year" output.check
+ new.block
+ format.note output
+ new.block
+ howpublished new.block.checka
+ howpublished "howpublished" bibinfo.check output
+ output.web.refs % urlbst
+ fin.entry
+ empty.misc.check
+}
+
+FUNCTION {article}
+{ output.bibitem
+ format.authors "author" output.check
+ organization empty$
+ 'skip$
+ { author empty$
+ {
+ format.organizations "organization" output.check
+ }
+ {
+ "; " *
+ no.blank.or.punct
+ format.organizations "organization" output.check
+ }
+ if$
+ }
+ if$
+ new.block
+ format.title "title" output.check
+ type missing$
+ { skip$ }
+ { format.type "type" output.check }
+ if$
+ new.block
+ journal
+ remove.dots
+ "journal" bibinfo.check
+ "journal" output.check
+ format.journal.date "year" output.check
+ add.semicolon
+ format.vol.num.pages output
+ new.block
+ format.note output
+ output.web.refs % urlbst
+ fin.entry
+}
+
+FUNCTION {book}
+{ output.bibitem
+ author empty$
+ { editor empty$
+ { format.organizations "organization" output.check }
+ { format.editors "author and editor" output.check }
+ if$
+ }
+ { format.authors output.nonnull
+ "author and editor" editor either.or.check
+ }
+ if$
+ new.block
+ format.btitle "title" output.check
+ format.bvolume output
+ new.block
+ format.edition output
+ new.sentence
+ author empty$ not
+ editor empty$ not
+ and
+ { format.editors "author and editor" output.check }
+ 'skip$
+ if$
+ format.number.series output
+ format.publisher.address output
+ format.date "year" output.check
+ new.block
+ format.note output
+ output.web.refs % urlbst
+ fin.entry
+}
+
+FUNCTION {booklet}
+{ misc }
+
+FUNCTION {dictionary}
+{ output.bibitem
+ format.booktitle "booktitle" output.check
+ format.bvolume output
+ new.block
+ format.edition output
+ new.sentence
+ format.publisher.address output
+ format.date "year" output.check
+ format.btitle "title" output.check
+ add.semicolon
+ add.blank
+ format.pages "pages" output.check
+ new.block
+ format.note output
+ output.web.refs % urlbst
+ fin.entry
+}
+
+FUNCTION {inbook}
+{ output.bibitem
+ format.authors "author" output.check
+ new.block
+ chapter "chapter" output.check
+ new.block
+ format.in.ed.title "title" output.check
+ format.bvolume output
+ format.edition output
+ new.sentence
+ format.number.series output
+ format.publisher.address output
+ format.date "year" output.check
+ date.block
+ add.blank
+ format.pages "pages" output.check
+ new.block
+ format.note output
+ output.web.refs % urlbst
+ fin.entry
+}
+
+FUNCTION {incollection}
+{ output.bibitem
+ format.authors "author" output.check
+ new.block
+ format.title "title" output.check
+ new.block
+ format.in.ed.booktitle "booktitle" output.check
+ format.bvolume output
+ format.edition output
+ new.sentence
+ format.number.series output
+ format.publisher.address output
+ format.date "year" output.check
+ date.block
+ add.blank
+ format.pages "pages" output.check
+ new.block
+ format.note output
+ output.web.refs % urlbst
+ fin.entry
+}
+
+FUNCTION {inproceedings}
+{ output.bibitem
+ format.authors "author" output.check
+ new.block
+ format.title "title" output.check
+ new.block
+ format.in.ed.booktitle "booktitle" output.check
+ format.bvolume output
+ new.sentence
+ format.number.series output
+ publisher empty$
+ { format.organization.address output }
+ { organization "organization" bibinfo.check output
+ format.publisher.address output
+ }
+ if$
+ format.date "year" output.check
+ date.block
+ add.blank
+ format.pages "pages" output.check
+ new.block
+ format.note output
+ output.web.refs % urlbst
+ fin.entry
+}
+
+FUNCTION {conference}
+{inproceedings}
+
+FUNCTION {manual}
+{misc}
+
+FUNCTION {phdthesis}
+{ output.bibitem
+ format.authors "author" output.check
+ new.block
+ format.btitle
+ "title" output.check
+ format.type "type" output.check
+ new.block
+ school "school" bibinfo.warn output
+ address "address" bibinfo.check output
+ format.date "year" output.check
+ new.block
+ format.note output
+ output.web.refs % urlbst
+ fin.entry
+}
+
+FUNCTION {mastersthesis}
+{phdthesis}
+
+FUNCTION {proceedings}
+{ output.bibitem
+ editor empty$
+ { organization "organization" bibinfo.check output
+ }
+ { format.editors output.nonnull }
+ if$
+ new.block
+ format.btitle "title" output.check
+ format.bvolume output
+ editor empty$
+ { publisher empty$
+ 'skip$
+ {
+ new.sentence
+ format.number.series output
+ format.publisher.address output
+ }
+ if$
+ }
+ { publisher empty$
+ {
+ new.sentence
+ format.organization.address output }
+ {
+ new.sentence
+ organization "organization" bibinfo.check output
+ format.publisher.address output
+ }
+ if$
+ }
+ if$
+ format.date "year" output.check
+ new.block
+ format.note output
+ output.web.refs % urlbst
+ fin.entry
+}
+
+FUNCTION {techreport}
+{ output.bibitem
+ format.authors "author" output.check
+ new.block
+ format.title
+ "title" output.check
+ new.block
+ format.institution.address output
+ format.date "year" output.check
+ format.tr.number output.nonnull
+ new.block
+ format.note output
+ output.web.refs % urlbst
+ fin.entry
+}
+
+FUNCTION {map}
+{ output.bibitem
+ format.cartographers "cartographer" output.check
+ new.block
+ format.title
+ "title" output.check
+ format.type "type" output.check
+ new.block
+ format.publisher.address output
+ format.date "year" output.check
+ new.block
+ format.note output
+ output.web.refs % urlbst
+ fin.entry
+}
+
+FUNCTION {patent}
+{ output.bibitem
+ format.inventors "inventor" output.check
+ "; " *
+ no.blank.or.punct
+ format.assignees "assignee" output.check
+ new.block
+ format.title
+ "title" output.check
+ new.block
+ format.tr.number output.nonnull
+ format.date "year" output.check
+ new.block
+ format.note output
+ output.web.refs % urlbst
+ fin.entry
+}
+
+FUNCTION {unpublished}
+{ output.bibitem
+ format.authors "author" output.check
+ new.block
+ format.title "title" output.check
+ format.date output
+ new.block
+ format.note "note" output.check
+ output.web.refs % urlbst
+ fin.entry
+}
+
+FUNCTION {default.type} { misc }
+READ
+STRINGS { longest.label }
+INTEGERS { number.label longest.label.width }
+FUNCTION {initialize.longest.label}
+{ "" 'longest.label :=
+ #1 'number.label :=
+ #0 'longest.label.width :=
+}
+FUNCTION {longest.label.pass}
+{ number.label int.to.str$ 'label :=
+ number.label #1 + 'number.label :=
+ label width$ longest.label.width >
+ { label 'longest.label :=
+ label width$ 'longest.label.width :=
+ }
+ 'skip$
+ if$
+}
+EXECUTE {initialize.longest.label}
+ITERATE {longest.label.pass}
+FUNCTION {begin.bib}
+{ preamble$ empty$
+ 'skip$
+ { preamble$ write$ newline$ }
+ if$
+ "\begin{thebibliography}{" longest.label * "}" *
+ write$ newline$
+}
+EXECUTE {begin.bib}
+EXECUTE {init.config.constants}
+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 `vancouver.bst'.