Take the 2-minute tour ×
TeX - LaTeX Stack Exchange is a question and answer site for users of TeX, LaTeX, ConTeXt, and related typesetting systems. It's 100% free, no registration required.

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}
share|improve this question
    
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
show 2 more comments

1 Answer 1

up vote 4 down vote accepted

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
share|improve this answer
    
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. ;-) –  Marco Daniel Jun 18 '12 at 10:27
    
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
    
@PLK: no oversight -- feature ;-) –  Marco Daniel Jun 18 '12 at 16:23
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

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