APA-Biblatex 作者数量问题

APA-Biblatex 作者数量问题

我对 biblatex-apa 版本遇到了问题。

这是我的标题的相关部分:

\documentclass[
a4paper,
12pt,
headings=normal
bibtotoc,
pointlessnumbers
]{scrartcl}

\usepackage[babel=true]{csquotes}
\usepackage[style=apa,backend=biber,minbibnames=5, maxbibnames=5]{biblatex}  
\bibliography{literatur}
\DeclareLanguageMapping{ngerman}{ngerman-apa}
\DefineBibliographyStrings{ngerman}{andothers={et\ addabbrvspace al\adddot}}
\newcommand*{\mcite}[1]{\citeauthor{#1} (\citeyear{#1})}

\renewcommand\finalandcomma{\addcomma}

\begin{document}

\mcite{Brodbeck2000}
\printbibliography

\end{document}

通过这篇期刊文章

@article{Brodbeck2000,
author = {Brodbeck, Felix C and Frese, Michael and Akerblom, S and Audia, G and 
Bakacsi, G and Bendova, H and Bodega, D and Bodur, Muzaffer and Booth, S and Brenk, K 
and Castel, P},
journal = {Journal of Occupational and Organizational Psychology},
pages = {1--29},
title = {{Cultural variation of leadership prototypes across 22 European countries}},
volume = {73},
year = {2000}
}

问题是 biblatex 无法处理如此多的作者。biblatex 不会在 6 位作者之后停止,而是在最后一位作者之后加上“et al”,而是写道:

Brodbeck, FC、Frese, M.、Akerblom, S.、Audia, G.、Bakacsi, G.、Bendova, H.、...Castel, P. (2000)。22 个欧洲国家领导原型的文化差异。《职业与组织心理学杂志》,73,1-29。

有人知道如何修复它,以便 biblatex 仅在参考书目中放入 6 位作者(apa 样式),然后再放入“et al.”吗?

答案1

您必须重新定义作者宏:

\RequirePackage{filecontents}
\begin{filecontents*}{latex6.bib}
 @article{Brodbeck2000,
author = {Brodbeck, Felix C and Frese, Michael and Akerblom, S and Audia, G and 
Bakacsi, G and Bendova, H and Bodega, D and Bodur, Muzaffer and Booth, S and Brenk, K and Castel, P},
journal = {Journal of Occupational and Organizational Psychology},
pages = {1--29},
title = {Cultural variation of leadership prototypes across 22 European countries},
volume = {73},
year = {2000}
}
\end{filecontents*}

\documentclass{scrartcl}
\usepackage[ngerman]{babel}
\usepackage[babel=true]{csquotes}
\usepackage[style=apa,backend=biber,minbibnames=5, maxbibnames=5]{biblatex}  
\bibliography{latex6}
\DeclareLanguageMapping{ngerman}{ngerman-apa}
\DefineBibliographyStrings{ngerman}{andothers={et\ \addabbrvspace al\adddot}}
\newcommand*\mcite[1]{\citeauthor{#1} (\citeyear{#1})}

\renewcommand\maxprtauth{7}

\DeclareNameFormat{apaauthor}{%
  \ifthenelse{\value{listcount}=\maxprtauth \AND\value{listcount}<\value{listtotal}}
    {~et.~al.\addspace\setcounter{listcount}{\thelisttotal}}
    {\ifthenelse{\value{listcount}>\maxprtauth\AND\value{listcount}<\value{listtotal}}
      {}%
      {\ifthenelse{\iffieldequalstr{usere}{unkauth}\OR\iffieldequalstr{usere}{unkauthdate}}%
        {\iffirstinits
          {\mkbibbrackets{\usebibmacro{name:last-first}{#1}{#4}{#5}{#7}?}}%
          {\mkbibbrackets{\usebibmacro{name:last-first}{#1}{#3}{#5}{#7}?}}}%
        {\iffirstinits
          {\usebibmacro{name:last-first}{#1}{#4}{#5}{#7}}%
          {\usebibmacro{name:last-first}{#1}{#3}{#5}{#7}}}}}%
  \ifmorenames{\andothersdelim\bibstring{andothers}}{}}
\renewcommand\finalandcomma{\addcomma}

\begin{document}
\mcite{Brodbeck2000}
\printbibliography   
\end{document}

在此处输入图片描述

答案2

这是正确的 APA 第 6 版样式,请参阅第 7.01 节,示例 2。

相关内容