【发布时间】:2013-08-29 17:23:10
【问题描述】:
当我使用 knitr 从以下代码构建 HTML 文档时:
Chunk Output
========================================================
Outside a chunk.
```{r chunk1, results='asis'}
cat('Inside a chunk\n\n')
for (i in 1:3) {
cat('* Inside loop #', i, '\n')
}
cat('Outside a loop, but still inside the first chunk')
```
Between chunks.
```{r chunk2, results='asis'}
cat('Inside second chunk')
```
I get output 其中chunk1 中的代码与cat 语句的输出交错。有趣的是,for 循环内的输出是作为单个块输出的。
我希望首先出现来自chunk1 的所有代码,然后是来自chunk1 的所有输出。有没有办法让 Rmarkdown/knitr 避免它目前正在做的更细粒度的交织?
【问题讨论】:
-
没有得到你想要的,但你可以制作 2 个相同的代码块,一个是
eval = FALSE,第二个是echo = FALSE。 -
@Harlan 我认为这并不容易,因为 knitr 处理这些块的方式。一个最小的技巧是将块放入
{} -
这里是another solution,您可以使用
results = 'hide'抑制输出并使用echo = F, results = "asis"添加一个依赖块。您可以为名为@987654334@ 的选项提交功能请求,就像fig.show = "hold"一样,它会自动执行此操作以获得结果,因为似乎有一些用例。 -
听到功能请求,并完成代码。
-
这是最好的客户服务@Yihui!
标签: r markdown knitr r-markdown