2

I am currently formatting bibliography using biblatex. For a book that's been published as part of a series, I want the following result in the bibliography:

Einstein, A. (1937): Some book. Ulm (=Einstein books 134)

where "Einstein book" is the series and "134" the number. How do I achieve this formatting? Here's an MWE:

\documentclass[oneside, a4paper,11pt]{scrartcl}
\usepackage[utf8]{inputenc} 
\usepackage[T1]{fontenc} 
    \usepackage[
    backend=biber,  %   Stellt die backend ein, BibTeX-Engine muss auch entsprechend umgestellt werden
    style=authoryear-ibid,  %   "Author, Jahr"-Zitierweise mit "ebd."-Option
    isbn=false, % keine ISBN, ISSN o. ä. im Literaturverzeichnis
    url=false,  % keine URL im Literaturverzeichnis, außer bei Online-Quellen
    doi=false,  % keine DOI im Literaturverzeichnis
    giveninits=true,    % nur Initialen der Autoren im Literaturverzeichnis
    date=year,% keine Monatsangabe im Literaturverzeichnis
    maxbibnames=99
    ]{biblatex}
    \addbibresource{cbba_li.bib}

\begin{document}
\newgeometry{left=2.5cm}
\include{cbba_ts}
\clearpage\maketitle
\thispagestyle{empty}
\restoregeometry
\tableofcontents
\thispagestyle{empty}
\newpage

%Optional: switch on line numbering in pdf.
% \linenumbers

%\include{Content} %  \include{file} starts on a new page.
\input{cbba_el} % \input{file} does not start on a new page.
\include{cbba_od} % Hier kommen jetzt alle Kapitel als einzelne Dateien zusammen

\printbibliography

\end{document}

.bib:

@book{einstein,
address = {Ulm},
author = {Einstein, Albert},
title = {{Some book}},
series = {Einstein books},
number = {134},
year = {1937}
}

1 Answers1

3

The most straight forward way of doing this is to redefine the series+number macro (from standard.bbx) to first print publisher+location+date, then (=series number). The publisher+location+date macro can then be redefined within series+number so that it does nothing when called later.

\renewbibmacro*{series+number}{%
  \iffieldundef{series}
    {}
    {\usebibmacro{publisher+location+date}%
     \renewbibmacro*{publisher+location+date}{}%
     \setunit{\addspace}%
     \printtext[parens]{%
       \printtext{$=$}%
       \printfield{series}%
       \setunit*{\addspace}%
       \printfield{number}}%
     \newunit}}

The colon before the title can be added by redefining \nametitledelim:

\DeclareDelimFormat[bib,biblist]{nametitledelim}{\addcolon\space}

MWE

\documentclass{article}
\usepackage{filecontents}
\begin{filecontents}{\jobname.bib}
@book{einstein,
  location = {Ulm},
  author = {Einstein, Albert},
  title = {Some book},
  series = {Einstein books},
  number = {134},
  date = {1937}
}
\end{filecontents}
\usepackage[
  style=authoryear-ibid,
  isbn=false,
  url=false,
  doi=false,
  giveninits=true,
  date=year,
  maxbibnames=99
]{biblatex}
\addbibresource{\jobname.bib}
\DeclareDelimFormat[bib,biblist]{nametitledelim}{\addcolon\space}
\renewbibmacro*{series+number}{%
  \iffieldundef{series}
    {}
    {\usebibmacro{publisher+location+date}%
     \renewbibmacro*{publisher+location+date}{}%
     \setunit{\addspace}%
     \printtext[parens]{%
       \printtext{$=$}%
       \printfield{series}%
       \setunit*{\addspace}%
       \printfield{number}}%
     \newunit}}
\begin{document}
\nocite{*}
\printbibliography
\end{document}

MWE output

David Purton
  • 25,884