summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/bibtex/bst/bibhtml/alphahtmldate.bst
diff options
context:
space:
mode:
Diffstat (limited to 'Master/texmf-dist/bibtex/bst/bibhtml/alphahtmldate.bst')
-rw-r--r--Master/texmf-dist/bibtex/bst/bibhtml/alphahtmldate.bst502
1 files changed, 335 insertions, 167 deletions
diff --git a/Master/texmf-dist/bibtex/bst/bibhtml/alphahtmldate.bst b/Master/texmf-dist/bibtex/bst/bibhtml/alphahtmldate.bst
index 2ad179066c4..129a7fc65b4 100644
--- a/Master/texmf-dist/bibtex/bst/bibhtml/alphahtmldate.bst
+++ b/Master/texmf-dist/bibtex/bst/bibhtml/alphahtmldate.bst
@@ -5,29 +5,24 @@
%%
%% alphahtml.bst
%%
-%% Part of bibhtml, version 1.3, released 2006 October 31
+%% Part of bibhtml, version 2.0, released 2009 August 9
+%% Hg node 4a5600417b09.
%% See <http://purl.org/nxg/dist/bibhtml>
%%
-%% Copyright 1999, 2005, 2006, Norman Gray <norman@astro.gla.ac.uk>
+%% Copyright 1999, 2005, 2006, 2009, Norman Gray <norman@astro.gla.ac.uk>
%%
-%% alphahtml.bst was originally derived from alpha.bst and plainhtml.bst by
-%% Franz G. Fischer, Franz.Fischer@lpr.e-technik.tu-muenchen.de
-%
-% $Id: alphahtml.bst.in,v 1.2 2006/10/31 15:45:57 norman Exp $
-%
-% Released under the terms of the GNU General Public Licence --
-% see the file LICENCE, included in the distribution.
-%
-% Version history:
-% 1.3 31 October 2006: added 'hrefprefix' variable; minor code tidups
-% 1.2 19 September 2005: added `webpage' entry type, and
-% `lastchecked' field.
-% 1.1 6 June 1999. Tidied documentation, clarified licence.
-% 1.0b1 Original version, based on Franz's adaptations, plus support
-% for eprint field (in article, techreport, misc, inproceedings,
-% unpublished)
-%
-% Modification of...
+%% This is a modification of a modification!
+%%
+%%% Modification of BibTeX style file /usr/local/texlive/2008/texmf-dist/bibtex/bst/base/alpha.bst
+%%% ... by urlbst, version 0.6-4 (marked with "% urlbst")
+%%% See <http://purl.org/nxg/dist/urlbst>
+%%% Added webpage entry type, and url and lastchecked fields.
+%%% Added eprint support.
+%%% Added DOI support.
+%%% Added PUBMED support.
+%%% Added hyperref support.
+%%% Original headers follow...
+
% BibTeX standard bibliography style `alpha'
% version 0.99a for BibTeX versions 0.99a or later, LaTeX version 2.09.
% Copyright (C) 1985, all rights reserved.
@@ -37,13 +32,6 @@
% btxbst.doc, plain.bst, unsrt.bst, alpha.bst, and abbrv.bst.
% This restriction helps ensure that all standard styles are identical.
% The file btxbst.doc has the documentation for this style.
-% ... to make it produce HTML, and add the url field
-%
-% this produces a file which is a <dl>...</dl>, which should be incorporated
-% into another html file somehow.
-% There will still be ~ and -- within the output file (it's too difficult
-% to get rid of them here). A post-processor should turn these
-% into either &nbsp; and &enspace; or ' ' and '-' as required.
ENTRY
{ address
@@ -68,46 +56,76 @@ ENTRY
type
volume
year
- url
- lastchecked
- eprint
-%EDIT1
- sortmonth
+ eprint % urlbst
+ doi % urlbst
+ pubmed % urlbst
+ url % urlbst
+ lastchecked % urlbst
}
{}
{ label extra.label sort.label }
-INTEGERS { output.state before.all mid.sentence after.sentence after.block
- close.link }
-
-STRINGS { s t xxxmirror hrefprefix }
-
-% Initialise state constants, and location of nearest XXX mirror (for eprints)
+INTEGERS { output.state before.all mid.sentence after.sentence after.block doiform }
+
+STRINGS { urlintro eprinturl eprintprefix doiprefix doiurl pubmedprefix pubmedurl openinlinelink closeinlinelink } % urlbst...
+INTEGERS { inlinelinks makeinlinelink addeprints adddoiresolver addpubmedresolver }
+% Following constants may be adjusted by hand, if desired
+FUNCTION {init.urlbst.variables}
+{
+ "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
+ "http://www.ncbi.nlm.nih.gov/pubmed/" 'pubmedurl := % prefix to make URL from PUBMED
+ "PMID:" 'pubmedprefix := % text prefix printed before PUBMED ref
+ #1 'addeprints := % 0=no eprints; 1=include eprints
+ #1 'adddoiresolver := % 0=no DOI resolver; 1=include it
+ #1 'addpubmedresolver := % 0=no PUBMED resolver; 1=include it
+ #1 'inlinelinks := % 0=URLs explicit; 1=URLs attached to titles
+ #1 'doiform := % 0=simple, but can produce invalid HTML; 1=needs post-processing
+ % the following are internal state variables, not config constants
+ #0 'makeinlinelink := % state variable managed by possibly.setup.inlinelink
+ "" 'openinlinelink := % ditto
+ "" 'closeinlinelink := % ditto
+}
+INTEGERS {
+ bracket.state
+ outside.brackets
+ open.brackets
+ within.brackets
+ close.brackets
+ close.first.block
+}
+% ...urlbst to here
FUNCTION {init.state.consts}
-{ #0 'before.all :=
+{ #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 :=
-
- "" 'hrefprefix := % "ref:" is a good alternative
- "xxx.arxiv.org" 'xxxmirror :=
+ #0 'close.first.block :=
}
-FUNCTION {output.nonnull}
+STRINGS { s t }
+
+% urlbst
+FUNCTION {output.nonnull.original}
{ 's :=
output.state mid.sentence =
{ ", " * write$ }
{ output.state after.block =
{ add.period$ write$
% close the <dt> after the end of the first block
- % and set closelink false
- close.link
- { "</a></dt> <dd>" write$
- #0 'close.link := }
- 'skip$
- if$
- newline$
- " " write$
+ close.first.block
+ { "</a></dt>" write$ newline$ "<dd>" write$
+ #0 'close.first.block := }
+ { newline$ }
+ if$
}
{ output.state before.all =
'write$
@@ -121,6 +139,84 @@ FUNCTION {output.nonnull}
s
}
+% urlbst...
+% The following three functions are for handling inlinelink. They wrap
+% a block of text which is potentially output with write$ by multiple
+% other functions, so we don't know the content a priori.
+% They communicate between each other using the variables makeinlinelink
+% (which is true if a link should be made), and closeinlinelink (which holds
+% the string which should close any current link. They can be called
+% at any time, but start.inlinelink will be a no-op unless something has
+% previously set makeinlinelink true, and the two ...end.inlinelink functions
+% will only do their stuff if start.inlinelink has previously set
+% closeinlinelink to be non-empty.
+FUNCTION {possibly.setup.inlinelink}
+{ makeinlinelink
+ { "<a href=" quote$ * url * quote$ * ">" * 'openinlinelink :=
+ "</a>" 'closeinlinelink :=
+ #0 'makeinlinelink := }
+ 'skip$
+ if$ % makeinlinelink
+}
+FUNCTION {add.inlinelink}
+{ openinlinelink empty$
+ 'skip$
+ { openinlinelink swap$ * closeinlinelink *
+ "" 'openinlinelink :=
+ }
+ if$
+}
+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
+ add.inlinelink
+ output.nonnull.original % invoke the original output.nonnull
+ }
+ { % 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$
+ { "" }
+ { inbrackets "cited " lastchecked * }
+ if$
+}
+% ...urlbst to here
+
FUNCTION {output}
{ duplicate$ empty$
'pop$
@@ -136,24 +232,22 @@ FUNCTION {output.check}
if$
}
-FUNCTION {output.bibitem}
+FUNCTION {output.bibitem.original}
{ newline$
- "<dt><a name=" quote$ * hrefprefix * write$
+ "<dt><a name='" write$
cite$ write$
- quote$ ">[" * label * "] " * write$
- % the <dt> is closed within output.nonnull, as long as close.link is true
- #1 'close.link :=
-% newline$
+ "'>[" cite$ * "] " * write$
+ % the <dt> is closed within output.nonnull, as long as close.first.block is true
+ #1 'close.first.block :=
+ newline$
""
before.all 'output.state :=
}
-FUNCTION {fin.entry}
-{ add.period$
+FUNCTION {fin.entry.original}
+{ add.period$ "</dd>" *
write$
newline$
- "</dd>" write$
- newline$
}
FUNCTION {new.block}
@@ -288,33 +382,10 @@ FUNCTION {format.editors}
if$
}
-%FUNCTION {format.title}
-%{ title empty$
-% { "" }
-% { title "t" change.case$ }
-% if$
-%}
-
-% format the title, and surround it with the URL if one is defined
FUNCTION {format.title}
{ title empty$
{ "" }
- { url empty$
- { title "t" change.case$ }
- { "<a href=" quote$ * url * quote$ * " >" *
- title "t" change.case$ * "</a>" * }
- if$
- }
- if$
-}
-
-% format the eprint number, and surround it with a URL pointing to
-% one of the XXX mirrors
-FUNCTION {format.eprint}
-{ eprint empty$
- { "" }
- { "eprint <a href=" quote$ * "http://" * xxxmirror * "/abs/" * eprint *
- quote$ * " >" * eprint * "</a>" * }
+ { title "t" change.case$ }
if$
}
@@ -324,7 +395,7 @@ FUNCTION {n.dashify}
{ t empty$ not }
{ t #1 #1 substring$ "-" =
{ t #1 #2 substring$ "--" = not
- { "-" *
+ { "--" *
t #2 global.max$ substring$ 't :=
}
{ { t #1 #1 substring$ "-" = }
@@ -360,24 +431,8 @@ FUNCTION {format.date}
if$
}
-%FUNCTION {format.btitle}
-%{ title emphasize
-%}
-
FUNCTION {format.btitle}
-{ title empty$
- { booktitle empty$
- { "need title or booktitle in format.btitle" warning$ }
- { booktitle 's := }
- if$
- }
- { title 's := }
- if$
- url empty$
- { s emphasize }
- { "<a href=" quote$ * url * quote$ * " >" *
- s emphasize * "</a>" * }
- if$
+{ title emphasize
}
FUNCTION {tie.or.space.connect}
@@ -473,14 +528,10 @@ FUNCTION {format.pages}
}
FUNCTION {format.vol.num.pages}
-%{ volume field.or.null
-{ volume empty$ % allow this...
- { "" }
- { "<b>" volume * "</b>" * }
- if$
+{ volume field.or.null
number empty$
'skip$
- { " no. " number * *
+ { "(" number * ")" * *
volume empty$
{ "there's a number but no volume in " cite$ * warning$ }
'skip$
@@ -491,7 +542,7 @@ FUNCTION {format.vol.num.pages}
'skip$
{ duplicate$ empty$
{ pop$ format.pages }
- { " pp. " * pages n.dashify * }
+ { ":" * pages n.dashify * }
if$
}
if$
@@ -554,7 +605,6 @@ FUNCTION {format.tr.number}
if$
}
-% surround the journal name with a link pointing to the crossref
FUNCTION {format.article.crossref}
{ key empty$
{ journal empty$
@@ -562,36 +612,28 @@ FUNCTION {format.article.crossref}
warning$
""
}
- { "In <em><a href=" quote$ * "#" * hrefprefix * crossref * quote$ * ">" *
- journal * "</a></em>" * }
-% { "In <em>" journal * "</em>" * }
+ { "In {\em " journal * "\/}" * }
if$
}
{ "In " key * }
if$
+ " <span class='cite'>" * crossref * "</span>" *
}
-% if there is indeed a crossref, make the reference a link
FUNCTION {format.crossref.editor}
-{ crossref empty$
- { editor #1 "{vv~}{ll}" format.name$
- editor num.names$ duplicate$
- #2 >
- { pop$ " et~al." * }
- { #2 <
+{ editor #1 "{vv~}{ll}" format.name$
+ editor num.names$ duplicate$
+ #2 >
+ { pop$ " et~al." * }
+ { #2 <
'skip$
- { editor #2 "{ff }{vv }{ll}{ jj}" format.name$ "others" =
+ { editor #2 "{ff }{vv }{ll}{ jj}" format.name$ "others" =
{ " et~al." * }
{ " and " * editor #2 "{vv~}{ll}" format.name$ * }
if$
- }
+ }
if$
- }
- if$
- }
- { "<a href=" quote$ * "#" * hrefprefix * crossref * quote$ * " >[" *
- crossref * "]</a>" *
- }
+ }
if$
}
@@ -621,6 +663,7 @@ FUNCTION {format.book.crossref}
}
{ format.crossref.editor * }
if$
+ " <span class='cite'>" * crossref * "</span>" *
}
FUNCTION {format.incoll.inproc.crossref}
@@ -641,31 +684,169 @@ FUNCTION {format.incoll.inproc.crossref}
}
{ "In " format.crossref.editor * }
if$
+ " <span class='cite'>" * crossref * "</span>" *
}
-FUNCTION {format.lastchecked}
-{ lastchecked empty$
+% urlbst...
+% Functions for making hypertext links.
+FUNCTION {make.href}
+{
+ "<a href='" swap$ * "'><code>" * swap$ * "</code></a>" *
+}
+
+% If inlinelinks is true, then format.url should be a no-op, since it's
+% (a) redundant, and (b) could end up as a link-within-a-link.
+FUNCTION {format.url}
+{ inlinelinks #1 = url empty$ or
+ { "" }
+ { urlintro "<code>" * url * "</code>" * }
+ if$
+}
+
+FUNCTION {format.eprint}
+{ eprint empty$
+ { "" }
+ { eprintprefix eprint * eprinturl eprint * make.href }
+ if$
+}
+
+FUNCTION {format.doi}
+{ doi empty$
{ "" }
- { ", cited " lastchecked * }
+ { doiform #0 =
+ { doiprefix doi * doiurl doi * make.href }
+ { "DOI:{" doi * "}" * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.pubmed}
+{ pubmed empty$
+ { "" }
+ { pubmedprefix pubmed * pubmedurl pubmed * 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$
+ addpubmedresolver pubmed empty$ not and
+ { format.pubmed output.nonnull }
+ 'skip$
+ if$
+}
+
+% Wrapper for output.bibitem.original.
+% If the URL field is not empty, set makeinlinelink to be true,
+% so that an inline link will be started at the next opportunity
+FUNCTION {output.bibitem}
+{ outside.brackets 'bracket.state :=
+ output.bibitem.original
+ inlinelinks url empty$ not and
+ { #1 'makeinlinelink := }
+ { #0 'makeinlinelink := }
+ if$
+}
+
+% Wrapper for fin.entry.original
+FUNCTION {fin.entry}
+{ output.web.refs % urlbst
+ makeinlinelink % ooops, it appears we didn't have a title for inlinelink
+ { possibly.setup.inlinelink % add some artificial link text here, as a fallback
+ "[link]" output.nonnull }
+ 'skip$
+ if$
+ bracket.state close.brackets = % urlbst
+ { "]" * }
+ 'skip$
+ if$
+ fin.entry.original
+}
+
+% Webpage entry type.
+% Title and url fields required;
+% author, note, year, month, and lastchecked fields optional
+% See references
+% ISO 690-2 http://www.nlc-bnc.ca/iso/tc46sc9/standard/690-2e.htm
+% http://www.classroom.net/classroom/CitingNetResources.html
+% http://neal.ctstateu.edu/history/cite.html
+% http://www.cas.usf.edu/english/walker/mla.html
+% for citation formats for web pages.
+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$
+ new.block
+ title empty$ 'skip$ 'possibly.setup.inlinelink if$
+ format.title "title" output.check
+ inbrackets "online" output
+ new.block
+ year empty$
+ 'skip$
+ { format.date "year" output.check }
if$
+ % We don't need to output the URL details ('lastchecked' and 'url'),
+ % because fin.entry does that for us, using output.web.refs. The only
+ % reason we would want to put them here is if we were to decide that
+ % they should go in front of the rather miscellaneous information in 'note'.
+ new.block
+ note output
+ fin.entry
}
+% ...urlbst to here
+
FUNCTION {article}
{ output.bibitem
format.authors "author" output.check
new.block
+ title empty$ 'skip$ 'possibly.setup.inlinelink if$ % urlbst
format.title "title" output.check
new.block
crossref missing$
{ journal emphasize "journal" output.check
- format.vol.num.pages output
+ possibly.setup.inlinelink format.vol.num.pages output% urlbst
format.date "year" output.check
}
{ format.article.crossref output.nonnull
format.pages output
}
if$
- format.eprint output
new.block
note output
fin.entry
@@ -683,6 +864,7 @@ FUNCTION {book}
}
if$
new.block
+ title empty$ 'skip$ 'possibly.setup.inlinelink if$ % urlbst
format.btitle "title" output.check
crossref missing$
{ format.bvolume output
@@ -707,6 +889,7 @@ FUNCTION {booklet}
{ output.bibitem
format.authors output
new.block
+ title empty$ 'skip$ 'possibly.setup.inlinelink if$ % urlbst
format.title "title" output.check
howpublished address new.block.checkb
howpublished output
@@ -729,6 +912,7 @@ FUNCTION {inbook}
}
if$
new.block
+ title empty$ 'skip$ 'possibly.setup.inlinelink if$ % urlbst
format.btitle "title" output.check
crossref missing$
{ format.bvolume output
@@ -755,6 +939,7 @@ FUNCTION {incollection}
{ output.bibitem
format.authors "author" output.check
new.block
+ title empty$ 'skip$ 'possibly.setup.inlinelink if$ % urlbst
format.title "title" output.check
new.block
crossref missing$
@@ -781,6 +966,7 @@ FUNCTION {inproceedings}
{ output.bibitem
format.authors "author" output.check
new.block
+ title empty$ 'skip$ 'possibly.setup.inlinelink if$ % urlbst
format.title "title" output.check
new.block
crossref missing$
@@ -793,11 +979,9 @@ FUNCTION {inproceedings}
organization output
publisher output
format.date "year" output.check
- format.eprint output
}
{ address output.nonnull
format.date "year" output.check
- format.eprint output
new.sentence
organization output
publisher output
@@ -828,6 +1012,7 @@ FUNCTION {manual}
{ format.authors output.nonnull }
if$
new.block
+ title empty$ 'skip$ 'possibly.setup.inlinelink if$ % urlbst
format.btitle "title" output.check
author empty$
{ organization empty$
@@ -853,6 +1038,7 @@ FUNCTION {mastersthesis}
{ output.bibitem
format.authors "author" output.check
new.block
+ title empty$ 'skip$ 'possibly.setup.inlinelink if$ % urlbst
format.title "title" output.check
new.block
"Master's thesis" format.thesis.type output.nonnull
@@ -868,11 +1054,11 @@ FUNCTION {misc}
{ output.bibitem
format.authors output
title howpublished new.block.checkb
+ title empty$ 'skip$ 'possibly.setup.inlinelink if$ % urlbst
format.title output
howpublished new.block.checka
howpublished output
format.date output
- format.eprint output
new.block
note output
fin.entry
@@ -883,6 +1069,7 @@ FUNCTION {phdthesis}
{ output.bibitem
format.authors "author" output.check
new.block
+ title empty$ 'skip$ 'possibly.setup.inlinelink if$ % urlbst
format.btitle "title" output.check
new.block
"PhD thesis" format.thesis.type output.nonnull
@@ -901,6 +1088,7 @@ FUNCTION {proceedings}
{ format.editors output.nonnull }
if$
new.block
+ title empty$ 'skip$ 'possibly.setup.inlinelink if$ % urlbst
format.btitle "title" output.check
format.bvolume output
format.number.series output
@@ -933,13 +1121,13 @@ FUNCTION {techreport}
{ output.bibitem
format.authors "author" output.check
new.block
+ title empty$ 'skip$ 'possibly.setup.inlinelink if$ % urlbst
format.title "title" output.check
new.block
format.tr.number output.nonnull
institution "institution" output.check
address output
format.date "year" output.check
- format.eprint output
new.block
note output
fin.entry
@@ -949,31 +1137,11 @@ FUNCTION {unpublished}
{ output.bibitem
format.authors "author" output.check
new.block
+ title empty$ 'skip$ 'possibly.setup.inlinelink if$ % urlbst
format.title "title" output.check
new.block
note "note" output.check
format.date output
- format.eprint output
- fin.entry
-}
-
-FUNCTION {webpage}
-{ output.bibitem
- author empty$
- { % Need to put something here -- if the title were put here,
- % we'd have a <a> inside a <a>
- key empty$
- { "" }
- { key }
- if$
- "author and key" output.check
- }
- { format.authors "author" output.check }
- if$
- new.block
- format.title "title" output.check
- new.block
- "[Online" format.lastchecked * "]" * output
fin.entry
}
@@ -1083,7 +1251,7 @@ FUNCTION {format.lab.names}
{ namesleft #0 > }
{ nameptr numnames =
{ s nameptr "{ff }{vv }{ll}{ jj}" format.name$ "others" =
- { "+" *
+ { "{\etalchar{+}}" *
#1 'et.al.char.used :=
}
{ s nameptr "{v{}}{l{}}" format.name$ * }
@@ -1096,7 +1264,7 @@ FUNCTION {format.lab.names}
}
while$
numnames #4 >
- { "+" *
+ { "{\etalchar{+}}" *
#1 'et.al.char.used :=
}
'skip$
@@ -1290,11 +1458,7 @@ FUNCTION {editor.organization.sort}
FUNCTION {presort}
{ calc.label
- year field.or.null sortify
- sortmonth field.or.null sortify
- *
sort.label
- *
" "
*
type$ "book" =
@@ -1375,7 +1539,11 @@ ITERATE {forward.pass}
REVERSE {reverse.pass}
FUNCTION {begin.bib}
-{ preamble$ empty$
+{ et.al.char.used
+ { "\newcommand{\etalchar}[1]{$^{#1}$}" write$ newline$ }
+ 'skip$
+ if$
+ preamble$ empty$
'skip$
{ preamble$ write$ newline$ }
if$
@@ -1384,6 +1552,7 @@ FUNCTION {begin.bib}
EXECUTE {begin.bib}
+EXECUTE {init.urlbst.variables}
EXECUTE {init.state.consts}
ITERATE {call.type$}
@@ -1394,4 +1563,3 @@ FUNCTION {end.bib}
}
EXECUTE {end.bib}
-