0

I need to change the standard ext-authoryear format for book sections to:

Doe, Jane (2021) 'Title'. In: Doe, John (ed.) Book title. Publisher.

My current output is:

Screenshot of current layout

In the biblatex-ext bundle manual it is mentioned and on page 11 it is described that it is possible to print the name of the editor before the book title using the option innamebeforetitle=true. For some reason, this option does not seem to have any effect. What am I missing?

This is a minimal working example:

\documentclass{scrartcl}

\begin{filecontents}{references.bib}
@inbook{Doe,
author = {Smith, Jane},
title = {Title},
editor = {Doe, John},
booktitle = {Book title},
publisher = {Publisher},
date = {2021},
}
\end{filecontents}

\usepackage[%
    backend=biber,%
    style=ext-authoryear,%
    innamebeforetitle=true,%
]{biblatex}

\bibliography{references}

\begin{document}
\nocite{*}
\printbibliography
\end{document}
4
  • 3
    Simply use @incollection in place of @inbook
    – Ivan
    Feb 26 at 10:41
  • This nicely moves the editor behind the book title, but it also removes everything behind the editor, such as the publisher and pages. From the manual: "Whether or not the editor should be moved before the booktitle field for @inbook, @incollection and @inproceedings entries.". I would expect that it also works for @inbook.
    – Chris
    Feb 26 at 11:07
  • 1
    The mention of @inbook in the manual is an oversight. I will fix that ASAP. As mentioned in github.com/moewew/biblatex-ext/issues/20 so far all @inbooks that I have seen where you would want this behaviour were actually @incollections, so I think the current behaviour is sensible, but I'll gladly look at real world examples of entries that cannot be @incollections and must be @inbooks.
    – moewe
    Feb 26 at 11:19
  • I had accidentally added a second '@` in front of @incollection. This was the reason, why my `@incollection‘ entry failed.
    – Chris
    Feb 26 at 11:35
1

As Ivan says in the comments, you probably want to use @incollection instead of @inbook here.

\documentclass{scrartcl}
\usepackage[
  backend=biber,
  style=ext-authoryear,
  innamebeforetitle=true,
]{biblatex}

\DeclareDelimFormat{editortypedelim}{\addspace}
\DeclareFieldFormat{editortype}{\mkbibparens{#1}}

\DeclareDelimAlias{translatortypedelim}{editortypedelim}
\DeclareFieldAlias{translatortype}{editortype}

\DeclareNameAlias{ineditor}{sortname}

\begin{filecontents}{\jobname.bib}
@incollection{Doe,
  author    = {Smith, Jane},
  title     = {Title},
  editor    = {Doe, John},
  booktitle = {Book title},
  publisher = {Publisher},
  date      = {2021},
}
\end{filecontents}
\addbibresource{\jobname.bib}

\begin{document}
\nocite{*}
\printbibliography
\end{document}

Smith, Jane (2021). “Title”. In: Doe, John (ed.). Book title. Publisher.

The mention of @inbook in the documentation was an oversight that has since been corrected (in commit c6b792d).

As explained in https://github.com/moewew/biblatex-ext/issues/20 and now also in the biblatex-ext documentation, the name you'd expect to see before the booktitle in an @inbook entry is the bookauthor, since @inbook is really 'in a @book', where the primary name is the author. For @incollection the name before the booktitle is the editor since @incollection is 'in a @collection' and the primary name associated with a @collection is its editor.

I have yet to see an example of an entry where it is desirable to print the editor before the booktitle that should needs to be an @inbook and could not be an @incollection . If you have an example of such an entry, please drop by https://github.com/moewew/biblatex-ext/issues/20.

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.