首页 文章

通过roxygen2在R文档中生成具有多个参数的项目

提问于
浏览
7

要生成R文档文件( .Rd ),我使用包Rt.2.2,Linux 3.11,devtools 1.5,roxygen2 4.0.1的软件包RStudio / Document选项 .

目标

我想在文档文件中描述函数的多个参数,例如在此示例中:

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

这里,参数 arg1arg2 由空格字符分隔 . 这导致HTML版本中的自动换行符 .

问题

使用RStudio / Document选项,两个参数之间的空格将第二个参数放在“描述”部分中,例如:

#' @param arg1, arg2 Description

会变成

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

不恰当的解决方案

我想通过将两个参数保留在'参数'部分内的唯一方法是不用空格分割,例如:

#' @param arg1,arg2 Description

会变成

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

这是不需要的,因为带有更多参数的'column'与参数使用了大量空间 . 我试图用 \\\ 来逃避空间以及用 \code{...} 包含所有参数,但它们都没有按预期工作 .

问题

有没有办法在我的 Objective 中创建输出?也许是一些引入空间的逃脱角色?

谢谢 .
斯文

2 回答

  • 5

    我还没有找到一种方法来说服 roxygen2 让你生成参数之间有空格的行,但是你可以在调用 roxygenize 后手动更新Rd文件 .

    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)
    

    当然,一次性记录几件事可能会让读者感到困惑 . 坚持每行一个参数描述的约定几乎总是更好,因为这是读者所期望的 .

  • 0

    它现在似乎与roxygen2 6.0.1一起使用:

    #' @param arg1,arg2 Description
    

    (逗号后没有空格)给出

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

    (用逗号后的空格) .

相关问题