当我们在使用LaTeX进行论文排版时,由于.tex源文件编译的次数不够常会出现各种报错,现在我们来分析目录、交叉引用、参考文献编译过程以及报错的原因有哪些。
针对“图??”、“表??”、以及参考文献的引用“[??]”,这类的问题常常是由于对源文件的编译次数不够造成的。
当源文档里有使用\tableofcontents
命令构建目录,\ref
、\eqref
、\cref
命令排版图表公式交叉引用时,需要对.tex源文件编译两次以上 。编译步骤如下:
xelatex demo
xelatex demo
当采用bibtex
排版参考文献时,需要编译四次进行下述步骤:
Step1: 第一次编译,采用xelatex
等命令编译.tex源文件生成.aux 辅助文件;
Step2: 第二次编译 ,采用bibtex
命令处理.aux辅助文件记录的参考文献格式、引用条目,同时,在与.tex文件在同一文件级下的.bib文献数据库以及.bst文献样式经处理生成.bbl文献列表,内容为thebibliography
环境;
Step3: 第三次编译,xelatex
再次编译读入.bbl文献列表生成无引用的PDF;
Step4: 第四次编译,xelatex
读入.aux辅助文件生成最终的PDF。
xelatex demo
bibtex demo
xelatex demo
xelatex demo
当使用biblatex
排版参考文献时,编译四次步骤如下:
Step1: xelatex
等命令编译.tex源文件生成.aux辅助文件和.bcf引用文件;
Step2: biber
命令处理.bcf引用文件记录的参考文件格式、引用条目等信息,生成.bbl 文献列表,biblatex
宏包识别利用其中的信息输出引用标签和文献表;
Step3:xelatex
等命令将.tex源文件再编译一遍,读入.bbl文献列表,结合.aux辅助文件生成正确引用和著录表;
Step4:若需要反向超链接,则需要在biblatex
宏包设置选项backref
,再使用xelatex
编译,生成带文献反向超链接PDF。
xelatex demo
biber demo
xelatex demo
xelatex demo
分析得到出现“图??”等错误时,是因为停留在Step3阶段,此时的PDF为无引用的PDF。
当运行LaTeX出现下面报错:
I found no bibdata command---while reading file *.auxI found no bibstyle command---while reading file *.aux
I found no citation commands---while reading file *.aux
当出现这个报错时,说明编译的步骤停留在Step2。如果文章没有明显错误,检查.tex源文件同级文件夹下是否有.bib文献数据库以及.bst文献样式。
若无.bib和.bst文件,.bst文献样式需要根据不同的要求去官网下载。
若有.bib 和.bst文件,查看.bbl文献列表是否成功生成,使用bibtex
重新编译.bib文件。
若仍出现报错,查看\bibliography{}
语句是否编译,检查顺序是否正确:
\documentclass{article}
\bibliographystyle{plain} % .bst文件样式
\begin{document}
\bibliography{***} % .bib文件名
\end{document}
顺序大致以上述方式呈现。