5

With biblatex, an addendum field prints at the very end of a bibliographic entry. How can the punctuation preceding it be changed to a semicolon (without changing the punctuation after all fields)?

Addendum field wants semicolon not comma

In the example illustrated above with source given below, the addendum field happens to be for an article entry, but the punctuation change needs to be robust in the sense that it could very well be for any other kind of entry, e.g., book.

\documentclass{memoir}
\usepackage[style=numeric,backend=bibtex]{biblatex}

\begin{filecontents}{shortbib.bib}
@article{Euler1776,
Author = {Euler, Leonhard},Title = {All about E},
Journal = {Math.\ Psych.},Year = {1776},Volume = {4},Pages={1--2718},
Addendum={popularization of earlier technical article}}
\end{filecontents}

\addbibresource{shortbib.bib}

\begin{document}

\nocite{*}
\printbibliography

\end{document}

I'm using the following biblatex.cfg, and I presume somehow I need to add to it.

\ProvidesFile{biblatex.cfg}
%
\renewcommand*{\newunitpunct}{\addcomma\space}
\renewcommand{\subtitlepunct}{\addcolon\addspace}
%
\DeclareNameAlias{sortname}{last-first}
%
\DeclareFieldFormat
  [article,inbook,incollection,inproceedings]
  {title}{\emph{#1}}% no quote marks
  \DeclareFieldFormat{journaltitle}{{#1}}
%
\DeclareFieldFormat
  [article,inbook,incollection,inproceedings]
  {volume}{\textbf{#1}}
%  
\DeclareFieldFormat{pages}{#1}% no prefix for the `pages` field
\renewbibmacro{in:}{%
  \ifentrytype{article}{}{\printtext{\bibstring{in}\intitlepunct}}} 
1
  • It is a bit nicer to use \mkbibemph instead of \emph and \mkbibbold iunstead of \textbf. In \DeclareFieldFormat{journaltitle}{{#1}} you could get rid of one pair of curly braces: \DeclareFieldFormat{journaltitle}{#1} is just fine. BTW: If you want all titles to be emph-ed, just go with \DeclareFieldFormat*{title}{\mkbibemph{#1}}.
    – moewe
    Commented Oct 25, 2016 at 7:36

1 Answer 1

6

We can add the relevant punctuation command to the addendum+pubstate macro

\renewbibmacro*{addendum+pubstate}{%
  \setunit{\addsemicolon\space}%
  \printfield{addendum}%
  \newunit\newblock
  \printfield{pubstate}}
1
  • OK! I knew it was something like that but couldn't discern the appropriate macro )addendum+pubstate to modify.
    – murray
    Commented Oct 24, 2016 at 22:00

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .