5

When citing a group of 3 to 5 authors for the first time in a paper using the document class apa6, the command \citeauthor adds only the first author followed by "et al.". The APA manuscript guidelines (6th version) require to refer to all authors in the first citation of the document. \textcite and \parencite work as expected, though.

This is what I get:

wrong

This is how it should look like:

right

Here my example:

\documentclass[man]{apa6}

\usepackage[american]{babel}
\usepackage[utf8]{inputenc}

\usepackage[style=apa, backend=biber,doi,url]{biblatex}
\DeclareLanguageMapping{american}{american-apa}

\begin{filecontents}{literature.bib}
@article{foobar,
  Author = {Foo, A. and Bar, B. and Baz, C.},
  Journal = {Journal of Foo},
  Pages = {1--2},
  Title = {Foo is bar},
  Volume = {1},
  Year = {1999}
}
\end{filecontents}
\addbibresource{literature.bib}

\shorttitle{foo}

\begin{document}

\citeauthor{foobar}
% \textcite{foobar}


\end{document}
7
  • try \citeauthor*{foobar}
    – Vivi
    Jun 15 '12 at 18:59
  • A quick note: apa6 is not a package but a document class in LaTeX terminology.
    – Mico
    Jun 15 '12 at 19:43
  • @Vivi: Unfortunately, this does not make a difference.
    – deboerk
    Jun 15 '12 at 23:31
  • @Mico: You're right! I corrected the text.
    – deboerk
    Jun 15 '12 at 23:31
  • 1
    @deboerk try using the option natbib=true (change the command in the preamble to \usepackage[style=apa, natbib=true, backend=biber,doi,url]{biblatex} and then using \citeauthor*{foobar}
    – Vivi
    Jun 16 '12 at 7:16
5

You can try the following definition. I used the default definition of the bib macro cite and the command cite and removed the date.

\makeatletter
\newbibmacro*{cite:author}{%
  \iffieldequals{namehash}{\cbx@lasthash}
% Multiple cites in one command
   {\setunit{\compcitedelim}%
    \usebibmacro{cite:plabelyear+extrayear}}%
% Single cite
   {\ifthenelse{\ifnameundef{labelname}\OR\iffieldequalstr{entrytype}{patent}}
% No author/editor
     {\usebibmacro{cite:noname}%
%       \setunit{\nameyeardelim}%
%       \usebibmacro{cite:plabelyear+extrayear}%
       \savefield{namehash}{\cbx@lasthash}}
% Normal cite
     {\ifnameundef{shortauthor}
        {\printnames[labelname][-\value{listtotal}]{labelname}}
        {\ifciteseen
          {\printnames{shortauthor}}
          {\printnames[labelname][-\value{listtotal}]{author}\addspace\printnames[sabrackets]{shortauthor}}}%
%      \setunit{\nameyeardelim}%
%      \usebibmacro{cite:plabelyear+extrayear}%
      \savefield{namehash}{\cbx@lasthash}}}%
   \setunit{\multicitedelim}}

\DeclareCiteCommand{\citeauthor}
  {\usebibmacro{cite:init}%
   \usebibmacro{prenote}}
  {\usebibmacro{citeindex}%
   \usebibmacro{cite:author}}
  {}
  {\usebibmacro{postnote}}

\makeatother
4
  • Thanks! This works perfectly and is exactly what I wanted! It would be great to see this implemented in the apa biblatex style.
    – deboerk
    Jun 18 '12 at 9:44
  • @deboerk: You can write an feature request to the author. ;-) Jun 18 '12 at 10:27
  • 1
    I'm the author and this was an oversight ... it's fixed in version 5.0 which will be released with biblatex 2.0/biber 1.0. Thanks for reporting it.
    – PLK
    Jun 18 '12 at 15:54
  • 1
    @PLK: no oversight -- feature ;-) Jun 18 '12 at 16:23

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.