![biblatex-verbose:编辑器后的逗号而不是句号](https://linux22.com/image/274450/biblatex-verbose%EF%BC%9A%E7%BC%96%E8%BE%91%E5%99%A8%E5%90%8E%E7%9A%84%E9%80%97%E5%8F%B7%E8%80%8C%E4%B8%8D%E6%98%AF%E5%8F%A5%E5%8F%B7.png)
“编辑”后面的句号应该是逗号。我找到了 bibmacro byeditor+others
,但不知道需要更改什么。\DeclareFieldFormat
在其他情况下有助于标点符号的 也没有帮助。
\documentclass{article}
\usepackage[style=verbose]{biblatex}
\usepackage{filecontents}
\begin{filecontents}{\jobname.bib}
@incollection{foo,
author = {Author},
title = {Title},
booktitle = {Booktitle},
editor = {Editor},
location = {Location},
year = {2013},
}
\end{filecontents}
\addbibresource{\jobname.bib}
\begin{document}
\nocite{foo}
\printbibliography
\end{document}
答案1
我不知道以下是否是最好的方法,但在定义中用\newunit
替换是可行的。\addcomma
byeditor+others
添加
\renewbibmacro*{byeditor+others}{%
\ifnameundef{editor}
{}
{\usebibmacro{byeditor+othersstrg}%
\setunit{\addspace}%
\printnames[byeditor]{editor}%
\clearname{editor}%
\addcomma}%
\usebibmacro{byeditorx}%
\usebibmacro{bytranslator+others}}
你的序言。
因此,修改你的 MWE 为
\documentclass{article}
\usepackage[style=verbose]{biblatex}
\usepackage{filecontents}
\begin{filecontents}{\jobname.bib}
@incollection{foo,
author = {Author},
title = {Title},
booktitle = {Booktitle},
editor = {Editor},
location = {Location},
year = {2013},
}
\end{filecontents}
\renewbibmacro*{byeditor+others}{%
\ifnameundef{editor}
{}
{\usebibmacro{byeditor+othersstrg}%
\setunit{\addspace}%
\printnames[byeditor]{editor}%
\clearname{editor}%
\addcomma}%
\usebibmacro{byeditorx}%
\usebibmacro{bytranslator+others}}
\addbibresource{\jobname.bib}
\begin{document}
\nocite{foo}
\printbibliography
\end{document}
给出