我希望宏\finalnamedelim
对于引用和书目条目有不同的行为。
尤其是在正好两个作者(如果有更多作者,引用格式无论如何都使用“et al”),在引用中应该使用“and”作为分隔符,但逗号在围兜条目中。
这是我的 MWE:
\documentclass[a4paper,12pt,oneside]{scrreprt}
% ----------------------------------------------------------
\usepackage[%
style=authoryear,
bibstyle=authoryear,
maxcitenames=2,
dashed=false,
firstinits=true
backend=biber,
]{biblatex}
% ----------------------------------------------------------
\renewcommand*{\finalnamedelim}{\addcomma\space}
\renewcommand*{\revsdnamepunct}{}
% ----------------------------------------------------------
\addbibresource{biblatex-examples.bib}
% ----------------------------------------------------------
\begin{document}
\parencite{bertram}
\printbibliography
\end{document}
最好的方法是什么?
祝好,大卫
答案1
\AtBeginBibliography
您可以使用钩子将某些设置应用于参考书目
\AtBeginBibliography{\renewcommand*{\finalnamedelim}{\addcomma\space}}
hooks\AtEveryCite
对引用的作用相同,因此原则上你也可以使用
\renewcommand*{\finalnamedelim}{\addcomma\space}
\AtEveryCite{%
\renewcommand*{\finalnamedelim}{%
\ifnumgreater{\value{liststop}}{2}{\finalandcomma}{}%
\addspace\bibstring{and}\space}}
但你为什么会这么做呢?
还有 和\AtEveryCitekey
,\AtEveryBibitem
这些钩子在相关条目的书目数据已经可用的上下文中执行。这对于此处使用的命令并不重要,但\clearfield
和 朋友只能与\AtEveryCitekey
和 一起使用\AtEveryBibitem
。
您可以在§4.10.6中阅读有关这些代码钩子的更多信息通用挂钩,第 244-246 页,biblatex
文档。