# Undefined control sequence with \autocite and biblatex-chicago.sty

I get an 'Undefined control sequence \autocite{donnellanSpeakingNothing1974}' error with the following MWE:

\documentclass{article}
\usepackage[style=chicago-authordate]{biblatex}
\begin{document}
\autocite{donnellanSpeakingNothing1974}
\printbibliography
\end{document}


and bibliography.bib:

@Article{donnellanSpeakingNothing1974,
author       = {Donnellan, Keith S.},
title        = {Speaking of Nothing},
journaltitle = {The Philosophical Review},
date         = {1974},
volume       = {83},
number       = {1},
pages        = {3--31},
doi          = {10.2307/2183871},
}


This is not a duplicate of "Undefined control sequence." when using autocite and biblatex-chicago because I am not using bibtex.

What do I need to do to use \autocite with biblatex-chicago?

I want to use autocite, because I want to make the .tex file with Pandoc and that's how it writes citations.

I am passing a style option to biblatex.sty because that's how Pandoc's templates work. This may be the source of my problems: Difference between biblatex [style=chicago] and biblatex-chicago packages?

According to page 87 of the biblatex-chicago manual I should use xstring.sty and nameref.sty. That doesn't help; the following gives me the same error:

\documentclass{article}
\usepackage{xstring}
\usepackage{nameref}
\usepackage[style=chicago-authordate]{biblatex}
\begin{document}
\autocite{donnellanSpeakingNothing1974}
\printbibliography
\end{document}


Styles from the biblatex-chicago bundle are supposed to be loaded via the wrapper package biblatex-chicago. This is a quirk of that particular style bundle, but it is established by now.

You cannot expect to get the same result as

\usepackage[authordate]{biblatex-chicago}


from \usepackage[style=chicago-authordate]{biblatex}.

Amongst other things the wrapper package sets a lot of package loading options for the style you selected. The following should be pretty close to what \usepackage{biblatex-chicago} would give you

\documentclass{article}
\usepackage{xstring}
\usepackage{nameref}
\usepackage[style=chicago-authordate]{biblatex}

\makeatletter
\ExecuteBibliographyOptions{%
pagetracker=true,autocite=inline,alldates=comp,labeldateparts=true,
citetracker=true,uniquename=minfull,useeditor=true,usetranslator=true,
usenamec=true,alltimes=12h,urltime=24h,datecirca=true,datezeros=false,
dateuncertain=true,timezones=true,compressyears=true,
ibidtracker=constrict,sorting=cms,punctfont,cmslos=true,nodates,
uniquelist=minyear,maxbibnames=10,minbibnames=7,sortcase=false,
abbreviate=false,dateabbrev=false,avdate=true}
\makeatother

\begin{document}
\autocite{sigfridsson}
\printbibliography
\end{document}


or if you prefer to pass the options directly to biblatex

\documentclass{article}
\usepackage{xstring}
\usepackage{nameref}
\usepackage[style=chicago-authordate,
pagetracker=true,autocite=inline,alldates=comp,labeldateparts=true,
citetracker=true,uniquename=minfull,useeditor=true,usetranslator=true,
usenamec=true,alltimes=12h,urltime=24h,datecirca=true,datezeros=false,
dateuncertain=true,timezones=true,compressyears=true,
ibidtracker=constrict,sorting=cms,punctfont,cmslos=true,nodates,
uniquelist=minyear,maxbibnames=10,minbibnames=7,sortcase=false,
abbreviate=false,dateabbrev=false,avdate=true,
]{biblatex}

\begin{document}
\autocite{sigfridsson}
\printbibliography
\end{document}


The immediate error about \autocite can also be removed with the shorter

\documentclass{article}
\usepackage{xstring}
\usepackage{nameref}
\usepackage[style=chicago-authordate, autocite=inline,]{biblatex}

\begin{document}
\autocite{sigfridsson}
\printbibliography
\end{document}


but then other parts of the style may not be as intended by the style author (and required by the CMS).

Note that even the two long option invocations don't do everything \usepackage{biblatex-chicago} does. If you are interested in that you can copy everything after (and not including) \expandafter\ExecuteBibliographyOptions\expandafter{\cms@options} up to (and again not including) \endiput from biblatex-chicago.sty into your preamble between \makeatletter...\makeatother.

# Edit

Seems the \autocite is the problem. Got it to work, though:

Try this:

\documentclass{article}
\usepackage[T1]{fontenc}
\usepackage[american]{babel}
\usepackage{csquotes}
\usepackage{xstring, nameref}

\begin{filecontents}[overwrite]{bibliography.bib}
@Article{donnellanSpeakingNothing1974,
author       = {Donnellan, Keith S.},
title        = {Speaking of Nothing},
journaltitle = {The Philosophical Review},
date         = {1974},
volume       = {83},
number       = {1},
pages        = {3--31},
doi          = {10.2307/2183871},
}
\end{filecontents}

\usepackage[style=chicago-authordate,autocite=inline]{biblatex}
\begin{document}

This is a citing test \autocite{donnellanSpeakingNothing1974}

\printbibliography
\end{document}


Forgot the output:

• According to page 3 of the biblatex-chicago manual, the option 'chicago-authordate' exists. I don't get an error about that, as I would if I used 'style=foo'.
– twsh
Aug 6 '20 at 14:30
• The alternative you give works, but I can't do it that way because I have to pass options to biblatex.sty.
– twsh
Aug 6 '20 at 14:31
• style=chicago-authordate exists.tex.stackexchange.com/q/59222/91556 Aug 6 '20 at 14:35
• I'm not sure, but it seems to me that loading biblatex-chicago has become mandatory. Can anyone confirm this? Aug 6 '20 at 14:37
• @phil-elkabat The manual for biblatex-chicago says that it is recommended, not mandatory (page 87).
– twsh
Aug 6 '20 at 14:45

I had the same problem and ended up using \citet{} and \citep{}...