R markdown中的一个简单块:
```{r}
1 + 2
3 + 4
```
当knitr转换为html时会产生以下内容:
<pre><code class="r">1 + 2</code></pre>
<pre><code>## 3</code></pre>
<pre><code class="r">3 + 4</code></pre>
<pre><code>## 7</code></pre>
我正在尝试输出表达式并将结果输出到一个块
<pre><code class="r">
1 + 2
## 3
3 + 4
## 7
</code></pre>
我尝试修补块参数(例如结果和回声)无济于事。有没有办法实现这个目标?
注意:我可能会使用::first
和::last
选择器破解CSS,但我很好奇是否有内置选项。
答案 0 :(得分:7)
可以使用hooks
完成此操作。在Rmd
文档的顶部添加以下代码块。它使用在md
的最后阶段在knitting
文件上运行的文档钩子。下面定义的钩子标识后续代码块,中间没有任何文本块,并将其折叠成一个。
```{r setup, cache = F, echo = F}
knitr::knit_hooks$set(document = function(x){
gsub("```\n*```r*\n*", "", x)
})
```
请注意。在此块中设置cache = F
非常重要,以便始终运行此代码。