```{r}
#| eval: true
#| label: tbl-iris
#| tbl-cap: "Iris数据"
library(knitr)
kable(head(iris))
```
交叉引用
如果要使用交叉引用,则每个待引用对象需要有以下两个元素:
-
label
:标签。Caution必须以类型为前缀,如#fig-1、#tbl-1、#fig-boxplot
标签名不能重复
标签名最好由英文+下划线组成
caption
:标题。
拥有了这两个元素的对象会被自动加上序号,如Figure 1,并可以被交叉引用。 可引用的对象包括:图表、公式、章节、代码和定理等。注意在交叉引用时要在两端加上空格。
Tip
有关交叉引用的详细指南,参考:https://quarto.org/docs/authoring/cross-references.html。
1 标题/节的交叉引用
只需通过sec-
定义label
,基本语法:Introduction {#sec-introduction}
。注意:要使用节的引用,需要在YAML开启标题编号(number-sections: true
),以便读者能够看到这些编号。
2 图片的交叉引用
实现的方法:
- 方法一:在源代码模式下修改被引用对象的属性,如:
{#fig-elephant width="290"}
。其中,方括号内的是对象的caption
,小括号内是图片所在的目录,“{}”内的内容是图像的label
以及其他可选设置。 - 方法二:点击待引用对象右上角的三个点,进入对象设置。分别输入
caption
和ID
(即label
)(Figure 1 )。
例如下面的图片,可以被引用:Figure 2 。
2.1 组图的交叉引用
基本语法:
案例:
现在,我们就可以将组图一起引用(Figure 3 ),或是单独引用组图内的某一张图(Figure 3 (B) ,Figure 3 (A) )。
3 表格的交叉引用
3.1 Markdown表格的引用
只需在表格后加上: My Caption {#tbl-letters}
即可使该表格能够被引用。如下面的表格 Table 1 。
3.2 代码输出表格的引用
label:tbl-
:表格的标签。tbl-cap
:表格的标题。knitr包提供了一个
kable()
函数可以用来把数据框或矩阵转化成有格式的表格,支持HTML、docx、LaTeX等格式。
现在,就可以通过 Table 2 来引用该表格了。
Note
关于表格的详细指南,参考:https://quarto.org/docs/authoring/tables.html。