summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/bibtex
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2022-03-04 21:44:37 +0000
committerKarl Berry <karl@freefriends.org>2022-03-04 21:44:37 +0000
commit622559c7609e012d815c8d53670dc9cc3eea01a3 (patch)
tree1dfbe5e98500eb1002d08253c5e5075f3b029d8b /Master/texmf-dist/bibtex
parentadcb48806efdd3ba1f88e0c17da1806e9579f64a (diff)
bath-bst (4mar22)
git-svn-id: svn://tug.org/texlive/trunk@62393 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/bibtex')
-rw-r--r--Master/texmf-dist/bibtex/bst/bath-bst/bath.bst163
-rw-r--r--Master/texmf-dist/bibtex/bst/bath-bst/bathx.bst219
2 files changed, 299 insertions, 83 deletions
diff --git a/Master/texmf-dist/bibtex/bst/bath-bst/bath.bst b/Master/texmf-dist/bibtex/bst/bath-bst/bath.bst
index 06a0aa908a4..e4fec7b7dcf 100644
--- a/Master/texmf-dist/bibtex/bst/bath-bst/bath.bst
+++ b/Master/texmf-dist/bibtex/bst/bath-bst/bath.bst
@@ -35,6 +35,7 @@ ENTRY
language
library
month
+ nameaddon
note
number
options
@@ -60,7 +61,10 @@ ENTRY
}
{}
{ label extra.label sort.label short.list }
-INTEGERS { output.state before.all mid.clause mid.sentence after.sentence after.block }
+INTEGERS {
+ output.state before.all mid.clause mid.sentence after.sentence after.block
+ online.shown
+}
FUNCTION {init.state.consts}
{ #0 'before.all :=
#1 'mid.clause :=
@@ -238,13 +242,20 @@ FUNCTION {either.or.check}
if$
}
FUNCTION {is.online}
-{ url empty$ doi empty$ and
- { type$ "online" =
+{ online.shown
+ { #0 }
+ { url empty$
+ doi empty$ and
+ urldate empty$ and
+ urlyear empty$ and
+ { type$ "online" =
+ { #1 }
+ { #0 }
+ if$
+ }
{ #1 }
- { #0 }
if$
}
- { #1 }
if$
}
FUNCTION {bbl.and}
@@ -606,6 +617,7 @@ FUNCTION {output.bibitem}
"}" write$
newline$
""
+ #0 'online.shown :=
before.all 'output.state :=
}
FUNCTION {format.key}
@@ -613,6 +625,16 @@ FUNCTION {format.key}
{ key field.or.null }
{ "" }
if$
+ nameaddon duplicate$ empty$
+ 'pop$
+ { swap$ duplicate$ empty$
+ 'skip$
+ { " " * }
+ if$
+ swap$ "[" swap$ * * "]" *
+ continue.clause
+ }
+ if$
}
FUNCTION {select.language}
{ duplicate$ empty$
@@ -641,8 +663,27 @@ FUNCTION {format.btitle}
{ "t" change.case$ }
if$
"title" bibinfo.check
+ duplicate$ empty$
+ 'skip$
+ { emphasize select.language }
+ if$
+}
+FUNCTION {format.avtitle}
+{ title
duplicate$ empty$ 'skip$
- { emphasize
+ { "t" change.case$ }
+ if$
+ "title" bibinfo.check
+ duplicate$ empty$
+ 'skip$
+ { type duplicate$ empty$
+ { pop$ emphasize }
+ { duplicate$ "TV" = swap$ "Radio" = or
+ 'skip$
+ 'emphasize
+ if$
+ }
+ if$
select.language
}
if$
@@ -662,11 +703,19 @@ FUNCTION {format.version}
}
if$
}
+FUNCTION {get.title.online}
+{ online.shown
+ 'skip$
+ { continue.clause
+ format.titleaddon output
+ #1 'online.shown :=
+ }
+ if$
+}
FUNCTION {get.title.addenda}
{ continue.clause
format.version output
- continue.clause
- format.titleaddon output
+ get.title.online
continue.clause
type$ "reference" =
{ format.byeditors output }
@@ -767,12 +816,19 @@ FUNCTION {format.eu.date}
'format.date
if$
}
+FUNCTION {format.series}
+{ series
+ duplicate$ empty$ 'skip$
+ { "t" change.case$ }
+ if$
+ "series" bibinfo.check
+}
FUNCTION {format.bvolume}
{ volume empty$
{ "" }
{ bbl.volume volume tie.or.space.prefix
"volume" bibinfo.check * *
- series "series" bibinfo.check
+ format.series
duplicate$ empty$ 'pop$
{ emphasize ", " * swap$ * }
if$
@@ -786,7 +842,7 @@ FUNCTION {format.number.series}
{ series field.or.null }
{ series empty$
{ number "number" bibinfo.check }
- { series "series" bibinfo.check
+ { format.series
number tie.or.space.prefix "number" bibinfo.check * *
}
if$
@@ -796,6 +852,24 @@ FUNCTION {format.number.series}
{ "" }
if$
}
+FUNCTION {format.series.episode}
+{ series
+ duplicate$ empty$
+ 'skip$
+ { "t" change.case$ }
+ if$
+ "series" bibinfo.check emphasize
+ number "number" bibinfo.check emphasize
+ duplicate$ empty$
+ { * }
+ { swap$
+ duplicate$ empty$
+ { * }
+ { ", " * swap$ * }
+ if$
+ }
+ if$
+}
FUNCTION {is.num}
{ chr.to.int$
duplicate$ "0" chr.to.int$ < not
@@ -866,17 +940,6 @@ FUNCTION {format.thesis.type}
}
if$
}
-FUNCTION {format.booklet.type}
-{ type duplicate$ empty$
- { pop$ "" }
- { "type" bibinfo.check
- is.online author empty$ and editor empty$ and
- { " " * bbl.online * }
- 'skip$
- if$
- }
- if$
-}
FUNCTION {add.cmd.number}
{ ". " swap$ "number" bibinfo.check *
}
@@ -892,7 +955,7 @@ FUNCTION {format.legr.number}
'add.cmd.number
{ s "Cm" =
'add.cmd.number
- { s #1 #3 substring$ 't :=
+ { s purify$ #1 #3 substring$ 't :=
t "HL " =
{ ", (" swap$
"number" bibinfo.check *
@@ -941,7 +1004,7 @@ FUNCTION {format.tr.number}
}
if$
}
- { "(" swap$ *
+ { "t" change.case$ "(" swap$ *
type duplicate$ empty$
{ pop$
number duplicate$ empty$
@@ -988,8 +1051,10 @@ FUNCTION {format.manual.number}
}
if$
}
- { number duplicate$ empty$
- 'pop$
+ { "t" change.case$
+ number duplicate$ empty$
+ { pop$
+ }
{ tie.or.space.prefix
"number" bibinfo.check
* *
@@ -1360,6 +1425,14 @@ FUNCTION {format.vol.num.pages}
"(" swap$ * ")" *
}
if$ *
+ month "month" bibinfo.check duplicate$ empty$
+ 'pop$
+ { swap$ duplicate$ empty$
+ 'pop$
+ { ", " * swap$ * }
+ if$
+ }
+ if$
eid empty$
{ format.journal.pages }
{ format.journal.eid }
@@ -1400,7 +1473,7 @@ FUNCTION {format.journal.series.vol.pages}
'skip$
{ " " * }
if$
- series "series" bibinfo.check
+ format.series
volume "volume" bibinfo.check *
duplicate$ empty$
'skip$
@@ -1462,6 +1535,18 @@ FUNCTION {format.url}
{ pop$ "" }
{ "\urlprefix\url{" swap$ * "}" * }
if$
+ duplicate$ empty$
+ urlyear empty$ not
+ urldate empty$ not
+ or
+ and
+ { library duplicate$ empty$
+ 'pop$
+ { "\urlprefix{}" swap$ * * }
+ if$
+ }
+ 'skip$
+ if$
urlyear empty$
{ urldate empty$
'skip$
@@ -1529,6 +1614,7 @@ FUNCTION {book}
{ format.title "title" output.check }
{ format.btitle "title" output.check }
if$
+ get.title.online
format.date "year" output.check
year empty$ 'skip$ { date.block } if$
get.title.addenda
@@ -1574,7 +1660,8 @@ FUNCTION {book}
FUNCTION {booklet}
{ output.bibitem
author empty$
- { format.btitle "title" output.check
+ { format.avtitle "title" output.check
+ get.title.online
format.date "year" output.check
year empty$ 'skip$ { date.block } if$
get.title.addenda
@@ -1583,12 +1670,14 @@ FUNCTION {booklet}
author format.key output
format.date "year" output.check
date.block
- format.btitle "title" output.check
+ format.avtitle "title" output.check
get.title.addenda
}
if$
new.block
- format.booklet.type output
+ format.series.episode output
+ new.block
+ type "type" bibinfo.check output
new.block
howpublished "howpublished" bibinfo.check output
new.block
@@ -1645,8 +1734,10 @@ FUNCTION {incollection}
{ output.bibitem
author empty$
{ type$ "inreference" =
- { format.label.booktitle output }
- { format.title "title" output.check }
+ { format.label.booktitle output}
+ { format.title "title" output.check
+ get.title.online
+ }
if$
format.date "year" output.check
year empty$ 'skip$ { date.block } if$
@@ -1746,6 +1837,7 @@ FUNCTION {jurisdiction}
'new.sentence
'continue.clause
if$
+ get.title.online
format.jur.date "year" output.check
year empty$ 'skip$ { eu.case.check } if$
get.title.addenda
@@ -1880,6 +1972,7 @@ FUNCTION {manual}
{ output.bibitem
author empty$
{ format.btitle "title" output.check
+ get.title.online
format.date "year" output.check
year empty$ 'skip$ { date.block } if$
get.title.addenda
@@ -1892,6 +1985,7 @@ FUNCTION {manual}
get.title.addenda
}
if$
+ month "month" bibinfo.check output
format.edition output
new.block
format.manual.number output
@@ -1910,6 +2004,7 @@ FUNCTION {image}
{ output.bibitem
author empty$
{ format.btitle "title" output.check
+ get.title.online
format.date "year" output.check
year empty$ 'skip$ { date.block } if$
get.title.addenda
@@ -1958,6 +2053,7 @@ FUNCTION {misc}
{ output.bibitem
author empty$
{ format.title "title" output.check
+ get.title.online
format.date "year" output.check
year empty$ 'skip$ { date.block } if$
get.title.addenda
@@ -2003,6 +2099,7 @@ FUNCTION {proceedings}
{ output.bibitem
editor empty$
{ format.btitle "title" output.check
+ get.title.online
format.date "year" output.check
year empty$ 'skip$ { date.block } if$
get.title.addenda
@@ -2035,6 +2132,7 @@ FUNCTION {techreport}
{ output.bibitem
author empty$
{ format.btitle "title" output.check
+ get.title.online
format.date "year" output.check
year empty$ 'skip$ { date.block } if$
get.title.addenda
@@ -2069,6 +2167,7 @@ FUNCTION {unpublished}
{ output.bibitem
author empty$
{ booktitle empty$ 'format.btitle 'format.title if$ "title" output.check
+ get.title.online
format.date "year" output.check
year empty$ 'skip$ { date.block } if$
get.title.addenda
@@ -2493,6 +2592,6 @@ FUNCTION {end.bib}
}
EXECUTE {end.bib}
%%
-%% Copyright (C) 2016-2021 by University of Bath
+%% Copyright (C) 2016-2022 by University of Bath
%%
%% End of file `bath.bst'.
diff --git a/Master/texmf-dist/bibtex/bst/bath-bst/bathx.bst b/Master/texmf-dist/bibtex/bst/bath-bst/bathx.bst
index 41ec643e053..c4aa6aef509 100644
--- a/Master/texmf-dist/bibtex/bst/bath-bst/bathx.bst
+++ b/Master/texmf-dist/bibtex/bst/bath-bst/bathx.bst
@@ -35,6 +35,7 @@ ENTRY
language
library
month
+ nameaddon
note
number
options
@@ -60,7 +61,10 @@ ENTRY
}
{}
{ label extra.label sort.label short.list }
-INTEGERS { output.state before.all mid.clause mid.sentence after.sentence after.block }
+INTEGERS {
+ output.state before.all mid.clause mid.sentence after.sentence after.block
+ online.shown
+}
FUNCTION {init.state.consts}
{ #0 'before.all :=
#1 'mid.clause :=
@@ -238,13 +242,20 @@ FUNCTION {either.or.check}
if$
}
FUNCTION {is.online}
-{ url empty$ doi empty$ and
- { type$ "online" =
+{ online.shown
+ { #0 }
+ { url empty$
+ doi empty$ and
+ urldate empty$ and
+ urlyear empty$ and
+ { type$ "online" =
+ { #1 }
+ { #0 }
+ if$
+ }
{ #1 }
- { #0 }
if$
}
- { #1 }
if$
}
FUNCTION {bbl.and}
@@ -606,6 +617,7 @@ FUNCTION {output.bibitem}
"}" write$
newline$
""
+ #0 'online.shown :=
before.all 'output.state :=
}
FUNCTION {format.key}
@@ -613,6 +625,16 @@ FUNCTION {format.key}
{ key field.or.null }
{ "" }
if$
+ nameaddon duplicate$ empty$
+ 'pop$
+ { swap$ duplicate$ empty$
+ 'skip$
+ { " " * }
+ if$
+ swap$ "[" swap$ * * "]" *
+ continue.clause
+ }
+ if$
}
FUNCTION {select.language}
{ duplicate$ empty$
@@ -641,8 +663,27 @@ FUNCTION {format.btitle}
{ "t" change.case$ }
if$
"title" bibinfo.check
+ duplicate$ empty$
+ 'skip$
+ { emphasize select.language }
+ if$
+}
+FUNCTION {format.avtitle}
+{ title
duplicate$ empty$ 'skip$
- { emphasize
+ { "t" change.case$ }
+ if$
+ "title" bibinfo.check
+ duplicate$ empty$
+ 'skip$
+ { type duplicate$ empty$
+ { pop$ emphasize }
+ { duplicate$ "TV" = swap$ "Radio" = or
+ 'skip$
+ 'emphasize
+ if$
+ }
+ if$
select.language
}
if$
@@ -662,13 +703,8 @@ FUNCTION {format.version}
}
if$
}
-FUNCTION {get.title.addenda}
-{ continue.clause
- format.version output
- continue.clause
- format.titleaddon output
- continue.clause
- is.online
+FUNCTION {get.title.online}
+{ is.online
journal empty$
and
booktitle empty$
@@ -678,26 +714,44 @@ FUNCTION {get.title.addenda}
or
and
library empty$
- type$ "image" =
+ type$ duplicate$ "image" =
+ swap$ duplicate$ "booklet" =
+ swap$ duplicate$ "audio" =
+ swap$ duplicate$ "video" =
+ swap$ duplicate$ "music" =
+ swap$ "movie" =
+ or
+ or
+ or
+ or
+ or
or
and
type$ "software" = not
and
- type empty$
- type$ "booklet" = not
- type$ "audio" = not
- and
- type$ "video" = not
- and
- type$ "music" = not
- and
- type$ "movie" = not
- and
+ series empty$
+ type duplicate$ empty$
+ { pop$ #1 }
+ { duplicate$ "TV" =
+ swap$ "Radio" =
+ or not
+ }
+ if$
or
and
- { bbl.online output }
+ { continue.clause
+ bbl.online output
+ #1 'online.shown :=
+ }
'skip$
if$
+}
+FUNCTION {get.title.addenda}
+{ continue.clause
+ format.version output
+ continue.clause
+ format.titleaddon output
+ get.title.online
continue.clause
type$ "reference" =
{ format.byeditors output }
@@ -728,6 +782,7 @@ FUNCTION {format.in.ed.booktitle}
is.online
{ " " *
bbl.online *
+ #1 'online.shown :=
}
'skip$
if$
@@ -813,12 +868,19 @@ FUNCTION {format.eu.date}
'format.date
if$
}
+FUNCTION {format.series}
+{ series
+ duplicate$ empty$ 'skip$
+ { "t" change.case$ }
+ if$
+ "series" bibinfo.check
+}
FUNCTION {format.bvolume}
{ volume empty$
{ "" }
{ bbl.volume volume tie.or.space.prefix
"volume" bibinfo.check * *
- series "series" bibinfo.check
+ format.series
duplicate$ empty$ 'pop$
{ emphasize ", " * swap$ * }
if$
@@ -832,7 +894,7 @@ FUNCTION {format.number.series}
{ series field.or.null }
{ series empty$
{ number "number" bibinfo.check }
- { series "series" bibinfo.check
+ { format.series
number tie.or.space.prefix "number" bibinfo.check * *
}
if$
@@ -842,6 +904,24 @@ FUNCTION {format.number.series}
{ "" }
if$
}
+FUNCTION {format.series.episode}
+{ series
+ duplicate$ empty$
+ 'skip$
+ { "t" change.case$ }
+ if$
+ "series" bibinfo.check emphasize
+ number "number" bibinfo.check emphasize
+ duplicate$ empty$
+ { * }
+ { swap$
+ duplicate$ empty$
+ { * }
+ { ", " * swap$ * }
+ if$
+ }
+ if$
+}
FUNCTION {is.num}
{ chr.to.int$
duplicate$ "0" chr.to.int$ < not
@@ -912,17 +992,6 @@ FUNCTION {format.thesis.type}
}
if$
}
-FUNCTION {format.booklet.type}
-{ type duplicate$ empty$
- { pop$ "" }
- { "type" bibinfo.check
- is.online author empty$ and editor empty$ and
- { " " * bbl.online * }
- 'skip$
- if$
- }
- if$
-}
FUNCTION {add.cmd.number}
{ ". " swap$ "number" bibinfo.check *
}
@@ -938,7 +1007,7 @@ FUNCTION {format.legr.number}
'add.cmd.number
{ s "Cm" =
'add.cmd.number
- { s #1 #3 substring$ 't :=
+ { s purify$ #1 #3 substring$ 't :=
t "HL " =
{ ", (" swap$
"number" bibinfo.check *
@@ -987,7 +1056,7 @@ FUNCTION {format.tr.number}
}
if$
}
- { "(" swap$ *
+ { "t" change.case$ "(" swap$ *
type duplicate$ empty$
{ pop$
number duplicate$ empty$
@@ -1034,8 +1103,10 @@ FUNCTION {format.manual.number}
}
if$
}
- { number duplicate$ empty$
- 'pop$
+ { "t" change.case$
+ number duplicate$ empty$
+ { pop$
+ }
{ tie.or.space.prefix
"number" bibinfo.check
* *
@@ -1231,7 +1302,9 @@ FUNCTION {format.library}
and
journal empty$
and
- { " " * bbl.online * }
+ { " " * bbl.online *
+ #1 'online.shown :=
+ }
'skip$
if$
}
@@ -1414,6 +1487,14 @@ FUNCTION {format.vol.num.pages}
"(" swap$ * ")" *
}
if$ *
+ month "month" bibinfo.check duplicate$ empty$
+ 'pop$
+ { swap$ duplicate$ empty$
+ 'pop$
+ { ", " * swap$ * }
+ if$
+ }
+ if$
eid empty$
{ format.journal.pages }
{ format.journal.eid }
@@ -1454,7 +1535,7 @@ FUNCTION {format.journal.series.vol.pages}
'skip$
{ " " * }
if$
- series "series" bibinfo.check
+ format.series
volume "volume" bibinfo.check *
duplicate$ empty$
'skip$
@@ -1476,7 +1557,9 @@ FUNCTION {format.journal.series.vol.pages}
}
{ "journal" bibinfo.check
is.online
- { " " * bbl.online * }
+ { " " * bbl.online *
+ #1 'online.shown :=
+ }
'skip$
if$
volume "volume" bibinfo.check
@@ -1520,6 +1603,18 @@ FUNCTION {format.url}
{ pop$ "" }
{ "\urlprefix\url{" swap$ * "}" * }
if$
+ duplicate$ empty$
+ urlyear empty$ not
+ urldate empty$ not
+ or
+ and
+ { library duplicate$ empty$
+ 'pop$
+ { "\urlprefix{}" swap$ * * }
+ if$
+ }
+ 'skip$
+ if$
urlyear empty$
{ urldate empty$
'skip$
@@ -1567,6 +1662,7 @@ FUNCTION {article}
is.online
{ continue.clause
bbl.online output
+ #1 'online.shown :=
}
'skip$
if$
@@ -1593,6 +1689,7 @@ FUNCTION {book}
{ format.title "title" output.check }
{ format.btitle "title" output.check }
if$
+ get.title.online
format.date "year" output.check
year empty$ 'skip$ { date.block } if$
get.title.addenda
@@ -1638,7 +1735,8 @@ FUNCTION {book}
FUNCTION {booklet}
{ output.bibitem
author empty$
- { format.btitle "title" output.check
+ { format.avtitle "title" output.check
+ get.title.online
format.date "year" output.check
year empty$ 'skip$ { date.block } if$
get.title.addenda
@@ -1647,12 +1745,21 @@ FUNCTION {booklet}
author format.key output
format.date "year" output.check
date.block
- format.btitle "title" output.check
+ format.avtitle "title" output.check
get.title.addenda
}
if$
new.block
- format.booklet.type output
+ format.series.episode output
+ is.online
+ { continue.clause
+ bbl.online output
+ #1 'online.shown :=
+ }
+ 'skip$
+ if$
+ new.block
+ type "type" bibinfo.check output
new.block
howpublished "howpublished" bibinfo.check output
new.block
@@ -1709,8 +1816,10 @@ FUNCTION {incollection}
{ output.bibitem
author empty$
{ type$ "inreference" =
- { format.label.booktitle output }
- { format.title "title" output.check }
+ { format.label.booktitle output}
+ { format.title "title" output.check
+ get.title.online
+ }
if$
format.date "year" output.check
year empty$ 'skip$ { date.block } if$
@@ -1810,6 +1919,7 @@ FUNCTION {jurisdiction}
'new.sentence
'continue.clause
if$
+ get.title.online
format.jur.date "year" output.check
year empty$ 'skip$ { eu.case.check } if$
get.title.addenda
@@ -1944,6 +2054,7 @@ FUNCTION {manual}
{ output.bibitem
author empty$
{ format.btitle "title" output.check
+ get.title.online
format.date "year" output.check
year empty$ 'skip$ { date.block } if$
get.title.addenda
@@ -1956,6 +2067,7 @@ FUNCTION {manual}
get.title.addenda
}
if$
+ month "month" bibinfo.check output
format.edition output
new.block
format.manual.number output
@@ -1974,6 +2086,7 @@ FUNCTION {image}
{ output.bibitem
author empty$
{ format.btitle "title" output.check
+ get.title.online
format.date "year" output.check
year empty$ 'skip$ { date.block } if$
get.title.addenda
@@ -2022,6 +2135,7 @@ FUNCTION {misc}
{ output.bibitem
author empty$
{ format.title "title" output.check
+ get.title.online
format.date "year" output.check
year empty$ 'skip$ { date.block } if$
get.title.addenda
@@ -2067,6 +2181,7 @@ FUNCTION {proceedings}
{ output.bibitem
editor empty$
{ format.btitle "title" output.check
+ get.title.online
format.date "year" output.check
year empty$ 'skip$ { date.block } if$
get.title.addenda
@@ -2099,6 +2214,7 @@ FUNCTION {techreport}
{ output.bibitem
author empty$
{ format.btitle "title" output.check
+ get.title.online
format.date "year" output.check
year empty$ 'skip$ { date.block } if$
get.title.addenda
@@ -2133,6 +2249,7 @@ FUNCTION {unpublished}
{ output.bibitem
author empty$
{ booktitle empty$ 'format.btitle 'format.title if$ "title" output.check
+ get.title.online
format.date "year" output.check
year empty$ 'skip$ { date.block } if$
get.title.addenda
@@ -2557,6 +2674,6 @@ FUNCTION {end.bib}
}
EXECUTE {end.bib}
%%
-%% Copyright (C) 2016-2021 by University of Bath
+%% Copyright (C) 2016-2022 by University of Bath
%%
%% End of file `bathx.bst'.