我如何'预建'R包的晕影索引?

dar*_*sco 12 vignette r package knitr rnw

我正准备提交给CRAN的包裹.我使用R CMD build myPackage然后R CMD check myPackage --as-cran它通过所有检查没有注释或警告.但是,每次我尝试提交时,我都会从其中一个CRAN维护者那里收到以下错误消息:

包具有VignetteBuilder字段,但没有预先构建的晕影索引.

首先,我希望能够在我自己的系统(R version 3.0.1)上重现上述错误消息.

晕影.Rnw文件如下所示:

%\VignetteEngine{knitr::knitr}
%\VignetteIndexEntry{myVignetteName}
\documentclass{article}
\begin{document}
Here is some code:
<<>>=
plot(1:10, 10:100)
@
\end{document}
Run Code Online (Sandbox Code Playgroud)

我尝试INDEX在根目录中添加一个文件,如下所示:

myFunction       a brief description
abc-vignette     vignette description
Run Code Online (Sandbox Code Playgroud)

再次,这传递,R CMD check myPackage --as-cran但我得到相同的错误消息.

我也试图R CMD build myPackage --md5强制创建一个MD5文件,但无济于事.

当我看到myPackage.Rcheck/00_pkg_src/myPackage/inst/doc我找到晕影文件,.Rnw并按.pdf预期.

DESCRIPTION文件具有以下条目:

VignetteBuilder: knitr
Suggests: knitr
Run Code Online (Sandbox Code Playgroud)

当我看到myPackage.Rcheck/myPackage/Meta我看到一个条目vignette.rds.然而,这似乎是一个二进制文件,所以我无法理解它.

这是来自'写R扩展':

在安装时,除非文件'index.html'存在于目录'inst/doc'中,否则将自动从\ VignetteIndexEntry语句创建包中所有vignet的HTML索引.此索引从包的HTML帮助索引链接.如果你确实提供了'inst/doc/index.html'文件,它应该只包含安装的'doc'目录下的文件的相对链接,或者可能包含(不是真正的索引)HTML帮助文件或'DESCRIPTION'文件.

那么我是否需要手动创建index.html并且任何人都可以指出这应该是什么样子的示例?

这个问题似乎密切相关,但我(知情)没有.Rbuildignore文件.这也是相关的,虽然我不是devtools用于创建包.我也看过这个问题,但我没有看到一个简单的答案.

7月1日更新

有关可重现的示例,可以在github上找到该软件包.下载和安装(例如,devtools::install_github()应该允许重现此错误.

dar*_*sco 3

我收集的Vignette命令需要位于序言中,即下面documentclass,以便文件myVignette.Rnw应为:

\documentclass{article}

% \VignetteIndexEntry{myVignette}
% \VignetteEngine{knitr::knitr}

\usepackage[]{graphicx}
...
Run Code Online (Sandbox Code Playgroud)

这似乎工作正常。

该错误消息来自当前的开发版本。我一直在使用旧的“稳定”版本,这不是考虑提交到 CRAN 时检查包的推荐方法。R CMD check3.3.0

我仍然不确定使用手动index.html文件的优点 - 它似乎没有必要,但如果有人能对此有所了解,我会很乐意更改接受的答案。