summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/doc/latex/biblatex-ext/biblatex-ext.tex
diff options
context:
space:
mode:
Diffstat (limited to 'Master/texmf-dist/doc/latex/biblatex-ext/biblatex-ext.tex')
-rw-r--r--Master/texmf-dist/doc/latex/biblatex-ext/biblatex-ext.tex220
1 files changed, 160 insertions, 60 deletions
diff --git a/Master/texmf-dist/doc/latex/biblatex-ext/biblatex-ext.tex b/Master/texmf-dist/doc/latex/biblatex-ext/biblatex-ext.tex
index 7e635f7b4cf..1d2cf477277 100644
--- a/Master/texmf-dist/doc/latex/biblatex-ext/biblatex-ext.tex
+++ b/Master/texmf-dist/doc/latex/biblatex-ext/biblatex-ext.tex
@@ -116,8 +116,8 @@
iflistundef,iffieldundef,ifnameundef,
ExecuteBibliographyOptions,
DeclareFieldFormat,DeclareDelimFormat,DeclareDelimcontextAlias,
- DeclareInnerCiteDelim,UndeclareInnerCiteDelim,DeclareInnerCiteDelimAlias,
- DeclareOuterCiteDelim,UndeclareOuterCiteDelim,DeclareOuterCiteDelimAlias,
+ DeclareInnerCiteDelims,UndeclareInnerCiteDelims,DeclareInnerCiteDelimsAlias,
+ DeclareOuterCiteDelims,UndeclareOuterCiteDelims,DeclareOuterCiteDelimsAlias,
introcitepunct,volnumdelim,maintitletitledelim,voltitledelim,sernumdelim,
volnumdatedelim,locdatedelim,locpubdelim,publocdelim,pubdatedelim,
extradateonlycompcitedelim,introcitesep,introcitewidth,introcitesep},
@@ -391,11 +391,12 @@
\newrobustcmd*{\bibmacro}[1]{\sty{#1}}
\renewrobustcmd*{\bibtype}[1]{\sty{@#1}}
\renewrobustcmd*{\cmd}[1]{\sty{\textbackslash #1}}
+\let\cs\cmd
\newrobustcmd*{\bibfieldformat}[1]{{\bibfieldformatfont #1}}
\newcommand*{\ctan}{\mkbibacro{CTAN}}
\newcommand*{\gitbaseurl}{https://github.com/moewew/biblatex-ext}
-\newcommand*{\extblxversion}{0.3}
+\newcommand*{\extblxversion}{0.4}
\newcommand*{\biber}{Biber}
\newcommand*{\gitissuelink}[1]{%
\href{\gitbaseurl/issues/#1}{issue \##1 on github}}
@@ -412,7 +413,7 @@
author = {Moritz Wemheuer},
link = {mwemheu@gmail.com},%
revision = {\extblxversion},
- date = {\DTMDate{2018-06-04}},
+ date = {\DTMDate{2018-06-10}},
}
\hypersetup{%
@@ -446,7 +447,7 @@ The \sty{biblatex-ext} bundle provides an extended version of the standard
styles that come with \sty{biblatex}.
For each standard style this bundle provides a style with the same name
prefixed with \texttt{ext-} which can be used as a drop-in replacement for the
-standard style -- for example, the replacement for \sty{authoryear-icomp}
+standard style~-- for example, the replacement for \sty{authoryear-icomp}
is called \sty{ext-authoryear-icomp}.
The aim of the styles of this bundle is to offer a simple interface to change
@@ -470,7 +471,7 @@ But if one does not want to resort to clever tricks,%
\footnote{See \url{https://tex.stackexchange.com/q/122218/} and
\url{https://tex.stackexchange.com/q/173638/} for example.}
the modifications needed to do this in a stable, safe and clean manner by
-redefining the bibliography drivers can easily amass hundred lines of code --
+redefining the bibliography drivers can easily amass hundred lines of code~--
code you may not want to see in your preamble.
Some contributed \sty{biblatex} styles already place the editor in the
desired position, but you may not want to commit to the other changes implied
@@ -522,6 +523,32 @@ Most of the new features of this bundle do not require \biber{} explicitly in
their implementation, but many \sty{biblatex} standard features only work
properly with \biber{}.
+\subsection{Compatibility with earlier versions}\label{sec:backw}
+In an ideal world all changes to the styles in this bundle would be fully
+backwards compatible. Unfortunately we do not live in this ideal world.
+Most changes to this bundle should introduce new features that have little
+relevant impact on existing functionality. But the occasional change
+may have more lasting consequences and may cause existing customisations to
+fail.
+In fact all changes have the potential to break someone's code, since
+\sty{biblatex} styles have little to no distinction between public and internal
+code.
+Still, some changes are more likely to be problematic than others and those
+should be kept to a minimum. They can, however, be required to move development
+forward.
+
+If possible, backwards compatiblity measures that allow old code to
+continue to work are in place. Sometimes that is not feasible and in those
+cases the next best solution is to warn if old code is used, so please check
+the log file for warnings~-- especially after an update.
+But at times not even that is possible, so it is always a good idea to consult
+the change history after an update and to examine the output with extra
+scrutiny.
+Higher-level changes are found in the revision history in \cref{sec:log},
+more technical changes and commentary can be found in \sty{CHANGES.md},
+the full set of changes can be investigated by comparing the tagged and
+publicly available source code.
+
\subsection{Installation}\label{sec:install}
This style bundle is available on \ctan.%
\fnurl{https://ctan.org/pkg/biblatex-ext}
@@ -534,8 +561,8 @@ If you must install this package manually, get the files from \ctan{}
and install the \sty{.bbx}, \sty{.cbx} and \sty{.def} files preferably to
\path{tex/latex/biblatex-ext} of your local or home \TeX{} tree, the other
files (\path{CHANGES.md}, \path{README.md}, \path{biblatex-ext.tex},
-\path{biblatex-ext.pdf} and \path{biblatex-ext-examples.bib}) go to
-\path{doc/latex/biblatex-ext}, you may have to refresh your file name database
+\path{biblatex-ext.pdf} and \path{biblatex-ext-examples.bib}) go into
+\path{doc/latex/biblatex-ext}. You may have to refresh your file name database
afterwards, so \tex{} can find the files.
\subsection{License}\label{sec:license}
@@ -554,8 +581,11 @@ submit suggestions and feature requests, or you can do so via email.
If you do not want to report a bug or request a feature, but are simply in need
of assistance, you might want to consider posting your question on the
-\texttt{comp.text.tex} newsgroup or \tex{} -- \latex{} Stack Exchange.%
+\texttt{comp.text.tex} newsgroup or \tex{}~--~\latex{} Stack Exchange.%
\fnurl{https://tex.stackexchange.com/questions/tagged/biblatex}
+If after a consultation on one of these sites it turns out you have happened
+upon a bug or that you can formulate a request for a new feature that could be
+useful, please head over to GitHub or send me an email.
\section{Use}\label{sec:use}
The \sty{biblatex-ext} bundle is a collection of \sty{biblatex} style files.
@@ -581,10 +611,10 @@ Of the many introductory texts and tutorials available on the internet%
the author particularly likes
Knut Hegna and Dag Langmyhr's \emph{Local Guide to \sty{biblatex}}%
\fnurl{http://dag.at.ifi.uio.no/public/doc/biblatex-guide.pdf}
-and Paul Stanley's \emph{\sty{biblatex} -- An Easier Read}%
+and Paul Stanley's \emph{\sty{biblatex}~-- An Easier Read}%
\fnurl{https://github.com/PaulStanley/biblatex-tutorial/releases}.
French speakers may want to consider Maïeul Rouquette's
-\foreignlanguage{french}{\emph{(Xe)\LaTeX{} Appliqué aux sciences humaines}}%
+\foreignlanguage{french}{\emph{(Xe)\LaTeX{} Appliqué aux sciences humaines}}
available on \ctan\fnurl{https://ctan.org/pkg/latex-sciences-humaines}.
If you read German you may be interested in Dominik Waßenhoven's two-part
series \foreignlanguage{ngerman}{\emph{Bibliographien erstellen mit
@@ -851,12 +881,12 @@ All other entry types are not affected by this option.
\makeatother
\endgroup
-\boolitem[false]{citeinxref}
+\boolitem[false]{citexref}
This option controls if \bibtype{inbook}, \bibtype{incollection} and
\bibtype{inproceedings} entries that are tied to a parent entry with
\bibfield{xref} or \bibfield{crossref} should cite their parent in the
bibliography if the parent is listed in the bibliography as a separate entry.
-With the default setting \kvopt{citeinxref}{false} the parent is not cited, the
+With the default setting \kvopt{citexref}{false} the parent is not cited, the
entry is shown as in the standard styles. If the option is set to
\opt{true}, the block following the \enquote{in:} is replaced by a citation
to the parent entry.
@@ -866,35 +896,35 @@ bibliography, this needs to happen either explicitly by citing the parent
\opt{mincrossrefs} option.
\nocite{westfahl:frontier}
-\begin{bibexample}[title={\kvopt{citeinxref}{true}}]
+\begin{bibexample}[title={\kvopt{citexref}{true}}]
\makeatletter
\renewbibmacro*{crosscite}[1]{%
\printtext[highlight1]{%
- \iftoggle{bbx:citeinxref}
+ \iftoggle{bbx:citexref}
{\iffieldundef{crossref}
{\iffieldundef{xref}
{\usebibmacro{#1}}
- {\printtext{\bbx@cite@inxref{\thefield{xref}}}}}
- {\printtext{\bbx@cite@inxref{\thefield{crossref}}}}}
+ {\printtext{\bbx@xrefcite{\thefield{xref}}}}}
+ {\printtext{\bbx@xrefcite{\thefield{crossref}}}}}
{\usebibmacro{#1}}}}
\makeatother
-\toggletrue{bbx:citeinxref}
+\toggletrue{bbx:citexref}
\exampleprintbib{westfahl:space}
\end{bibexample}
-\begin{bibexample}[title={\kvopt{citeinxref}{false}}]
+\begin{bibexample}[title={\kvopt{citexref}{false}}]
\makeatletter
\renewbibmacro*{crosscite}[1]{%
\printtext[highlight1]{%
- \iftoggle{bbx:citeinxref}
+ \iftoggle{bbx:citexref}
{\iffieldundef{crossref}
{\iffieldundef{xref}
{\usebibmacro{#1}}
- {\printtext{\bbx@cite@inxref{\thefield{xref}}}}}
- {\printtext{\bbx@cite@inxref{\thefield{crossref}}}}}
+ {\printtext{\bbx@xrefcite{\thefield{xref}}}}}
+ {\printtext{\bbx@xrefcite{\thefield{crossref}}}}}
{\usebibmacro{#1}}}}
\makeatother
-\togglefalse{bbx:citeinxref}
+\togglefalse{bbx:citexref}
\exampleprintbib{westfahl:space}
\end{bibexample}
@@ -1166,7 +1196,7 @@ labels in a \sty{numeric} bibliography.
\begingroup
\togglefalse{bbx:doi}
\setlength{\introcitewidth}{5.5\biblabelsep}
-\DeclareFieldFormat{bbx:introcite}{\highlight{#1}}
+\DeclareFieldFormat{bbx@introcite}{\highlight{#1}}
\renewcommand*{\introcitepunct}{\highlight{\addcolon}\space}
\makeatletter
\begin{bibexample}[title={\kvopt{introcite}{false}}]
@@ -1218,13 +1248,17 @@ The label produced by the \opt{plain} option can be customised as follows.
\renewbibmacro*{related:init}{%
\csundef{bbx:relatedloop}%
\iftoggle{bbx:introcite:plain:keeprelated}{%
- \DeclareFieldFormat{bbx:introcite}{\highlight{##1}}%
+ \DeclareFieldFormat{bbx@introcite}{\highlight{##1}}%
\renewcommand*{\introcitepunct}{\highlight{\addcolon}\space}%
}{\renewbibmacro{introcite:plain}{}}}
\csuse{extblx@opt@dashed@false}
\csletcs{extblx@introcite}{extblx@opt@introcite@plain}
\exampleprintbib{vizedom:related}
\end{bibexample}
+Note that the implementation of some related types automatically suppresses
+the introcite label~-- or rather, does not add the label in the first place.
+That means that the resulting bibliography should be checked for consistency
+if the toggle is set to \opt{true}.
\end{keymarglistbook}
The \opt{label} option can be configured to not allow the label to run into
@@ -1288,25 +1322,26 @@ overlay={%
\makeatother
The appearance of the citation label can be customised mostly as if it were
-produced by a true citation command called \cmd{bbx:introcite}.
-The delimiter context is \sty{bbx:introcite}, the inner citation delimiters
-can be accessed as \sty{bbx:introcite} as well.
+produced by a true citation command called \cmd{bbx@introcite}.
+The delimiter context is \sty{bbx@introcite}, the inner citation delimiters
+can be accessed as \sty{bbx@introcite} as well.
The label does not have outer citation delimiters, you can use the wrapper
-field format \sty{bbx:introcite} instead. In fact this approach is more
+field format \sty{bbx@introcite} instead. In fact this approach is more
versatile than the outer citation delimiter feature (see the discussion in
\cref{sec:opt:citedelims}).
+The default settings for \cmd{bbx@introcite} emulate the output of \cmd{cite}.
\begin{bibexample}[title={Example customisations for \kvopt{introcite}{plain}}]
\begin{lstlisting}[style=extblxstylelatex]
-\DeclareFieldFormat{bbx:introcite}{\mkbibbrackets{#1}}
-\DeclareDelimFormat[bbx:introcite]{nameyeardelim}{\addcomma\space}
-\UndeclareInnerCiteDelim{bbx:introcite}
+\DeclareFieldFormat{bbx@introcite}{\mkbibbrackets{#1}}
+\DeclareDelimFormat[bbx@introcite]{nameyeardelim}{\addcomma\space}
+\UndeclareInnerCiteDelims{bbx@introcite}
\renewcommand*{\introcitepunct}{\quad}
\end{lstlisting}
\tcblower
-\DeclareFieldFormat{bbx:introcite}{\mkbibbrackets{#1}}
-\DeclareDelimFormat[bbx:introcite]{nameyeardelim}{\addcomma\space}
-\UndeclareInnerCiteDelim{bbx:introcite}
+\DeclareFieldFormat{bbx@introcite}{\mkbibbrackets{#1}}
+\DeclareDelimFormat[bbx@introcite]{nameyeardelim}{\addcomma\space}
+\UndeclareInnerCiteDelims{bbx@introcite}
\renewcommand*{\introcitepunct}{\quad}
\csuse{extblx@opt@dashed@false}
\csletcs{extblx@introcite}{extblx@opt@introcite@plain}
@@ -1315,23 +1350,23 @@ versatile than the outer citation delimiter feature (see the discussion in
\begin{bibexample}[title={Example customisations for \kvopt{introcite}{label}}]
\begin{lstlisting}[style=extblxstylelatex]
-\DeclareFieldFormat{bbx:introcite}{\mkbibbold{#1}}
-\DeclareDelimcontextAlias{bbx:introcite}{textcite}
-\DeclareInnerCiteDelim{bbx:introcite}{\bibopenparen}{\bibcloseparen}
+\DeclareFieldFormat{bbx@introcite}{\mkbibbold{#1}}
+\DeclareDelimFormat[bbx@introcite]{nameyeardelim}{\addspace}
+\DeclareInnerCiteDelims{bbx@introcite}{\bibopenparen}{\bibcloseparen}
\setlength{\introcitewidth}{0pt}
\setlength{\introcitesep}{\bibhang}
\end{lstlisting}
\tcblower
-\DeclareFieldFormat{bbx:introcite}{\mkbibbold{#1}}
-\DeclareDelimcontextAlias{bbx:introcite}{textcite}
-\DeclareInnerCiteDelim{bbx:introcite}{\bibopenparen}{\bibcloseparen}
+\DeclareFieldFormat{bbx@introcite}{\mkbibbold{#1}}
+\DeclareDelimFormat[bbx@introcite]{nameyeardelim}{\addspace}
+\DeclareInnerCiteDelims{bbx@introcite}{\bibopenparen}{\bibcloseparen}
\setlength{\introcitewidth}{0pt}
\setlength{\introcitesep}{\bibhang}
\csuse{extblx@opt@dashed@false}
\csletcs{extblx@introcite}{extblx@opt@introcite@label}
\exampleprintbib{coleridge,geer}
\end{bibexample}
-\csgundef{blx@delimcontextalias@bbx:introcite}
+\csgundef{blx@delimcontextalias@bbx@introcite}
% because \DeclareDelimcontextAlias is global ... at the moment, this can go
% with biblatex >= 3.12
@@ -1760,10 +1795,16 @@ Style family & \cmd{cite} & \cmd{parencite} & \cmd{textcite}\\
{closing delimiter}
Sets up the outer delimiters for the citation command
-\cmd{$\langle$\emph{cite command}$\rangle$}. The name of the \prm{cite command}
+\cmd{\prm{cite command}}. The name of the \prm{cite command}
is given without leading backslash in the argument, it normally corresponds to
the delimiter context.
+Note that outer citation delimiters are often hard-coded so they usually do not
+respond to delimiter context alises.
+Inner citation delimiters, on the other hand, usually follow delimiter context
+aliases.
+This may lead to initially surprising results if aliases are used.
+
You may use almost any input for \prm{opening delimiter} and
\prm{closing delimiter} as long as typesetting of
\enquote{\prm{opening delimiter}text\prm{closing delimiter}} does not lead to
@@ -1787,66 +1828,115 @@ commands respond to nesting and check if opening brackets are always closed.
\cmditem{DeclareOuterCiteDelimAlias}{cite alias}{cite command}
\cmditem*{DeclareOuterCiteDelimAlias*}{cite alias}{cite command}
-Use the outer delimiters of \cmd{$\langle$\emph{cite command}$\rangle$} for
-\cmd{$\langle$\emph{cite alias}$\rangle$} as well.
+Use the outer delimiters of \cmd{\prm{cite command}} for
+\cmd{\prm{cite alias}} as well.
The unstarred version uses \cmd{def} assignment while the starred version uses
\cmd{let}. This means that the starred version copies the values of the
definitions at the time of executing the aliasing command,
whereas the alias created by the unstarred version will only evaluate the
delimiters whenever the citation command is called.
-\cmditem{UndeclareOuterCiteDelim}{cite command}
+\cmditem{UndeclareOuterCiteDelims}{cite command}
Completely remove the definitions of the outer delimiters for
-\cmd{$\langle$\emph{cite command}$\rangle$}.
+\cmd{\prm{cite command}}.
\cmditem{DeclareInnerCiteDelim}{cite command}{opening delimiter}
{closing delimiter}
Sets up the inner delimiters for the citation command
-\cmd{$\langle$\emph{cite command}$\rangle$}.
+\cmd{\prm{cite command}}.
This command is similar to \cmd{DeclareOuterCiteDelim} and the same
restrictions for the arguments apply.
+Note that inner citation delimiters usually follow context delimiter aliases.
+Outer citation delimiters, on the other hand, do not respond to context
+delimiter aliases.
+This may lead to initially surprising results if aliases are used.
+
\cmditem{DeclareInnerCiteDelimAlias}{cite alias}{cite command}
\cmditem*{DeclareInnerCiteDelimAlias*}{cite alias}{cite command}
-Use the inner delimiters of \cmd{$\langle$\emph{cite command}$\rangle$} for
-\cmd{$\langle$\emph{cite alias}$\rangle$} as well.
+Use the inner delimiters of \cmd{\prm{cite command}} for
+\cmd{\prm{cite alias}} as well.
The unstarred version uses \cmd{def} assignment while the starred version uses
\cmd{let}. This means that the starred version copies the values of the
definitions at the time of executing the aliasing command,
whereas the alias created by the unstarred version will only evaluate the
delimiters whenever the citation command is called.
-\cmditem{UndeclareInnerCiteDelim}{cite command}
+\cmditem{UndeclareInnerCiteDelims}{cite command}
Completely remove the definitions of the inner delimiters for
-\cmd{$\langle$\emph{cite command}$\rangle$}.
+\cmd{\prm{cite command}}.
+
+\cmditem{RegisterCiteDelims}{modifier}{cite command}
+
+Register a pair of \prm{modifier} citation delimiters for
+\cmd{\prm{cite command}}.
+This command will define a delimiter wrapper command
+\cmd{mk\prm{modifier}\prm{cite command}s} that places its argument between
+the opening delimiter
+\cs{ext\allowbreak blx@\allowbreak cite\allowbreak delim@\allowbreak
+ \prm{cite command}@\allowbreak\prm{modifier}@\allowbreak open} and
+the closing delimiter
+\cs{ext\allowbreak blx@\allowbreak cite\allowbreak delim@\allowbreak
+ \prm{cite command}@\allowbreak\prm{modifier}@\allowbreak close}.
+No error will be raised if the opening or closing delimiters are not defined,
+but an error will be raised if \cmd{mk\prm{modifier}\prm{cite command}s} is
+already defined.
+
+The styles of this bundle only use the values \opt{outer} and \opt{inner} for
+\prm{modifier}, but other values are possible. With \opt{outer} and \opt{inner}
+you can use \cmd{DeclareOuterCiteDelim} or \cmd{DeclareInnerCiteDelim} and
+friends to define the opening and closing delimiters, otherwise you need to
+define them manually.
+
+All styles of \sty{biblatex-ext} define the following wrapper commands
+\begin{table}[btph]
+\centering
+\caption{Delimiter wrappers defined by \sty{biblatex-ext}}
+\label{tab:delimwrappers}
+\begin{tabular}{@{}lll@{}}
+\toprule
+ & \multicolumn{2}{c}{Modifier} \\
+ \cmidrule(lr){2-3}
+Citation command & Outer & Inner\\
+\midrule
+\cmd{cite} & \cmd{mkoutercitedelims} & \cmd{mkinnercitedelims}\\
+\cmd{parencite} & \cmd{mkouterparencitedelims} & \cmd{mkinnerparencitedelims}\\
+\cmd{textcite} & \cmd{mkoutertextcitedelims} & \cmd{mkinnertextcitedelims}\\
+\cmd{footcite} & & \cmd{mkinnerfootcitedelims}\\
+\cmd{bbx@xrefcite} & \cmd{mkouterbbx@xrefcitedelims} & \cmd{mkinnerbbx@xrefcitedelims}\\
+\enquote{\cmd{bbx@introcite}} & & \cmd{mkinnerbbx@introcitedelims}\\
+\bottomrule
+\end{tabular}
+\end{table}
+
The \sty{authoryear} and \sty{authortitle} styles have \cmd{parencite},
e.g.\ \parencite{knuth:ct:a}, \parencite{sigfridsson}, set up with
\begin{biblatexcode}
-\DeclareOuterCiteDelim{parencite}{\bibopenparen}{\bibcloseparen}
-\DeclareInnerCiteDelim{parencite}{}{}
+\DeclareOuterCiteDelims{parencite}{\bibopenparen}{\bibcloseparen}
+\DeclareInnerCiteDelims{parencite}{}{}
\end{biblatexcode}
and \cmd{textcite}, e.g.\ \textcite{knuth:ct:a}, \textcite{sigfridsson}, with
\begin{biblatexcode}
-\DeclareOuterCiteDelim{textcite}{}{}
-\DeclareInnerCiteDelim{textcite}{\bibopenparen}{\bibcloseparen}
+\DeclareOuterCiteDelims{textcite}{}{}
+\DeclareInnerCiteDelims{textcite}{\bibopenparen}{\bibcloseparen}
\end{biblatexcode}
If you wanted \cmd{parencite} of \sty{authoryear} to look like
\enquote{[Sigfridsson and Worman (1998)]} you would use
\begin{biblatexcode}
-\DeclareOuterCiteDelim{parencite}{|1\bibopenbracket1|}{|1\bibclosebracket1|}
-\DeclareInnerCiteDelim{parencite}{|2\bibopenparen2|}{|2\bibcloseparen2|}
+\DeclareOuterCiteDelims{parencite}{|1\bibopenbracket1|}{|1\bibclosebracket1|}
+\DeclareInnerCiteDelims{parencite}{|2\bibopenparen2|}{|2\bibcloseparen2|}
\end{biblatexcode}
\citereset
\begin{bibexample}
-\DeclareOuterCiteDelim{parencite}{\highlightbf[1]{\bibopenbracket}}{%
+\DeclareOuterCiteDelims{parencite}{\highlightbf[1]{\bibopenbracket}}{%
\highlightbf[1]{\bibclosebracket}}
-\DeclareInnerCiteDelim{parencite}{\highlightbf[2]{\bibopenparen}}{%
+\DeclareInnerCiteDelims{parencite}{\highlightbf[2]{\bibopenparen}}{%
\highlightbf[2]{\bibcloseparen}}
\parencite{sigfridsson}\quad\parencite{worman,geer}\quad
\parencite{knuth:ct:a,knuth:ct:b,knuth:ct:c}
@@ -1937,6 +2027,16 @@ The GitHub repository of this project uses release tags, so you can compare
the changes in source code there.\footnote{\url{\gitbaseurl/compare/}}
See also \sty{CHANGES.md}.
\begin{changelog}
+\begin{release}{0.4}{2018-06-10}
+\item Renamed \cmd{DeclareOuterCiteDelim} and friends to
+ \cmd{DeclareOuterCiteDelims}
+ \see{sec:opt:citedelims}
+\item Added \cmd{RegisterCiteDelims}
+ \see{sec:opt:citedelims}
+\item Renamed \enquote{virtual} cite command \cmd{bbx:introcite} to
+ \cmd{bbx@introcite}
+ \see{sec:opt:style}
+\end{release}
\begin{release}{0.3}{2018-06-04}
\item Added \bibfieldformat{titlecase:\dots title} field formats%
\see{sec:opt:field}