我需要更改@InCollection
参考书目中条目的打印方式。以下是 MWE:
\documentclass[preview,border=10pt]{standalone} %
\usepackage[backend=biber,style=authoryear]{biblatex} %
\usepackage{filecontents} %
\addbibresource{example.bib} %
\begin{filecontents}{example.bib}
@InCollection{lewis16,
author = {Lewis, David},
title = {The Paradoxes of Time Travel},
booktitle = {Science Fiction and Philosophy},
year = {2016},
crossref = {schneider16},
pages = {357--369}
}
@Book{schneider16,
title = {Science Fiction and Philosophy},
year = {2016},
editor = {Schneider, Susan},
publisher = {Wiley},
location = {New York}
}
\end{filecontents}
\DeclareFieldFormat[incollection]{pages}{#1} %
\renewcommand*{\intitlepunct}{\space} %
\begin{document}
\nocite{lewis16}
\printbibliography
\end{document}
目前,它给了我:
Lewis, David (2016). “时间旅行的悖论”。科幻与哲学. 苏珊·施耐德 (Susan Schneider) 编。纽约:Wiley,357–369。
但我需要:
Lewis, David (2016)。“时间旅行的悖论”。Susan Schneider 编辑。科幻与哲学, 357-369。纽约:Wiley。
并Schneider, Susan and Other Editor, eds.
适用于多编辑器卷。
我看过这个答案,但它没有解释如何重新格式化编辑者的姓名。
答案1
如果你有最新biblatex
版本(即当前版本:3.11),你可以使用biblatex-ext
它扩展了标准样式,提供一些额外的铃声和铃铛,包括以下选项innamebeforetitle
:
\documentclass[preview,border=10pt]{standalone} %
\usepackage[backend=biber,style=ext-authoryear,innamebeforetitle=true]{biblatex} %
\usepackage{filecontents} %
\addbibresource{example.bib} %
\begin{filecontents}{example.bib}
@InCollection{lewis16,
author = {Lewis, David},
title = {The Paradoxes of Time Travel},
booktitle = {Science Fiction and Philosophy},
year = {2016},
crossref = {schneider16},
pages = {357--369}
}
@Book{schneider16,
title = {Science Fiction and Philosophy},
year = {2016},
editor = {Schneider, Susan},
publisher = {Wiley},
location = {New York}
}
\end{filecontents}
\DeclareFieldFormat[incollection]{pages}{#1} %
\renewcommand*{\intitlepunct}{\space} %
\begin{document}
\nocite{lewis16}
\printbibliography
\end{document}