仅针对 \textcite 命令更改最后的多重引用分隔符(不在参考书目中)

仅针对 \textcite 命令更改最后的多重引用分隔符(不在参考书目中)

使用 biblatex 和 authoryear-comp 样式,您可以通过以下方式设置多个作者的“and”符号:\定义书目字符串命令。

是否可以定义不同的'和'仅用于文内多重引用吗?

例如文本中的多重引用\textcite(AF01, BB10,CF11)应显示为:A. Foo 等(2001),B. Bar 等(2010)C.Foo 等人(2011)。

然而,在参考书目中,对于有多位作者的引用,应该使用另一个“and”符号:

A.Foo 等人(2001)- A. Foo、A. Rock&A. Bar:“我的标题……”(2001)

B. Bar 等人 (2010) - B. Bar、B. Pop&B.Bar:“Mytitle 2...”(2010)

....

我尝试过(但没有成功): citet 中最后一项和倒数第二项之间如何用作者年份样式进行区分?

任何帮助都值得感激,哈利

答案1

倒数第二个名字和姓氏之间的分隔符是\finalnamedelim,因此我们可以将其更改为

\renewcommand*{\finalnamedelim}{\addspace\&\space}

平均能量损失

\documentclass[11pt, a4paper]{article}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage[british]{babel}
\usepackage{csquotes}
\usepackage[style=authoryear-comp, maxbibnames=999, backend=biber]{biblatex}

\addbibresource{biblatex-examples.bib}

\renewcommand*{\finalnamedelim}{\addspace\&\space}

\begin{document}
\textcite{aksin,knuth:ct:a}

\printbibliography
\end{document}

示例输出


如果要更改倒数第二个和最后一个之间的分隔符,\textcite则需要更改\textcitedelim。其标准定义biblatex.def

\newcommand*{\textcitedelim}{%
  \iffinalcitedelim
    {\ifnumgreater{\value{textcitetotal}}{2}
       {\iftextcitepunct{\finalandsemicolon}{\finalandcomma}}{}%
     \addspace\bibstring{and}}
    {\iftextcitepunct{\addsemicolon}{\addcomma}}%
  \space}

相关内容