根据 APA 第 6 版指南(例如https://research.moreheadstate.edu/c.php?g=107001&p=695202)如果我有超过 6 位作者,我应该从第一次引用开始使用“et al.” 。我使用这个答案biblatex
在引用一次后打印“et al.”用于所有其他引文(如何使用 biblatex-chicago 获取从第二个引文开始的 et al.)。但现在,超过 6 位作者的引文会打印所有作者,而不仅仅是第一作者和“et al”。有没有什么办法可以同时实现这两个功能?下面是我的代码:
\usepackage[style=apa,
backend=biber,
language=american,
hyperref=true,
uniquelist=true,
citetracker=true,
maxcitenames=1]{biblatex}
\DeclareLanguageMapping{american}{american-apa}
\AtEveryCitekey{\ifciteseen{}{\defcounter{maxnames}{99}}}
%bibfile
\begin{filecontents}{myfile.bib}
@article{Hein.2020,
author = {Hein, Andreas and Schreieck, Maximilian and Riasanow, Tobias and Setzke, David Soto and Wiesche, Manuel and B{\"o}hm, Markus and Krcmar, Helmut}
}
@article{Jacobides.2018,
author = {Jacobides, Michael G. and Cennamo, Carmelo and Gawer, Annabelle}
}
\end{filecontents}
\begin{document}
\parencite{Jacobides.2018}
\parencite{Jacobides.2018}
\parencite{Hein.2020}.
\end{document}
得出的结果是:
(Jacobides、Cennamo 和 Gawer,2018 年)
(Jacobides 等人,2018 年)
(Hein、Schreieck、Riasanow、Setzke、Wiesche、Bohm 和 Krcmar,2020 年)。
看起来应该是这样的:
(Jacobides、Cennamo 和 Gawer,2018 年)
(Jacobides 等人,2018 年)
(Hein 等人,2020 年)
答案1
没关系,我找到了解决方案。我只需要将 maxnames 99 替换为 6:
\AtEveryCitekey{\ifciteseen{}{\defcounter{maxnames}{6}}}
答案2
在最新的系统上,您的 MWE(使用biblatex-apa6
'sstyle=apa6,
而不是biblatex-apa
's style=apa,
,现在生成第 7 版 APA 样式)生成
\documentclass[american]{apa6}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage{babel}
\usepackage{csquotes}
\usepackage[style=apa6,
backend=biber,
]{biblatex}
\begin{filecontents}{\jobname.bib}
@article{Hein.2020,
author = {Hein, Andreas and Schreieck, Maximilian
and Riasanow, Tobias and Setzke, David Soto
and Wiesche, Manuel and B{\"o}hm, Markus and Krcmar, Helmut},
}
@article{Jacobides.2018,
author = {Jacobides, Michael G. and Cennamo, Carmelo
and Gawer, Annabelle},
}
\end{filecontents}
\addbibresource{\jobname.bib}
\begin{document}
\parencite{Jacobides.2018}
\parencite{Jacobides.2018}
\parencite{Hein.2020}
\end{document}
这完全符合 APA6 的要求。
请注意,我删除了选项uniquelist=true,
和maxcitenames=1
:如果您想要完全符合 APA 标准,这些是您应该让样式处理的事情。并且无需直接设置任何这些内容即可制作biblatex-apa
/biblatex-apa6
符合 APA 样式。
您可能会在实际文档中看到略有不同的行为如果你引用了一组类似作者的不同作品。然后uniquelist
设置开始生效并扩展列表,以确保引用标签不会折叠成模糊/非唯一的简短形式。
例子
\documentclass[american]{apa6}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage{babel}
\usepackage{csquotes}
\usepackage[style=apa6,
backend=biber,
]{biblatex}
\begin{filecontents}{\jobname.bib}
@article{Hein.2020,
author = {Hein, Andreas and Schreieck, Maximilian
and Riasanow, Tobias and Setzke, David Soto
and Wiesche, Manuel and B{\"o}hm, Markus and Krcmar, Helmut},
}
@article{Hein.1990,
author = {Hein, Andreas and Schreieck, Maximilian
and Riasanow, Tobias and Setzke, David Soto
and Wiesche, Manuel and B{\"o}hm, Markus and Emma Sigfridsson},
}
@article{Jacobides.2018,
author = {Jacobides, Michael G. and Cennamo, Carmelo
and Gawer, Annabelle},
}
\end{filecontents}
\addbibresource{\jobname.bib}
\begin{document}
\parencite{Jacobides.2018}
\parencite{Jacobides.2018}
\parencite{Hein.2020,Hein.1990}
\parencite{Hein.2020,Hein.1990}
\end{document}
这可以uniquelist=false,
可以通过在加载选项中设置来关闭biblatex
,但据我了解,默认行为uniquelist=minyear,
是 APA 样式想要的。
请注意,如果您使用的是旧版本的,则此答案仍然适用biblatex-apa
,其中第 6 版 APA 样式是由style=apa,
而不是制作的style=apa6,
。
无论如何,我建议您不要maxnames
在文档中手动更改的值。