【问题标题】:How to build API documentation for an R package in RStudio?如何在 RStudio 中为 R 包构建 API 文档?
【发布时间】:2021-02-05 12:54:47
【问题描述】:

我正在开发最新的 Windows 10 版本,RStudio 1.3.959,并且我刚刚安装了最新的 MikTex。

我正在尝试使用 RStudio 组合一个 R 包。我可以构建包,并且函数文档 cmets 正在转换为 /man/*.Rd 文件。当在 RStudio 控制台窗口中执行 ?function_name 时,这些会成功显示。

不幸的是,我在构建 PDF 包 API 文档时运气不佳(不要被误认为是小插图;我可以构建)。我查看了一些很好的教程,但它们都没有说明如何构建每个 R 包所期望的最终 PDF API 文档。

我试过了: Build[Windows]->More->Document ...执行devtools::document(roclets = c('rd', 'collate', 'namespace', 'vignette'))

Build[Windows]->More->Build Source Package ...执行devtools::document(roclets = c('rd', 'collate', 'namespace', 'vignette')),后跟devtools::build(binary = TRUE, args = c('--preclean'))

Build[Windows]->More->Build Binary Package ...执行devtools::document(roclets = c('rd', 'collate', 'namespace', 'vignette')),后跟devtools::build(binary = TRUE, args = c('--preclean'))

所有三个功能都符合预期,但仍然没有最终的包手册 pdf 文件。

在 Stack 上做一些挖掘我注意到有人使用了这个命令:

devtools::build_manual()

我确信这就是我所需要的。但是,当我执行那行代码时,我得到了错误:

Converting Rd files to LaTeX ...
Warning in sys2(makeindex, shQuote(idxfile)) : '"makeindex"' not found
Error in texi2dvi(file = file, pdf = TRUE, clean = clean, quiet = quiet,  : 
  unable to run 'makeindex' on 'Rd2.idx'
Warning in sys2(makeindex, shQuote(idxfile)) : '"makeindex"' not found
Error in texi2dvi(file = file, pdf = TRUE, clean = clean, quiet = quiet,  : 
  unable to run 'makeindex' on 'Rd2.idx'
Error in running tools::texi2pdf()
Error: Failed to build manual

这让我一点也不聪明,尽管很明显没有 makeindex 让我有些不安。非常感谢您的帮助。

【问题讨论】:

    标签: r rstudio roxygen2


    【解决方案1】:

    如果我理解正确,您的意思是标准参考手册。例如ggplot2 reference manual。根据我的经验,当您提交时,CRAN 会将其汇总在一起。所有的手册(据我所知)都是一个有据可查的包应该有的东西的集合,例如描述文件、命名空间文件和用于实际文档的各种 .RD 文件。

    即使查看公开的github for ggplot2,我们也看到他们的存储库中没有手册。此外,他们的.git*ignore 文件中没有任何证据表明他们自己制作了手册。

    但是,如果您想自己制作,devtools::build_manual() 是正确的函数调用。

    我能够使用 github 上已有的包制作手册。我建议尝试重新安装您的 devtools 软件包并确保没有警告或错误。以管理员身份运行会话以确保正确安装可能会有所帮助。

    祝你好运!


    我在 MacOS High Serra 上使用 R 版本 3.4 和 RStudio 1.1.453。

    【讨论】:

    • 谢谢你,贾斯汀。这当然解释了参考手册的来源。 R 吐出的包文档让我有些不知所措。描述该软件包的手稿正在提交给 Journal of Statistical Software,以及用于帮助 (?function_name) 的软件包内 roxygen 描述,以及一个小插图,以及 github 上的一个空间。其中很多都是重复的,老实说,我不确定发布、演示和提供这个特定包的最佳策略是什么。
    • 非常感谢 - 重新安装 devtools 成功了。
    • 欢迎成为包维护者! :)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-06-22
    • 2015-09-11
    • 2011-08-11
    • 2012-11-04
    • 1970-01-01
    • 2020-03-08
    相关资源
    最近更新 更多