如何在R包的手册中包含Authors@R?

How to include Authors@R in the manual of R package?

我的 R 包中有以下描述文件

Package: blah
Title: What the Package Does (one line, title case)
Version: 0.0.0.9000
Authors@R: person("Jon", "Snow", email = "jon.snow@jonsnow.ac.uk", role = c("aut", "cre"))
Description: What the package does (one paragraph).
Depends: R (>= 3.5.1)
License: What license is it under?
Encoding: UTF-8
LazyData: true
RoxygenNote: 6.1.0.9000

我已经记录了我的代码,并希望制作一份随附的手册。在之前的 post 中,人们提到使用命令 R CMD Rd2pdf <work directory> 我设法制作了一本手册。

问题是,在我的手册中,记录的 R 主题之前的位不显示作者,而是显示其他所有内容。我已经安装了 devtoolsknitrroxygen2testthat 等软件包。任何建议将不胜感激。

如果你想包括多个作者,你必须把所有人都包裹在c()

以 sf 的 DESCRIPTION 为例,它看起来像这样:

Authors@R: 
  c(person(given = "Edzer",
           family = "Pebesma",
           role = c("aut", "cre"),
           email = "edzer.pebesma@uni-muenster.de",
           comment = c(ORCID = "0000-0001-8049-7069")),
    person(given = "Jeroen",
           family = "Ooms",
           role = "ctb",
           comment = c(ORCID = "0000-0002-4035-0289")),
    person(given = "Kirill",
           family = "Müller",
           role = "ctb"))

如果只有一个作者,可以简单写:

Author: Lax Chan

构建源包时,Authors@R 字段被重新格式化为 Author。它不会出现在您的源目录中,因此从中构建手册不会包含它。

您需要做的是从源构建 tar.gz 文件,然后从中创建手册。

由于您似乎在使用命令行方法,因此由

完成
R CMD build <workdir>

产生类似于 workdir.version.tar.gz 的东西。不幸的是,Rd2pdf不能直接读取这个文件,所以你还需要两个步骤。移动到一个干净的目录,然后 运行

tar zxvf workdir.version.tar.gz
R CMD Rd2pdf workdir

从构建的 DESCRIPTION 文件生成手册。

(我不认为如果你在原始源上解压 tarball 会是一场灾难,但如果你更改 DESCRIPTION 文件,以后可能会造成混乱。)