经典的maxcitenames
设置biblatex
为类似于\usepackage[maxcitenames=2,style=authoryear]{biblatex}
获取以下引用:
- 如果只有一位作者,则需填写作者姓名
- 如果有两位作者,则需提供两位作者姓名
- 如果有两位以上的作者,则为两位作者姓名 + et.al
有没有办法修改maxcitenames
我得到的方式
- 如果只有一位作者,则需填写作者姓名
- 如果有两位作者,则需提供两位作者姓名
- 第一的如果有两位以上的作者,则为作者姓名 + et.al
这需要计算一个 bib-entry 中有多少位作者,并决定哪三种情况适用。
如果有人能给我一个起点,我很乐意自己做一些破解。处理作者列表对biblatex
我来说似乎并不是一件小事。
答案1
如果你想实现:
- 如果只有一位作者,则需填写作者姓名
- 如果有两位作者,则需提供两位作者姓名
- 如果有两位以上的作者,则为第一作者姓名 + et.al
然后
\usepackage[maxcitenames=2,style=authoryear]{biblatex}
已经正确了,但是如果你想实现:
- 如果只有一位作者,则需填写作者姓名
- 如果有两位作者,则需提供两位作者姓名
- 如果有两位以上的作者,则为两位作者姓名 + et.al
那么你必须添加mincitenames=2
:
\usepackage[mincitenames=2,maxcitenames=2,style=authoryear]{biblatex}
答案2
有时您无法获得预期的结果,因为 biblatex 试图巧妙地消除标签的歧义,例如,如果您在文档中引用了两篇不同的四作者论文,则引用为“Cotton et al. 1999”和“Cotton et al. 2001”。要完全停用此行为,请使用uniquelist=false
。您还可以将其设置为仅当两个出版物的年份也相同时才消除歧义:
\usepackage[style=authoryear,uniquelist=minyear]{biblatex}
答案3
如果我编译下面的例子我会得到你需要的结果:
\documentclass{article}
\usepackage[maxcitenames=2,style=authoryear]{biblatex}
\addbibresource{biblatex-examples.bib}
\begin{document}
\cite{weinberg}%one author
\cite{bertram}%two authors
\cite{companion}%three authors
\cite{cotton}%four authors
\printbibliography
\end{document}