如何在 R Markdown 中交叉引用自动编号的图形?

How do I cross reference automatically numbered figures in R Markdown?

我正在写一本比较长的HTML电子书,里面有大量的图片是通过html_document2自动编号的。我使用以下代码插入数字。

{r, echo=FALSE, out.width="75%", fig.align = "center", fig.cap="My caption."}
knitr::include_graphics("..../Picture1.png")

在文中,我想参考一下图。例如,(图 2.2)。我尝试使用以下格式及其变体,但它没有生成交叉引用。谁能解释一下我是怎么做到的?

\ref{fig:My caption.}.

bookdown 中的引用与 LaTex 不同。首先,您需要为包含图形的代码块命名,名称中只能包含字母和数字,不能有空格或其他特殊字符。那么引用的语法是\@ref(fig:name)。 (注意它使用圆括号,而不是大括号!)对于您的示例,这应该有效:

```{r Figure1, echo=FALSE, out.width="75%", fig.align = "center", fig.cap="My caption."}
knitr::include_graphics("..../Picture1.png")
```

That was Figure \@ref(fig:Figure1).