摘要
本课讲解如何从文档的一处引用另一处,而从不手写任何编号。它说明标签记录的是什么,即它之前最后一个编号元素的编号,并由此推出标签在节、图、公式和列表项中应放在哪里,以及为什么写在图的标题之前的标签会指向节;提出一套给标签命名的约定;说明为什么引用需要编译两遍,以及修改之后第一遍会发生什么;介绍 hyperref 宏包,它把引用变成链接、把节变成 PDF 的书签,并介绍它的选项和文档的元数据;介绍 cleveref 宏包,它会自己写出被引用对象的名称,并说明如何为它设置中文名称;简要介绍 nameref;最后列出最好避免的做法。
学习目标
- 说明标签记录的是哪个编号,并据此在节、图、公式和列表中正确放置标签,预测位置不当的引用会印出什么。
- 按照一套约定给标签命名,让写作者知道每个标签指的是什么。
- 说明为什么引用需要编译两遍,理解相关警告,并预测只编译一遍后引用会显示什么。
- 按正确的顺序加载 hyperref 和 cleveref,选择链接的外观,并设置 PDF 的元数据。
- 用
\cref、\Cref、\pageref和\nameref进行引用,使印出的文字符合中文的语序,例如“第 2 节”。
手写编号的问题
学术文本经常引用自身:“如第 2 节所示”“图 3 中的数据”“式 (4)”“见第 12 页”。如果这些编号是手写的,文档的每一次修改都会威胁到它们:在开头加一节,后面所有节的编号都会移动;删掉一张图,其余的图就会重新编号;一页变长,后面的内容就会推移。作者只好找出每一处引用逐一改正,只要漏掉一处,文本就会指向错误的地方,而且没有任何提示。
LaTeX 的自动编号已经给节、脚注和列表编号,也能解决这个问题。要引用的位置用一个标签来标记,标签是作者自选的名字;每次引用时写这个名字,而不写编号。引擎负责查出编号并写出来;编号一变,所有地方同时改变。
正在加载内容…
已完成
登录账户以保存您的进度