我的任务是筛选一篇论文并消除所有错误(我知道这很令人兴奋)。我唯一无法找出的错误如下:
! 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
发生该错误(不太清楚,我会告诉你)是因为您\printbibliography
在文档的序言中使用了。命令\printbibliography
,正如名称所宣传的那样,打印参考书目,因此它必须出现在\begin{document}
(您希望参考书目出现的位置)之后。
该错误出现在常见Missing \begin{document}
错误之前,因为biblatex
对参考书目进行了大量处理\begin{document}
,所以某些命令(例如引发错误的命令)尚未在序言中定义。
此外,参考书目很大程度上依赖于外部(Overleaf 称之为缓存) 文件。通常,编译失败会导致文件不可用,即使您修复了问题,该文件仍会继续存在错误,因此如果出现问题,最好尝试删除这些文件。