我需要在RMarkdown文档的一个循环中生成多个htmlwidgets。这是使用htmltools::tagList完成的。下面的代码片段将生成具有2个level 2标题和每个部分中的datatable的HTML输出。唯一的问题是,我指定了toc: true,但是尽管tags$h2(headers[i])将在页面上呈现二级标题,但目录不会提取这些标题。有没有办法让这些标题出现在目录中?
---
output:
html_document:
toc: true
---
## level 2 heading 0 - this one in TOC
```{r}库(DT)
库(Htmltools)
标题<- c(“级别2标题1",”级别2标题2")
向量<- html_tags (mode= "list",length = 2*length(headers))
for (i in 1:length(headers)) {
html_tags[(2*i)-1] <-标签$h2(Headersi)
html_tags[(2*i)] <- list(list(datatable(Iris)
}
tagList(html_tags)
请注意,在下面的结果中,使用"##“生成的标题显示在目录中,但是来自tagList调用的标题虽然在文档中正确呈现,但现在仍显示在目录中。

发布于 2017-04-26 10:55:37
试试这个:
---
output:
html_document:
toc: true
---
```{r, echo=FALSE, message=FALSE, warning=FALSE}库(DT)
库(Htmltools)
```{r ,include = FALSE}DT::datatable(iris)
## level 2 heading 0 - this one in TOC
```{r echo=FALSE, message=FALSE, warning=FALSE, results = 'asis'}对于(1:2中的i){
cat(“\n## level 2 heading",i,”\n")
print(htmltools::tagList(DT::datatable(iris)))
cat(“\n")
}
结果是:

也许这才是你真正想要的。
记住:你应该避免使用headers <- c("level 2 heading 1", "level 2 heading 2")。
如果你需要成百上千的头文件,这是没有效率的,而且必须浪费太多的时间。
https://stackoverflow.com/questions/43124424
复制相似问题