2015-11-09 2 views
13

В пакете я разрабатываю с R Studio, я создаю виньетки с помощью devtools::use_vignette("mydoc.Rnw"), что дает стандартную виньетка заголовок какknitr виньетки .Rmd не появляются с виньеткой()

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

Я следовал всем инструкции в http://yihui.name/knitr/demo/vignette/ и http://r-pkgs.had.co.nz/vignettes.html. Виньетки являются, перечисленными на странице CRAN для пакета, однако они кажутся недоступными в сеансе R с загруженным пакетом.

> 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 

Я знаю, что другие пакеты с knitr -processed виньеток .Rmd доступны из пакета, но не могу понять, почему мои не являются. Что не хватает?

В моем vignettes/ каталоге содержатся только файлы .Rmd (без файлов PDF), но это похоже на то, что, например, https://github.com/yihui/knitr/tree/master/vignettes.

+0

Вы проверили флажок 'use roxygen for generate vignettes' в инструментах настройки сборки и строите ли вы виньетки при установке пакета? – rawr

+0

У меня теперь установлен флажок 'use roxygen to generate vignettes', а' Build & reload' теперь генерирует HTML-файлы в каталоге 'vignettes /'. Тем не менее, я все еще получаю 'Нет виньет, найденных browseVignettes (" matlib ")'. – user101089

+0

Дальнейший вопрос по этому процессу: следует добавить 'vignettes/*. Html' в' .gitignore' или '.Rbuildignore'? – user101089

ответ

14

Примечание DevTools не строит виньетки по умолчанию, когда вы devtools::install() (то же самое для некоторых функций, таких как install_*install_github()) пакет из каталога. При установке пакета необходимо указать аргумент build_vignettes = TRUE. В настоящее время нет способа создать виньетки, используя devtools, если вы просто используете кнопку RStudio Build & Reload. Вы должны Build Source Package, и запустите R CMD INSTALL на tarball. Или запустите devtools::install(build_vignettes = TRUE) в консоли R.

+0

Это значительно разъясняет ситуацию. Может быть полезно добавить что-то по этому поводу на http://yihui.name/knitr/demo/vignette/ – user101089

+0

@ user101089 Хорошее предложение. Я сделаю это. –

Смежные вопросы