为什么 R Markdown 模板的块标题中的等号两侧没有空格?

Why are there no spaces on both sides of the equals sign in chunk headers of R Markdown templates?

提问人:Patrick 提问时间:7/7/2023 更新时间:7/8/2023 访问量:51

问:

在 R Markdown 文件中,如果从模板在 RStudio 中创建新的 R Markdown 文件,则会看到块标头中的参数设置通常在等号 () 的两侧没有空格。=

在下面的两个示例中,我的意思是 和 .include=FALSEecho=FALSE

```{r setup, include=FALSE}
knitr::opts_chunk$set(echo = TRUE)
```
```{r pressure, echo=FALSE}
plot(pressure)
```

我经常看到这一点,IMO 它不符合 tidyverse 样式指南的中缀运算符建议。有趣的是,我们甚至可以在设置空格的地方看到替代的中缀空间处理。knitr::opts_chunk$set(echo = TRUE)

由于所有这些资源或多或少都来自posit生态系统,我想知道这种所谓的不一致从何而来,以及这里省略空格是否有充分的理由。

有什么想法吗?

模板 R-Markdown 编码样式

评论

1赞 Mikael Jagan 7/8/2023
我的猜测是 R Markdown 中的风格是从 Sweave 借来的(见 ),最终借鉴了 Knuth 的 TeXbook。 丢弃 周围的空格,所以这确实是一个风格问题。(在 Plain TeX 中,本身在赋值中是可选的。vignette("Sweave", package = "utils")utils:::SweaveParseOptions==

答:

1赞 Julian 7/8/2023 #1

我认为 RMarkdown 可能受到 Sweave 的影响有关,其中块选项如下所示: .https://stackoverflow.com/users/559676/yihui-xie 可能更准确地回答这个问题。<<results=hide>>=

我只能说,在“new RMarkdown”Quarto 中,代码块的默认行为以您期望从 tidyverse 样式指南中获得的方式运行,例如

```{r}
#|echo: true
x <- 2
```