以下是最小的例子(编辑于这)——
\documentclass{article}
\usepackage[style=authoryear-comp,natbib,
uniquename=false,
uniquelist=minyear,
backend=bibtex]{biblatex}
\addbibresource{\jobname.bib}
\begin{filecontents}{\jobname.bib}
@article{one,
author = "Last, F.",
title = {Title},
journal = {A Journal},
year = {2011},
}
@article{two,
author = "Last, F.",
title = {Title2},
journal = {B Journal},
year = {2011},
}
@article{three,
author = "Last, First",
title = {Title3},
journal = {C Journal},
year = {2013},
}
\end{filecontents}
\begin{document}
\cite{one,two,three}
\printbibliography
\end{document}
结果如下——
最后,2013 年;最后 2011 年 a、b
然而,我希望它能像这样——
最后,2011a、b、2013
如果所有作者姓名相同(包括姓和名),我就可以得到这个。只要它是最后一个选项,我就无法修改 bib 条目。
看到authoryear-comp
也会设置
autocite=inline, labeldate=true, uniquename=full, uniquelist=true
因此,我已经尝试使用 biblatex 包的不同uniquename
设置uniquelist
(文档),但无法获得所需的结果。文档第 4.11.4 节中给出了一些示例,但对我来说越来越模糊。有人能给我正确的设置并稍微改变一下吗?明确?
答案1
首先,对于biblatex
Last, F.
和 来说Last, First
,他们是两个不同的人。它无法知道他们是同一个人(如果他们是的话)。因此,在大多数情况下,它会尝试将他们分开对待。
如果你加载时authoryear-comp
不修改uniquename
/uniquelist
选项
\usepackage[style=authoryear-comp,backend=biber]{biblatex}
你得到
F. 姓 2011a,b;名 姓 2013
也就是说,biblatex
尝试在引用输出中消除两者之间的歧义。
在您的 MWE 中uniquename=false
,您有
\usepackage[style=authoryear-comp,uniquename=false,backend=biber]{biblatex}
您不会在引文中获得消歧义输出。但是,对于所有其他目的而言,两位作者仍然不同。因此这两个引文没有被压缩。
您可以shortauthor
向条目添加字段
@article{one,
author = "Last, F.",
shortauthor = {Last, First},
title = {Title},
journal = {A Journal},
year = {2011},
}
@article{two,
author = "Last, F.",
shortauthor = {Last, First},
title = {Title2},
journal = {B Journal},
year = {2011},
}
@article{three,
author = "Last, First",
shortauthor = {Last, First},
title = {Title3},
journal = {C Journal},
year = {2013},
}
然后引用将按照您的预期进行压缩,因为对于biblatex
所有作品而言,作者都是相同的(至少在引用中)。
(对于 BibTeX 来说,同样的情况也或多或少适用,尽管它的某些功能受到限制。)