我如何指定目录将在 Rmd 报告中展开的级别?

How can I specify at which level the toc will be expanded in an Rmd report?

生成 Rmarkdown .html 文档时,是否可以选择性地选择 table 内容的默认部分来显示?我有一份定期更新的正在进行的 Rmd 报告,我希望以前的目录部分可用但已折叠,只有最新的(或明确指示的部分)展开。

---
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'}
```

您可以使用一个使用 window.location property 的小型 JavaScript 程序。

这是一个可重现的 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';
```

为了使此示例适应您的文档:

  1. 在浏览器中打开 HTML 文档,select 目标部分并阅读浏览器地址栏。地址以 #section_title_or_something_like_that 结尾。注意这个 id

  2. 复制主 Rmd 文件末尾示例的 js 块。替换
    #subsection_21 与前面的 id (#section_title_or_something_like_that).

  3. 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