![错误:bib 文件中“缺少 } 插入”](https://linux22.com/image/361241/%E9%94%99%E8%AF%AF%EF%BC%9Abib%20%E6%96%87%E4%BB%B6%E4%B8%AD%E2%80%9C%E7%BC%BA%E5%B0%91%20%7D%20%E6%8F%92%E5%85%A5%E2%80%9D.png)
在运行我的文件时,我收到此错误,指向并将我重定向到 bbl 文件的最后一行(缺少}插入。\end{thebibliography})
我检查了之前的 stackexchange 主题,似乎没有任何“图形”括号(即“{”或“}”)。此外,我从未修改过 bbl 文件,也不知道为什么会在那里出错。
我运行了几次该序列:LaTeX、BibTeX、LaTeX、LaTeX。
我通过 TeXstudio 版本 2.12.6 进行工作。
非常感谢你的帮助,马克
答案1
诸如以下的示例将会产生您所述的错误。
第一次运行 latex 不会出错,bibtex 也不会出错,但生成的 .bbl 文件会包含生成不匹配的代码,而{
这本身不会导致任何错误,但当\end{thebibliography}
达到时,LaTeX 会抱怨它试图关闭错误类型的组,因为它期望一个,}
所以你得到
! Missing } inserted.
<inserted text>
}
l.11 \end{thebibliography}
?
请注意,bibtex 已经可以检测到 bib 条目中的简单不匹配,{
这将给出错误并检测到条目,但如此处所示,有可能存在允许不匹配的括号逃脱 bibtex 检查的构造。
因此,在您的真实文档中,查找生成的 bbl 文件中不匹配的括号,一旦找到,就纠正生成它们的 bib 条目。
\begin{filecontents}{\jobname.bib}
@misc{abc,
title="title one",
author="yo{\iffalse}\fi u",
publisher="someone"}
@misc{xyz,
title="title two",
author="me",
publisher="zzz"}
\end{filecontents}
\documentclass{article}
\begin{document}
something about \cite{abc} and also \cite{xyz}
\bibliographystyle{plain}
\bibliography{\jobname}
\end{document}
答案2
我只是需要调试这个问题。由于许多不同的事情都可能导致此问题,因此一般策略是重复以下步骤:
删除文档序言的一部分。
删除.bbl 和 .aux 文件。
重新运行(pdf)latex、bibtex、(pdf)latex。
如果删除整个前导码,错误应该会消失。因此,最终该算法应该会收敛到有问题的语句。
就我而言,令人反感的部分是这样的解决方法我已将其引入序言中。