【问题标题】:CRAN finds an warning that R CMD check --as-cran does notCRAN 发现 R CMD check --as-cran 没有的警告
【发布时间】:2015-01-03 16:00:31
【问题描述】:

我在 Windows 7 上使用 32 位 R 3.1.2。

我最近对最近开发的软件包进行了R CMD check --as-cran,只收到了“新提交”说明。这里和 R-devel 的研究表明,这可以被忽略。我还使用了devtools::build_win(),除了前面提到的之外,没有收到任何注释或警告。此外,我使用 R CMD buildR CMD INSTALL --build 在本地构建了包,一切正常,包括 PDF 手册。

在提交给 CRAN 后,我被告知抛出了一个警告:

    This fails to make its manual:

    * checking PDF version of manual ... WARNING
    LaTeX errors when creating PDF version.
    This typically indicates Rd problems.
    LaTeX errors found:
    ! Missing $ inserted.
    <inserted text>
                    $
    l.682 }{}

    ! Missing } inserted.
    <inserted text>
                    }
    l.682 }{}

    ...

    The line appears to be

    \widehat{R_1} = \frac{\sum\limits_{i=1}^n{c_i/n}}{\sum\limits_{i=1}^n{L_i/n}}

此处的其他研究表明,我使用 win-builder.r-project.org/ 在开发版本上检查我的包,该测试的结果仅抛出“新提交”警告。

我不知所措。我无法复制 CRAN 发现一切似乎在我的机器和 win-builder.r-project.org 上都能正常工作的错误。

有人可以帮我解决这个问题吗?我坦率地承认我不是 LaTeX 专家,但鉴于 Windows 上的 R 3.1.2 或 win-build 上的开发版本不是问题,我不知道从哪里开始。

包信息在这里:

creelSurvey

我使用inlinedocs 包来编写我的函数和cmets。警告来自 .R,第 127 行:

this function

和 .Rd 第 39 行:

this .Rd

感谢您的帮助。

【问题讨论】:

    标签: r windows package cran


    【解决方案1】:

    通过克隆 Github 存储库并运行,我能够在 Ubuntu 12.04 上使用 r-devel 重现此问题

    R CMD build creelSurvey
    R CMD check --as-cran BusRouteCreelSurvey_0.2.1.tar.gz
    

    我能够通过从 man/SimulateBusRoute.Rd 中删除 DOS 行尾标记(^MCtrl-M)来修复它。我不知道在 Windows 上执行此操作的最简单方法(您可以寻找dos2unix 实用程序,或者可能提出readLines 解决方案。

    我不知道它如何跨平台工作,但这似乎对我有用:

    fn <- "MakeAnglers.Rd"
    r <- readLines(fn)
    writeLines(r[nchar(r)>0],con="new.Rd")
    

    我会 (1) 在 R Extensions manual 中查找(可能是模糊的)关于行尾标记的警告,然后 (2) 向 CRAN 维护人员或通过在 r-devel@r-project.org 上发帖报告此情况。

    一般来说,如果您可以在 Linux 系统上设置测试版本,您应该能够检测到这些问题;对于 Linux 系统,我不知道 win-builder.r-project.org 的等价物,但 http://travis-ci.org 是一个很好的资源,this Github project 是在 Travis 上开始 R 项目的好方法。 (或者您可以在 R-forge 上设置您的项目。)我知道这可能比您现在正在寻找的项目更多,只是将其包括在内以供将来参考。

    【讨论】:

    • 啊哈!我一直在 [package name] 目录而不是 .tar.gz 上运行 R CMD check --as-cran,这可能是我无法重现错误的原因。我将处理您提供的解决方案。感谢您的帮助。
    • 我不确定这是你的问题。我认为这可能是一个晦涩难懂的跨平台问题……但建议将 R CMD build ... 流程作为最佳实践。
    • 这是我第一次尝试构建和部署包到CRAN,我认为我已经识别并解决了所有注释、警告和问题。令人惊讶的是,除了建议消除包标题的歧义之外,LaTeX/PDF 警告是唯一的其他问题。鉴于包开发是我认为自己将来会做的事情,在 R-forge 上进行设置将是一个有用的练习。同样,我会处理您提供的解决方案并报告。
    • 好的。我肯定会鼓励您在 r-devel 上报告这一点(在 r 扩展手册中快速搜索“dos”、“end-of-line”等并没有发现任何问题)
    • 我采纳了你的建议,效果很好。我重新提交给 CRAN,同时向 r-devel 报告了这个问题。有人告诉我这个问题是“用户错误”的功能,而不是跨平台问题。显然,导致问题的LaTeX 行应该全部在一行上,而不是分布在多行上:thread on r-devel。我试图让.R 文件更易于阅读,这阻碍了我将所有内容打包的能力。
    猜你喜欢
    • 2013-02-08
    • 2014-11-05
    • 2018-11-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多