有一种方法可以隐藏文档中的部分内容(包括文本和块):用html注释标记将它们注释掉。
还可以通过R在一个块中生成注释标记,根据在文档开头设置的变量。
```{r results='asis', echo=FALSE}
if (hide) {cat("<!---")}
```
```{r results='asis', echo=FALSE}
if (hide) {cat("-->")}
```
下面是一个完整可用的示例,可以通过设置 hide 变量为 FALSE 或 TRUE 来显示或隐藏文档的中间部分。这对于需要同时隐藏或显示多个部分的情况可能很有用,比如课程问题的解决方案。
---
title: "Untitled"
date: "15/10/2020"
output:
word_document: default
html_document: default
---
```{r setup, include=FALSE}
knitr::opts_chunk$set(echo = TRUE)
hide <- TRUE #TRUE to comment out part of the document, FALSE to show.
```
## Start
Always shown.
```{r}
hide
```
```{r results='asis', echo=FALSE}
if (hide) {cat("<!---")}
```
## To hide or not to hide
To be hidden or shown according to *hide* variable.
```{r}
"Also to be hidden according to 'hide' variable"
hist(rnorm(10))
```
```{r results='asis', echo=FALSE}
if (hide) {cat("-->")}
```
<!--
Never shown.
-->
## End
Always shown.
注意:在HTML输出中,隐藏部分被保留为注释,可以通过查看源代码来查看。另一方面,PDF(LaTex)和Word输出忽略HTML注释,隐藏部分不会包含在编织文档中。
因此,当隐藏部分应该是机密的时候(例如考试解决方案),应该使用PDF或Word输出而不是HTML。