5

I'm handling with a problem concerning referencing and citing sources in APA-Style.

Here is my example code:

  \documentclass[a4paper, 
   12pt, 
   bibtotoc, 
   liststotoc, 
   pointlessnumbers 
     ]{scrartcl} 
\usepackage[utf8]{inputenc} 
\usepackage[T1]{fontenc} 
\usepackage{textcomp}           
\usepackage[american,ngerman]{babel} 

\usepackage[babel=true]{csquotes} 
\usepackage[style=apa,backend=biber, doi=false, url=false]{biblatex}   
\DeclareLanguageMapping{ngerman}{ngerman-apa} 
\DefineBibliographyStrings{ngerman}{andothers={et\ \addabbrvspace al\adddot}} 
\renewcommand\finalandcomma{\addcomma} 

\usepackage{filecontents} 
\begin{filecontents}{literatur.bib} 
@article{DroitVolet2007, 
 author = {Droit-Volet, S. and Meck, W. H.}, 
 year = {2007}, 
 title = {{H}ow emotions colour our perception of time}, 
 pages = {504--513}, 
 volume = {11}, 
 number = {12}, 
 issn = {13646613}, 
 journal = {Trends in Cognitive Sciences}, 
 doi = {10.1016/j.tics.2007.09.008  Titel anhand dieser DOI in Citavi-Projekt übernehmen 

} 
@article{Gibbon1984,
 author = {Gibbon, J. and Church, R. M. and Meck, W. H.},
 year = {1984},
 title = {{S}calar timing in memory},
 pages = {52--77},
 volume = {423},
 issn = {0077-8923},
 journal = {Annals of the New York Academy of Sciences}
}
    } 
    \end{filecontents} 
    \bibliography{literatur} 
    \begin{document} 

   There is no comma in this citation \parencite{DroitVolet2007}, but the comma is missing in the references. 
For more than two authors there has to be a comma in front of & \parencite{Gibbon1984}.



    \printbibliography 
    \end{document} 

Latex misses a comma in front of & in the reference section, when there are only two authors. The intext-citation is totally fine for two authors, but the entry in the references should look like this: Droit-Volet, S., & Meck, W. H. (2007). ....

For more than two authors there has to be a comma in front of & in in text-citations as well.

While searching for a solution, I tried to fix it by using

\renewcommand*{\finalnamedelim}{%
  \finalandcomma
  \addspace
  \bibstring{and}%
  \space
}

or

\renewcommand\finalandcomma{\addcomma} 

But unfortunately neither of these solution worked in my case ...

Help or any advice would be highly appreciated.

Best wishes, Ferdinand

  • Welcome to TeX.SX! You can have a look at our starter guide to familiarize yourself further with our format. – Henri Menke Mar 17 '14 at 13:20
  • 1
    This is a good question in that you've described the problem well, and the answer shows how to control the text, but is there a particular reason that you want "Jones, & Smith" as opposed to "Jones & Smith"? My intuition is that a comma when there are only two names is unusual. I'd write "Jones and Smith", not "Jones, and Smith", even though with more than two I'd write "Jones, Hall, and Smith" rather than "Jones, Hall and Smith". – Joshua Taylor Mar 17 '14 at 15:17
  • Thank you for your comment. Actually I'm forced to do it like this as I have to use APA-Style. I was also wondering about this rule but I looked it up in the 6th manual and they want it that way ... :( – Ferdinand Mar 18 '14 at 10:55
3

For some reason biblatex-apa redefines \finalnamedelim in the \AtBeginBibliography hook.

So we will have to do the same to override the setting; additionally, we redefine the \finalandcomma in the \AtBeginDocument hook

\AtBeginDocument{\renewcommand\finalandcomma{\addcomma}}
\AtBeginBibliography{%
  \renewcommand*{\finalnamedelim}{%
    \ifthenelse{\value{listcount}>\maxprtauth}
      {}
      {\finalandcomma\addspace\&\space}}}

This always print the \finalandcomma (it is normally only printed if there are more than two authors).

MWE

\documentclass{scrartcl}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage[american,ngerman]{babel}
\usepackage{csquotes}
\usepackage{xpatch}
\usepackage[style=apa,backend=biber, doi=false, url=false]{biblatex}
\DeclareLanguageMapping{ngerman}{ngerman-apa}
\DefineBibliographyStrings{ngerman}{andothers={et\addabbrvspace al\adddot}}

\AtBeginDocument{\renewcommand\finalandcomma{\addcomma}}
\AtBeginBibliography{%
  \renewcommand*{\finalnamedelim}{%
    \ifthenelse{\value{listcount}>\maxprtauth}
      {}
      {\finalandcomma\addspace\&\space}}}

\addbibresource{biblatex-examples.bib}
\begin{document}
  There is no comma in this citation \parencite{baez/article}, but the comma is missing in the reference.

  \printbibliography
\end{document}

enter image description here

  • Thank you both for your effort. Both solutions work fine in the reference part. But unfortunately, there is no comma at the moment in in-text citations. According to APA there should be no comma before & in-text citation if there are only two authors, but if there are more than two there has to be a comma. According to the 6th manual there must always be a comma in front of & in the references.Help again would be highly appreciated. :) – Ferdinand Mar 18 '14 at 11:00
  • @Ferdinand So what is missing now is the comma in in text-citations, right? Forgive my confusion, but I read the question as though the in-text citations were fine. – moewe Mar 18 '14 at 11:18
  • @Ferdinand Pardon my asking again: Do you basically want the comma everywhere (in text and in the bibliography, and for all lengths of the name list, i.e. for list with only two and for lists with more than two names)? – moewe Mar 18 '14 at 11:52
  • Thank you for your comment. Actually it is very confusing. In the references there should always be a comma in front of &. APA-Style makes a difference for in text-citations. For two authors there should be no comma in front of &. For more than two authors there has to be a comma. Thanks again for your help! – Ferdinand Mar 18 '14 at 12:04
  • I think I solved it: By additionally putting \renewcommand\finalandcomma{\addcomma} after \begin{document} everything is working as it is supposed to. Thank you, know I can concentrate on working on the thesis again! :) – Ferdinand Mar 18 '14 at 12:18
3

Suppress the \renewcommand{\finalandcomma}{\addcomma} (in the apa style, \finalendcomma prints an ampersand, and you want to keep it). Replace it with the following in your preamble:

\usepackage{xpatch} 
\xpatchnameformat{apaauthor}{%
{\ifmorenames{\andothersdelim\bibstring{andothers}}{}}{}}%
{%
{\ifmorenames{\andothersdelim\bibstring{andothers}}{}}{\addcomma\space}}%
{}{}%

enter image description here

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.