BibLaTeX ext-authoryear“编辑应移至书名之前”

BibLaTeX ext-authoryear“编辑应移至书名之前”

我需要将ext-authoryear书籍章节的标准格式更改为:

Doe, Jane (2021) “标题”。收录于:Doe, John (ed.)书名. 出版商.

我当前的输出是:

当前布局的屏幕截图

在里面biblatex-ext捆绑手册提到并在第 11 页描述可以使用选项在书名前打印编辑者的姓名innamebeforetitle=true。出于某种原因,此选项似乎没有任何效果。我遗漏了什么?

这是一个最小的工作示例:

\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}

答案1

作为伊万在评论中,您可能想在这里使用@incollection而不是@inbook

\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)。“标题”。收录于:Doe, John (ed.)。书名。出版商。

文档中提到的@inbook是一个疏忽,现已得到纠正(在提交中c6b792d)。

正如解释的那样https://github.com/moewew/biblatex-ext/issues/20现在在biblatex-ext文档中,您期望在booktitle条目中看到的名称@inbookbookauthor,因为@inbook实际上是 '在 a 中@book',其中主要名称是作者。因为@incollection之前的名称booktitle是编辑者,因为@incollection是 '在 a 中@collection',与 a 相关联的主要名称@collection是其编辑者。

我还没有看到这样的条目示例,即最好在应该是而不能是editor之前打印。如果您有此类条目的示例,请顺便访问booktitle@inbook@incollectionhttps://github.com/moewew/biblatex-ext/issues/20

相关内容