R-markdown:在回显代码和结果输出之间添加一个空行
R-markdown: Add an empty line between echoed code and result output
要在 knitr
中组合回显的 R 代码和输出结果,有一个方便的 collapse=TRUE
选项。但是默认情况下,它们之间没有 space,即给定以下 Rmd:
```{r, echo=TRUE, include=TRUE, collapse=TRUE}
x <- matrix(1:6, nrow=2)
x
```
它会产生包含在 <pre>
标签中的输出:
x <- matrix(1:6, nrow=2)
x
## [,1] [,2] [,3]
## [1,] 1 3 5
## [2,] 2 4 6
我想要的是得到一个空行来分隔输出和代码,但仍然组合成一个 <pre>
元素。
x <- matrix(1:6, nrow=2)
x
## [,1] [,2] [,3]
## [1,] 1 3 5
## [2,] 2 4 6
有办法实现吗?我尝试在 R 块的末尾添加一个空行,但它似乎已被删除。
```{r, echo=-3, include=TRUE, collapse=TRUE}
x <- matrix(1:6, nrow = 2)
x
```
这将添加一个 space 而 echo = -3
不会 return 第三行,因此 returning:
x <- matrix(1:6, nrow = 2)
## [,1] [,2] [,3]
## [1,] 1 3 5
## [2,] 2 4 6
您可以定义一个新的块选项而不是 collapse
使用 knitr 块钩子来折叠代码和带有额外空格的输出。例如,您可以在设置块中包含:
Rmarkdown
---
output: html_document
---
```{r setup, include=FALSE}
hook_chunk = knitr::knit_hooks$get('chunk')
knitr::knit_hooks$set(chunk = function(x, options) {
regular_output = hook_chunk(x, options)
# collapse with vspace if collapse_vspace is TRUE
if (isTRUE(options$collapse_vspace))
gsub("```\n\n```", "", regular_output)
else
regular_output
})
knitr::opts_chunk$set(collapse_vspace = TRUE)
```
```{r, echo = TRUE}
x <- matrix(1:6, nrow=2)
x
```
HTML输出
一些有用的参考资料:
要在 knitr
中组合回显的 R 代码和输出结果,有一个方便的 collapse=TRUE
选项。但是默认情况下,它们之间没有 space,即给定以下 Rmd:
```{r, echo=TRUE, include=TRUE, collapse=TRUE}
x <- matrix(1:6, nrow=2)
x
```
它会产生包含在 <pre>
标签中的输出:
x <- matrix(1:6, nrow=2)
x
## [,1] [,2] [,3]
## [1,] 1 3 5
## [2,] 2 4 6
我想要的是得到一个空行来分隔输出和代码,但仍然组合成一个 <pre>
元素。
x <- matrix(1:6, nrow=2)
x
## [,1] [,2] [,3]
## [1,] 1 3 5
## [2,] 2 4 6
有办法实现吗?我尝试在 R 块的末尾添加一个空行,但它似乎已被删除。
```{r, echo=-3, include=TRUE, collapse=TRUE}
x <- matrix(1:6, nrow = 2)
x
```
这将添加一个 space 而 echo = -3
不会 return 第三行,因此 returning:
x <- matrix(1:6, nrow = 2)
## [,1] [,2] [,3]
## [1,] 1 3 5
## [2,] 2 4 6
您可以定义一个新的块选项而不是 collapse
使用 knitr 块钩子来折叠代码和带有额外空格的输出。例如,您可以在设置块中包含:
Rmarkdown
---
output: html_document
---
```{r setup, include=FALSE}
hook_chunk = knitr::knit_hooks$get('chunk')
knitr::knit_hooks$set(chunk = function(x, options) {
regular_output = hook_chunk(x, options)
# collapse with vspace if collapse_vspace is TRUE
if (isTRUE(options$collapse_vspace))
gsub("```\n\n```", "", regular_output)
else
regular_output
})
knitr::opts_chunk$set(collapse_vspace = TRUE)
```
```{r, echo = TRUE}
x <- matrix(1:6, nrow=2)
x
```
HTML输出
一些有用的参考资料: