对于同一个作者,我想要像Doe (1990; 1997)
而不是 这样的参考文献Doe (1990) and Doe (1997)
,并且我想要(Doe 1990; 1997)
而不是(Doe 1990; Doe 1997)
。
换句话说,我的问题非常接近这个问题 但我正在使用biblatex
,不是natbib
。
有没有简单直接的方法可以做到这一点?如果我忽略了某些内容,请原谅。
以下是 MWE:
\documentclass{standalone}
\usepackage[applemac]{inputenc}
\usepackage[backend=biber,style=authoryear,giveninits]{biblatex}
\bibliography{Literature}
\begin{document}
I get ``\textcite{Doe1996,Doe1990}" but I want ``Doe (1990; 1997)". I get ``\autocite{Doe1996,Doe1990}" but I want ``(Doe 1990; 1997)"
\end{document}
答案1
将样式从 切换style=authoryear
为style=authoryear-comp
应该会产生非常接近所需输出的结果。
摘自
biblatex
文档:“authoryearstyle 的紧凑变体,如果传递给单个引用命令的后续引用共享同一作者,则仅打印一次作者”。
另请参阅:Biblatex -使用 citet 合并论文对于类似的问题。
默认情况下,后续年份之间的分隔符是逗号,而您的示例显示的是分号。如果您想相应地更改输出,您可以\compcitedelim
根据需要重新定义:
\renewcommand*{\compcitedelim}{\addsemicolon\space}
如果一个人使用两个不同版本的名字发表文章,压缩可能无法按预期工作,因为作者被视为两个姓氏相同的不同作者。要关闭此行为而不必更改(同质化)bib 文件中的名字,您可以使用包选项uniquename = false
。
也可以看看:biblatex,authoryear 样式:文内引用显示某些参考书目条目的名字首字母相关问题。