【问题标题】:Collapsing minor levels of floating table of contents in rmarkdown html document折叠 rmarkdown html 文档中浮动目录的次要级别
【发布时间】:2018-08-15 14:38:55
【问题描述】:

是否有人可以在 R Markdown html 文档中的浮动目录中创建一个按钮来折叠第 3 级或第 2 级结果标题?我使用 3 级副标题来描述图形,以便在 TOC 中获得自动“图形表”,但有时在图形很多时不想看到它们。

我想在yaml 标题中添加toc_depth=3 并让浮动目录最初打开并显示所有三个级别,但可以选择单击某处以便目录中仅显示两个级别。理想情况下,也可以只显示一个级别,并有选择地扩展特定的顶级标题以包含第二级标题(然后是第三级,等等)。

【问题讨论】:

  • 只是寻求一些澄清。所以您仍然希望图形描述出现在 TOC 中吗?但是可以选择用按钮折叠它们吗?也就是说,在 .Rmd 文件的 YAML 标头中使用 toc_depth: 2 之类的东西不是您想要的?
  • 好问题。我已经更新了问题以澄清。

标签: r r-markdown


【解决方案1】:

好吧,我已经尝试过,通过在 RMarkdown 文件的底部添加一个小的 javascript 函数来让 something 工作。我不确定这是否适合用例!这是 .Rmd 文件的完整内容:

编辑

仅响应 cmets 为折叠 3 级标题添加了额外按钮

---
output:
  html_document:
    toc: true
    toc_float:
      collapsed: true
---

# Chapter 1

## Section 1-1

### Figure 1-1-1

### Figure 1-1-2

# Chapter 2

## Section 2-1

### Figure 2-1-1

### Figure 2-1-2

---

Select the menu on the left to expand / collapse table of contents (TOC)
entries. Press button below to collapse all TOC except the top level headings.

<button id="btnCollapseHeading" onclick="collapseTOC()">Collapse sub-headings</button>

If you only want to collapse level 3 headings press this button.

<button id="btnCollapseLevel3" onclick="collapseLevel3()">Collapse Level 3 only</button>

<script>
function collapseTOC() {
  var x = document.getElementsByClassName("tocify-subheader");
  var i;
  for (i = 0; i < x.length; i++) {
      x[i].style.display = "none";
  }
}

function collapseLevel3() {
  var x = document.getElementsByClassName("tocify-subheader");
  var i;
  for (i = 0; i < x.length; i++) {
      if (x[i].getAttribute("data-tag") == "3") {
        x[i].style.display = "none";
      }
  }
}

</script>

我还添加了一个示例以在https://github.com/markdly/rmd-toc-button 试用

【讨论】:

  • 这太酷了!你认为有可能有更具体的按钮,例如折叠 3 级标题的按钮和折叠 1 级以上所有标题的按钮?
  • 肯定是@FrankHarrell!有一个"data-tag" 属性似乎与标题级别相关联,因此您可以更精细地控制隐藏的内容。我在示例中添加了一个额外的按钮来演示仅折叠级别 3...
  • 这非常有帮助,将成为我今后统计报告的标准!
猜你喜欢
  • 2018-11-01
  • 2016-10-11
  • 2017-10-06
  • 1970-01-01
  • 1970-01-01
  • 2011-11-19
  • 2019-08-13
  • 2021-10-11
  • 2010-10-20
相关资源
最近更新 更多