在我使用R Studio开发的程序包中,我通过devtools::use_vignette("mydoc.Rnw")创建小插图,它提供了一个标准的小插图标题,例如

---
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页面上列出了vigttes ,即,但在加载了程序包的R session 中似乎无法访问。
 > 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的其他程序包,但是无法弄清楚为什么我的程序不可用。
什么东西少了?

我的vignettes/目录仅包含.Rmd文件(不包含PDF),但这似乎与https://github.com/yihui/knitr/tree/master/vignettes相同。

最佳答案

注意 devtools 在您从目录打包devtools::install()(某些install_*功能,例如install_github())时,默认情况下不会构建小插图。安装软件包时,必须指定参数build_vignettes = TRUE。当前,如果仅使用RStudio按钮Build & Reload,则无法使用 devtools 构建小插图。您必须Build Source Package,并在tarball上运行R CMD INSTALL。或在R控制台中运行devtools::install(build_vignettes = TRUE)

09-25 20:34