Latex参考文献引用失败 报错 LaTeX Warning: Citation “*****” on page y undefined on input line *

Posted 呆呆象呆呆

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Latex参考文献引用失败 报错 LaTeX Warning: Citation “*****” on page y undefined on input line *相关的知识,希望对你有一定的参考价值。

1 问题报错

LaTeX Warning: Citation “*****” on page y undefined on input line *

虽然可以成功编译出一个PDF文件但是真实地引用是不会完整出现的

2 问题出现的原因

当我们在使用LaTeX进行论文排版时,由于.tex源文件编译的次数不够常会出现各种报错,现在我们来分析目录交叉引用参考文献编译过程以及报错的原因有哪些。

针对图??表??、以及参考文献的引用[??],这类的问题常常是由于对源文件的编译次数不够造成的。

2.1 目录图表编译过程

当源文档里有使用\\tableofcontents命令构建目录,\\ref\\eqref\\cref命令排版图表公式交叉引用时,需要对.tex源文件编译两次以上 。编译步骤如下:

xelatex demo
xelatex demo

2.2 bibtex排版参考文献

当采用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

2.3 biblatex排版参考文献

当使用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

3 问题解决

明白问题出现的原因后问题的解决就会变得比较容易

设置编译链进行编译的时候

使用 pdflatex 编译
之后使用 bibtex 编译
之后在使用 pdflatex 编译两次

或者

使用 xelatex 编译
之后使用 bibtex 编译
之后在使用 xelatex 编译两次

(如何设置编译链可以参考如下博客)

VSCODE 安装LATEX环境,参数配置,常见问题解决_呆呆象呆呆的博客-CSDN博客

成功结果如下所示

4 参考文献

LaTeX源文件为什么要多次编译 - LaTeX 工作室 问答社区

latex生成流程_繁小华的专栏-CSDN博客

(11条消息) 【错误总结】LaTex Warning: citation undefined_编程小栈-CSDN博客

以上是关于Latex参考文献引用失败 报错 LaTeX Warning: Citation “*****” on page y undefined on input line *的主要内容,如果未能解决你的问题,请参考以下文章

Latex参考文献引用标准

Jupyternotebook download as pdf via LaTex报错

LaTeX:引用,但不要引用

LaTeX技巧22:LaTeX文档中的参考文献初级

latex中怎样引用仅连续两个参考文献写成[1–2]

Latex参考文献引用顺序排序