Генерировать элементы с несколькими аргументами в документации R через roxygen2

Создать файл документации R (.Rd) Я использую опцию пакета RStudio/Document с R 3.0.2, Linux 3.11, devtools 1.5, roxygen2 4.0.1.

Задача

Я хочу описать несколько аргументов функции в файле документации, например, в этом примере:

\arguments{
  \item{arg1, arg2}{Description}
}

Здесь аргументы arg1 а также arg2 разделены пробелом Это приводит к автоматическому разрыву строки в HTML-версии.

проблема

Используя опцию RStudio/Document, пробел между двумя аргументами помещает второй в часть "Описание", например:

#' @param arg1, arg2 Description

станет

\arguments{
  \item{arg1,}{arg2 Description}
}

Неуместное решение

Единственный способ сохранить оба аргумента внутри части "аргумент" - это не разделять пробелами, например:

#' @param arg1,arg2 Description

станет

\arguments{
  \item{arg1,arg2}{Description}
}

Это нежелательно, поскольку при большем количестве аргументов столбец с аргументом занимает много места. Я пытался покинуть пространство с \ или же \\ а также включить все аргументы с \code{...}, но ничего из этого не сработало так, как хотелось бы.

Вопрос

Есть ли способ создать вывод, как в моей цели? Может быть, какой-нибудь экранирующий символ, который вводит пробел?

Спасибо.
Sven

2 ответа

Теперь кажется, что работает с roxygen2 6.0.1:

#' @param arg1,arg2 Description

(без пробела после запятой) дает

\arguments{
  \item{arg1, arg2}{Description}
}

(с пробелом после запятой).

Я не нашел способ убедить roxygen2 чтобы вы могли сгенерировать строку с пробелом между аргументами, но вы всегда можете вручную обновить файл Rd после вызова roxygenize,

library(stringr)
filename <- "your package root/man/your_function.Rd"
lines <- readLines(filename)
lines <- str_replace(lines, fixed("\item{arg1,arg2}"), "\item{arg1, arg2}")
writeLines(lines, filename)

Конечно, документирование нескольких вещей за один раз может сбить читателя с толку. Почти всегда лучше придерживаться правила описания одного аргумента на строку, поскольку именно этого ожидает читатель.

Другие вопросы по тегам