是否有办法在R Markdown文档中为单个块提供代码折叠,而不是其他(没有writing customized JavaScript)?
我知道我可以使用code_folding
YAML选项,但这适用于整个文档。我想为单个块启用它,但不是所有块。
[原因是编写一个实验室,其中包含不应隐藏的说明,但有问题显示/隐藏解决方案。]
答案 0 :(得分:3)
截至2018年12月,这是still an open issue on GitHub。但是,使用HTML details中的was suggested元素的解决方法。
在实际使用之前,这可以在某些用例中起作用。
---
title: "Bohemian Rhapcodey"
output: html_document
---
## Question 1
Are you in love with your car?
<details>
<summary>Toggle answer</summary>
```{r cars}
summary(cars)
```
</details>
## Question 2
Are you under pressure?
<details>
<summary>Toggle answer</summary>
```{r pressure}
plot(pressure)
```
</details>
答案 1 :(得分:0)
使用details
元素的解决方法效果很好,但是为了提高可发现性,我建议添加一些代码,以便当用户将鼠标悬停在该元素上时看到用户的指点。这使得该元素是交互式的更加明显。展开7hibault的示例:
<style type="text/css">
details:hover { cursor: pointer }
</style>
---
title: "Bohemian Rhapcodey"
output: html_document
---
## Question 1
Are you in love with your car?
<details>
<summary>Toggle answer</summary>
```{r cars}
summary(cars)
```
</details>
答案 2 :(得分:0)
这是code_folding: hide
时您要显示选择代码块的操作:
```
5 * 5
```
```{r}
5 * 5
```
第一个块(没有{r}
)仅显示代码,第二个块运行代码
答案 3 :(得分:0)
使用rmarkdown
2.3版
基于7hibaut的答案,但并不完全相同。如rmarkdown pull request所述,在YAML中使用class.source = "fold-show"
隐藏了其他块时,请使用块标题中的选项code_folding: hide
显示一个块。
---
title: "Bohemian Rhapsody"
output:
html_document:
code_folding: hide
---
## Question 1
Are you in love with your car?
```{r class.source = NULL, eval = FALSE}
summary(cars)
```
## Question 2
Are you under pressure?
```{r class.source = NULL, eval = FALSE}
plot(pressure)
```
## Question 3
suggested code
```{r class.source = "fold-show", eval = FALSE}
library(dplyr)
library(magrittr)
a <- dMeasure::dMeasure$new()
a$open_emr_db()
## active patients
kensington_clinicians <- a$UserConfig %>>%
filter(
grepl(
"Kensington",
purrr::map_chr(Location, function(x) paste(x, collapse = ", "))
# map_chr will create a 'collapsed' version of all the
# listed locations
)
)
```