rmarkdown 中的摘要包括从 rmd 本身生成的数字?

Abstracts in rmarkdown that include numbers generated from the rmd itself?

所以基本上我一直在用 Rmarkdown 写一篇论文。该论文包括一个摘要,其中有 numbers/results 是从降价本身的代码块中生成的。到目前为止,解决方法是将摘要放在论文的末尾,这样所有的代码块都是 运行 并且在摘要中需要它们之前生成结果。

现在我实际上正在写最终草稿,最好在开头有摘要。这可能吗?

谢谢!

如果您的值不会从 运行 运行 改变,一种选择是使用 knitr::load_cache 从抽象部分中后面的块的缓存中加载值。主要缺点是这仅适用于 编织文档的时间。第一次,load_cache 将给出 NULL,然后后面的块将是 运行 并缓存值。第二次,缓存会存在,会在摘要中使用。

```{r abstract}
y = knitr::load_cache('test-a', 'y')
print(y)
```

```{r test-a, cache=TRUE}
y = 2*pi
```

你第一次 运行 它会给你这个:

但是再编织一遍,你会看到这个:

这有点尴尬,但这是 rmarkdown 的创建者 yihui 推荐的解决方案。请参阅此 github 问题:https://github.com/yihui/knitr/issues/868#issuecomment-68129294

您必须小心缓存块 - 确保在 运行 之间没有任何变化,并在进行最后(2 步)编织之前清除缓存。