引用 Rmarkdown (v2) 中的块

Reference to a chunk in Rmarkdown (v2)

在将 knitr 与 latex 一起使用一段时间后,我正在尝试 Rmarkdown,主要是因为具有多个输出的可能性使得与同事共享变得更加容易。

我的问题是如何在 Rmd 中引用数字块?

在 Rnw 中,你通常会制作 \ref{fig:chunk_name}

是在 Rmarkdown 中直接支持对块的引用,还是只支持到部分等的内部链接? 在积极的情况下,如何引用像下面这样的块?

```{r my_chunk}
attach(mtcars)
plot(wt, mpg)
```

感谢您的帮助!!

编辑 这是 header,我还需要更多吗?

---
title: "Title"
author: "bbrill"
date: "2015/01/15"
output: 
    pdf_document:
        fig_caption : true
---

(此答案仅适用于使用 Rmarkdown 创建 html 页面,抱歉,在原始问题中包含 HEADER 之前我没有意识到您正在制作 PDF。)

您可以使用 HTML 设置锚点:

<a id="my_chunk"></a>
```{r }
attach(mtcars)
plot(wt, mpg)  
```

并使用降价引用它 link:

See [this code chunk](#my_chunk) for details

确保锚点和前面的文本之间没有空行,否则代码块和代码块之前的文本之间会有超宽空白space。

好的,问题出在 knitr 格式化选项中,因为它缺少 fig.cap ="",这是 Latex 构建图形环境所需要的。

因为我第一次尝试使用 Rmarkdown,我认为问题是不支持 hyperref(markdown v1 显然不支持),或者与我的新手使用 markdown 相关的其他事情...

对不起,我白白疯了

问题是选项中缺少 fig.cap 所以,这个有效:

```{r my_chunk, fig.cap = ""}
attach(mtcars)
plot(wt, mpg)
```

见图\ref{my_chunk}