2016-01-27 42 views
2

显示的代码块的名称作为RMarkdown代码块称为可命名如下:在输出RMarkdown

```{r chunkname} 

plot(x,y) 

``` 

是否有可能显示输出文档中chunkname?

回答

5

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

例如:

```{r cars} 
library(knitr) 
opts_current$get()$label 
plot(cars) 
``` 

它也将工作一大块之外,在内嵌R代码里面。它会输出最后一个块的标签。

你当然也可以保存标签的载体与自定义挂钩以后使用它们,例如:

```{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) 
``` 

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

+0

谢谢。是否有全局选项打开文档中的所有块名称? –

+0

@SuatAtan不,但你可以使用钩子;请参阅编辑 – scoa