I am trying to use biblatex, biblatex-apa, and biber in my document, but I think the dreaded biblatex update from last year or so is tripping me up.
My case is most like this one, but I cannot use the suggested answer to change my backend to bibtex, as biblatex-apa requires biber be the backend. However, when I do change the backend to bibtex and don't use the APA style, it compiles without error, though not in the format necessary for the journal.
Ideally I'd like help making these programs, biber, biblatex-apa, and biblatex play nice with my XeLaTeX (2016), but I guess if there's a comparable way of getting APA-like or similar enough formatting while using backend=bibtex, that would be okay too.
Thank you!
Sample document text:
\documentclass[12pt]{article}
\usepackage[american]{babel}
\usepackage{csquotes}
\usepackage[style=apa, backend=biber]{biblatex}
\DeclareLanguageMapping{american}{american-apa}
\addbibresource{mybib.bib}
\begin{document}
\maketitle
\cite{foo}
\printbibliography
\end{document}
The code generated when compiled is like so:
This is XeTeX, Version 3.14159265-2.6-0.99996 (TeX Live 2016) (preloaded format=xelatex)
restricted \write18 enabled.
entering extended mode
(./xz-zz-xing.tex
LaTeX2e <2016/03/31> patch level 3
Babel <3.9r> and hyphenation patterns for 3 language(s) loaded.
(/usr/share/texmf-dist/tex/latex/base/article.cls
Document Class: article 2014/09/29 v1.4h Standard LaTeX document class
(/usr/share/texmf-dist/tex/latex/base/size12.clo))
(/usr/share/texmf-dist/tex/latex/geometry/geometry.sty
(/usr/share/texmf-dist/tex/latex/graphics/keyval.sty)
(/usr/share/texmf-dist/tex/generic/oberdiek/ifpdf.sty)
(/usr/share/texmf-dist/tex/generic/oberdiek/ifvtex.sty)
(/usr/share/texmf-dist/tex/generic/ifxetex/ifxetex.sty))
(/usr/share/texmf-dist/tex/xelatex/xecjk/xeCJK.sty
(/usr/share/texmf-dist/tex/latex/l3kernel/expl3.sty
(/usr/share/texmf-dist/tex/latex/l3kernel/expl3-code.tex)
(/usr/share/texmf-dist/tex/latex/l3kernel/l3xdvipdfmx.def))
(/usr/share/texmf-dist/tex/latex/l3packages/xtemplate/xtemplate.sty)
(/usr/share/texmf-dist/tex/latex/l3packages/xparse/xparse.sty)
(/usr/share/texmf-dist/tex/latex/l3packages/l3keys2e/l3keys2e.sty)
(/usr/share/texmf-dist/tex/latex/fontspec/fontspec.sty
(/usr/share/texmf-dist/tex/latex/fontspec/fontspec-xetex.sty
(/usr/share/texmf-dist/tex/latex/base/fontenc.sty
(/usr/share/texmf-dist/tex/latex/euenc/eu1enc.def)
(/usr/share/texmf-dist/tex/latex/euenc/eu1lmr.fd))
(/usr/share/texmf-dist/tex/xelatex/xunicode/xunicode.sty
(/usr/share/texmf-dist/tex/latex/tipa/t3enc.def
(/usr/share/texmf-dist/tex/latex/euenc/eu1lmss.fd))
(/usr/share/texmf-dist/tex/latex/graphics/graphicx.sty
(/usr/share/texmf-dist/tex/latex/graphics/graphics.sty
(/usr/share/texmf-dist/tex/latex/graphics/trig.sty)
(/usr/share/texmf-dist/tex/latex/graphics-cfg/graphics.cfg)
(/usr/share/texmf-dist/tex/latex/graphics-def/xetex.def))))
(/usr/share/texmf-dist/tex/latex/fontspec/fontspec.cfg)))
(/usr/share/texmf-dist/tex/xelatex/xecjk/xunicode-addon.sty)
(/usr/share/texmf-dist/tex/xelatex/xunicode/xunicode.sty
*** Reloading Xunicode for encoding 'EU1' ***
) (/usr/share/texmf-dist/tex/xelatex/xecjk/xunicode-extra.def)
(/usr/share/texmf-dist/tex/xelatex/xecjk/xeCJK.cfg))
(/usr/share/texmf-dist/tex/generic/babel/babel.sty
(/usr/share/texmf-dist/tex/generic/babel-english/english.ldf
(/usr/share/texmf-dist/tex/generic/babel/babel.def
(/usr/share/texmf-dist/tex/generic/babel/xebabel.def))))
(/usr/share/texmf-dist/tex/latex/csquotes/csquotes.sty
(/usr/share/texmf-dist/tex/latex/etoolbox/etoolbox.sty)
(/usr/share/texmf-dist/tex/latex/csquotes/csquotes.def)
(/usr/share/texmf-dist/tex/latex/csquotes/csquotes.cfg))
(/usr/share/texmf-site/tex/latex/biblatex/biblatex.sty
(/usr/share/texmf-dist/tex/generic/iftex/iftex.sty)
(/usr/share/texmf-dist/tex/generic/oberdiek/pdftexcmds.sty
(/usr/share/texmf-dist/tex/generic/oberdiek/infwarerr.sty)
(/usr/share/texmf-dist/tex/generic/oberdiek/ifluatex.sty)
(/usr/share/texmf-dist/tex/generic/oberdiek/ltxcmds.sty))
(/usr/share/texmf-dist/tex/latex/oberdiek/kvoptions.sty
(/usr/share/texmf-dist/tex/generic/oberdiek/kvsetkeys.sty
(/usr/share/texmf-dist/tex/generic/oberdiek/etexcmds.sty)))
(/usr/share/texmf-dist/tex/latex/logreq/logreq.sty
(/usr/share/texmf-dist/tex/latex/logreq/logreq.def))
(/usr/share/texmf-dist/tex/latex/base/ifthen.sty)
(/usr/share/texmf-dist/tex/latex/url/url.sty)
(/usr/share/texmf-dist/tex/generic/xstring/xstring.sty
(/usr/share/texmf-dist/tex/generic/xstring/xstring.tex))
(/usr/share/texmf-site/tex/latex/biblatex/blx-dm.def)
(/usr/share/texmf-site/tex/latex/biblatex-apa/dbx/apa.dbx)
(/usr/share/texmf-site/tex/latex/biblatex/blx-compat.def)
(/usr/share/texmf-site/tex/latex/biblatex/biblatex.def)
(/usr/share/texmf-site/tex/latex/biblatex-apa/bbx/apa.bbx
(/usr/share/texmf-site/tex/latex/biblatex/bbx/standard.bbx)
! Illegal parameter number in definition of \blx@defformat@d.
<to be read again>
3
l.368 ...{\usebibmacro{name:apa:last-first}{#1}{#3
}{#4}{#5}{#7}?}}
?
! Illegal parameter number in definition of \blx@defformat@d.
<to be read again>
4
l.368 ...ebibmacro{name:apa:last-first}{#1}{#3}{#4
}{#5}{#7}?}}
?
! Illegal parameter number in definition of \blx@defformat@d.
<to be read again>
5
l.368 ...macro{name:apa:last-first}{#1}{#3}{#4}{#5
}{#7}?}}
?
It carries on like that for many more lines until it decides to start tackling the document, which compiles without more problems, but with a wacky bibliography.
Also, when I run biber, I get lots of warnings but no errors, and there is not a compatibility issue, as my biblatex is 3.4r-1, and my biber is 2.5, which are compatible according to the compatibility matrix in the PDF documentation.
I hope this is enough information to get some help!
\listfiles
to your preamble, the.log
will definitely list what version of each package you are using. I have no issues with your file (though you should use thebiblatex-examples.bib
to generalize your MWE), but I havebiblatex 3.7
,biblatex-apa 7.4
, andbiber 2.7
....biblatex-apa
version, but this is with almost absolute certainty a mismatch between yourbiblatex
/Biber version and yourbiblatex-apa
version. Since you are using gentoo linux and probably their repository TeX live there is not much you can do. I'd prefer to use vanilla TeX live where you are in charge of packages viatlmgr
.