summaryrefslogtreecommitdiff
path: root/macros/latex/contrib/tugboat/tugboat.bst
diff options
context:
space:
mode:
Diffstat (limited to 'macros/latex/contrib/tugboat/tugboat.bst')
-rw-r--r--macros/latex/contrib/tugboat/tugboat.bst67
1 files changed, 49 insertions, 18 deletions
diff --git a/macros/latex/contrib/tugboat/tugboat.bst b/macros/latex/contrib/tugboat/tugboat.bst
index 7fadb59d35..806a63ad57 100644
--- a/macros/latex/contrib/tugboat/tugboat.bst
+++ b/macros/latex/contrib/tugboat/tugboat.bst
@@ -1,25 +1,29 @@
-%%% $Id: tugboat.bst 375 2021-06-25 14:40:52Z karl $
+%%% $Id: tugboat.bst 379 2021-08-29 17:31:15Z karl $
%%% TUGboat changes are public domain.
%%%
%%% Modified for TUGboat from abbrvurl.bst:
-%%% New entry types @ctan (see ctanbib) and @online (alias for @misc).
+%%% New entry types: @ctan (see ctanbib);
+%%% @online and @software (aliases for @misc).
+%%% For @misc, the editor field is accepted along with author.
%%% New field bookauthor for @incollection and @inproceedings.
%%% Abbreviate "page(s)" to "p(p).",
%%% "volume" to "vol.",
-%%% "editor(s)" to "ed(s)".
+%%% "editor(s)" to "ed(s).",
+%%% "edition" to "ed.".
%%% Output "Ph.D." rather than "PhD".
%%% Output "No." and "no." for number field.
%%% Omit spaces between author initials, like "A.B. Smith".
-%%% Set urlintro="".
-%%% Always use https://doi.org/ for the doi url, and omit doi: prefix
-%%% (todo: doi urls not linked correctly).
-%%% Truncate long author lists in format.names (max.names, trunc.num)
-%%% and omit "and" from author lists, per Oren P.
+%%% Set urlintro="" and onlinestring="".
+%%% Always use https://doi.org/ for the doi url; omit "doi:" from output.
+%%% Truncate long author lists in format.names (max.names, trunc.num);
+%%% omit "and" from author lists, per Oren P.
%%% Use \emph instead of \em so we get automatic italic corrections.
%%% New fields for editors:
%%% "journaltie" - ~ instead of space after journal name.
%%% "newpage" - force page break after entry;
-%%% "prebibitem" - material output before \bibitem, with newline appended.
+%%% "nowarning" - if set, omit empty field warnings from output.check.
+%%% "prebibitem" - material output before \bibitem, with newline appended
+%%% (for example, section headings).
%%% "urlnewline" - force line break before url value;
%%%
%%% --karl, originally created 24jul18.
@@ -76,8 +80,10 @@ ENTRY
date % ctan
urldate % ctan
version % ctan
+ %
journaltie % tub
newpage % tub
+ nowarning % tub
prebibitem % tub
urlnewline % tub
}
@@ -107,13 +113,13 @@ FUNCTION {init.urlbst.variables}
% String constants, which you _might_ want to tweak.
"" 'urlintro := % prefix before URL; typically "Available from:" or "URL":
- "online" 'onlinestring := % indication that resource is online; typically "online"
+ "" 'onlinestring := % indication that resource is online; typically "online"
"cited " 'citedstring := % indicator of citation date; typically "cited "
"[link]" 'linktextstring := % dummy link text; typically "[link]"
"http://arxiv.org/abs/" 'eprinturl := % prefix to make URL from eprint ref
"arXiv:" 'eprintprefix := % text prefix printed before eprint ref; typically "arXiv:"
"https://doi.org/" 'doiurl := % prefix to make URL from DOI
- "doi:" 'doiprefix := % text prefix printed before DOI ref; typically "doi:"
+ "" 'doiprefix := % text prefix printed before DOI ref; typically "doi:"
"http://www.ncbi.nlm.nih.gov/pubmed/" 'pubmedurl := % prefix to make URL from PUBMED
"PMID:" 'pubmedprefix := % text prefix printed before PUBMED ref; typically "PMID:"
@@ -318,7 +324,12 @@ FUNCTION {output}
FUNCTION {output.check}
{ 't :=
duplicate$ empty$
- { pop$ "empty " t * " in " * cite$ * warning$ }
+ { pop$
+ nowarning empty$
+ { "empty " t * " in " * cite$ * warning$ }
+ 'skip$
+ if$
+ }
{ t 'last.output.check :=
output.nonnull }
if$
@@ -656,8 +667,8 @@ FUNCTION {format.edition}
{ edition empty$
{ "" }
{ output.state mid.sentence =
- { edition "l" change.case$ " edition" * }
- { edition "t" change.case$ " edition" * }
+ { edition "l" change.case$ " ed." * }
+ { edition "t" change.case$ " ed." * }
if$
}
if$
@@ -940,7 +951,7 @@ FUNCTION {format.eprint}
FUNCTION {format.doi}
{ doi empty$
{ "" }
- { doi doiurl make.href }
+ { doiprefix doi * doiurl doi * make.href }
if$
}
@@ -1291,7 +1302,18 @@ FUNCTION {mastersthesis}
FUNCTION {misc}
{ output.bibitem
- format.authors output
+ % originally just:
+ % format.authors output
+ author empty$
+ {
+ editor empty$
+ 'skip$
+ { format.editors output.nonnull }
+ if$
+ }
+ { format.authors output.nonnull }
+ if$
+ %
title howpublished new.block.checkb
title empty$ 'skip$ 'possibly.setup.inlinelink if$ % urlbst
format.title output
@@ -1307,6 +1329,9 @@ FUNCTION {misc}
FUNCTION {online}
{ misc }
+FUNCTION {software}
+{ misc }
+
FUNCTION {phdthesis}
{ output.bibitem
format.authors "author" output.check
@@ -1615,8 +1640,14 @@ FUNCTION {presort}
{ type$ "proceedings" =
'editor.organization.sort
{ type$ "manual" =
- 'author.organization.sort
- 'author.sort
+ { author.organization.sort }
+ { type$ "online" =
+ type$ "misc" =
+ or
+ { author.editor.sort }
+ { author.sort }
+ if$
+ }
if$
}
if$