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

Cross-reference figure in a separate Rmarkdown (PDF) file

我正在处理一个项目,该项目有两个独立的 .Rmd 文件,它们属于同一个项目。一个文件主要包含文本和方程式,另一个文件包含 figures/plots。是否可以将第二个文件中的数字交叉引用到第一个 .Rmd 文件中?

File_1.Rmd

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

$$
mpg = f(wt)
$$

公式如图\@ref(fig:File_2.Rmd:plot).

File_2.Rmd

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

两个文件的输出都是bookdown::pdf_document2

是的,这是可能的。

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

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

使用您的示例,以下应该有效:

File_1.Rmd

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

$$
mpg = f(wt)
$$

公式如图\@ref(fig:plot).

File_2.Rmd

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

查看 bookdown 包的 documentation 以获得更详细的解释。