错误:bib 文件中“缺少 } 插入”

错误:bib 文件中“缺少 } 插入”

在运行我的文件时,我收到此错误,指向并将我重定向到 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

我只是需要调试这个问题。由于许多不同的事情都可能导致此问题,因此一般策略是重复以下步骤:

  1. 删除文档序言的一部分。

  2. 删除.bbl 和 .aux 文件。

  3. 重新运行(pdf)latex、bibtex、(pdf)latex。

如果删除整个前导码,错误应该会消失。因此,最终该算法应该会收敛到有问题的语句。

就我而言,令人反感的部分是这样的解决方法我已将其引入序言中。

相关内容