【发布时间】:2017-03-02 13:28:39
【问题描述】:
在 R 包中,我有两个旧版 Sweave 小插图作为 .Rnw 文件。当我在本地检查包时(在 R Studio 中:Build -> Check),没有错误或警告,当我使用 R 版本 3.3.1 Patched (2016-10) 在 R-Forge 上检查我的包时,情况也是如此-17 r71531)。
但是,当我将包提交给 Win-builder(通过 devtools::build_win())在 R devel(不稳定)(2016-10-16 r71524)下检查时,我收到以下无法解决的警告:
Files in the 'vignettes' directory newer than all files in 'inst/doc':
'fig/plot-Ortho-fm1.pdf', 'fig/plot-Ortho-fm3.pdf',
'fig/plot-grades-can-class.pdf', 'fig/plot-grades-can-gpa.pdf',
'fig/plot-grades-can-sex.pdf', 'fig/plot-grades-pairs.pdf',
'fig/plot-hern-can-age.pdf', 'fig/plot-hern-can-build.pdf',
'fig/plot-hern-can-cardiac.pdf', 'fig/plot-hern-can-pstat.pdf',
'fig/plot-hern-pairs.pdf', 'fig/plot-jury-can1.pdf',
...
我的包目录结构包括vignettes/中的小插曲和inst/doc/中devtools::build_vignettes()的结果,如下:
...
man/
inst/
doc/HE-examples.{pdf,R,Rnw}
doc/repeated.{pdf,R,Rnw}
R/
vignettes/HE-examples.Rnw
/repeated.Rnw
/fig/ # all generated fig files
我将生成的.pdf 文件包含在inst/doc/ 中的原因是,否则我会收到警告说.pdf 文件需要使用qpdf 压缩,而我实际上可以做到这一点的唯一方法是在 Acrobat Pro 中打开它们并重新保存为压缩的 PDF。
我尝试将inst/doc 添加到.Rbuildignore,但这会产生错误。我也尝试将inst/doc/*.pdf 添加到.Rbuildignore,但这没有任何效果。
警告阻止我向 CRAN 提交更新。我不明白为什么vignettes/ 中的较新文件应该是一个问题,但我该如何解决警告?
【问题讨论】:
-
只是一个命令:你可以使用命令
tools::compactPDF()来减少你的小插图。 -
我试过这个,但由于某种原因,它对 PDF 文件没有影响,即使我安装了
qpdf和gs。 -
vignettes/中的较新文件是一个问题,因为inst/doc中的文件可能来自一些以前版本的小插图。您可能对小插图做了一些工作,但不会向用户显示。