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, 2012 at 18:59
  • A quick note: apa6 is not a package but a document class in LaTeX terminology.
    – Mico
    Jun 15, 2012 at 19:43
  • @Vivi: Unfortunately, this does not make a difference.
    – deboerk
    Jun 15, 2012 at 23:31
  • @Mico: You're right! I corrected the text.
    – deboerk
    Jun 15, 2012 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, 2012 at 7:16

1 Answer 1

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, 2012 at 9:44
  • @deboerk: You can write an feature request to the author. ;-) Jun 18, 2012 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, 2012 at 15:54
  • 1
    @PLK: no oversight -- feature ;-) Jun 18, 2012 at 16:23

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .