在RMarkdown中显示输出中的代码块名称

Sua*_*PhD 2 r r-markdown

正如RMarkdown中所知,代码块可以这样命名:

```{r chunkname}

plot(x,y)

```
Run Code Online (Sandbox Code Playgroud)

是否可以在输出文档中显示chunkname?

sco*_*coa 5

您可以使用 knitr::opts_current$get()$label

例:

```{r cars}
library(knitr)
opts_current$get()$label
plot(cars)
```
Run Code Online (Sandbox Code Playgroud)

它也可以在内联代码中以块的形式工作.然后它将输出最后一个块的标签.

您当然可以将标签保存在矢量中以便以后使用它们,例如使用自定义钩子:

```{r knitr_setup}
library(knitr)
ll <- opts_current$get()$label
knit_hooks$set(label_list = function(before, options, envir) {
    if(before) ll <<- c(ll,opts_current$get()$label)
})
opts_chunk$set(label_list=TRUE)
```
Run Code Online (Sandbox Code Playgroud)

ll然后将包含块标签列表.但是,您无法访问尚未运行的块的名称.