我需要将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}
文档中提到的@inbook
是一个疏忽,现已得到纠正(在提交中c6b792d
)。
正如解释的那样https://github.com/moewew/biblatex-ext/issues/20现在在biblatex-ext
文档中,您期望在booktitle
条目中看到的名称@inbook
是bookauthor
,因为@inbook
实际上是 '在 a 中@book
',其中主要名称是作者。因为@incollection
之前的名称booktitle
是编辑者,因为@incollection
是 '在 a 中@collection
',与 a 相关联的主要名称@collection
是其编辑者。
我还没有看到这样的条目示例,即最好在应该是而不能是editor
之前打印。如果您有此类条目的示例,请顺便访问booktitle
@inbook
@incollection
https://github.com/moewew/biblatex-ext/issues/20。