在LaTeX中使用BibTeX時的一個問題及其解決:編譯PDF不隨bib文件更新


問題:更新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文件。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM