【问题标题】:How do I 'prebuild' a vignette index for an R package?如何为 R 包“预构建”小插图索引?
【发布时间】:2015-09-07 16:32:59
【问题描述】:

我正在准备一个包以提交给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}

我尝试在根目录中添加一个INDEX 文件,其中包含如下的小插图条目:

myFunction       a brief description
abc-vignette     vignette description

同样,这通过了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

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

这是来自“编写 R 扩展”:

在安装时会自动为包中的所有小插曲创建 HTML 索引 来自 \VignetteIndexEntry 语句,除非在目录“inst/doc”中存在文件“index.html”。该索引链接自该包的 HTML 帮助索引。如果您确实提供了“inst/doc/index.html”文件,它应该只包含指向已安装“doc”目录下文件的相对链接,或者可能(不是真正的索引)指向 HTML 帮助文件或“DESCRIPTION”文件的相对链接.

那么我需要手动创建index.html 吗?谁能指出这应该是什么样子的示例?

This question 似乎密切相关,但我(故意)没有.Rbuildignore 文件。 This is also related,虽然我没有使用 devtools 来创建包。我也看过this question,但没有看到一个简单的答案。

7 月 1 日更新

对于一个可重现的示例,该包可用here on github。下载和安装(例如使用devtools::install_github() 应该允许重现此错误。

【问题讨论】:

    标签: r package knitr vignette rnw


    【解决方案1】:

    我认为Vignette 命令需要在序言 中,即在documentclass 下方,因此文件myVignette.Rnw 应为:

    \documentclass{article}
    
    % \VignetteIndexEntry{myVignette}
    % \VignetteEngine{knitr::knitr}
    
    \usepackage[]{graphicx}
    ...
    

    这似乎工作正常。

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

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

    【讨论】:

      【解决方案2】:

      This 可能会有所帮助,或者您可以使用 devtools 来构建您的包。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2021-03-27
        • 2017-01-31
        • 1970-01-01
        • 2015-09-11
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多