I am using bibtex as the backend for my biblatex bibliography but there seems to be some clash between it and the etoolbox
package that I don't understand. This is on a fresh install of TeXlive 2014. The error only appears if the following conditions are met:
1: BibTeX is the backend
2: I am using biblatex-chicago (there's no tag for that – sorry!)
3: A bib entry is cited twice in the same paragraph
A minimal example follows (in which I have embedded the bibliography in the file for the sake of keeping it simple – doing it this way didn't change the error).
\documentclass{article}
\usepackage{filecontents}
\begin{filecontents}{biblio.bib}
@book{smith_john_1970,
address = {City},
edition = {1st},
title = {Help},
publisher = {A. N. Other},
author = {Smith, John},
year = {1970},
}
\end{filecontents}
\usepackage[backend=bibtex]{biblatex-chicago}
\addbibresource{biblio.bib}
\begin{document}
\cite[732]{smith_john_1970} and \cite[732]{smith_john_1970}
\end{document}
Best Answer
If one does some digging in
chicago-notes.cbx
, in the definition for thecite
bibmacro one findsAnd indeed that seems to be the boolean expression that causes
etoolbox
to get the hiccups. All but one of these conditions are completely fine, the problem arises fromtogl {blx@skipbiblist}
.skipbiblist
is - like its friendsskipbib
andskiplab
- a Biber-only option (unfortunately,skipbiblist
is quite new and not documented in the docs, it is an extension ofskiplos
and works in similar fashion to its "friends", see p. 62 §3.1.3.2 Type/Entry Options of thebiblatex
documentation)If you do not use Biber, but BibTeX or BibTeX8, the file
biblatex1.sty
is loaded (with Biber it would bebiblatex2.sty
),biblatex1.sty
, however does not have a definition forblx@skipbiblist
(it does provide one forblx@skipbib
,blx@skiplos
andblx@skiplab
though - so it rather seems like abiblatex1
bug for me) and therefore the conditional is invalid foretoolbox
, becauseblx@skipbiblist
does not exist if you do not use Biber.But I want a fix now!
There are two fixes for this issue
1. Use Biber
Just use Biber as your backend, enjoy all its functionalities and capabilities and get rid of this little bug; you merely have to pass
backend=biber
as loading-time option tobiblatex
/biblatex-chicago
(and obviously have Biber installed and run it instead of BibTeX).That is the preferred solution, see for example page 1 (!) of the
biblatex-chicago
documentation:Or
2. Provide the missing toggle yourself
Just put
into your preamble.
MWE