我在我的工作Latex文档中添加了一行"\ cite {test}"作为测试.当我编译bibtex"!bibtex name_of_my_file时,我得到了预期的错误:
警告 - 我没有找到"test"的数据库条目
然后,我删除了该行并再次编译了bibtex,希望能再次使用一个正在运行的Latex文件.但是,即使使用新的shell,也会发生同样的错误.我无法理解这种行为.逻辑是什么?如何让我的Latex文档再次运行?
[更新信息] 问题在出现时出乎意料地消失了.我不知道为什么,但它现在有效.你知道奇怪行为的原因吗?
我认为你正在绊倒LaTex和Bibtex的多次通过性质.如果您查看本讨论中的第3步,您将看到以下内容:
第一次运行(通过latex)生成一个辅助文件paper.aux,其中包含有关引用(和其他类型的引用)的信息,使用的参考书目样式以及bibtex数据库的名称.第二次运行(通过bibtex)使用辅助文件中的信息以及bibtex数据库中包含的数据来创建文件paper.bbl.此文件包含一个参考文献环境,其中\ bibitem条目根据指定的参考书目样式进行格式化.
所以,我认为发生的事情是你的name_of_my_file.aux文件仍然包含你的占位符\cite{test}.如果删除辅助文件,您应该可以重新开始:
latex name_of_my_file
bibtex name_of_my_file
latex name_of_my_file
latex name_of_my_file
Run Code Online (Sandbox Code Playgroud)
[根据附加信息更新]:问题是你有一个仍然嵌入的.aux文件\cite{}.第二次运行时latex,使用new覆盖旧文件.这就是为什么完整的步骤包括初始latex呼叫,bibtex呼叫和两个后续latex呼叫.可以把它想象成一个多遍编译器,它可能更直观.