summaryrefslogtreecommitdiff
path: root/macros/latex/contrib/biblatex-contrib/biblatex-bath/biblatex-bath.dtx
diff options
context:
space:
mode:
Diffstat (limited to 'macros/latex/contrib/biblatex-contrib/biblatex-bath/biblatex-bath.dtx')
-rw-r--r--macros/latex/contrib/biblatex-contrib/biblatex-bath/biblatex-bath.dtx374
1 files changed, 326 insertions, 48 deletions
diff --git a/macros/latex/contrib/biblatex-contrib/biblatex-bath/biblatex-bath.dtx b/macros/latex/contrib/biblatex-contrib/biblatex-bath/biblatex-bath.dtx
index f5592d4c3b..a7e02886de 100644
--- a/macros/latex/contrib/biblatex-contrib/biblatex-bath/biblatex-bath.dtx
+++ b/macros/latex/contrib/biblatex-contrib/biblatex-bath/biblatex-bath.dtx
@@ -1,6 +1,6 @@
% \iffalse meta-comment
%<*internal|bbx|cbx|dbx|lbx|lbx-gb>
-\def\Version{2020/01/16 v3.2}
+\def\Version{2021/02/25 v4.0}
%</internal|bbx|cbx|dbx|lbx|lbx-gb>
%<*internal>
\iffalse
@@ -63,7 +63,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{tex/latex/\jobname}
@@ -104,7 +104,6 @@ Copyright (C) 2020 by University of Bath
\else
\ifLuaTeX
\usepackage{luatexja-fontspec}
- \setmainjfont{IPAexGothic}
\else
\ifXeTeX
\usepackage{ctex}
@@ -182,7 +181,7 @@ Copyright (C) 2020 by University of Bath
}
, moredelim=**[s][\color{violet}]{[}{]}
, moredelim=**[s][\color{blue!75!black}]{\{}{\}}
- , mathescape
+ , mathescape=false
}
\lstset{style=dtxlatex}
\tcbset
@@ -281,6 +280,8 @@ Copyright (C) 2020 by University of Bath
% Documentation
+\usepackage[british,cleanlook]{isodate}
+
\usepackage[backend=biber,bibencoding=utf8,hyperref=false,isbn=false,style=bath,sorting=ynt]{biblatex}
\addbibresource{biblatex-bath.bib}
\assignrefcontextentries[]{*}
@@ -300,7 +301,6 @@ Copyright (C) 2020 by University of Bath
}{}{}
\usepackage{readprov}
-\usepackage[british,cleanlook]{isodate}
\usepackage[colorlinks,citecolor=black]{hyperref}
@@ -376,8 +376,8 @@ documentation.
2. Compile `biblatex-bath.dtx` with [LuaLaTeX] and [Biber] 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 biblatex style itself.
+ [adobemapping] and [haranoaji] packages installed; this is just
+ for the documentation, not for the biblatex style itself.
3. If you are using TeX Live, find your home TeX tree using the following
command at the command prompt/terminal:
@@ -416,7 +416,7 @@ documentation.
[Biber]: http://ctan.org/pkg/biber
[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*}
@@ -663,6 +663,75 @@ BibTeX, and not a symptom of recalcitrance on the part of the author.
\end{bibexbox}
+\subsubsection*{Book known by its title}
+
+\begin{info}\item
+Use the most appropriate \texttt{reference} entry type instead of, say,
+\texttt{book} or \texttt{collection}.
+\end{info}
+
+\begin{bibexbox}<RX>{bnf2020}
+ British National Formulary, 2020. 79th ed. London: Pharmaceutical Press.
+ \tcblower
+\begin{Verbatim}
+%</driver>
+%<*driver|bib>
+@reference{bnf2020,
+ year = {2020},
+ title = {{British National Formulary}},
+ edition = {79},
+ address = {London},
+ publisher = {Pharmaceutical Press}}
+%</driver|bib>
+%<*driver>
+\end{Verbatim}
+\end{bibexbox}
+
+\begin{bibexbox}<RX>{asprin2020bnf}
+ British National Formulary, 2020. 79th ed. \emph{Asprin.} London: Pharmaceutical Press.
+ \tcblower
+\begin{Verbatim}
+%</driver>
+%<*driver|bib>
+@inreference{asprin2020bnf,
+ title = {Asprin},
+ year = {2020},
+ booktitle = {{British National Formulary}},
+ edition = {79},
+ address = {London},
+ publisher = {Pharmaceutical Press}}
+%</driver|bib>
+%<*driver>
+\end{Verbatim}
+\end{bibexbox}
+
+\begin{info}\item
+If you use the Bib\TeX\ backend, you will have to repeat the contents of the
+\texttt{booktitle} field in the \texttt{sorttitle} field yourself to ensure the
+entry is placed correctly in the reference list. If you use Biber, this is done
+automatically for you.
+\end{info}
+
+\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>
+%<*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},
+ urldate = {2019-11-26}}
+%</driver|bib>
+%<*driver>
+\end{Verbatim}
+\end{bibexbox}
+
+
\subsubsection*{One chapter\slash paper from a collection (by different authors) in an edited book}
\begin{bibexbox}<RL>{burchard1965hhl}
@@ -1225,6 +1294,43 @@ but the \texttt{organization} field if the location relates to the archive.
The \texttt{book} entry type would also work for this reference.
\end{info}
+\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>
+%<*driver|bib>
+@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},
+ urldate = {2020-04-30}}
+%</driver|bib>
+%<*driver>
+\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>
+%<*driver|bib>
+@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>
+%<*driver>
+\end{Verbatim}
+\end{bibexbox}
+
+
\subsubsection*{Film, video or DVD}
\begin{bibexbox}<RX>{macbeth1948}
@@ -2019,7 +2125,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 biblatex-bath.dtx and a Makefile.
@@ -2104,6 +2210,7 @@ This work is `maintained' (as per LPPL maintenance status) by [Alex Ball][me].
\DeclareLanguageMapping{english}{english-bath}
\DeclareLanguageMapping{british}{british-bath}
}
+
% \end{macrocode}
%
% We begin by loading the default author--year style.
@@ -2112,8 +2219,8 @@ This work is `maintained' (as per LPPL maintenance status) by [Alex Ball][me].
\RequireBibliographyStyle{authoryear}
\ExecuteBibliographyOptions{%
maxcitenames=3,maxbibnames=9999,isbn=false,giveninits=true,dashed=false,
- alldates=comp,labeldate=year}
-\ExecuteBibliographyOptions[audio,video,music,movie]{%
+ alldates=comp,labeldate=year,labelalpha=true}
+\ExecuteBibliographyOptions[reference,audio,video,music,movie]{%
useeditor=false}
% \end{macrocode}
%
@@ -2408,6 +2515,15 @@ This work is `maintained' (as per LPPL maintenance status) by [Alex Ball][me].
[patent,thesis]%
{title}{\mkbibemph{#1}}
\DeclareFieldFormat
+ [reference,mvreference]%
+ {title}{\ifnameundef{author}{#1}{\mkbibemph{#1}}}
+\DeclareFieldFormat
+ [inreference]%
+ {title}{\ifnameundef{author}{\mkbibemph{#1}}{#1}}
+\DeclareFieldFormat
+ [inreference]%
+ {booktitle}{\ifnameundef{author}{#1}{\mkbibemph{#1}}}
+\DeclareFieldFormat
[unpublished]%
{title}{\iffieldundef{booktitle}{\mkbibemph{#1}}{#1}}
@@ -2449,10 +2565,10 @@ This work is `maintained' (as per LPPL maintenance status) by [Alex Ball][me].
% \end{macrocode}
%
-% We need to supply a new |title| macro. The standard version hard-codes the
-% case used (we use sentence case, not title case) and puts default unit
-% punctuation between the |title| and |titleaddon| fields. We also need to add
-% conditional code for printing the automatic `[Online]' label.
+% We need to supply a new |title| macro. The standard version puts default unit
+% punctuation between the |title| and |titleaddon| fields, but we need a space.
+% We also need to add conditional code for printing the automatic `[Online]'
+% label.
%
% \begin{macrocode}
\renewbibmacro*{title}{%
@@ -2554,20 +2670,37 @@ This work is `maintained' (as per LPPL maintenance status) by [Alex Ball][me].
% and show titleaddon after the |date+extradate| macro.
%
% \begin{macrocode}
+\DeclareLabeltitle[inreference]{%
+ \field{shorttitle}
+ \field{booktitle}
+ \field{title}
+}
\providetoggle{bbx:labelistitle}
\renewbibmacro*{labeltitle}{%
\iffieldundef{label}{%
\ifboolexpr{
- test {\iffieldundef{title}}
+ test {\ifentrytype{inreference}}
and
- test {\iffieldundef{subtitle}}
- }{}{%
- \printtext[title]{%
- \printfield[sentencecase]{title}%
- \setunit{\subtitlepunct}%
- \printfield[midsentencecase]{subtitle}}%
- \clearfield{title}\clearfield{subtitle}%
- \toggletrue{bbx:labelistitle}}%
+ not test {\iffieldundef{booktitle}}
+ }{%
+ \printtext[booktitle]{%
+ \printfield[sentencecase]{booktitle}%
+ \setunit{\booksubtitlepunct}%
+ \printfield[midsentencecase]{booksubtitle}}%
+ \clearfield{booktitle}\clearfield{booksubtitle}%
+ }{%
+ \ifboolexpr{
+ test {\iffieldundef{title}}
+ and
+ test {\iffieldundef{subtitle}}
+ }{}{%
+ \printtext[title]{%
+ \printfield[sentencecase]{title}%
+ \setunit{\subtitlepunct}%
+ \printfield[midsentencecase]{subtitle}}%
+ \clearfield{title}\clearfield{subtitle}%
+ \toggletrue{bbx:labelistitle}}%
+ }%
}{%
\printfield{label}%
}%
@@ -2897,11 +3030,7 @@ This work is `maintained' (as per LPPL maintenance status) by [Alex Ball][me].
\renewbibmacro*{date+extrayear}{\usebibmacro{date+extradate}}%
}
\renewbibmacro*{issue+date}{%
- \ifboolexpr{
- test {\iffieldundef{issue}}
- and
- test {\iffieldundef{month}}
- }{}{%
+ \iffieldundef{issue}{}{%
\ifboolexpr{(
test {\iffieldundef{volume}}
and
@@ -2916,9 +3045,9 @@ This work is `maintained' (as per LPPL maintenance status) by [Alex Ball][me].
\printfield{issue}%
}%
}
- \setunit{\addcomma\space}%
- \printdate
}%
+ \setunit{\addcomma\space}%
+ \printdate
\newunit
}%
}%
@@ -3049,6 +3178,53 @@ This work is `maintained' (as per LPPL maintenance status) by [Alex Ball][me].
\iffieldundef{#2year} {\mknoyeardaterangetrunc{#1}{#2}}%
}{}{\wlog{WARNING: biblatex-bath failed to patch mkdaterangetruncextra@i}}%
\fi
+%
+% By default, Title--year combinations are not disambiguated, so we fix that
+% too.
+\DeclareFieldFormat{extraalpha}{%
+ \iffieldnums{labelyear}
+ {\mknumalph{#1}}
+ {\mkbibparens{\mknumalph{#1}}}}
+\DeclareLabelalphaTemplate{
+ \labelelement{
+ \field{label}
+ \field{labelname}
+ \field{labeltitle}
+ }
+ \labelelement{
+ \field{labelyear}
+ }
+}
+\xpatchcmd{\mkdaterangefullextra}{%
+ \printfield{extradate}%
+}{%
+ \printfield{extraalpha}%
+}{}{\wlog{WARNING: biblatex-bath failed to patch mkdaterangefullextra once}}%
+\xpatchcmd{\mkdaterangefullextra}{%
+ \printfield{extradate}%
+}{%
+ \printfield{extraalpha}%
+}{}{\wlog{WARNING: biblatex-bath failed to patch mkdaterangefullextra twice}}%
+\xpatchcmd{\mkdaterangefullextra}{%
+ \printfield{extradate}%
+}{%
+ \printfield{extraalpha}%
+}{}{\wlog{WARNING: biblatex-bath failed to patch mkdaterangefullextra thrice}}%
+\xpatchcmd{\mkdaterangetruncextra@i}{%
+ \printfield{extradate}%
+}{%
+ \printfield{extraalpha}%
+}{}{\wlog{WARNING: biblatex-bath failed to patch mkdaterangetruncextra@i once}}%
+\xpatchcmd{\mkdaterangetruncextra@i}{%
+ \printfield{extradate}%
+}{%
+ \printfield{extraalpha}%
+}{}{\wlog{WARNING: biblatex-bath failed to patch mkdaterangetruncextra@i twice}}%
+\xpatchcmd{\mkdaterangetruncextra@i}{%
+ \printfield{extradate}%
+}{%
+ \printfield{extraalpha}%
+}{}{\wlog{WARNING: biblatex-bath failed to patch mkdaterangetruncextra@i thrice}}%
% \end{macrocode}
%
@@ -3146,6 +3322,17 @@ This work is `maintained' (as per LPPL maintenance status) by [Alex Ball][me].
\DeclareFieldFormat{url}{\bibsentence\bibstring{urlfrom}\addcolon\space\url{#1}}
\DeclareFieldFormat{doi}{\bibsentence\bibstring{urlfrom}\addcolon\space\url{https://doi.org/#1}}
\DeclareFieldFormat{urldate}{\mkbibbrackets{\bibstring{urlseen}\space#1}}
+% \end{macrocode}
+%
+% Since URLs and DOIs are presented in exactly the same way, we combine them
+% such that the DOI overrides the URL.
+%
+% \begin{macrocode}
+\renewbibmacro*{url}{%
+ \iffieldundef{doi}%
+ {\printfield{url}}%
+ {\printfield{doi}}%
+}
\renewbibmacro*{doi+eprint+url}{%
\iftoggle{bbx:eprint}
{\usebibmacro{eprint}}
@@ -3154,17 +3341,26 @@ This work is `maintained' (as per LPPL maintenance status) by [Alex Ball][me].
\iftoggle{bbx:url}
{\usebibmacro{url+urldate}}
{}}
+% \end{macrocode}
+%
+% This backports changes to the |online| driver in biblatex v3.15 to earlier
+% versions, so the above works as intended.
+%
+% \begin{macrocode}
\xpatchbibdriver{online}{%
\iftoggle{bbx:doi}
{\printfield{doi}}
{}%
-}{}{}{\wlog{WARNING: biblatex-bath failed to remove extra DOI from online driver}}
-
-\renewbibmacro*{url}{%
- \iffieldundef{doi}%
- {\printfield{url}}%
- {\printfield{doi}}%
-}
+ \newunit\newblock
+ \iftoggle{bbx:eprint}
+ {\usebibmacro{eprint}}
+ {}%
+ \newunit\newblock
+ \usebibmacro{url+urldate}%
+}{%
+ \toggletrue{bbx:url}%
+ \usebibmacro{doi+eprint+url}%
+}{}{}
% \end{macrocode}
%
@@ -3245,7 +3441,7 @@ This work is `maintained' (as per LPPL maintenance status) by [Alex Ball][me].
}{%
\setunit{\addcomma\space}%
\usebibmacro{series+number}%
-}{}{\wlog{WARNING: biblatex-bath failed to patch book driver}}
+}{}{\wlog{WARNING: biblatex-bath failed to patch book driver (series+number)}}
\xpatchbibdriver{collection}{%
\newunit\newblock
@@ -3253,7 +3449,7 @@ This work is `maintained' (as per LPPL maintenance status) by [Alex Ball][me].
}{%
\setunit{\addcomma\space}%
\usebibmacro{series+number}%
-}{}{\wlog{WARNING: biblatex-bath failed to patch collection driver}}
+}{}{\wlog{WARNING: biblatex-bath failed to patch collection driver (series+number)}}
\xpatchbibdriver{inbook}{%
\newunit\newblock
@@ -3261,7 +3457,7 @@ This work is `maintained' (as per LPPL maintenance status) by [Alex Ball][me].
}{%
\setunit{\addcomma\space}%
\usebibmacro{series+number}%
-}{}{\wlog{WARNING: biblatex-bath failed to patch inbook driver}}
+}{}{\wlog{WARNING: biblatex-bath failed to patch inbook driver (series+number)}}
\xpatchbibdriver{incollection}{%
\newunit\newblock
@@ -3269,7 +3465,7 @@ This work is `maintained' (as per LPPL maintenance status) by [Alex Ball][me].
}{%
\setunit{\addcomma\space}%
\usebibmacro{series+number}%
-}{}{\wlog{WARNING: biblatex-bath failed to patch incollection driver}}
+}{}{\wlog{WARNING: biblatex-bath failed to patch incollection driver (series+number)}}
\xpatchbibdriver{inproceedings}{%
\newunit\newblock
@@ -3277,7 +3473,7 @@ This work is `maintained' (as per LPPL maintenance status) by [Alex Ball][me].
}{%
\setunit{\addcomma\space}%
\usebibmacro{series+number}%
-}{}{\wlog{WARNING: biblatex-bath failed to patch inproceedings driver}}
+}{}{\wlog{WARNING: biblatex-bath failed to patch inproceedings driver (series+number)}}
\xpatchbibdriver{proceedings}{%
\newunit\newblock
@@ -3285,7 +3481,7 @@ This work is `maintained' (as per LPPL maintenance status) by [Alex Ball][me].
}{%
\setunit{\addcomma\space}%
\usebibmacro{series+number}%
-}{}{\wlog{WARNING: biblatex-bath failed to patch proceedings driver}}
+}{}{\wlog{WARNING: biblatex-bath failed to patch proceedings driver (series+number)}}
% \end{macrocode}
%
@@ -3306,7 +3502,7 @@ This work is `maintained' (as per LPPL maintenance status) by [Alex Ball][me].
\newunit\newblock
\usebibmacro{maintitle+booktitle}%
\usebibmacro{byeditor+others}%
-}{}{\wlog{WARNING: biblatex-bath failed to patch incollection driver}}
+}{}{\wlog{WARNING: biblatex-bath failed to patch incollection driver (bookeditor)}}
\xpatchbibdriver{inproceedings}{%
\usebibmacro{in:}%
@@ -3323,7 +3519,71 @@ This work is `maintained' (as per LPPL maintenance status) by [Alex Ball][me].
\usebibmacro{byeditor+others}%
\newunit
\usebibmacro{event+venue+date}%
-}{}{\wlog{WARNING: biblatex-bath failed to patch inproceedings driver}}
+}{}{\wlog{WARNING: biblatex-bath failed to patch inproceedings driver (bookeditor)}}
+
+% \end{macrocode}
+%
+% \subsection{Works in books known by their title}
+%
+% In these cases, the title is moved after the edition information.
+%
+% \begin{macrocode}
+\DeclareBibliographyDriver{inreference}{%
+ \usebibmacro{bibindex}%
+ \usebibmacro{begentry}%
+ \usebibmacro{author/translator+others}%
+ \setunit{\printdelim{nametitledelim}}\newblock
+ \ifnameundef{author}{}{\usebibmacro{title}%
+ \newunit}%
+ \printlist{language}%
+ \newunit\newblock
+ \usebibmacro{byauthor}%
+ \newunit\newblock
+ \ifboolexpr{
+ test {\iffieldundef{maintitle}}
+ and
+ test {\iffieldundef{booktitle}}
+ }{}{%
+ \ifnameundef{editor}{}{\usebibmacro{in:}}%
+ \usebibmacro{bookeditor}%
+ \newunit\newblock
+ \usebibmacro{maintitle+booktitle}}%
+ \usebibmacro{byeditor+others}%
+ \newunit\newblock
+ \printfield{edition}%
+ \newunit
+ \iffieldundef{maintitle}
+ {\printfield{volume}%
+ \printfield{part}}
+ {}%
+ \newunit
+ \ifnameundef{author}{\usebibmacro{title}%
+ \newunit}{}%
+ \printfield{volumes}%
+ \newunit\newblock
+ \usebibmacro{series+number}%
+ \newunit\newblock
+ \printfield{note}%
+ \newunit\newblock
+ \usebibmacro{publisher+location+date}%
+ \newunit\newblock
+ \usebibmacro{chapter+pages}%
+ \newunit\newblock
+ \iftoggle{bbx:isbn}
+ {\printfield{isbn}}
+ {}%
+ \newunit\newblock
+ \usebibmacro{doi+eprint+url}%
+ \newunit\newblock
+ \usebibmacro{addendum+pubstate}%
+ \setunit{\bibpagerefpunct}\newblock
+ \usebibmacro{pageref}%
+ \newunit\newblock
+ \iftoggle{bbx:related}
+ {\usebibmacro{related:init}%
+ \usebibmacro{related}}
+ {}%
+ \usebibmacro{finentry}}
% \end{macrocode}
%
@@ -3341,7 +3601,7 @@ This work is `maintained' (as per LPPL maintenance status) by [Alex Ball][me].
\usebibmacro{library}%
\newunit\newblock
\usebibmacro{organization+location+date}%
-}{}{\wlog{WARNING: biblatex-bath failed to patch dataset driver}}
+}{}{\wlog{WARNING: biblatex-bath failed to patch dataset driver (publisher)}}
% \end{macrocode}
%
@@ -3359,7 +3619,7 @@ This work is `maintained' (as per LPPL maintenance status) by [Alex Ball][me].
\usebibmacro{library}%
\newunit\newblock
\usebibmacro{organization+location+date}%
-}{}{\wlog{WARNING: biblatex-bath failed to patch online driver}}
+}{}{\wlog{WARNING: biblatex-bath failed to patch online driver (publisher)}}
% \end{macrocode}
%
@@ -4105,6 +4365,24 @@ This work is `maintained' (as per LPPL maintenance status) by [Alex Ball][me].
%
% \begin{macrocode}
\DeclareBibliographyAlias{standard}{manual}
+
+% \end{macrocode}
+%
+% \subsection{Sorting}
+%
+% This source map helps with correct sorting of anonymous |inreference| entries.
+%
+% \begin{macrocode}
+\DeclareStyleSourcemap{%
+ \maps[datatype=bibtex]{%
+ \map{%
+ \pertype{inreference}
+ \step[notfield=author, final]
+ \step[fieldsource=booktitle]
+ \step[fieldset=sorttitle, origfieldval]
+ }%
+ }%
+}%
% \end{macrocode}
%
% \iffalse