2.6 交叉引用

我们已经解释了交叉引用是如何在方程(第 2.2.1 节)、定理(第 2.2.2 节)、图片(第 2.4 节)和表格(第 2.5 节)上起作用的。事实上,你也能够使用相同的语法 \@ref(label) 引用章节,在此时 label 是章节的标识符。默认情况下,Pandoc 将会为全部章节标题生成一个标识符,例如 # Hello World 这一章将会有名为 hello-world 的标识符。我们建议你手动为章节标题指定标识符,以确保更改章节标题后不会忘记更新参考标签。要将标识符分配给章节标题,只需要简单的在章节标题之后添加 {#id} 即可。章节标题的其他属性可以使用标准 Pandoc 语法

当找不到引用的标签时,你将会看见两个问号 ??以及编译书籍时在 R console 中打印的警告信息。

你也可以使用显式或自动指定的章节标识符,甚至是实际的章节标题文本创建基于文本的章节链接。

  • 如果你对使用章节标题作为链接文本感到满意,请在一组方括号内使用它:
    • [章节标题文本]: 例如通过 [单个文档] 创建指定的链接文本 “单个文档
  • 如果要指定自定义链接文本,有两种方法:
    • [链接文本][章节标题文本]。例如,“非英语书籍” via [非英语书籍][国际化]
    • [链接文本](#标识符)。例如,“表格填充” via [表格填充](#tables)

Pandoc 文档提供了更多详细信息,请见 自动指定章节标识符 (automatic section IDs)隐式标题引用 (implicit header references)

当我们在 PDF 或 HTML 输出文档下提及并不在当前页面的文档项目时,交叉引用仍然能够起作用。例如,请见方程 (2.1) 和图片 2.4