我正在尝试使用R Markdown编写R包装晕影。我正在使用R Studio的包创作工具。
我的R大于3.0版。
我在vignettes
文件夹中有一个.Rmd文件,其顶部包含以下文字:
<!--
%\VignetteEngine{knitr::knitr}
%\VignetteIndexEntry{An Introduction to the bootcorrelations package}
-->
我的DESCRIPTION
文件中有以下内容:
VignetteBuilder: knitr
Suggests: knitr
当我在RStudio中清理和构建或重新加载包时,会显示晕影源,但不显示HTML(即inst/man
中没有HTML文件)。
如何让RStudio从R Markdown Vignette自动创建HTML?
我已阅读Yihui's post on R Package Vignettes with Markdown并建议使用makefile,但这个更新的documentation about knitr vignettes表明不再需要makefile。
我也意识到我可以使用如下命令手动创建HTML小插图:
library(knitr)
knit(input='vignettes/foo.Rmd', output='inst/doc/foo.md')
library(markdown)
markdownToHTML('inst/doc/foo.md', 'inst/doc/foo.html')
可重现的例子:
Vectorize(dir.create)(c("test", "test/R", "test/man", "test/vignettes"))
cat(
'Package: test
Title: Test pkg
Description: Investigate how to auto-compile markdown vignettes
Version: 0.0-1
Date: 2015-03-15
Author: Jeromy Anglim
Maintainer: Jeromy Anglim <a@b.com>
Suggests: knitr
License: Unlimited
VignetteBuilder: knitr',
file = "test/DESCRIPTION"
)
cat(
'---
title: "Introduction"
author: "Jeromy Anglim"
date: "`r Sys.Date()`"
output: html_document
---
<!--
%\\VignetteEngine{knitr::rmarkdown}
%\\VignetteIndexEntry{Introduction}
-->
# Introduction
A sample vignette!
```{r}
1 + 1
```',
file = "test/vignettes/intro.Rmd"
)
cat(
"#' Nothing
#' This function is only needed so that roxygen generates a NAMESPACE file.
#' @export
nothing <- function() 0",
file = "test/R/nothing.R"
)
library(roxygen2)
library(devtools)
roxygenise("test")
build("test")
答案 0 :(得分:16)
更新:横向思考,至少有三种选择。
正如@Hadley指出的那样,从build_vignettes()
包中运行devtools
将构建小插图并将它们放在包的inst/man
目录中。
devtools::build_vignettes()
构建小插图意味着您在inst/man
中获得了三个版本:
这与RStudio中的build和reload命令无关,但它是该任务的一行解决方案。它可以很容易地合并到makefile
。
Knit HTML
正如@TylerRinker所说,你可以在Rstudio中使用Knit HTML。这会将rmd插图的md和HTML编织版本添加到vignettes
目录。
这也与构建过程无关,但正如@TylerRinker指出的那样,通常你不希望将晕影绑定到主构建过程。这样做的好处是可以为你提供一个md文件,这个文件可以很好地显示在github上的插图,尽管http://htmlpreview.github.com/是一个在github上显示HTML插图的选项。
Build - Build Source Package
对应R CMD build
。运行时,会创建一个压缩的tar.gz
文件,该文件在inst/doc
目录中包含原始rmd晕影文件的Rmd,R和HTML文件。
official documentation on writing package vignettes中对此进行了描述,指示您使用R CMD build
生成PDF和HTML插图。
所以有可能