使用 biblatex (\blx@refcontext@context) 时出现未定义的控制序列错误

使用 biblatex (\blx@refcontext@context) 时出现未定义的控制序列错误

我的任务是筛选一篇论文并消除所有错误(我知道这很令人兴奋)。我唯一无法找出的错误如下:

! Undefined control sequence.
<argument> ...\blx@tempe @\blx@refcontext@context

l.14

? h
The control sequence at the end of the top line
of your error message was never \def'ed. If you have
misspelled it (e.g., `\hobx'), type `I' and the correct
spelling (e.g., `I\hbox'). Otherwise just continue,
and I'll forget about whatever was undefined.

?

我到处搜索,但找不到有效的解决方案。以下是代码示例:

\documentclass[10pt,letterpaper]{article}
\usepackage[backend=biber, style=ieee ,defernumbers=true]{biblatex}
\usepackage{float} % Allows for control of flat positions
\usepackage{caption}
\usepackage{subcaption}
\usepackage{graphicx}
\usepackage{amsmath}
\usepackage{amssymb}
\usepackage{gensymb}    

\addbibresource{bibliography.bib}
\printbibliography

\begin{document}

blablabla here's all the writing and stuff I took out. 
Oh, look, I'm citing some paper \cite{ganan1998generation}

\end{document}

对于该bibliography.bib文件,作者引用的方式是:

@article{ganan1998generation,
  title={Generation of steady liquid microthreads and micron-sized monodisperse sprays in gas streams},
  author={Ga{\~n}{\'a}n-Calvo, Alfonso M},
  journal={Physical Review Letters},
  volume={80},
  number={2},
  pages={285},
  year={1998},
  publisher={APS}
}

网上的其他解决方案都说问题出在多次引用,但这里不是这种情况。我注释掉了\cite{bib1,bib2,etc}文中的所有命令,但仍然出现相同的错误。

我还应该提到,未定义的控制序列错误被抛出了 8 次,每次都有不同的<argument>描述。

我不确定这里发生了什么,需要帮助。我尝试了以下页面中的解决方案:第 1 页第2页第 3 页

答案1

发生该错误(不太清楚,我会告诉你)是因为您\printbibliography在文档的序言中使用了。命令\printbibliography,正如名称所宣传的那样,打印参考书目,因此它必须出现在\begin{document}(您希望参考书目出现的位置)之后。

该错误出现在常见Missing \begin{document}错误之前,因为biblatex对参考书目进行了大量处理\begin{document},所以某些命令(例如引发错误的命令)尚未在序言中定义。

此外,参考书目很大程度上依赖于外部(Overleaf 称之为缓存) 文件。通常,编译失败会导致文件不可用,即使您修复了问题,该文件仍会继续存在错误,因此如果出现问题,最好尝试删除这些文件。

相关内容