单独的Rmarkdown(PDF)文件中的交叉引用图

时间:2018-07-15 05:01:19

标签: r r-markdown bookdown cross-reference

我正在一个项目中,该项目有两个单独的.Rmd文件,它们是同一项目的一部分。一个文件主要包含文本和方程式,另一个文件包含图形/图表。是否可以将第二个文件中的图形交叉引用到第一个.Rmd文件中?

文件_1.md

以下公式彻底改变了汽车制造业。它根据重量来预测汽车每加仑的行驶里程。

$$
mpg = f(wt)
$$

该公式如图\@ref(fig:File_2.Rmd:plot)所示。

File_2.Rmd

```{r plot}
ggplot(mtcars, aes(wt, mpg)) +
geom_point()
```

两个文件的输出均为bookdown::pdf_document2

1 个答案:

答案 0 :(得分:1)

是的,这是可能的。

为此,您必须使用块标签使用块选项fig.cap(例如```{r foo, fig.cap = "some title"})设置图形标题。这样做会将标题和标签添加到用于生成PDF输出的LaTeX文档中的图形环境中。该图形环境的标签将是块标签。

在参考中必须使用前缀fig。请注意,不需要在标签中包含包含您要引用的图形的.Rmd文件的名称:\@ref(fig:foo)就足够了。

使用您的示例,以下方法应该起作用:

文件_1.md

以下公式彻底改变了汽车制造业。它根据重量来预测汽车每加仑的行驶里程。

$$
mpg = f(wt)
$$

该公式如图\@ref(fig:plot)所示。

File_2.Rmd

```{r plot, fig.cap = "some title"}
ggplot(mtcars, aes(wt, mpg)) +
geom_point()
```

有关更详细的说明,请参见书包的documentation