我想知道为什么使用biblatex
with时style = apa
,我的文本中没有.et al
超过 3 位作者的缩写。我想不出任何合理的解释,也许有人在我的 latex 序言中看到了我没看到的东西。
\documentclass[12pt]{article}
\usepackage[english]{babel}
\usepackage[utf8]{inputenc}
\usepackage[
backend = biber,
style = apa,
defernumbers=false,
uniquelist=true]{biblatex}
\DeclareLanguageMapping{english}{american-apa}
\usepackage{xpatch}
\AtEveryCitekey{\ifciteseen{}{\clearfield{namehash}}}
\xpatchbibmacro{cite}
{\printnames{labelname}}
{\ifciteseen
{\printnames{labelname}}
{\printnames[][1-99]{labelname}}}
{}
{}
\xpatchbibmacro{textcite}
{\printnames{labelname}}
{\ifciteseen
{\printnames{labelname}}
{\printnames[][1-99]{labelname}}}
{}
{}
\addbibresource{dummy_lit.bib} %name of the .bib file with my references
\begin{document}
I would like to have the abbreviation "et. al" in the running text whenever the references have more than three authors and not this:
\textcite{Author2000}
\end{document}
这是我的 bib 条目,存储在一个单独的文件中,名为:dummy_lit.bib
@Article{Author2000,
author = {Last name1, Firstname 1 and Last name2, First name2 and Last name3, First name3 and Last name4, First name4 and Last name5, First name5},
title = {The title of my article},
journal = {The journal},
year = {2000},
volume = {1},
number = {2},
pages = {1-10},
keywords = {ref}
}
答案1
APA 格式要求在第一次引用时最多显示五位作者的完整列表,在后续引用中,三到五位作者的列表仅缩写为“et al.” 。例如,请参阅http://blog.apastyle.org/apastyle/2011/11/the-proper-use-of-et-al-in-apa-style.html或美国心理学会出版手册中的6.11和6.12。
确实,如果您引用有五位作者的条目两次,您就会得到结果。
\documentclass[12pt]{article}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage[english]{babel}
\usepackage[backend = biber, style = apa]{biblatex}
\addbibresource{biblatex-examples.bib}
\begin{document}
\textcite{herrmann}
\textcite{herrmann}
\end{document}
因此,这是 所实现的 APA 样式的预期行为biblatex-apa
。
如果你想改变这种行为,看看为 biblatex-apa 设置 maxcitenames并\apamaxcitenames
在示例中设置为 3。
请注意,您的两个\xpatchbibmacro
调用没有任何作用,因为修补的代码不存在于您正在修补的宏中。