2015-11-09 8 views
13

In einem Paket erscheinen I mit R Studio bin Entwicklung schaffe ich Vignetten über devtools::use_vignette("mydoc.Rnw"), die wieknitr .Rmd Vignetten nicht mit Vignette()

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

folgte ich habe die ganze Anweisungen in http://yihui.name/knitr/demo/vignette/ und http://r-pkgs.had.co.nz/vignettes.html. Die Vignetten sind aufgeführt auf der CRAN-Seite für das Paket, aber sie scheinen nicht in einer R-Sitzung mit dem geladenen Paket zugreifen.

> 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 

Ich weiß, dass andere Pakete mit knitr verarbeitetes .Rmd Vignetten aus dem Paket zugänglich sind, kann aber nicht herausfinden, warum nicht von mir ist. Was fehlt?

Meine vignettes/ Verzeichnis enthält nur die .RMD-Dateien (keine PDFs), aber das scheint das gleiche wie z. B. https://github.com/yihui/knitr/tree/master/vignettes.

+0

Haben Sie in configure build tools das Kontrollkästchen 'roxygen zum Generieren von Vignetten' aktiviert, und erstellen Sie die Vignetten, wenn Sie das Paket installieren? – rawr

+0

Ich habe jetzt das Kontrollkästchen "roxygen zum Generieren von Vignetten verwenden" aktiviert, und "Build & reload" generiert nun HTML-Dateien im Verzeichnis "vignettes /". Allerdings bekomme ich immer noch keine Vignetten gefunden von browseVignettes ("Matlib") '. – user101089

+0

Weitere Frage zu diesem Prozess: sollten "Vignetten/* .html" zu ".gitignore" oder ".Rbuildignore" hinzugefügt werden? – user101089

Antwort

14

Hinweis devtools nicht bauen Vignetten standardmäßig, wenn Sie devtools::install() (gleiche Sache für einige install_* Funktionen wie install_github()) ein Paket aus einem Verzeichnis. Sie müssen das Argument angeben, wenn Sie das Paket installieren. Derzeit gibt es keine Möglichkeit, Vignetten mit Devtools zu erstellen, wenn Sie einfach die RStudio-Taste Build & Reload verwenden. Sie müssen Build Source Package und R CMD INSTALL auf dem Tarball ausführen. Oder führen Sie devtools::install(build_vignettes = TRUE) in der R-Konsole aus.

+0

Das verdeutlicht die Dinge erheblich. Könnte nützlich sein, etwas zu diesem http://yihui.name/knitr/demo/vignette/ – user101089

+0

@ user101089 hinzuzufügen Guten Vorschlag. Ich werde es tun. –