Как включить Authors @ R в руководство к пакету R? - PullRequest
0 голосов
/ 10 января 2019

У меня есть следующий файл описания как часть моего пакета 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

Я задокументировал свой код и хотел бы подготовить руководство, которое сопровождает его. В предыдущем посте люди упоминали с помощью команды R CMD Rd2pdf <work directory> и мне удалось создать руководство.

Проблема в том, что в моем руководстве немного задокументированных R тем не показаны авторы, но все остальное. Я установил такие пакеты, как devtools, knitr, roxygen2 и testthat. Любой совет будет высоко оценен.

Ответы [ 2 ]

0 голосов
/ 10 января 2019

Поле 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.)

0 голосов
/ 10 января 2019

Если вы хотите включить нескольких авторов, вы должны заключить всех людей в c().

См., Например, ОПИСАНИЕ sf, которое выглядит примерно так:

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
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...