【问题标题】:VignetteBuilder entry forcing "prebuild" of index when releasing R package to CRAN将 R 包发布到 CRAN 时,VignetteBuilder 条目强制索引“预构建”
【发布时间】:2016-03-11 15:24:34
【问题描述】:

我正在构建一个新的 R 包。我有同样的问题here。我也浏览了建议的链接。但我不断收到拒绝,因为便条上写着

“包有一个 VignetteBuilder 字段,但没有预建的小插图索引。
所以请添加一个小插曲索引。”

我去了latest packages的CRAN包列表,然后浏览了过去几天都发布的hyfo 、mldr和其他一些包的代码。他们都没有索引文件。但是,我下面的代码被拒绝了。当我运行devtoold::check() 时,我的代码没有显示任何警告、错误或注释。我在devtools:build_win() 上也没有收到任何警告/错误。
关于我所缺少的任何想法?

我在 Windows 上使用 R 版本 3.2.2。我的DESCRIPTION 文件包含以下内容

Package: Mypackage
Suggests:
    knitr,
    rmarkdown,
    R.rsp
VignetteBuilder: knitr
RoxygenNote: 5.0.1

在vignettes目录下,文件Mypackage.Rmd

title: "Mypackage"
author: "blah"
date: "`r Sys.Date()`"
output:
  html_document:
    fig_width: 7
    fig_height: 6
    fig_caption: true
vignette: >
    %\VignetteIndexEntry{Mypackage}
    %\VignetteEngine{R.rsp::asis}
    %\VignetteEncoding{UTF-8}
---
## Introduction
The contents of the vignette

如何创建小插图索引或如何使此 NOTE 消失?

【问题讨论】:

  • 或许可以试试output: rmarkdown::html_vignette

标签: r indexing package cran vignette


【解决方案1】:

这有 2 个问题。

小插曲索引

首先,您需要有一个列出小插曲的build/vignette.rds 文件。您可以通过以下方式检查:

> readRDS("build/vignette.rds")
                File            Title       PDF                          R           Depends         Keywords
1      Mypackage.Rmd        Mypackage       Mypackage.html     Mypackage.R  
2        MyGuide.Rmd        MyGuide         MyGuide.html         MyGuide.R  

这里的“标题”列是来自\VignetteIndexEntry{Mypackage} 的标题,其余的是文件名。

请注意这里有 2 个额外的空白字段“取决于”和“关键字”。如果您还没有数据框,您可以创建一个新的数据框。

file <- data.frame(matrix(NA, 1, 6))
colnames(file) <- c("File", "Title", "PDF", "R", "Depends", "Keywords")
file[1,] <- c("MyPackage.Rmd", "MyPackage", "MyPackage.html", "MyPackage.R", "", "")
saveRDS(file, file = "vignette.rds")

要在现有的 data.frame 中添加带有新晕影的行:

file <- readRDS("build/vignette.rds")
file[3,] <- c("import_reactome.Rmd", "Importing pathways from databases", "import_reactome.html", "import_reactome.R", "", "")
saveRDS(file, file = "vignette.rds")

生成静态 HTML 小插曲

这些小插曲不是在 CRAN 上生成的,必须在上传前预先生成。在 RStudio 中对 Rmd 文件运行 knitr::knit 是执行此操作的最简单方法。然后将输出文件复制到vignettes/MyPackage.html。您也可以通过将其复制到 inst/doc/MyPackage.html 来跳过构建小插曲。

您可以添加此行以在构建包时返回一个 HTML 文件。

title: "Mypackage"
author: "blah"
date: "`r Sys.Date()`"
output:
  html_document:
    fig_width: 7
    fig_height: 6
    fig_caption: true
    keep_html: true       ### <- add this line
vignette: >
    %\VignetteIndexEntry{Mypackage}
    %\VignetteEngine{R.rsp::asis}
    %\VignetteEncoding{UTF-8}
---

不需要 需要降价文件。您可以将以下行添加到.Rbuildignore 以防止它被包含在内。

^vignettes/plot_directed.md#

使用开发工具通过检查

有关更多详细信息,请参阅R.rsp 中的Static_PDF_and_HTML_vignette。这里介绍如何使用R.rsp::asis 引擎。

关键部分是您需要同时拥有vignettes/MyPackage.htmlvignettes/MyPackage.html.asis 文件。 vignettes/MyPackage.html.asis 文件只需 3 行,其余为可选。

%\VignetteIndexEntry{MyPackage}
%\VignetteEngine{R.rsp::asis}
%\VignetteEncoding{UTF-8}

一旦包含这些文件,devtools::install(build_vignettes = TRUE)devtools::check() 应该会按预期运行。

【讨论】:

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