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!
\listfilesto your preamble, the.logwill definitely list what version of each package you are using. I have no issues with your file (though you should use thebiblatex-examples.bibto generalize your MWE), but I havebiblatex 3.7,biblatex-apa 7.4, andbiber 2.7.... – jon Apr 01 '17 at 05:12biblatex-apaversion, but this is with almost absolute certainty a mismatch between yourbiblatex/Biber version and yourbiblatex-apaversion. 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. – moewe Apr 01 '17 at 10:51i will try to install biblatex-apa in a more recent version and see if that fixes things
– the_kraken Apr 01 '17 at 10:55biblatex-apafrom CTAN (https://www.ctan.org/pkg/biblatex-apa), but I fear it might be too new for yourbiblatex(the current version is 3.7). You could try and get the correct version (probably by trial and error with a bit of guessing by the dates) from github, you only needapa.cbx,apa.bbx,apa.dbxand all the.lbxfiles. – moewe Apr 01 '17 at 11:07biblatex3.4/Biber 2.5 you needbiblatex-apa6.9, you can get it from https://github.com/plk/biblatex-apa/releases/tag/v6.9 – moewe Apr 01 '17 at 11:09I suspect the situation is similar enough to warrant closing. thank you for pointing me in the right direction. Indeed it seems like I must get around gentoo's own package manager to get biblatex-apa 6.9
– the_kraken Apr 01 '17 at 11:09$TEXMFHOME(usually~/texmf, but you can probably test withkpsewhich --var-value TEXMFHOME). The 'trick' is that the directory structure must match the way it is set out in$TEXMFDIST, so the filesbiblatex-apashould go somewhere like$TEXMFHOME/tex/latex/biblatex-apa/(but the docs at$TEXMFHOME/doc/latex/biblatex-apa). Then note that the normal path-searching order is$TEXMFHOMEbefore$TEXMFLOCALbefore$TEXMFDIST... so you must remember that you're relying on the manual install when gentoo updates. – jon Apr 02 '17 at 01:02