latex 完全学习手册_耿老师带你详解 LaTeX 编译过程

这篇博客详细介绍了在使用 LaTeX 排版时如何正确处理目录、图表、参考文献引用等问题。通过 xelatex、bibtex 或 biblatex 的编译步骤,以及使用 latexmk 自动化编译过程,帮助读者理解 LaTeX 的编译机制,并提供了解决常见错误的方法。同时强调了阅读 log 日志文件的重要性。
摘要由CSDN通过智能技术生成

经常会碰到在使用 LaTeX 排版时,出现没有目录、“图??”、“表??”、参考文献引用和著录不正确的问题。这类问题,多数是因为没有正常执行多次编译而造成的。在此,以 xelatex 引擎为例进行说明。


目录和图表

在使用\tableofcontents命令排版目录,\ref\cref等命令排版图表交叉引用时,至少需要对.tex文件进行两次编译,如(可以略去扩展名):

1xelatex demo
2xelatex demo

其编译过程如下图所示:

8a9704d9b3bf1895ee63519ed8f1affa.png
目录排版流程
0e79873064e3c304de79907e7baad196.png
交叉引用排版流程

用 bibtex 排版参考文献

在使用 bibtex排版参考文献时,需要:

  1. 首先使用 xelatex 等命令编译 LaTeX 源代码 demo.tex,生成 demo.aux 文件;

  2. 接下来用 bibtex 命令处理 demo.aux 辅助文件记录的参考文献格式、引用条目等信息。bibtex 命令处理完毕后会生成 demo.bbl 文件,其内容就是一个thebibliography环境;

  3. 再使用 xelatex 等命令把源代码 demo.tex 编译两遍,读入参考文献并正确生成引用和著录表。

整个过程使用的命令如下(可以略去扩展名):

1xelatex demo
2bibtex demo
3xelatex demo
4xelatex demo

其编译过程如下图所示:

7a388a2f997cd24f29e34d0478fed9ce.png
bibtex排版参考文献流程

用 biblatex 排版参考文献

在使用biblatex排版参考文献时,需要:

  1. 首先使用 xelatex 等命令编译LaTeX源代码 demo.tex,生成 demo.aux 文件和 demo.bcf 文件;

  2. 接下来用 biber 命令处理 demo.bcf 文件记录的参考文献格式、引用条目等信息。bibtex 命令处理完毕后会生成 demo.bbl 文件,biblatex 识别并利用其中的信息输出引用标签和文献表;

  3. 再使用xelatex等命令将源代码 demo.tex 编译一遍,读入demo.bbl 文件,结合第1步编译生成的demo.aux文件生成正确引用和著录表。

  4. 如需要后向超链接,则除了为 biblatex 宏包设置 backref 选项外,还需第4遍 xelatex 编译。

整个过程使用的命令如下(可以略去扩展名):

1xelatex demo2bibber demo3xelatex demo4xelatex demo

db12063627270e81c70ba1957a2f0670.png
biblatex排版参考文献流程

用 latexmk 命令完成所有工作

为了简化目录、交叉引用、参考文献等编译过程的自动化操作,LaTeX发行版提供了latexmk命令,以实现一次性完成所有的编译过程,如:

1latexmk -xelatex demo.tex

说明:由以上分析可以看出,在LaTeX的编译过程中,会生成*.aux*.bcf*.bbl*.log 等辅助文件和日志文件,当这些文件没有发生改变时,这些文件则不需要再次编译,因此,一般不要随便删除这些文件。当然,如果需要从头开始完成编译或编译存在错误,造成无法再次编译时,则可以删除这些辅助文件。

注意:以上操作都是在命令行实现操作的,若使用IDE,请参考相应手册对IDE进行合理配置,以实现对应操作。

编译 log (日志)提示信息

通常,当没有达到预定编译次数时,在log(日志)中,会有对应的提示,如:

1LaTeX Warning: There were undefined references.
2LaTeX Warning: Label(s) may have changed. Rerun to get cross-references right.

1you should run BiBTex to get citation right.
2
3Package natbib Warning: There were undefined citations.

1you should run LaTeX again to get reference right.

1you should run Biber to get citation right.

因此,认真读编译过程中生成的 log (日志)文件,是非常有必要的。


点击阅读原文,学习 LaTeX 不再有困难

b658f73b129d053ba3ad8ba1543cef67.png
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值