以下是引文:
@Article{boker2011, 作者 = {Boker, S. 和 Neale, M. 和 Maes, H. 和 Wilde, M. 和 Spiegel, M. 和 Brick, T. 和 Spies, J. 和 Estabrook, R. 和 Kenny, S. 和 Bates, T. 等人}, 标题 = {Open{M}x: {A}n 开源扩展结构 方程建模框架}, 日志 = {Psychometrika}, 体积 = {76}, 号码 = {2}, 页数 = {306--317}, 年份 = 2011 }
以下是一个测试文档:
\documentclass[doc]{apa6} \usepackage[american]{babel} \usepackage{csquotes} \usepackage[style=apa,sortcites=true,sorting=nyt,apabackref=true,backend=biber]{biblatex} \DeclareLanguageMapping{american}{american-apa} \addbibresource{jpritikin.bib} \shorttitle{IFA} \开始{文档} OpenMx \parencite{boker2011} \打印书目 \结束{文档}
我得到了这个乱七八糟的东西:Boker,S. 等人,Neale,M. 等人,Maes,H. 等人,Wilde,M. 等人,Spiegel,M. 等人,Brick,T. 等人,……等人,等人,等人,Bates,T. 等人。(2011 年)。OpenMx:一个开源扩展结构方程建模框架。Psychometrika,76 (2),306–317。(引自第 17 页)。
我以为我可能版本混用了。我尝试了“tlmgr update --all”。我安装了 biblatex 2.8,刚刚从http://biblatex-biber.sourceforge.net/我仍然收到太多“等”。
有什么建议吗?
答案1
该问题是由于biblatex-apa
's ( apa.bbx
's)apaauthor
的名称格式造成的;您可能想将这个小错误通知作者。
and others
作者列表中的字符串设置ifmorenames
为 true。apaauthor
每当打印姓名时都会检查这种情况,而不仅仅是在列表的末尾;因此它会andothers
在每个姓名后打印字符串(“et al.”)。
解决方法是将以下几行添加到序言中。
\DeclareNameFormat{apaauthor}{%
\ifthenelse{\value{listcount}=\maxprtauth\AND\value{listcount}<\value{listtotal}}
{\addcomma\addspace\ldots\addspace}
{\ifthenelse{\value{listcount}>\maxprtauth\AND\value{listcount}<\value{listtotal}}
{}
{\ifthenelse{\iffieldequalstr{doubtfulauthor}{true}}
{\mkbibbrackets{\usebibmacro{name:apa:last-first}{#1}{#3}{#4}{#5}{#7}?}}
{\usebibmacro{name:apa:last-first}{#1}{#3}{#4}{#5}{#7}}}}%
\ifthenelse{\value{listcount}=\value{listtotal}}% this test is new
{\ifmorenames{\andothersdelim\bibstring{andothers}}{}}{}}
数学家协会
\RequirePackage{filecontents}
\begin{filecontents*}{\jobname.bib}
@Article{boker2011,
Author = {Boker, S. and Neale, M. and Maes, H. and Wilde, M. and
Spiegel, M. and Brick, T. and Spies, J. and Estabrook,
R. and Kenny, S. and Bates, T. and others},
Title = {Open{M}x: {A}n open source extended structural
equation modeling framework},
Journal = {Psychometrika},
Volume = {76},
Number = {2},
Pages = {306--317},
year = 2011
}
\documentclass{apa6}
\usepackage[american]{babel}
\usepackage{csquotes}
\usepackage[style=apa,maxnames=999,sortcites=true,sorting=nyt,apabackref=true,backend=biber]{biblatex}
\DeclareLanguageMapping{american}{american-apa}
\addbibresource{\jobname.bib}
\addbibresource{biblatex-examples.bib}
\DeclareNameFormat{apaauthor}{%
\ifthenelse{\value{listcount}=\maxprtauth\AND\value{listcount}<\value{listtotal}}
{\addcomma\addspace\ldots\addspace}
{\ifthenelse{\value{listcount}>\maxprtauth\AND\value{listcount}<\value{listtotal}}
{}
{\ifthenelse{\iffieldequalstr{doubtfulauthor}{true}}
{\mkbibbrackets{\usebibmacro{name:apa:last-first}{#1}{#3}{#4}{#5}{#7}?}}
{\usebibmacro{name:apa:last-first}{#1}{#3}{#4}{#5}{#7}}}}%
\ifthenelse{\value{listcount}=\value{listtotal}}
{\ifmorenames{\andothersdelim\bibstring{andothers}}{}}{}}
\shorttitle{IFA}
\begin{document}
OpenMx \parencite{boker2011,aksin,wilde,murray}
\printbibliography
\end{document}
然后产生
2013-10更新:biblatex-apa
根据用户问题下方的评论,此问题已在 6.4 版中得到纠正保丽康。