summaryrefslogtreecommitdiff
path: root/Master
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2021-02-25 22:08:34 +0000
committerKarl Berry <karl@freefriends.org>2021-02-25 22:08:34 +0000
commit5cb64616be8bf599f2f0243c1590d8f96cdcdf99 (patch)
tree30d3840b9fedf1175850574528c6a950e2fc4efc /Master
parentcdd9d4309a4a9370d445bd69b5c1e571d9b8c874 (diff)
bath-bst (25feb21)
git-svn-id: svn://tug.org/texlive/trunk@57925 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master')
-rw-r--r--Master/texmf-dist/bibtex/bst/bath-bst/bath.bst152
-rw-r--r--Master/texmf-dist/bibtex/bst/bath-bst/bathx.bst194
-rw-r--r--Master/texmf-dist/doc/bibtex/bath-bst/README.md10
-rw-r--r--Master/texmf-dist/doc/bibtex/bath-bst/bath-bst-v1.bib35
-rw-r--r--Master/texmf-dist/doc/bibtex/bath-bst/bath-bst-v1.pdfbin325472 -> 336669 bytes
-rw-r--r--Master/texmf-dist/doc/bibtex/bath-bst/bath-bst-v1.tex97
-rw-r--r--Master/texmf-dist/doc/bibtex/bath-bst/bath-bst.bib35
-rw-r--r--Master/texmf-dist/doc/bibtex/bath-bst/bath-bst.pdfbin557273 -> 574847 bytes
-rw-r--r--Master/texmf-dist/source/bibtex/bath-bst/bath-bst.dtx359
-rw-r--r--Master/texmf-dist/source/bibtex/bath-bst/bath-bst.ins52
10 files changed, 712 insertions, 222 deletions
diff --git a/Master/texmf-dist/bibtex/bst/bath-bst/bath.bst b/Master/texmf-dist/bibtex/bst/bath-bst/bath.bst
index f3aea4b2043..06a0aa908a4 100644
--- a/Master/texmf-dist/bibtex/bst/bath-bst/bath.bst
+++ b/Master/texmf-dist/bibtex/bst/bath-bst/bath.bst
@@ -238,22 +238,21 @@ FUNCTION {either.or.check}
if$
}
FUNCTION {is.online}
-{ type$ "software" =
- { #0 }
- { url empty$ doi empty$ and
- { type$ "online" =
- { #1 }
- { #0 }
- if$
- }
+{ url empty$ doi empty$ and
+ { type$ "online" =
{ #1 }
+ { #0 }
if$
}
+ { #1 }
if$
}
FUNCTION {bbl.and}
{ "and"}
+FUNCTION {bbl.byeditor}
+{ "Ed. by" }
+
FUNCTION {bbl.etal}
{ "et~al." }
@@ -485,6 +484,14 @@ FUNCTION {format.names.ed}
FUNCTION {format.authors}
{ author "author" format.names
}
+FUNCTION {format.byeditors}
+{ editor "editor" format.names.ed duplicate$ empty$ 'skip$
+ { bbl.byeditor
+ " " *
+ swap$ *
+ }
+ if$
+}
FUNCTION {get.bbl.editor}
{ editor num.names$ #1 > 'bbl.editors 'bbl.editor if$ }
FUNCTION {format.editors}
@@ -661,23 +668,33 @@ FUNCTION {get.title.addenda}
continue.clause
format.titleaddon output
continue.clause
+ type$ "reference" =
+ { format.byeditors output }
+ 'skip$
+ if$
format.translators output
}
FUNCTION {word.in}
{ bbl.in capitalize
":" *
" " * }
-FUNCTION {format.booktitle}
+FUNCTION {format.label.booktitle}
{ booktitle
duplicate$ empty$ 'skip$
{ "t" change.case$ }
if$
"booktitle" bibinfo.check
+}
+FUNCTION {format.booktitle}
+{ format.label.booktitle
emphasize
}
FUNCTION {format.in.ed.booktitle}
-{ format.booktitle duplicate$ empty$ 'skip$
- { editor "editor" format.names.ed duplicate$ empty$ 'pop$
+{ format.booktitle
+ duplicate$ empty$
+ 'skip$
+ {
+ editor "editor" format.names.ed duplicate$ empty$ 'pop$
{ "," *
" " *
get.bbl.editor add.period$
@@ -1506,13 +1523,17 @@ FUNCTION {book}
{ output.bibitem
author empty$
{ editor empty$
- { format.btitle "title" output.check
+ type$ "reference" =
+ or
+ { type$ "reference" =
+ { format.title "title" output.check }
+ { format.btitle "title" output.check }
+ if$
format.date "year" output.check
year empty$ 'skip$ { date.block } if$
get.title.addenda
}
{ format.editors "author and editor" output.check
- editor format.key output
format.date "year" output.check
date.block
format.btitle "title" output.check
@@ -1598,6 +1619,8 @@ FUNCTION {inbook}
date.block
format.btitle "title" output.check
get.title.addenda
+ new.block
+ format.edition output
crossref missing$
{ format.publisher.address output
format.bvolume output
@@ -1611,7 +1634,6 @@ FUNCTION {inbook}
format.book.crossref output.nonnull
}
if$
- format.edition output
new.block
format.note output
new.block
@@ -1621,22 +1643,49 @@ FUNCTION {inbook}
}
FUNCTION {incollection}
{ output.bibitem
- format.authors "author" output.check
- author format.key output
- format.date "year" output.check
- date.block
- format.title "title" output.check
- get.title.addenda
+ author empty$
+ { type$ "inreference" =
+ { format.label.booktitle output }
+ { format.title "title" output.check }
+ if$
+ format.date "year" output.check
+ year empty$ 'skip$ { date.block } if$
+ type$ "inreference" =
+ 'skip$
+ { get.title.addenda }
+ if$
+ }
+ { format.authors output.nonnull
+ format.date "year" output.check
+ date.block
+ format.title "title" output.check
+ get.title.addenda
+ }
+ if$
new.block
crossref missing$
- { format.in.ed.booktitle "booktitle" output.check
+ { type$ "inreference" =
+ author empty$
+ and
+ { format.byeditors output }
+ { format.in.ed.booktitle "booktitle" output.check }
+ if$
new.block
+ format.edition output
+ new.block
+ type$ "inreference" =
+ author empty$
+ and
+ { format.btitle "title" output.check
+ get.title.addenda
+ new.block
+ }
+ 'skip$
+ if$
format.publisher.address output
format.bvolume output
format.number.series output
format.chapter.pages output
- new.sentence
- format.edition output
}
{ format.incoll.inproc.crossref output.nonnull
format.chapter.pages output
@@ -2052,6 +2101,9 @@ FUNCTION {letter}
'article
if$
}
+FUNCTION {collection} { book }
+FUNCTION {reference} { book }
+FUNCTION {inreference} { incollection }
FUNCTION {audio} { booklet }
FUNCTION {movie} { booklet }
FUNCTION {music} { booklet }
@@ -2161,18 +2213,28 @@ FUNCTION {editor.key.label}
FUNCTION {author.key.label}
{ author empty$
{ key empty$
- { title empty$
- { cite$ #1 #3 substring$ }
- { title
- type$ "article" =
- type$ "incollection" =
- or
- type$ "inproceedings" =
- or
- type$ "misc" =
- or
- 'skip$
- { emphasize }
+ { type$ "inreference" =
+ booktitle empty$ not
+ and
+ { booktitle }
+ { title empty$
+ { cite$ #1 #3 substring$ }
+ { title
+ type$ "article" =
+ type$ "incollection" =
+ or
+ type$ "inproceedings" =
+ or
+ type$ "reference" =
+ author empty$
+ and
+ or
+ type$ "misc" =
+ or
+ 'skip$
+ { emphasize }
+ if$
+ }
if$
}
if$
@@ -2283,15 +2345,21 @@ FUNCTION {editor.sort}
}
FUNCTION {author.sort}
{ author empty$
- { title empty$
- { key empty$
- { "to sort, need author, title, or key in " cite$ * warning$
- ""
+ { type$ "inreference" =
+ booktitle empty$ not
+ and
+ { booktitle sort.format.title }
+ { title empty$
+ { key empty$
+ { "to sort, need author, title, or key in " cite$ * warning$
+ ""
+ }
+ { key sortify }
+ if$
}
- { key sortify }
+ { title sort.format.title }
if$
}
- { title sort.format.title }
if$
}
{ author sort.format.names }
@@ -2425,6 +2493,6 @@ FUNCTION {end.bib}
}
EXECUTE {end.bib}
%%
-%% Copyright (C) 2020 by University of Bath
+%% Copyright (C) 2016-2021 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 e7f61277456..41ec643e053 100644
--- a/Master/texmf-dist/bibtex/bst/bath-bst/bathx.bst
+++ b/Master/texmf-dist/bibtex/bst/bath-bst/bathx.bst
@@ -238,22 +238,21 @@ FUNCTION {either.or.check}
if$
}
FUNCTION {is.online}
-{ type$ "software" =
- { #0 }
- { url empty$ doi empty$ and
- { type$ "online" =
- { #1 }
- { #0 }
- if$
- }
+{ url empty$ doi empty$ and
+ { type$ "online" =
{ #1 }
+ { #0 }
if$
}
+ { #1 }
if$
}
FUNCTION {bbl.and}
{ "and"}
+FUNCTION {bbl.byeditor}
+{ "Ed. by" }
+
FUNCTION {bbl.etal}
{ "et~al." }
@@ -485,6 +484,14 @@ FUNCTION {format.names.ed}
FUNCTION {format.authors}
{ author "author" format.names
}
+FUNCTION {format.byeditors}
+{ editor "editor" format.names.ed duplicate$ empty$ 'skip$
+ { bbl.byeditor
+ " " *
+ swap$ *
+ }
+ if$
+}
FUNCTION {get.bbl.editor}
{ editor num.names$ #1 > 'bbl.editors 'bbl.editor if$ }
FUNCTION {format.editors}
@@ -661,46 +668,70 @@ FUNCTION {get.title.addenda}
continue.clause
format.titleaddon output
continue.clause
- library empty$
- type$ "image" =
- or
is.online
- and
journal empty$
and
- type empty$
- type$ "booklet" = not
- type$ "audio" = not
- and
- type$ "video" = not
- and
- type$ "music" = not
- and
- type$ "movie" = not
- and
+ booktitle empty$
+ type$ "inreference" =
+ author empty$
+ and
+ or
+ and
+ library empty$
+ type$ "image" =
+ 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
or
and
{ bbl.online output }
'skip$
if$
continue.clause
+ type$ "reference" =
+ { format.byeditors output }
+ 'skip$
+ if$
format.translators output
}
FUNCTION {word.in}
{ bbl.in capitalize
":" *
" " * }
-FUNCTION {format.booktitle}
+FUNCTION {format.label.booktitle}
{ booktitle
duplicate$ empty$ 'skip$
{ "t" change.case$ }
if$
"booktitle" bibinfo.check
+}
+FUNCTION {format.booktitle}
+{ format.label.booktitle
emphasize
}
FUNCTION {format.in.ed.booktitle}
-{ format.booktitle duplicate$ empty$ 'skip$
- { editor "editor" format.names.ed duplicate$ empty$ 'pop$
+{ format.booktitle
+ duplicate$ empty$
+ 'skip$
+ {
+ is.online
+ { " " *
+ bbl.online *
+ }
+ 'skip$
+ if$
+ editor "editor" format.names.ed duplicate$ empty$ 'pop$
{ "," *
" " *
get.bbl.editor add.period$
@@ -1556,13 +1587,17 @@ FUNCTION {book}
{ output.bibitem
author empty$
{ editor empty$
- { format.btitle "title" output.check
+ type$ "reference" =
+ or
+ { type$ "reference" =
+ { format.title "title" output.check }
+ { format.btitle "title" output.check }
+ if$
format.date "year" output.check
year empty$ 'skip$ { date.block } if$
get.title.addenda
}
{ format.editors "author and editor" output.check
- editor format.key output
format.date "year" output.check
date.block
format.btitle "title" output.check
@@ -1648,6 +1683,8 @@ FUNCTION {inbook}
date.block
format.btitle "title" output.check
get.title.addenda
+ new.block
+ format.edition output
crossref missing$
{ format.publisher.address output
format.bvolume output
@@ -1661,7 +1698,6 @@ FUNCTION {inbook}
format.book.crossref output.nonnull
}
if$
- format.edition output
new.block
format.note output
new.block
@@ -1671,22 +1707,49 @@ FUNCTION {inbook}
}
FUNCTION {incollection}
{ output.bibitem
- format.authors "author" output.check
- author format.key output
- format.date "year" output.check
- date.block
- format.title "title" output.check
- get.title.addenda
+ author empty$
+ { type$ "inreference" =
+ { format.label.booktitle output }
+ { format.title "title" output.check }
+ if$
+ format.date "year" output.check
+ year empty$ 'skip$ { date.block } if$
+ type$ "inreference" =
+ 'skip$
+ { get.title.addenda }
+ if$
+ }
+ { format.authors output.nonnull
+ format.date "year" output.check
+ date.block
+ format.title "title" output.check
+ get.title.addenda
+ }
+ if$
new.block
crossref missing$
- { format.in.ed.booktitle "booktitle" output.check
+ { type$ "inreference" =
+ author empty$
+ and
+ { format.byeditors output }
+ { format.in.ed.booktitle "booktitle" output.check }
+ if$
+ new.block
+ format.edition output
new.block
+ type$ "inreference" =
+ author empty$
+ and
+ { format.btitle "title" output.check
+ get.title.addenda
+ new.block
+ }
+ 'skip$
+ if$
format.publisher.address output
format.bvolume output
format.number.series output
format.chapter.pages output
- new.sentence
- format.edition output
}
{ format.incoll.inproc.crossref output.nonnull
format.chapter.pages output
@@ -2102,6 +2165,9 @@ FUNCTION {letter}
'article
if$
}
+FUNCTION {collection} { book }
+FUNCTION {reference} { book }
+FUNCTION {inreference} { incollection }
FUNCTION {audio} { booklet }
FUNCTION {movie} { booklet }
FUNCTION {music} { booklet }
@@ -2211,18 +2277,28 @@ FUNCTION {editor.key.label}
FUNCTION {author.key.label}
{ author empty$
{ key empty$
- { title empty$
- { cite$ #1 #3 substring$ }
- { title
- type$ "article" =
- type$ "incollection" =
- or
- type$ "inproceedings" =
- or
- type$ "misc" =
- or
- 'skip$
- { emphasize }
+ { type$ "inreference" =
+ booktitle empty$ not
+ and
+ { booktitle }
+ { title empty$
+ { cite$ #1 #3 substring$ }
+ { title
+ type$ "article" =
+ type$ "incollection" =
+ or
+ type$ "inproceedings" =
+ or
+ type$ "reference" =
+ author empty$
+ and
+ or
+ type$ "misc" =
+ or
+ 'skip$
+ { emphasize }
+ if$
+ }
if$
}
if$
@@ -2333,15 +2409,21 @@ FUNCTION {editor.sort}
}
FUNCTION {author.sort}
{ author empty$
- { title empty$
- { key empty$
- { "to sort, need author, title, or key in " cite$ * warning$
- ""
+ { type$ "inreference" =
+ booktitle empty$ not
+ and
+ { booktitle sort.format.title }
+ { title empty$
+ { key empty$
+ { "to sort, need author, title, or key in " cite$ * warning$
+ ""
+ }
+ { key sortify }
+ if$
}
- { key sortify }
+ { title sort.format.title }
if$
}
- { title sort.format.title }
if$
}
{ author sort.format.names }
@@ -2475,6 +2557,6 @@ FUNCTION {end.bib}
}
EXECUTE {end.bib}
%%
-%% Copyright (C) 2020 by University of Bath
+%% Copyright (C) 2016-2021 by University of Bath
%%
%% End of file `bathx.bst'.
diff --git a/Master/texmf-dist/doc/bibtex/bath-bst/README.md b/Master/texmf-dist/doc/bibtex/bath-bst/README.md
index 6aa0ea1e747..bfdef8de152 100644
--- a/Master/texmf-dist/doc/bibtex/bath-bst/README.md
+++ b/Master/texmf-dist/doc/bibtex/bath-bst/README.md
@@ -53,9 +53,10 @@ documentation.
2. Compile `bath-bst.dtx` with [LuaLaTeX] and BibTeX to generate the
documentation. You will need, among other things, the [luatexja],
- [adobemapping] and [ipaex] packages installed; this is just for the
- documentation, not for the BibTeX style itself. To generate the version 1
- tests and documentation, compile `bath-bst-v1.tex` with LuaLaTeX and BibTeX.
+ [adobemapping], [ipaex] and [haranoaji] packages installed; this is just for
+ the documentation, not for the BibTeX style itself. To generate the version
+ 1 tests and documentation, compile `bath-bst-v1.tex` with LuaLaTeX and
+ BibTeX.
3. If you are using TeX Live, find your home TeX tree using the following
command at the command prompt/terminal:
@@ -93,10 +94,11 @@ documentation.
[luatexja]: http://ctan.org/pkg/luatexja
[adobemapping]: http://ctan.org/pkg/adobemapping
[ipaex]: http://ctan.org/pkg/ipaex
+[haranoaji]: http://ctan.org/pkg/haranoaji
## Licence
-Copyright 2016-2020 University of Bath.
+Copyright 2016-2021 University of Bath.
This work consists of the documented LaTeX file bath-bst.dtx and a Makefile.
diff --git a/Master/texmf-dist/doc/bibtex/bath-bst/bath-bst-v1.bib b/Master/texmf-dist/doc/bibtex/bath-bst/bath-bst-v1.bib
index 799b638b140..7a8210ad9a7 100644
--- a/Master/texmf-dist/doc/bibtex/bath-bst/bath-bst-v1.bib
+++ b/Master/texmf-dist/doc/bibtex/bath-bst/bath-bst-v1.bib
@@ -35,6 +35,27 @@
titleaddon = {[Kindle version 4.18]},
address = {Bath},
publisher = {University of Bath}}
+@reference{bnf2020,
+ year = {2020},
+ title = {{British National Formulary}},
+ edition = {79},
+ address = {London},
+ publisher = {Pharmaceutical Press}}
+@inreference{asprin2020bnf,
+ title = {Asprin},
+ year = {2020},
+ booktitle = {{British National Formulary}},
+ edition = {79},
+ address = {London},
+ publisher = {Pharmaceutical Press}}
+@inreference{asprin2019bnf,
+ title = {Asprin},
+ year = {2019},
+ booktitle = {{British National Formulary \textup{[Online]}}},
+ address = {London},
+ publisher = {Pharmaceutical Press},
+ url = {https://www.medicinescomplete.com/\#/content/bnf/_456850132},
+ urldate = {26 November 2019}}
@incollection{burchard1965hhl,
author = {Burchard, J. E.},
year = {1965},
@@ -223,6 +244,20 @@
series = {1 inch to 2 miles},
address = {Devizes},
publisher = {Wiltshire Record Society}}
+@manual{os2020bath,
+ author = {{Ordnance Survey}},
+ year = {2020},
+ title = {Street view map of {University of Bath}},
+ series = {1:5000, OS VectorMap® Local},
+ url = {https://digimap.edina.ac.uk/roam/map/os},
+ urlyear = {30 April 2020}}
+@manual{google2020harbourside,
+ author = {{Google}},
+ year = {2020},
+ title = {{Harbourside, Bristol}},
+ series = {Google Maps},
+ url = {https://www.google.co.uk/maps/place/Harbourside,+Bristol/},
+ urldate = {2020-04-30}}
@booklet{macbeth1948,
year = {1948},
title = {Macbeth},
diff --git a/Master/texmf-dist/doc/bibtex/bath-bst/bath-bst-v1.pdf b/Master/texmf-dist/doc/bibtex/bath-bst/bath-bst-v1.pdf
index 3e748e4f7d6..7fc28cd33f7 100644
--- a/Master/texmf-dist/doc/bibtex/bath-bst/bath-bst-v1.pdf
+++ b/Master/texmf-dist/doc/bibtex/bath-bst/bath-bst-v1.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/bibtex/bath-bst/bath-bst-v1.tex b/Master/texmf-dist/doc/bibtex/bath-bst/bath-bst-v1.tex
index e010b70d718..7f4fbc493dc 100644
--- a/Master/texmf-dist/doc/bibtex/bath-bst/bath-bst-v1.tex
+++ b/Master/texmf-dist/doc/bibtex/bath-bst/bath-bst-v1.tex
@@ -14,7 +14,7 @@
%% ----------------------------------------------------------------
%%
\ProvidesFile{bath-bst-v1.tex}
- [2020/01/16 v3.2 Harvard referencing style as recommended by the University of Bath Library]
+ [2021/02/25 v4.0 Harvard referencing style as recommended by the University of Bath Library]
\documentclass[10pt,a4paper]{article}
\usepackage[british]{babel}
@@ -418,6 +418,10 @@ though of course any item might need adjustment to take account of differing con
\end{Verbatim}
\end{bibexbox}
+\begin{info}\item
+Internally, \texttt{collection} is an alias for \texttt{book}.
+\end{info}
+
\subsubsection*{Electronic book}
\begin{bibexbox}<RX>{haynes2014crc}
@@ -451,6 +455,67 @@ though of course any item might need adjustment to take account of differing con
\end{Verbatim}
\end{bibexbox}
+\subsubsection*{Book known by its title}
+
+\begin{info}\item
+Unfortunately, to avoid breaking other use cases for the \texttt{book} entry
+type, to achieve the following format you must use the non-standard
+\texttt{reference} entry type.
+\end{info}
+
+\begin{bibexbox}<RX>{bnf2020}
+ British National Formulary, 2020. 79th ed. London: Pharmaceutical Press.
+ \tcblower
+\begin{Verbatim}
+@reference{bnf2020,
+ year = {2020},
+ title = {{British National Formulary}},
+ edition = {79},
+ address = {London},
+ publisher = {Pharmaceutical Press}}
+\end{Verbatim}
+\end{bibexbox}
+
+\begin{info}\item
+Similarly, to achieve the following formats you must use the non-standard
+\texttt{inreference} entry type.
+\end{info}
+
+\begin{bibexbox}<RX>{asprin2020bnf}
+ British National Formulary, 2020. 79th ed. \emph{Asprin.} London: Pharmaceutical Press.
+ \tcblower
+\begin{Verbatim}
+@inreference{asprin2020bnf,
+ title = {Asprin},
+ year = {2020},
+ booktitle = {{British National Formulary}},
+ edition = {79},
+ address = {London},
+ publisher = {Pharmaceutical Press}}
+\end{Verbatim}
+\end{bibexbox}
+
+\begin{bibexbox}<RX>{asprin2019bnf}
+ British National Formulary, 2019. \emph{Aspirin} [Online]. London: Pharmaceutical Press. Available from: \url{https://www.medicinescomplete.com/\#/content/bnf/_456850132} [Accessed 26 November 2019].
+ \tcblower
+\begin{Verbatim}
+@inreference{asprin2019bnf,
+ title = {Asprin},
+ year = {2019},
+ booktitle = {{British National Formulary \textup{[Online]}}},
+ address = {London},
+ publisher = {Pharmaceutical Press},
+ url = {https://www.medicinescomplete.com/\#/content/bnf/_456850132},
+ urldate = {26 November 2019}}
+\end{Verbatim}
+\end{bibexbox}
+
+\begin{info}\item
+Internally, \texttt{inreference} is an alias for \texttt{incollection}.
+\end{info}
+
+\citet{bnf2020}, \cite{asprin2019bnf}, \citet{asprin2020bnf}.
+
\subsubsection*{One chapter\slash paper from a collection (by different authors) in an edited book}
\begin{bibexbox}<RL>{burchard1965hhl}
@@ -906,6 +971,34 @@ record the source of the image.\end{tips}
\begin{tips}\item The \texttt{book} entry type would also work for this reference.\end{tips}
+\begin{bibexbox}<RX>{os2020bath}
+ Ordnance Survey, 2020. \emph{Street view map of University of Bath} [Online], 1:5000, OS VectorMap® Local. Available from: \url{https://digimap.edina.ac.uk/roam/map/os} [Accessed 30 April 2020].
+ \tcblower
+\begin{Verbatim}
+@manual{os2020bath,
+ author = {{Ordnance Survey}},
+ year = {2020},
+ title = {Street view map of {University of Bath}},
+ series = {1:5000, OS VectorMap® Local},
+ url = {https://digimap.edina.ac.uk/roam/map/os},
+ urlyear = {30 April 2020}}
+\end{Verbatim}
+\end{bibexbox}
+
+\begin{bibexbox}<RX>{google2020harbourside}
+ Google, 2020. \emph{Harbourside, Bristol} [Online], Google Maps. Available from: \url{https://www.google.co.uk/maps/place/Harbourside,+Bristol/} [Accessed 30 April 2020].
+ \tcblower
+\begin{Verbatim}
+@manual{google2020harbourside,
+ author = {{Google}},
+ year = {2020},
+ title = {{Harbourside, Bristol}},
+ series = {Google Maps},
+ url = {https://www.google.co.uk/maps/place/Harbourside,+Bristol/},
+ urldate = {2020-04-30}}
+\end{Verbatim}
+\end{bibexbox}
+
\subsubsection*{Film, video or DVD}
\begin{bibexbox}<RX>{macbeth1948}
@@ -1434,6 +1527,6 @@ not.
\bibliography{bath-bst-v1}
\end{document}
%%
-%% Copyright (C) 2020 by University of Bath
+%% Copyright (C) 2016-2021 by University of Bath
%%
%% End of file `bath-bst-v1.tex'.
diff --git a/Master/texmf-dist/doc/bibtex/bath-bst/bath-bst.bib b/Master/texmf-dist/doc/bibtex/bath-bst/bath-bst.bib
index 06c27ed2fab..211651016b8 100644
--- a/Master/texmf-dist/doc/bibtex/bath-bst/bath-bst.bib
+++ b/Master/texmf-dist/doc/bibtex/bath-bst/bath-bst.bib
@@ -34,6 +34,27 @@
titleaddon = {Kindle version 4.18},
address = {Bath},
publisher = {University of Bath}}
+@reference{bnf2020,
+ year = {2020},
+ title = {{British National Formulary}},
+ edition = {79},
+ address = {London},
+ publisher = {Pharmaceutical Press}}
+@inreference{asprin2020bnf,
+ title = {Asprin},
+ year = {2020},
+ booktitle = {{British National Formulary}},
+ edition = {79},
+ address = {London},
+ publisher = {Pharmaceutical Press}}
+@inreference{asprin2019bnf,
+ title = {Asprin},
+ year = {2019},
+ booktitle = {{British National Formulary}},
+ address = {London},
+ publisher = {Pharmaceutical Press},
+ url = {https://www.medicinescomplete.com/\#/content/bnf/_456850132},
+ urlyear = {26 November 2019}}
@incollection{burchard1965hhl,
author = {Burchard, J. E.},
year = {1965},
@@ -223,6 +244,20 @@
series = {1 inch to 2 miles},
address = {Devizes},
publisher = {Wiltshire Record Society}}
+@manual{os2020bath,
+ author = {{Ordnance Survey}},
+ year = {2020},
+ title = {Street view map of {University of Bath}},
+ series = {1:5000, OS VectorMap® Local},
+ url = {https://digimap.edina.ac.uk/roam/map/os},
+ urlyear = {30 April 2020}}
+@manual{google2020harbourside,
+ author = {{Google}},
+ year = {2020},
+ title = {{Harbourside, Bristol}},
+ series = {Google Maps},
+ url = {https://www.google.co.uk/maps/place/Harbourside,+Bristol/},
+ urldate = {2020-04-30}}
@video{macbeth1948,
year = {1948},
title = {Macbeth},
diff --git a/Master/texmf-dist/doc/bibtex/bath-bst/bath-bst.pdf b/Master/texmf-dist/doc/bibtex/bath-bst/bath-bst.pdf
index 7290d79e447..085f19ad430 100644
--- a/Master/texmf-dist/doc/bibtex/bath-bst/bath-bst.pdf
+++ b/Master/texmf-dist/doc/bibtex/bath-bst/bath-bst.pdf
Binary files differ
diff --git a/Master/texmf-dist/source/bibtex/bath-bst/bath-bst.dtx b/Master/texmf-dist/source/bibtex/bath-bst/bath-bst.dtx
index 18e1beb4f69..1f7e5e63177 100644
--- a/Master/texmf-dist/source/bibtex/bath-bst/bath-bst.dtx
+++ b/Master/texmf-dist/source/bibtex/bath-bst/bath-bst.dtx
@@ -39,7 +39,7 @@ See: http://www.latex-project.org/lppl.txt
\endpreamble
\postamble
-Copyright (C) 2020 by University of Bath
+Copyright (C) 2016-2021 by University of Bath
\endpostamble
\usedir{bibtex/bst/\jobname}
@@ -74,7 +74,7 @@ Copyright (C) 2020 by University of Bath
\ProvidesFile{bath-bst.dtx}
%</driver>
%<*driver|tex1>
- [2020/01/16 v3.2 Harvard referencing style as recommended by the University of Bath Library]
+ [2021/02/25 v4.0 Harvard referencing style as recommended by the University of Bath Library]
\documentclass[10pt,a4paper]{article}
\usepackage[british]{babel}
@@ -445,9 +445,10 @@ documentation.
2. Compile `bath-bst.dtx` with [LuaLaTeX] and BibTeX to generate the
documentation. You will need, among other things, the [luatexja],
- [adobemapping] and [ipaex] packages installed; this is just for the
- documentation, not for the BibTeX style itself. To generate the version 1
- tests and documentation, compile `bath-bst-v1.tex` with LuaLaTeX and BibTeX.
+ [adobemapping], [ipaex] and [haranoaji] packages installed; this is just for
+ the documentation, not for the BibTeX style itself. To generate the version
+ 1 tests and documentation, compile `bath-bst-v1.tex` with LuaLaTeX and
+ BibTeX.
3. If you are using TeX Live, find your home TeX tree using the following
command at the command prompt/terminal:
@@ -485,6 +486,7 @@ documentation.
[luatexja]: http://ctan.org/pkg/luatexja
[adobemapping]: http://ctan.org/pkg/adobemapping
[ipaex]: http://ctan.org/pkg/ipaex
+[haranoaji]: http://ctan.org/pkg/haranoaji
%</driver|readme>
%<*driver>
\end{markdown*}
@@ -704,6 +706,10 @@ though of course any item might need adjustment to take account of differing con
\end{Verbatim}
\end{bibexbox}
+\begin{info}\item
+Internally, \texttt{collection} is an alias for \texttt{book}.
+\end{info}
+
\subsubsection*{Electronic book}
@@ -781,6 +787,97 @@ though of course any item might need adjustment to take account of differing con
\end{bibexbox}
+\subsubsection*{Book known by its title}
+
+\begin{info}\item
+Unfortunately, to avoid breaking other use cases for the \texttt{book} entry
+type, to achieve the following format you must use the non-standard
+\texttt{reference} entry type.
+\end{info}
+
+\begin{bibexbox}<RX>{bnf2020}
+ British National Formulary, 2020. 79th ed. London: Pharmaceutical Press.
+ \tcblower
+\begin{Verbatim}
+%</driver|tex1>
+%<*driver|bib|tex1|bib1>
+@reference{bnf2020,
+ year = {2020},
+ title = {{British National Formulary}},
+ edition = {79},
+ address = {London},
+ publisher = {Pharmaceutical Press}}
+%</driver|bib|tex1|bib1>
+%<*driver|tex1>
+\end{Verbatim}
+\end{bibexbox}
+
+\begin{info}\item
+Similarly, to achieve the following formats you must use the non-standard
+\texttt{inreference} entry type.
+\end{info}
+
+\begin{bibexbox}<RX>{asprin2020bnf}
+ British National Formulary, 2020. 79th ed. \emph{Asprin.} London: Pharmaceutical Press.
+ \tcblower
+\begin{Verbatim}
+%</driver|tex1>
+%<*driver|bib|tex1|bib1>
+@inreference{asprin2020bnf,
+ title = {Asprin},
+ year = {2020},
+ booktitle = {{British National Formulary}},
+ edition = {79},
+ address = {London},
+ publisher = {Pharmaceutical Press}}
+%</driver|bib|tex1|bib1>
+%<*driver|tex1>
+\end{Verbatim}
+\end{bibexbox}
+
+\begin{bibexbox}<RX>{asprin2019bnf}
+ British National Formulary, 2019. \emph{Aspirin} [Online]. London: Pharmaceutical Press. Available from: \url{https://www.medicinescomplete.com/\#/content/bnf/_456850132} [Accessed 26 November 2019].
+ \tcblower
+\begin{Verbatim}
+%</driver|tex1>
+%<*driver|bib>
+@inreference{asprin2019bnf,
+ title = {Asprin},
+ year = {2019},
+ booktitle = {{British National Formulary}},
+ address = {London},
+ publisher = {Pharmaceutical Press},
+ url = {https://www.medicinescomplete.com/\#/content/bnf/_456850132},
+ urlyear = {26 November 2019}}
+%</driver|bib>
+%<*driver>
+\end{Verbatim}
+\iffalse
+%</driver>
+%<*tex1|bib1>
+@inreference{asprin2019bnf,
+ title = {Asprin},
+ year = {2019},
+ booktitle = {{British National Formulary \textup{[Online]}}},
+ address = {London},
+ publisher = {Pharmaceutical Press},
+ url = {https://www.medicinescomplete.com/\#/content/bnf/_456850132},
+ urldate = {26 November 2019}}
+%</tex1|bib1>
+%<*driver|tex1>
+\end{Verbatim}
+%<*driver>
+\fi
+%</driver>
+\end{bibexbox}
+
+\begin{info}\item
+Internally, \texttt{inreference} is an alias for \texttt{incollection}.
+%<driver>Use \texttt{inreference} if you need compatibility with \textsf{biblatex-bath}.
+\end{info}
+
+\citet{bnf2020}, \cite{asprin2019bnf}, \citet{asprin2020bnf}.
+
\subsubsection*{One chapter\slash paper from a collection (by different authors) in an edited book}
\begin{bibexbox}<RL>{burchard1965hhl}
@@ -1563,6 +1660,42 @@ but the \texttt{organization} field if the location relates to the archive.
\begin{tips}\item The \texttt{book} entry type would also work for this reference.\end{tips}
+\begin{bibexbox}<RX>{os2020bath}
+ Ordnance Survey, 2020. \emph{Street view map of University of Bath} [Online], 1:5000, OS VectorMap® Local. Available from: \url{https://digimap.edina.ac.uk/roam/map/os} [Accessed 30 April 2020].
+ \tcblower
+\begin{Verbatim}
+%</driver|tex1>
+%<*driver|bib|tex1|bib1>
+@manual{os2020bath,
+ author = {{Ordnance Survey}},
+ year = {2020},
+ title = {Street view map of {University of Bath}},
+ series = {1:5000, OS VectorMap® Local},
+ url = {https://digimap.edina.ac.uk/roam/map/os},
+ urlyear = {30 April 2020}}
+%</driver|bib|tex1|bib1>
+%<*driver|tex1>
+\end{Verbatim}
+\end{bibexbox}
+
+\begin{bibexbox}<RX>{google2020harbourside}
+ Google, 2020. \emph{Harbourside, Bristol} [Online], Google Maps. Available from: \url{https://www.google.co.uk/maps/place/Harbourside,+Bristol/} [Accessed 30 April 2020].
+ \tcblower
+\begin{Verbatim}
+%</driver|tex1>
+%<*driver|bib|tex1|bib1>
+@manual{google2020harbourside,
+ author = {{Google}},
+ year = {2020},
+ title = {{Harbourside, Bristol}},
+ series = {Google Maps},
+ url = {https://www.google.co.uk/maps/place/Harbourside,+Bristol/},
+ urldate = {2020-04-30}}
+%</driver|bib|tex1|bib1>
+%<*driver|tex1>
+\end{Verbatim}
+\end{bibexbox}
+
\subsubsection*{Film, video or DVD}
@@ -2780,7 +2913,7 @@ Commission case number, \texttt{number} for the formal decision number, and give
%<readme>## Licence
%<readme>
%<*driver|readme>
-Copyright 2016-2020 University of Bath.
+Copyright 2016-2021 University of Bath.
This work consists of the documented LaTeX file bath-bst.dtx and a Makefile.
@@ -3210,17 +3343,13 @@ FUNCTION {either.or.check}
%
% \begin{macrocode}
FUNCTION {is.online}
-{ type$ "software" =
- { #0 }
- { url empty$ doi empty$ and
- { type$ "online" =
- { #1 }
- { #0 }
- if$
- }
+{ url empty$ doi empty$ and
+ { type$ "online" =
{ #1 }
+ { #0 }
if$
}
+ { #1 }
if$
}
% \end{macrocode}
@@ -3235,6 +3364,9 @@ FUNCTION {is.online}
FUNCTION {bbl.and}
{ "and"}
+FUNCTION {bbl.byeditor}
+{ "Ed. by" }
+
FUNCTION {bbl.etal}
{ "et~al." }
@@ -3499,6 +3631,19 @@ FUNCTION {format.authors}
}
% \end{macrocode}
%
+% |format.byeditors| returns editor names, and prepended by `Ed. by'.
+%
+% \begin{macrocode}
+FUNCTION {format.byeditors}
+{ editor "editor" format.names.ed duplicate$ empty$ 'skip$
+ { bbl.byeditor
+ " " *
+ swap$ *
+ }
+ if$
+}
+% \end{macrocode}
+%
% |format.editors| returns editor names, and appends `ed.' or `eds' as
% appropriate.
%
@@ -3673,8 +3818,8 @@ FUNCTION {output.bibitem}
%
% |format.key| takes a field (author or editor). If the field is empty, it
% replaces it with the key field (if not non-null). Otherwise, replaces it with
-% an empty string. It is used as a last resort to stop an entry beginning with
-% the date.
+% an empty string. It is used as an extra defence against an entry beginning
+% with the date.
%
% \begin{macrocode}
FUNCTION {format.key}
@@ -3688,7 +3833,7 @@ FUNCTION {format.key}
% \subsection{Titles}
%
% |select.language| checks if the field before was written out, and if so,
-% wraps |{\selectlanguage{language}\dots}| around it.
+% wraps |{\selectlanguage{language}|\dots|}| around it.
%
% \begin{macrocode}
FUNCTION {select.language}
@@ -3775,23 +3920,31 @@ FUNCTION {get.title.addenda}
format.titleaddon output
continue.clause
%<*bst2>
- library empty$
- type$ "image" =
- or
is.online
- and
journal empty$
and
- type empty$
- type$ "booklet" = not
- type$ "audio" = not
- and
- type$ "video" = not
- and
- type$ "music" = not
- and
- type$ "movie" = not
- and
+ booktitle empty$
+ type$ "inreference" =
+ author empty$
+ and
+ or
+ and
+ library empty$
+ type$ "image" =
+ 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
or
and
{ bbl.online output }
@@ -3799,6 +3952,10 @@ FUNCTION {get.title.addenda}
if$
continue.clause
%</bst2>
+ type$ "reference" =
+ { format.byeditors output }
+ 'skip$
+ if$
format.translators output
}
% \end{macrocode}
@@ -3812,15 +3969,23 @@ FUNCTION {word.in}
" " * }
% \end{macrocode}
%
-% |format.booktitle| returns the booktitle field in italics.
+% |format.label.booktitle| returns the booktitle field upright
%
% \begin{macrocode}
-FUNCTION {format.booktitle}
+FUNCTION {format.label.booktitle}
{ booktitle
duplicate$ empty$ 'skip$
{ "t" change.case$ }
if$
"booktitle" bibinfo.check
+}
+% \end{macrocode}
+%
+% |format.booktitle| returns the booktitle field in italics.
+%
+% \begin{macrocode}
+FUNCTION {format.booktitle}
+{ format.label.booktitle
emphasize
}
% \end{macrocode}
@@ -3830,8 +3995,19 @@ FUNCTION {format.booktitle}
%
% \begin{macrocode}
FUNCTION {format.in.ed.booktitle}
-{ format.booktitle duplicate$ empty$ 'skip$
- { editor "editor" format.names.ed duplicate$ empty$ 'pop$
+{ format.booktitle
+ duplicate$ empty$
+ 'skip$
+ {
+%<*bst2>
+ is.online
+ { " " *
+ bbl.online *
+ }
+ 'skip$
+ if$
+%</bst2>
+ editor "editor" format.names.ed duplicate$ empty$ 'pop$
{ "," *
" " *
get.bbl.editor add.period$
@@ -4970,13 +5146,17 @@ FUNCTION {book}
{ output.bibitem
author empty$
{ editor empty$
- { format.btitle "title" output.check
+ type$ "reference" =
+ or
+ { type$ "reference" =
+ { format.title "title" output.check }
+ { format.btitle "title" output.check }
+ if$
format.date "year" output.check
year empty$ 'skip$ { date.block } if$
get.title.addenda
}
{ format.editors "author and editor" output.check
- editor format.key output
format.date "year" output.check
date.block
format.btitle "title" output.check
@@ -5072,6 +5252,8 @@ FUNCTION {inbook}
date.block
format.btitle "title" output.check
get.title.addenda
+ new.block
+ format.edition output
crossref missing$
{ format.publisher.address output
format.bvolume output
@@ -5085,7 +5267,6 @@ FUNCTION {inbook}
format.book.crossref output.nonnull
}
if$
- format.edition output
new.block
format.note output
new.block
@@ -5100,22 +5281,49 @@ FUNCTION {inbook}
% \begin{macrocode}
FUNCTION {incollection}
{ output.bibitem
- format.authors "author" output.check
- author format.key output
- format.date "year" output.check
- date.block
- format.title "title" output.check
- get.title.addenda
+ author empty$
+ { type$ "inreference" =
+ { format.label.booktitle output }
+ { format.title "title" output.check }
+ if$
+ format.date "year" output.check
+ year empty$ 'skip$ { date.block } if$
+ type$ "inreference" =
+ 'skip$
+ { get.title.addenda }
+ if$
+ }
+ { format.authors output.nonnull
+ format.date "year" output.check
+ date.block
+ format.title "title" output.check
+ get.title.addenda
+ }
+ if$
new.block
crossref missing$
- { format.in.ed.booktitle "booktitle" output.check
+ { type$ "inreference" =
+ author empty$
+ and
+ { format.byeditors output }
+ { format.in.ed.booktitle "booktitle" output.check }
+ if$
new.block
+ format.edition output
+ new.block
+ type$ "inreference" =
+ author empty$
+ and
+ { format.btitle "title" output.check
+ get.title.addenda
+ new.block
+ }
+ 'skip$
+ if$
format.publisher.address output
format.bvolume output
format.number.series output
format.chapter.pages output
- new.sentence
- format.edition output
}
{ format.incoll.inproc.crossref output.nonnull
format.chapter.pages output
@@ -5593,6 +5801,9 @@ FUNCTION {letter}
'article
if$
}
+FUNCTION {collection} { book }
+FUNCTION {reference} { book }
+FUNCTION {inreference} { incollection }
FUNCTION {audio} { booklet }
FUNCTION {movie} { booklet }
FUNCTION {music} { booklet }
@@ -5755,18 +5966,28 @@ FUNCTION {editor.key.label}
FUNCTION {author.key.label}
{ author empty$
{ key empty$
- { title empty$
- { cite$ #1 #3 substring$ }
- { title
- type$ "article" =
- type$ "incollection" =
- or
- type$ "inproceedings" =
- or
- type$ "misc" =
- or
- 'skip$
- { emphasize }
+ { type$ "inreference" =
+ booktitle empty$ not
+ and
+ { booktitle }
+ { title empty$
+ { cite$ #1 #3 substring$ }
+ { title
+ type$ "article" =
+ type$ "incollection" =
+ or
+ type$ "inproceedings" =
+ or
+ type$ "reference" =
+ author empty$
+ and
+ or
+ type$ "misc" =
+ or
+ 'skip$
+ { emphasize }
+ if$
+ }
if$
}
if$
@@ -5919,15 +6140,21 @@ FUNCTION {editor.sort}
% \begin{macrocode}
FUNCTION {author.sort}
{ author empty$
- { title empty$
- { key empty$
- { "to sort, need author, title, or key in " cite$ * warning$
- ""
+ { type$ "inreference" =
+ booktitle empty$ not
+ and
+ { booktitle sort.format.title }
+ { title empty$
+ { key empty$
+ { "to sort, need author, title, or key in " cite$ * warning$
+ ""
+ }
+ { key sortify }
+ if$
}
- { key sortify }
+ { title sort.format.title }
if$
}
- { title sort.format.title }
if$
}
{ author sort.format.names }
@@ -6035,7 +6262,7 @@ FUNCTION {reverse.pass}
%
% Applying these functions is a bit more tricky, but once we have done that,
% we re-sort the entries to make absolutely sure they in the right order,
-% this time wih the year between with |sort.label| and the title.
+% this time with the year between with |sort.label| and the title.
%
% \begin{macrocode}
EXECUTE {initialize.extra.label.stuff}
diff --git a/Master/texmf-dist/source/bibtex/bath-bst/bath-bst.ins b/Master/texmf-dist/source/bibtex/bath-bst/bath-bst.ins
deleted file mode 100644
index 6aa443b30a2..00000000000
--- a/Master/texmf-dist/source/bibtex/bath-bst/bath-bst.ins
+++ /dev/null
@@ -1,52 +0,0 @@
-%%
-%% This is file `bath-bst.ins',
-%% generated with the docstrip utility.
-%%
-%% The original source files were:
-%%
-%% bath-bst.dtx (with options: `install')
-%% ----------------------------------------------------------------
-%% bath-bst --- Harvard referencing style as recommended by the University of Bath Library
-%% Author: Alex Ball
-%% E-mail: a.j.ball@bath.ac.uk
-%% License: Released under the LaTeX Project Public License v1.3c or later
-%% See: http://www.latex-project.org/lppl.txt
-%% ----------------------------------------------------------------
-%%
-\input docstrip.tex
-\keepsilent
-\askforoverwritefalse
-
-\nopreamble\nopostamble
-
-\usedir{doc/bibtex/\jobname}
-\generate{
- \file{README.md}{\from{\jobname.dtx}{readme}}
- \file{\jobname.bib}{\from{\jobname.dtx}{bib}}
-}
-
-\preamble
-----------------------------------------------------------------
-bath-bst --- Harvard referencing style as recommended by the University of Bath Library
-Author: Alex Ball
-E-mail: a.j.ball@bath.ac.uk
-License: Released under the LaTeX Project Public License v1.3c or later
-See: http://www.latex-project.org/lppl.txt
-----------------------------------------------------------------
-
-\endpreamble
-\postamble
-
-Copyright (C) 2020 by University of Bath
-\endpostamble
-
-\usedir{bibtex/bst/\jobname}
-\generate{
- \file{bath.bst}{\from{\jobname.dtx}{bst1}}
- \file{bathx.bst}{\from{\jobname.dtx}{bst2}}
-}
-\endbatchfile
-%%
-%% Copyright (C) 2020 by University of Bath
-%%
-%% End of file `bath-bst.ins'.