2014-11-04 17 views
9

Il pacchetto knitr ha aggiunto di recente nuovi motori di vignettatura notangle, ad esempio knitr::rmarkdown_notangle, che consentono la disattivazione della valutazione dei blocchi di vignette. Il processo generale di utilizzo di knitr per le vignette è descritto con here, mentre la specifica funzione notangle è descritta in una risposta a this question.vignette non valutate con knitr :: rmarkdown_notangle

Il mio problema è che non riesco a farlo funzionare. Posso farlo passare R CMD build includendo il .html output nella directory vignettes (Ho messo una copia in inst/doc), ma non riesco a farlo passare R CMD check a meno che non mi specificare --no-build-vignettes, o meno che cambiare il motore torna a rmarkdown_notangle .

Ho creato un pacchetto semplice che contiene la seguente vignetta (in vignettes/notangle.rmd): è disponibile here.

<!-- 
%\VignetteEngine{knitr::rmarkdown_notangle} 
%\VignetteIndexEntry{Supplementary Materials} 
--> 
A silly little vignette. 

```{r} 
2+2 
``` 

Il mio file DESCRIPTION include

Suggests: 
    knitr, 
VignetteBuilder: knitr 
BuildVignettes: yes 

Quando provo a fare funzionare R CMD check ricevo

* 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’ 

Utilizzando r-devel (2014-09-17 r66626), ma succede anche con 3.1.1.

La soluzione alternativa (che preferirei fortemente evitare) consiste nel passare da blocchi di codice R a blocchi di codice generici (apre con triple-backtick, anziché triple-backtick + "r"), che Rmarkdown non elabora.

Sono sicuro che sto facendo qualcosa di ossuto. Qualche indizio?

aggiornamento: posso ottenere quello che mi serve (arrestare tutti pezzi da in corso di valutazione) con l'aggiunta esplicitamente eval=FALSE alle opzioni di ogni pezzo, ma mi piace ancora di sapere cosa sta succedendo ...

+0

Siamo spiacenti, è un bug knitr ... Proverò a risolverlo. –

risposta

5

Si tratta di un bug nella versione corrente di knitr, ed è stato fixed nello development version 1.7.9, che (si spera) sarà v1.8 su CRAN in futuro.