我收到“未定义控制序列 \autocite{donnellanSpeakingNothing1974}”错误,并显示以下 MWE:
\documentclass{article}
\usepackage[style=chicago-authordate]{biblatex}
\addbibresource{bibliography.bib}
\begin{document}
\autocite{donnellanSpeakingNothing1974}
\printbibliography
\end{document}
和 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},
}
这不是重复的使用 autocite 和 biblatex-chicago 时出现“未定义的控制序列。”因为我没有使用 bibtex。
我需要做什么才能\autocite
使用biblatex-芝加哥?
我想使用 autocite,因为我想用潘多克这就是它写引文的方式。
我将样式选项传递给 biblatex.sty,因为 Pandoc 模板就是这样工作的。这可能是我的问题根源:biblatex [style=chicago] 和 biblatex-chicago 包之间的区别?
根据 biblatex-chicago 手册第 87 页,我应该使用 xstring.sty 和 nameref.sty。但这没有帮助;下面给出了同样的错误:
\documentclass{article}
\usepackage{xstring}
\usepackage{nameref}
\usepackage[style=chicago-authordate]{biblatex}
\addbibresource{bibliography.bib}
\begin{document}
\autocite{donnellanSpeakingNothing1974}
\printbibliography
\end{document}
答案1
捆绑包中的样式biblatex-chicago
应该通过包装包加载biblatex-chicago
。这是该特定样式捆绑包的一个怪癖,但现在已经确定了。
你不能期望得到与
\usepackage[authordate]{biblatex-chicago}
从\usepackage[style=chicago-authordate]{biblatex}
。
除其他事项外,包装器包还为您选择的样式设置了许多包加载选项。以下内容应该非常接近\usepackage{biblatex-chicago}
您给出的内容
\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
\addbibresource{biblatex-examples.bib}
\begin{document}
\autocite{sigfridsson}
\printbibliography
\end{document}
或者如果您希望直接将选项传递给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}
\addbibresource{biblatex-examples.bib}
\begin{document}
\autocite{sigfridsson}
\printbibliography
\end{document}
\autocite
也可以使用较短的
\documentclass{article}
\usepackage{xstring}
\usepackage{nameref}
\usepackage[style=chicago-authordate, autocite=inline,]{biblatex}
\addbibresource{biblatex-examples.bib}
\begin{document}
\autocite{sigfridsson}
\printbibliography
\end{document}
但样式的其他部分可能不符合样式作者的意图(并且不符合 CMS 的要求)。
请注意,即使两个长选项调用也不会完成所有\usepackage{biblatex-chicago}
操作。如果您对此感兴趣,可以复制从以下位置(不包括)\expandafter\ExecuteBibliographyOptions\expandafter{\cms@options}
到以下位置(同样不包括)的所有内容\endiput
biblatex-chicago.sty
放入你的序言中\makeatletter...\makeatother
。
答案2
编辑
似乎这\autocite
就是问题所在。不过,它还是正常工作了:
尝试这个:
\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}
\addbibresource{bibliography.bib}
\begin{document}
This is a citing test \autocite{donnellanSpeakingNothing1974}
\printbibliography
\end{document}
忘记输出:
答案3
我也遇到了同样的问题并最终使用\citet{}
了\citep{}
...