2015-11-09 18 views
13

In un pacchetto che sto sviluppando con R Studio, creo vignette via devtools::use_vignette("mydoc.Rnw"), che dà un colpo di testa vignetta standard comevignette .RMD knitr non appaiono con vignetta()

--- 
title: "Title" 
author: "Michael Friendly" 
date: "`r Sys.Date()`" 
output: rmarkdown::html_vignette 
vignette: > 
    %\VignetteIndexEntry{Title} 
    %\VignetteEngine{knitr::rmarkdown} 
    %\VignetteEncoding{UTF-8} 
--- 

ho seguito tutto il istruzioni in http://yihui.name/knitr/demo/vignette/ e http://r-pkgs.had.co.nz/vignettes.html. Le vignette sono elencate nella pagina CRAN per il pacchetto, ma sembrano inaccessibili in una sessione R con il pacchetto caricato.

> browseVignettes("matlib") 
No vignettes found by browseVignettes("matlib") 

> library(tools) 
> names(vignetteEngine(package = 'matlib')) 
Error in getEngine(name, package) : 
    None of packages ‘matlib’ have registered vignette engines 

so che altri pacchetti con knitr -processed vignette .RMD sono accessibili dal pacchetto, ma non riesco a capire perché la mia non lo sono. Cosa manca?

La mia directory vignettes/ contiene solo i file .Rmd (senza PDF), ma sembra la stessa di, ad esempio, https://github.com/yihui/knitr/tree/master/vignettes.

+0

hai controllato la casella "usa roxygen per generare vignette" in configure build tools e stai creando le vignette quando installi il pacchetto? – rawr

+0

Ora ho la casella 'usa roxygen per generare vignette', e' Build & reload' ora genera file HTML nella directory 'vignettes /'. Tuttavia, ottengo ancora 'Nessuna vignettatura trovata da browseVignettes (" matlib ")'. – user101089

+0

Ulteriori domande su questo processo: dovremmo aggiungere 'vignettes/*. Html' a' .gitignore' o '.Rignignore'? – user101089

risposta

14

Nota devtools non costruisce vignette per impostazione predefinita quando si devtools::install() (stessa cosa per alcune funzioni come install_*install_github()) un pacchetto da una directory. Devi specificare l'argomento build_vignettes = TRUE quando installi il pacchetto. Attualmente non è possibile creare vignette utilizzando devtools se si utilizza semplicemente il pulsante RStudio Build & Reload. Devi Build Source Package ed eseguire R CMD INSTALL sul tarball. Oppure esegui devtools::install(build_vignettes = TRUE) nella console R.

+0

Questo chiarisce considerevolmente le cose. Potrebbe essere utile aggiungere qualcosa su http://yihui.name/knitr/demo/vignette/ – user101089

+0

@ user101089 Buon suggerimento. Lo farò. –

Problemi correlati