summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/bibtex/bst/bath-bst/bathx.bst
diff options
context:
space:
mode:
Diffstat (limited to 'Master/texmf-dist/bibtex/bst/bath-bst/bathx.bst')
-rw-r--r--Master/texmf-dist/bibtex/bst/bath-bst/bathx.bst353
1 files changed, 210 insertions, 143 deletions
diff --git a/Master/texmf-dist/bibtex/bst/bath-bst/bathx.bst b/Master/texmf-dist/bibtex/bst/bath-bst/bathx.bst
index c4aa6aef509..1a8e53f7dea 100644
--- a/Master/texmf-dist/bibtex/bst/bath-bst/bathx.bst
+++ b/Master/texmf-dist/bibtex/bst/bath-bst/bathx.bst
@@ -407,6 +407,10 @@ FUNCTION {eng.ord}
}
if$
}
+ FUNCTION {word.in}
+{ bbl.in capitalize
+ ":" *
+ " " * }
INTEGERS { nameptr namesleft numnames }
STRINGS { bibinfo }
@@ -703,55 +707,121 @@ FUNCTION {format.version}
}
if$
}
-FUNCTION {get.title.online}
-{ is.online
- journal empty$
- and
- booktitle empty$
- type$ "inreference" =
- author empty$
- and
- or
- and
- library empty$
- 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
+FUNCTION {print.labeltitle.addenda}
+{ continue.clause
+ format.titleaddon output
+ continue.clause
+ type$ duplicate$ "legislation" = not
+ swap$ "jurisdiction" = not
and
- series empty$
- type duplicate$ empty$
- { pop$ #1 }
- { duplicate$ "TV" =
- swap$ "Radio" =
- or not
+ { format.version output
+ is.online
+ { entrysubtype duplicate$ empty$
+ { pop$
+ journal empty$
+ booktitle empty$
+ type$ "inreference" =
+ author empty$
+ and
+ or
+ and
+ library empty$
+ type$ duplicate$ "image" =
+ swap$ duplicate$ "audio" =
+ swap$ duplicate$ "video" =
+ swap$ duplicate$ "music" =
+ swap$ "movie" =
+ or
+ or
+ or
+ or
+ or
+ and
+ series empty$
+ type field.or.null
+ duplicate$ "TV" =
+ swap$ "Radio" =
+ or not
+ or
+ and
+ { continue.clause
+ bbl.online output
+ #1 'online.shown :=
+ }
+ 'skip$
+ if$
+ }
+ { "entrysubtype" bibinfo.check
+ "[" swap$ * "]" *
+ continue.clause output
+ }
+ if$
}
+ 'skip$
if$
- or
- and
- { continue.clause
- bbl.online output
- #1 'online.shown :=
}
'skip$
if$
}
-FUNCTION {get.title.addenda}
+FUNCTION {print.title.addenda}
{ continue.clause
+ type$ duplicate$ "legislation" = not
+ swap$ "jurisdiction" = not
+ and
+ { format.titleaddon output
+ continue.clause
+ }
+ 'skip$
+ if$
format.version output
- continue.clause
- format.titleaddon output
- get.title.online
+ is.online
+ { entrysubtype duplicate$ empty$
+ type$ duplicate$ "legislation" =
+ swap$ "jurisdiction" =
+ or
+ or
+ { pop$
+ journal empty$
+ booktitle empty$
+ type$ "inreference" =
+ author empty$
+ and
+ or
+ and
+ library empty$
+ type$ duplicate$ "image" =
+ swap$ duplicate$ "audio" =
+ swap$ duplicate$ "video" =
+ swap$ duplicate$ "music" =
+ swap$ "movie" =
+ or
+ or
+ or
+ or
+ or
+ and
+ series empty$
+ type field.or.null
+ duplicate$ "TV" =
+ swap$ "Radio" =
+ or not
+ or
+ and
+ { continue.clause
+ bbl.online output
+ #1 'online.shown :=
+ }
+ 'skip$
+ if$
+ }
+ { "entrysubtype" bibinfo.check
+ "[" swap$ * "]" *
+ continue.clause output
+ }
+ if$
+ }
+ 'skip$
+ if$
continue.clause
type$ "reference" =
{ format.byeditors output }
@@ -759,10 +829,6 @@ FUNCTION {get.title.addenda}
if$
format.translators output
}
-FUNCTION {word.in}
-{ bbl.in capitalize
- ":" *
- " " * }
FUNCTION {format.label.booktitle}
{ booktitle
duplicate$ empty$ 'skip$
@@ -1251,7 +1317,7 @@ FUNCTION {format.note}
}
if$
}
-FUNCTION {format.org.or.pub}
+FUNCTION {prepend.address}
{ 't :=
""
address empty$ t empty$ and
@@ -1270,12 +1336,12 @@ FUNCTION {format.org.or.pub}
if$
}
FUNCTION {format.publisher.address}
-{ publisher "publisher" bibinfo.warn format.org.or.pub
+{ publisher "publisher" bibinfo.warn prepend.address
}
FUNCTION {format.organization.address}
{ publisher empty$
- { organization "organization" bibinfo.check format.org.or.pub }
- { publisher "publisher" bibinfo.warn format.org.or.pub
+ { organization "organization" bibinfo.check prepend.address }
+ { publisher "publisher" bibinfo.warn prepend.address
organization duplicate$ empty$
'pop$
{ "organization" bibinfo.check ". " * swap$ * }
@@ -1285,8 +1351,8 @@ FUNCTION {format.organization.address}
}
FUNCTION {format.institution.address}
{ publisher empty$
- { institution "institution" bibinfo.check format.org.or.pub }
- { publisher "publisher" bibinfo.warn format.org.or.pub
+ { institution "institution" bibinfo.check prepend.address }
+ { publisher "publisher" bibinfo.warn prepend.address
institution duplicate$ empty$
'pop$
{ "institution" bibinfo.check ". " * swap$ * }
@@ -1309,34 +1375,24 @@ FUNCTION {format.library}
if$
}
FUNCTION {format.img.library}
+{ library "library" bibinfo.check
+}
+FUNCTION {format.img.library.address}
{ library duplicate$ empty$
- { pop$ "" }
- { "library" bibinfo.check
- "At: " swap$ *
+ { pop$
+ institution duplicate$ empty$
+ 'skip$
+ { "institution" bibinfo.check }
+ if$
}
+ { "library" bibinfo.check }
if$
-}
-FUNCTION {format.img.library.address}
-{ address empty$ library empty$ and institution empty$ and
- { "" }
- { "At: "
- address "address" bibinfo.check *
- library duplicate$ empty$
- { institution duplicate$ empty$
- { pop$ "" }
- { address empty$
- 'skip$
- { ". " swap$ }
- if$
- "institution" bibinfo.check * *
- }
- if$
- }
- { address empty$
- 'skip$
- { ". " swap$ }
- if$
- "library" bibinfo.check * *
+ duplicate$ empty$
+ { address "address" bibinfo.check * }
+ { address duplicate$ empty$
+ 'pop$
+ { "address" bibinfo.check
+ swap$ ", " * swap$ *
}
if$
}
@@ -1350,7 +1406,7 @@ FUNCTION {format.pub.org.lib.address}
format.img.library.address }
{ "organization" bibinfo.check
library empty$
- { format.org.or.pub }
+ { prepend.address }
{ ". " *
format.img.library.address *
}
@@ -1358,7 +1414,7 @@ FUNCTION {format.pub.org.lib.address}
}
if$
}
- { "publisher" bibinfo.warn format.org.or.pub
+ { "publisher" bibinfo.warn prepend.address
library empty$
'skip$
{ ". " *
@@ -1652,7 +1708,7 @@ FUNCTION {article}
format.date "year" output.check
date.block
format.title "title" output.check
- get.title.addenda
+ print.title.addenda
new.block
crossref missing$
{ journal "t" change.case$
@@ -1689,16 +1745,16 @@ FUNCTION {book}
{ format.title "title" output.check }
{ format.btitle "title" output.check }
if$
- get.title.online
+ print.labeltitle.addenda
format.date "year" output.check
year empty$ 'skip$ { date.block } if$
- get.title.addenda
+ print.title.addenda
}
{ format.editors "author and editor" output.check
format.date "year" output.check
date.block
format.btitle "title" output.check
- get.title.addenda
+ print.title.addenda
}
if$
}
@@ -1710,15 +1766,20 @@ FUNCTION {book}
format.date "year" output.check
date.block
format.btitle "title" output.check
- get.title.addenda
+ print.title.addenda
}
if$
format.bvolume output
format.number.series output
new.block
format.edition output
+ new.block
+ format.note output
crossref missing$
- { new.sentence
+ { keywords field.or.null "uksi" =
+ { mid.sentence 'output.state := }
+ { new.sentence }
+ if$
format.publisher.address output
}
{ new.block
@@ -1726,8 +1787,6 @@ FUNCTION {book}
}
if$
new.block
- format.note output
- new.block
format.eprint output
format.url output
fin.entry
@@ -1736,17 +1795,17 @@ FUNCTION {booklet}
{ output.bibitem
author empty$
{ format.avtitle "title" output.check
- get.title.online
+ print.labeltitle.addenda
format.date "year" output.check
year empty$ 'skip$ { date.block } if$
- get.title.addenda
+ print.title.addenda
}
{ format.authors output
author format.key output
format.date "year" output.check
date.block
format.avtitle "title" output.check
- get.title.addenda
+ print.title.addenda
}
if$
new.block
@@ -1789,9 +1848,12 @@ FUNCTION {inbook}
format.date "year" output.check
date.block
format.btitle "title" output.check
- get.title.addenda
+ print.title.addenda
new.block
format.edition output
+ new.block
+ format.note output
+ new.block
crossref missing$
{ format.publisher.address output
format.bvolume output
@@ -1806,8 +1868,6 @@ FUNCTION {inbook}
}
if$
new.block
- format.note output
- new.block
format.eprint output
format.url output
fin.entry
@@ -1818,21 +1878,21 @@ FUNCTION {incollection}
{ type$ "inreference" =
{ format.label.booktitle output}
{ format.title "title" output.check
- get.title.online
+ print.labeltitle.addenda
}
if$
format.date "year" output.check
year empty$ 'skip$ { date.block } if$
type$ "inreference" =
'skip$
- { get.title.addenda }
+ { print.title.addenda }
if$
}
{ format.authors output.nonnull
format.date "year" output.check
date.block
format.title "title" output.check
- get.title.addenda
+ print.title.addenda
}
if$
new.block
@@ -1850,23 +1910,25 @@ FUNCTION {incollection}
author empty$
and
{ format.btitle "title" output.check
- get.title.addenda
+ print.title.addenda
new.block
}
'skip$
if$
+ format.note output
+ new.block
format.publisher.address output
format.bvolume output
format.number.series output
format.chapter.pages output
}
- { format.incoll.inproc.crossref output.nonnull
+ { format.note output
+ new.block
+ format.incoll.inproc.crossref output.nonnull
format.chapter.pages output
}
if$
new.block
- format.note output
- new.block
format.eprint output
format.url output
fin.entry
@@ -1878,12 +1940,13 @@ FUNCTION {inproceedings}
format.date "year" output.check
date.block
format.title "title" output.check
- get.title.addenda
+ print.title.addenda
new.block
crossref missing$
{ format.in.ed.booktitle "booktitle" output.check
eventyear output
venue output
+ format.note output
new.sentence
publisher empty$
{ format.organization.address output }
@@ -1895,13 +1958,13 @@ FUNCTION {inproceedings}
format.number.series output
format.pages output
}
- { format.incoll.inproc.crossref output.nonnull
+ { format.note output
+ new.block
+ format.incoll.inproc.crossref output.nonnull
format.pages output
}
if$
new.block
- format.note output
- new.block
format.eprint output
format.url output
fin.entry
@@ -1919,10 +1982,10 @@ FUNCTION {jurisdiction}
'new.sentence
'continue.clause
if$
- get.title.online
+ print.labeltitle.addenda
format.jur.date "year" output.check
year empty$ 'skip$ { eu.case.check } if$
- get.title.addenda
+ print.title.addenda
}
{ format.authors output
author format.key output
@@ -1930,7 +1993,8 @@ FUNCTION {jurisdiction}
date.block
continue.clause
format.btitle "title" output.check
- get.title.addenda
+ print.labeltitle.addenda
+ print.title.addenda
}
if$
eu.case.check
@@ -1956,9 +2020,10 @@ FUNCTION {uklegislation}
{ output.bibitem
author empty$
{ format.btitle "title" output.check
+ print.labeltitle.addenda
continue.clause
format.date emphasize "year" output.check
- get.title.addenda
+ print.title.addenda
}
{ format.authors output
author format.key output
@@ -1966,7 +2031,8 @@ FUNCTION {uklegislation}
date.block
continue.clause
format.btitle "title" output.check
- get.title.addenda
+ print.labeltitle.addenda
+ print.title.addenda
}
if$
entrysubtype field.or.null "secondary" =
@@ -2012,9 +2078,10 @@ FUNCTION {eulegislation}
{ output.bibitem
author empty$
{ format.title "title" output.check
+ print.labeltitle.addenda
continue.clause
format.eu.date "year" output.check
- get.title.addenda
+ print.title.addenda
}
{ format.authors output
author format.key output
@@ -2022,7 +2089,8 @@ FUNCTION {eulegislation}
date.block
continue.clause
format.title "title" output.check
- get.title.addenda
+ print.labeltitle.addenda
+ print.title.addenda
}
if$
eu.case.check
@@ -2054,17 +2122,17 @@ FUNCTION {manual}
{ output.bibitem
author empty$
{ format.btitle "title" output.check
- get.title.online
+ print.labeltitle.addenda
format.date "year" output.check
year empty$ 'skip$ { date.block } if$
- get.title.addenda
+ print.title.addenda
}
{ format.authors output
author format.key output
format.date "year" output.check
date.block
format.btitle "title" output.check
- get.title.addenda
+ print.title.addenda
}
if$
month "month" bibinfo.check output
@@ -2072,12 +2140,12 @@ FUNCTION {manual}
new.block
format.manual.number output
new.block
+ format.note output
+ new.block
format.library output
organization address new.block.checkb
format.organization.address output
new.block
- format.note output
- new.block
format.eprint output
format.url output
fin.entry
@@ -2086,27 +2154,27 @@ FUNCTION {image}
{ output.bibitem
author empty$
{ format.btitle "title" output.check
- get.title.online
+ print.labeltitle.addenda
format.date "year" output.check
year empty$ 'skip$ { date.block } if$
- get.title.addenda
+ print.title.addenda
}
{ format.authors output
author format.key output
format.date "year" output.check
date.block
format.btitle "title" output.check
- get.title.addenda
+ print.title.addenda
}
if$
format.edition output
new.block
+ format.note output
+ new.block
format.manual.number output
new.block
format.pub.org.lib.address output
new.block
- format.note output
- new.block
format.eprint output
format.url output
fin.entry
@@ -2118,15 +2186,15 @@ FUNCTION {mastersthesis}
format.date "year" output.check
date.block
format.btitle "title" output.check
- get.title.addenda
+ print.title.addenda
+ new.block
+ format.note output
new.block
bbl.mthesis format.thesis.type output.nonnull
new.block
school "school" bibinfo.warn output
address "address" bibinfo.check output
new.block
- format.note output
- new.block
format.eprint output
format.url output
fin.entry
@@ -2135,17 +2203,17 @@ FUNCTION {misc}
{ output.bibitem
author empty$
{ format.title "title" output.check
- get.title.online
+ print.labeltitle.addenda
format.date "year" output.check
year empty$ 'skip$ { date.block } if$
- get.title.addenda
+ print.title.addenda
}
{ format.authors output
author format.key output
format.date "year" output.check
date.block
format.title "title" output.check
- get.title.addenda
+ print.title.addenda
}
if$
new.block
@@ -2164,15 +2232,15 @@ FUNCTION {phdthesis}
format.date "year" output.check
date.block
format.btitle "title" output.check
- get.title.addenda
+ print.title.addenda
+ new.block
+ format.note output
new.block
bbl.phdthesis format.thesis.type output.nonnull
new.block
school "school" bibinfo.warn output
address "address" bibinfo.check output
new.block
- format.note output
- new.block
format.eprint output
format.url output
fin.entry
@@ -2181,21 +2249,22 @@ FUNCTION {proceedings}
{ output.bibitem
editor empty$
{ format.btitle "title" output.check
- get.title.online
+ print.labeltitle.addenda
format.date "year" output.check
year empty$ 'skip$ { date.block } if$
- get.title.addenda
+ print.title.addenda
}
{ format.editors output
editor format.key output
format.date "year" output.check
date.block
format.btitle "title" output.check
- get.title.addenda
+ print.title.addenda
}
if$
format.bvolume output
format.number.series output
+ format.note output
new.sentence
publisher empty$
{ format.organization.address output }
@@ -2204,8 +2273,6 @@ FUNCTION {proceedings}
}
if$
new.block
- format.note output
- new.block
format.eprint output
format.url output
fin.entry
@@ -2214,22 +2281,24 @@ FUNCTION {techreport}
{ output.bibitem
author empty$
{ format.btitle "title" output.check
- get.title.online
+ print.labeltitle.addenda
format.date "year" output.check
year empty$ 'skip$ { date.block } if$
- get.title.addenda
+ print.title.addenda
}
{ format.authors output
author format.key output
format.date "year" output.check
date.block
format.btitle "title" output.check
- get.title.addenda
+ print.title.addenda
}
if$
new.block
format.tr.number output
new.block
+ format.note output
+ new.block
publisher empty$
{ format.institution.address output }
{ institution "institution" bibinfo.check output
@@ -2239,8 +2308,6 @@ FUNCTION {techreport}
new.block
format.library output
new.block
- format.note output
- new.block
format.eprint output
format.url output
fin.entry
@@ -2249,17 +2316,17 @@ FUNCTION {unpublished}
{ output.bibitem
author empty$
{ booktitle empty$ 'format.btitle 'format.title if$ "title" output.check
- get.title.online
+ print.labeltitle.addenda
format.date "year" output.check
year empty$ 'skip$ { date.block } if$
- get.title.addenda
+ print.title.addenda
}
{ format.authors output
author format.key output
format.date "year" output.check
date.block
booktitle empty$ 'format.btitle 'format.title if$ "title" output.check
- get.title.addenda
+ print.title.addenda
}
if$
new.block
@@ -2267,10 +2334,10 @@ FUNCTION {unpublished}
new.block
howpublished "howpublished" bibinfo.check output
new.block
- bbl.unpublished output
- new.block
format.note output
new.block
+ bbl.unpublished output
+ new.block
format.eprint output
format.url output
fin.entry