参考Rmarkdown(v2)中的块

3
使用knitr和latex一段时间后,我正在尝试使用Rmarkdown,主要是因为多输出的可能性使得与同事分享更加容易。
我的问题是如何在Rmd中对图表进行块引用?
在Rnw中,通常会使用\ref{fig:chunk_name}进行块引用。
在Rmarkdown中是否直接支持对块的引用,或者仅支持内部链接到节等?
如果是肯定的情况,如何引用以下块?
```{r my_chunk}
attach(mtcars)
plot(wt, mpg)
```

感谢您的帮助!! < p > < em > 编辑 这是标题,我需要更多的东西吗?
---
title: "Title"
author: "bbrill"
date: "2015/01/15"
output: 
    pdf_document:
        fig_caption : true
---

如果块被命名为(my_chunk),那么它应该像正常一样工作:\ref{fig:my_chunk}。 - Rui Vieira
我会再次检查... - BBrill
这并不影响,我只是有些困惑。 - BBrill
2个回答

3

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

由于我第一次尝试使用Rmarkdown时,我以为问题出在hyperref不受支持(显然在markdown v1中不受支持),或者其他与我对markdown的新手使用有关的事情......

很抱歉,我白白担心了。

问题在于选项中缺少fig.cap,因此以下内容有效:

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

请参见图\ref{my_chunk}


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

您可以使用HTML设置锚点:

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

并使用Markdown链接引用它:
See [this code chunk](#my_chunk) for details

确保锚点和前面的文本之间没有空行,否则您将在代码块和前置代码块的文本之间有额外宽度的空白空间。


就此而言,块名称在HTML中不会被保留,我怀疑PDF文档也是如此。 - Jthorpe

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接