我已经与以下问题斗争了很长时间(这可能与我的文档中以前的一些奇怪的错误有关):
我使用authoryear-icomp
以下选项和 XeLaTeX(所有软件包都是最新的):
\usepackage[safeinputenc,uniquename=full,maxnames=2,minnames=1,maxbibnames=99,
style=authoryear-icomp,dashed=true,backend=biber]{biblatex}
我的 bibfile 中有两篇参考文献,它们共享前五位作者和年份。在我的引用中,我得到:
(作者 1、作者 2、作者 3、作者 4、作者 5 年份;作者 1、作者 2、作者 3、作者 4、作者 5、作者 6 年份)
这确实很丑陋。
有人能告诉我如何解决这个问题吗?我想要类似
(作者 1,作者 2,年份 a;作者 1,作者 2,年份 b)
我也尝试过尝试各种uniquename
选项,但都没有任何结果。
答案1
这里还有另一个 MWE 展示了解决方案。特别注意 a) 该问题与 Xe(La)TeX 无关 b) 我如何使用filecontents
包/环境添加.bib
文件并使示例可编译。
您想要的引用格式归根结底就是关闭名称列表消歧义 ( uniquelist=false
)。有关详细信息,请参阅手册第 4.11.4 节biblatex
。我没有尝试删除“et al.”,因为(在我看来)至少应该显示还有其他作者,即使不是他们的名字。
\documentclass{article}
\usepackage[style=authoryear-icomp,uniquelist=false,maxnames=2,minnames=2,maxbibnames=99,
backend=biber]{biblatex}
\usepackage{filecontents}
\begin{filecontents}{\jobname.bib}
@misc{A01x,
author = {A and B and C and D and E},
year = {2001},
title = {A bibentry},
}
@misc{A01y,
author = {A and B and C and D and E and F},
year = {2001},
title = {Another bibentry},
}
\end{filecontents}
\addbibresource{\jobname.bib}
\begin{document}
Some text \autocite{A01x}.
Some text \autocite{A01y}.
\printbibliography
\end{document}