diff options
Diffstat (limited to 'Master/texmf-dist/bibtex/bst/bath-bst/bathx.bst')
-rw-r--r-- | Master/texmf-dist/bibtex/bst/bath-bst/bathx.bst | 353 |
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 |