生成 Rmarkdown .html
文档时,是否可以有选择地选择将在其中显示的目录的默认部分?我有一个正在进行的 Rmd 报告,它会定期更新,我希望之前的 toc 部分可用但折叠起来,并且只有最新的(或明确指出的部分)展开。
---
title: "Main document"
date: "16 March 2018"
output:
html_document:
mode: selfcontained
toc: true
toc_float: true
toc_depth: 2
---
```{r child = 'document1.Rmd'}
```
```{r child = 'document2.Rmd'}
```
```{r child = 'document3.Rmd'}
```
最佳答案
您可以使用一个使用 JavaScript
property 的小型 window.location
程序。
这是一个可重现的 Rmd
打开第 2.1 小节:
---
title: "Document"
date: "16 March 2018"
output:
html_document:
mode: selfcontained
toc: true
toc_float: true
toc_depth: 2
---
# Section 1
## Subsection 1.1
## Subsection 1.2
# Section 2
## Subsection 2.1
## Subsection 2.2
```{js echo=FALSE}
window.location.href='#subsection_21';
```
为了使此示例适应您的文档:
HTML
文档,选择目标部分并阅读浏览器地址栏。地址以 #section_title_or_something_like_that
结尾。注意这个 id
。 js
文件的最后复制示例的 Rmd
块。代替#subsection_21
与之前的 id
( #section_title_or_something_like_that
)。 Knit
你的主文件!大功告成。 如果您想避免在主
Rmd
文件中使用原始 JavaScript,您还可以在 script.html
文件中包含这些行(不要忘记修改 id
):<script type="text/javascript">
window.location.href='#subsection_21';
</script>
然后,使用以下命令在您的文档中包含此
script.html
文件:---
title: "Document"
date: "16 March 2018"
output:
html_document:
mode: selfcontained
toc: true
toc_float: true
toc_depth: 2
includes:
after_body: "script.html"
---
# Section 1
## Subsection 1.1
## Subsection 1.2
# Section 2
## Subsection 2.1
## Subsection 2.2
关于r - 如何在 Rmd 报告中指定 toc 将在哪个级别展开?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/49391027/