0

:)

I would like to change the edition entry so that it sits at the end of the bib entry (but, in case there is also an addendum entry before the addendum).

I am currently using a workaround "abusing" the addendum field for this very purpose, but with an increasing amount of literature, it would be great to have that organized more neatly.

MWE:

  \documentclass[
  12pt,
  a4paper,
  headings=standardclasses,
  listof=totoc,
  numbers=noenddot
]{scrartcl}

\usepackage[left=2.50cm, right=2.50cm, top=2.50cm, bottom=2.00cm, footskip=1cm]{geometry}
\usepackage[onehalfspacing]{setspace}
\usepackage[main=ngerman, english]{babel}
\usepackage[babel, german=quotes]{csquotes}
\usepackage[ngerman]{isodate}
\usepackage[ngerman]{datetime}
%----------------------------------------------------------------------------
%   BIB
%----------------------------------------------------------------------------
\usepackage[
  backend=biber,
  style=ext-authoryear,
  sorting=nyvt,
  datamodel=customstyles,
  maxnames=25,
  innamebeforetitle=true,
  usetranslator=true,
  alldates=terse,
  labeldate=year,
  dashed=false,
  doi=false,
  isbn=false
]{biblatex}
\addbibresource{\jobname.bib}
\usepackage[hidelinks, pdfencoding=auto]{hyperref}

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

% editor in parentheses
\DeclareDelimFormat{editortypedelim}{\addspace} 
\DeclareFieldFormat{editortype}{\mkbibparens{#1}}
\DeclareDelimAlias{translatortypedelim}{editortypedelim}
\DeclareFieldAlias{translatortype}{editortype}

\DeclareFieldFormat
  [article,inbook,incollection,inproceedings,patent,online]
  {title}{#1\isdot}
%--------------------------------------------------------------------
%   MAIN
%--------------------------------------------------------------------
\begin{filecontents}{\jobname.bib}
@collection{Karnath.2012,
    addendum = {(3., aktualisierte und erweiterte Auflage)},
    title = {Kognitive Neurowissenschaften},
    editor = {Karnath, Hans-Otto and Thier, Peter},
    place = {Berlin, Heidelberg},
    publisher = {Springer},
    year = {2012}}
\end{filecontents}

\begin{document}
\parencite{Karnath.2012} 
\clearpage
\printbibheading[heading=bibintoc,title={Literaturverzeichnis}]
\printbibliography
\end{document}

This creates the desired format (but as said, is not really the correct way to use the fields) image

1

With biblatex-ext styles you can redefine the bibmacro edition to suppress the edition in its usual place. Then you just need to reinsert it in the desired position. (Here I chose to append the edition to the publisher, location [and date] details, because that seemed sensible and is towards the end of the entry, but you can pick another position, e.g. in addendum+pubstate as well).

\documentclass[
  12pt,
  a4paper,
  headings=standardclasses,
  listof=totoc,
  numbers=noenddot
]{scrartcl}
\usepackage[main=ngerman, english]{babel}
\usepackage[babel, german=quotes]{csquotes}

\usepackage[
  backend=biber,
  style=ext-authoryear,
  sorting=nyvt,
  datamodel=customstyles,
  maxnames=25,
  innamebeforetitle=true,
  usetranslator=true,
  alldates=terse,
  labeldate=year,
  dashed=false,
  doi=false,
  isbn=false
]{biblatex}
\addbibresource{\jobname.bib}
\usepackage[hidelinks, pdfencoding=auto]{hyperref}

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

% editor in parentheses
\DeclareDelimFormat{editortypedelim}{\addspace} 
\DeclareFieldFormat{editortype}{\mkbibparens{#1}}
\DeclareDelimAlias{translatortypedelim}{editortypedelim}
\DeclareFieldAlias{translatortype}{editortype}

\DeclareFieldFormat
  [article,inbook,incollection,inproceedings,patent,online]
  {title}{#1\isdot}

\DeclareFieldFormat{edition}{\mkbibparens{#1}}
\renewbibmacro*{edition}{}
\renewbibmacro*{pubinstorg+location+date}[1]{%
  \printlist{location}%
  \iflistundef{#1}
    {\setunit*{\locdatedelim}}
    {\setunit*{\locpubdelim}}%
  \printlist{#1}%
  \setunit*{\pubdatedelim}%
  \usebibmacro{date}%
  \newunit
  \printfield{edition}%
  \newunit}

\begin{filecontents}{\jobname.bib}
@collection{Karnath.2012,
  title     = {Kognitive Neurowissenschaften},
  editor    = {Karnath, Hans-Otto and Thier, Peter},
  location  = {Berlin and Heidelberg},
  publisher = {Springer},
  year      = {2012},
  edition   = {3., aktualisierte und erweiterte Auflage},
}
\end{filecontents}

\begin{document}
\autocite{Karnath.2012} 

\printbibliography[heading=bibintoc,title={Literaturverzeichnis}]
\end{document}

Karnath, Hans-Otto und Peter Thier (Hrsg.) (2012): Kognitive Neurowissenschaften. Berlin und Heidelberg: Springer. (3., aktualisierte und erweiterte Auflage).

For numeric-only editions, biblatex prefers the raw number (as in edition = {2}, instead of edition = {2. Auflage},), but if you have to give a more specific designation like "3., aktualisierte und erweiterte Auflage", the "Auflage" should be included in the field.

Note that the standard styles don't know a place field, the city of the publisher goes into the location field (or address if you want BibTeX backwards compatibility).

1
  • Thanks so much @moewe works beautifully!
    – user236381
    Apr 16 '21 at 14:22

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.