[Tex/LaTex] Using biblatex-apa

apa-stylebiblatex

I got biblatex working with the authoryear style in Texlipse:

\documentclass{article} 
\usepackage[canadian]{babel}
\usepackage{csquotes}
\usepackage[style=authoryear,backend=biber]{biblatex} 
\addbibresource{references.bib}
\begin{document} 
This statement is true \parencite[5-8]{Ref}.
\printbibliography 
\end{document}

references.bib:

@BOOK
{Ref,
AUTHOR = "Doe, Jane and Smith, John",
TITLE = "A Book",
PUBLISHER = "Books, Inc.",
YEAR = 1999
}

However, when I try to change the style to apa (\usepackage[style=apa,backend=biber]{biblatex}), an empty bibliography is produced. I have texlive 2012, which has biblatex-apa. Why doesn't it work?

Best Answer

On Miktex your example with apa doesn't work due to two reasons:

  1. There is the language mapping commands missing which loads an xxx-apa.lbx which contains some apa specific settings.
  2. You are using canadian as language and the necessary canadian-apa.lbx doesn't exist here.

To solve 1. I used the following example (test.bib is the name of my bib-files for tests):

\documentclass{article}
\usepackage[canadian]{babel}
\usepackage{csquotes}
\usepackage[style=apa,backend=biber]{biblatex}
\DeclareLanguageMapping{canadian}{canadian-apa}
\addbibresource{test.bib}
\begin{document}
This statement is true \parencite[5-8]{Ref}.
\printbibliography
\end{document}

To solve 2. I used one existing xxx-apa.lbx (e.g. british-apa.lbx or american-apa.lbx I have no idea which is better suited as starting point) and made a copy called canadian-apa.lbx. Then I changed in the file in two places the language to "canadian":

  1. In the first line: \ProvidesFile{canadian-apa.lbx}
  2. In \DefineBibliographyExtras{canadian}...

and stored the file in a place where latex can find it.

An alternative way is to use e.g. the language american for the bibliography:

\documentclass{article}
\usepackage[canadian]{babel}
\usepackage{csquotes}
\usepackage[style=apa,backend=biber,language=american]{biblatex}
\DeclareLanguageMapping{american}{american-apa}
\addbibresource{test.bib}
\begin{document}
This statement is true \parencite[5-8]{Ref}.
\printbibliography
\end{document}