r - 折叠 rmarkdown html 文档中浮动目录的次要级别
问题描述
有没有人可以在 R markdown html 文档中的浮动目录中创建一个按钮来折叠第三级或第二级结果标题?我使用第 3 级副标题进行图形描述,以便在 TOC 中获得自动“图形表”,但有时在有很多图形时不想看到它们。
我想toc_depth=3
在yaml
标题中打开浮动 TOC 并显示所有三个级别,但可以选择单击某处,以便 TOC 中仅显示 2 个级别。理想情况下,也可以只显示一个级别,并有选择地扩展特定的顶级标题以包括第二级标题(然后是第三级等)。
解决方案
好吧,我已经尝试通过在 RMarkdown 文件的底部添加一个小的 javascript 函数来完成一些工作。我不确定这是否适合用例!这是 .Rmd 文件的完整内容:
编辑
额外按钮添加到折叠级别 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上试用
推荐阅读
- python - 如何解决 numpy 中的 double_scalar 错误?
- java - 从 Firebase 读取实时数据
- python - 如何将y轴从十进制更改为计数?
- python - 对于不平衡的二元分类模型,我应该使用哪个指标?
- reactjs - xterm 可以在 React Native 中使用吗?
- mysql - 自加入提供错误答案
- sql - SQL中是否可以有常量函数参数?
- python - 使用 ChArUco-Board 的 OpenCV StereoCalibration 提供了错误的值
- python - 将内部数组另存为来自 2D 外部数组的图像
- fabricjs - 通过数字输入更改对象属性(左侧、顶部、半径等)后出现奇怪的“鼠标悬停”行为