
我希望宏\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}}
鉤子\AtEveryCite
對引用做同樣的事情,所以原則上你也可以選擇
\renewcommand*{\finalnamedelim}{\addcomma\space}
\AtEveryCite{%
\renewcommand*{\finalnamedelim}{%
\ifnumgreater{\value{liststop}}{2}{\finalandcomma}{}%
\addspace\bibstring{and}\space}}
但為什麼要這麼做呢?
還有\AtEveryCitekey
和\AtEveryBibitem
,這些鉤子是在相關條目的書目資料已經可用的上下文中執行的。這對於此處使用的命令並不重要,但\clearfield
and 朋友只能使用\AtEveryCitekey
和\AtEveryBibitem
。
您可以在 §4.10.6 中閱讀有關這些代碼掛鉤的更多信息通用掛鉤,第 244-246 頁,biblatex
文件。