首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用htmltools::标记列表使标题显示在RMarkdown目录中

如何使用htmltools::标记列表使标题显示在RMarkdown目录中
EN

Stack Overflow用户
提问于 2017-03-31 01:17:56
回答 1查看 2.7K关注 0票数 2

我需要在RMarkdown文档的一个循环中生成多个htmlwidgets。这是使用htmltools::tagList完成的。下面的代码片段将生成具有2个level 2标题和每个部分中的datatable的HTML输出。唯一的问题是,我指定了toc: true,但是尽管tags$h2(headers[i])将在页面上呈现二级标题,但目录不会提取这些标题。有没有办法让这些标题出现在目录中?

代码语言:javascript
复制
---
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)

代码语言:javascript
复制

请注意,在下面的结果中,使用"##“生成的标题显示在目录中,但是来自tagList调用的标题虽然在文档中正确呈现,但现在仍显示在目录中。

EN

回答 1

Stack Overflow用户

发布于 2017-04-26 10:55:37

试试这个:

代码语言:javascript
复制
---
output: 
  html_document:
    toc: true
---
```{r, echo=FALSE, message=FALSE, warning=FALSE}

库(DT)

库(Htmltools)

代码语言:javascript
复制
```{r ,include = FALSE}

DT::datatable(iris)

代码语言:javascript
复制
## 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")

}

代码语言:javascript
复制

结果是:

也许这才是你真正想要的。

记住:你应该避免使用headers <- c("level 2 heading 1", "level 2 heading 2")

如果你需要成百上千的头文件,这是没有效率的,而且必须浪费太多的时间。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/43124424

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档