knitr
包最近添加了新的notangle
晕影引擎,例如knitr::rmarkdown_notangle
,它们允许禁用晕影块的评估。 here描述了使用knitr
用于插件的一般过程,而this question的答案中描述了特定的notangle
功能。
我的问题是我无法让它发挥作用。我可以通过在R CMD build
目录中添加.html
输出来传递vignettes
(我也在inst/doc
中添加了一个副本),但我无法获得要传递R CMD check
,除非我指定--no-build-vignettes
,或者除非我将rmarkdown_notangle
引擎更改回rmarkdown
。
我已经构建了一个简单的包,其中包含以下小插图(在vignettes/notangle.rmd
中):它可用here。
<!--
%\VignetteEngine{knitr::rmarkdown_notangle}
%\VignetteIndexEntry{Supplementary Materials}
-->
A silly little vignette.
```{r}
2+2
```
我的DESCRIPTION
文件包含
Suggests:
knitr,
VignetteBuilder: knitr
BuildVignettes: yes
当我尝试运行R CMD check
时,我得到了
* checking re-building of vignette outputs ... NOTE
Error in re-building vignettes:
...
Error: processing vignette 'notangle.rmd' failed with diagnostics:
Failed to locate the ‘weave’ output file (by engine ‘knitr::rmarkdown_notangle’)
for vignette with name ‘notangle’. The following files exist in directory ‘.’:
‘notangle.rmd’
使用r-devel(2014-09-17 r66626),但也适用于3.1.1。
解决方法(我非常希望避免)是从R代码块切换到通用代码块(打开三重反键,而不是三重反键+&#34; r&#34;),其中Rmarkdown没有处理。
我确定我做了一些愚蠢的事情。有线索吗?
更新:我可以通过明确地将eval=FALSE
添加到每个块的选项中来获得我需要的内容(停止评估所有块),但我还是喜欢知道发生了什么...