【问题标题】:Vignette which won't be checked by CRANCRAN 不会检查的小插图
【发布时间】:2017-06-15 16:56:31
【问题描述】:

我正在制作一个带有 knitr/rmarkdown 小插图的 DB 客户端包,用于演示一些基本用例。

我希望它出现在包的 CRAN 版本中,但显然它不会在那里构建,因为缺少数据库服务器。

处理该问题的规范方法是什么?

【问题讨论】:

    标签: r cran vignette


    【解决方案1】:

    据我所知,CRAN 不会重建小插图,它只是使用您在本地构建的 html/pdf。那么你确定当你构建你的包时,它包含你想要的小插图吗?你可以在这里查看:http://r-pkgs.had.co.nz/vignettes.html#vignette-cran

    编辑:

    要让小插图通过R CMD check,这是我的方法:

    首先,为您的 Rmd 文件执行此操作,这将为小插图生成 md 文件,

    output:
      md_document:
        toc: true
      rmarkdown::html_vignette:
        toc: true
    

    其次,将 md 文件和其他输出文件(如图片)复制到您的 vignette 文件夹中,将输出文件的文件夹重命名为其他内容并在您的 md 文件中进行相应的更改。

    最后,移动原始 Rmd 文件并将 md 文件重命名为 Rmd,对 md 文件进行更改(例如添加 vignette 标头),使其看起来像 vignette 的 Rmd 文件。新的 Rmd 文件将轻松快速地传递R CMD check

    【讨论】:

    • CRAN 确实将其重建为检查,并且在不成功时会引发警告,like here。因此,我认为有一些比忽略它更好的方法。
    • 我认为一种方法是在没有任何 R 命令的情况下将您的原始 Rmd 文件转换为普通 md,并且 CRAN 检查将简单通过,将其包含在您上传到 CRAN 的捆绑包中,而不使用原始版本。
    • @mbq 我的意思是不要使用纯html或pdf,而是使用从Rmd生成的md代替(md仍然是有效的Rmd文件)。也许你可以将你的 Rmd 文件编织到 md,然后重命名 md 文件。您需要对生成的 md 文件进行某些更改以包含小插图标头。然后你删除原来的 Rmd 并将 md 重命名为 Rmd。至少这个技巧似乎可以在我自己的机器上使用 R CMD 检查。
    • @mbq 顺便说一句,如果按照我的建议,你最好重命名输出文件的文件夹名称(如图片),否则似乎 knit 引擎会自动清理。
    猜你喜欢
    • 1970-01-01
    • 2017-12-18
    • 1970-01-01
    • 2014-11-05
    • 1970-01-01
    • 1970-01-01
    • 2023-03-17
    • 2013-02-08
    • 2016-03-26
    相关资源
    最近更新 更多