在LaTeX中使用BibTeX时的一个问题及其解决:编译PDF不随bib文件更新
2024-09-08 17:29:29
问题:更新bib文件之后,编译tex文件输出的PDF文件没有相应的更新。
原理:
bbl文件才是引文的信息,bib文件只是用于生成bbl文件的一个“数据集”而已。
一般来说,LaTeX在编译tex文件的时候会编译对应的bib文件,但是当bib文件出错时LaTeX通常不返回错误信息,这导致问题变得很难寻找。正常情况下,bib被编译时产生bbl文件,自动覆盖原有bbl文件,实现引文的更新。当bib文件中出现语法错误时,bib文件将不会被编译,那么bbl文件也不会被创建。此时,如果原来成功编译过bib文件,则原来的bbl文件不会被覆盖,于是表现为得到的PDF没有更新;如果原来没有成功编译过bib文件,或者bbl文件被删除,则表现为没有参考文献(甚至“参考文献”栏目也消失)。
解决方案:
bbl文件才是引文的信息,因此每次更新bib文件之后应该重新编译该文件,这也有助于对bib文件语法错误的定位和解决。
具体解决方法如下:
1.删除所有的编译临时文件;
2.bib文件名改为和tex文件同名;
3.在tex文件中对引用的bib文件名进行对应的修改;
4.编译tex文件,产生aux文件;
5.编译bib文件,生成正确的引文信息bbl文件;
6.再次编译tex文件,将会使用bbl文件对tex文件中的引文进行对应。此时将会生成正确的pdf文件。
最新文章
- 2016HUAS_ACM暑假集训4C - 递推
- MyCat:取代Cobar数据库中间件
- android viewpager 图片翻页例子
- 01WebApi防篡改机制---HMAC机制
- GridView总结一:GridView自带分页及与DropDownList结合使用
- stack UVA 442 Matrix Chain Multiplication
- nyist 506 洗澡
- 【转】学习总结--Cookie &; Session总结
- 简单的Datatable转List,Json
- [置顶] 程序员必知(三):一分钟知道URI编码(encodeURI)
- HTML学习笔记 CSS文本及字体及连接及列表(a标签使用及缩进) 案例 第七节 (原创)参考使用表
- UE4中FString转UTF8及UTF8转FString
- jenkins+supervisor实现django项目的自动部署(ubuntu)
- 洛谷:P1036:选数
- MaxCompute/DataWorks权限问题排查建议
- spring boot中jsp解析c标签方法
- python代码块,小数据池,驻留机制深入剖析
- draftsight的热补丁
- js便签笔记(10) - 分享:json.js源码解读笔记
- 微信小程序获取客户端系统信息