2014-11-04 30 views
9

knitr数据包最近增加了一个新的notangle小插件引擎,例如knitr::rmarkdown_notangle,它允许禁用小插图块的评估。使用knitr作为短片的一般过程描述为here,而具体的notangle功能描述在对this question的回答中。使用knitr的未评估短片:: rmarkdown_notangle

我的问题是,我无法得到这个工作。我可以得到它通过在vignettes目录.html输出传递R CMD build(我也把副本inst/doc),但我不能让它通过R CMD check除非我指定--no-build-vignettes,或者除非我改变rmarkdown_notangle引擎回。

我已经构建了一个简单的包,其中包含以下小插图(位于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年9月17日r66626),但也有发生3.1.1。

解决方法(我强烈希望避免)是从R代码块切换到Rmarkdown不处理的通用代码块(以三重反向而不是三反向+“r”打开)。

我确定我正在做一些头脑发热的事情。任何线索?

更新:我能得到什么,我需要通过明确添加eval=FALSE每块的选项(阻止正在评估所有数据块),但我还是想知道这是怎么回事...

+0

对不起,这是一个针织bug ...我会尽力修复它。 – 2014-11-06 05:49:15

回答

5

这是目前版本的knitr中的一个bug,它在012.1.7.9中的fixed,它将(有希望)在未来的CRAN上是v1.8。