编辑

编辑

我收到“未定义控制序列 \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}到以下位置(同样不包括)的所有内容\endiputbiblatex-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{}...

相关内容