【问题标题】:R documentation: the @family tag is not workingR 文档:@family 标签不起作用
【发布时间】:2020-03-02 17:39:02
【问题描述】:

我正在编写一个 R 包,我想在函数文档之间包含交叉引用。

在文档here 之后,有一个专门讨论这个问题:

交叉引用

有两个标签可以让人们更轻松地浏览您的文档:@seealso@family。 [...] 如果您有一系列相关函数,您可以使用@family {family} 将每个函数交叉引用到该家族中的每个其他函数。一个函数可以是多个家族的成员。

对于sum(),可能如下所示:

#' @family aggregations
#' @seealso [prod()] for products, [cumsum()] for cumulative sums, and
#'   [colSums()]/[rowSums()] marginal sums over high-dimensional arrays.

默认情况下@family {family},将生成另见文本“Other {family}:”,因此@family 名称应该是复数(即“model building helpers” 而不是“model building helper”)。您可以通过在man/roxygen/meta.R 中提供rd_family_title 列表来覆盖默认标题:

rd_family_title <- list(
 aggregations = "Aggregation functions"
)

所以,我编写了这样的函数文档:

#' My foo function
#'
#' Does something with my data.
#'
#' Lorem ipsum.
#'
#' @param .data A data frame.
#' @return My processed data.
#' @usage
#' my_foo_function(.data)
#' @family {a_family}
#' @family {another_family}
#' @export
my_foo_function <- function(.data) {
# Some code
}

(我用这种方式写了大约 9 个函数)

我也写了这个meta.R 文件:

rd_family_title <- list(
  a_family = "A family of functions",
  another_family = "Another family of functions"
)

这保存在这里:[package project path]/roxygen/man/meta.R(同样,遵循文档)。

但是,当我运行 document() 函数(以构建 .Rd 文件)时,我收到以下警告:

document()
## Updating my_package documentation
## Writing NAMESPACE
## Warning messages:
## 1: Unknown Roxygen options a_family, another_family.
## Supported options: roclets, load, old_usage, markdown, r6, package 

而且,在浏览文档时,我看到如下内容:

[...]

另见

其他 a_family: bar(), baz() 其他another_family:spam()、eggs()

(我已将 @family {a_family} 更改为 @family a_family 并得到相同的结果。

那么...我错过了什么? rd_family_title 列表应该在哪里?为什么 Roxygen 不能用我定义的标题替换“其他……”的东西?


一些附加信息:

  • R 版本:3.6.0,在 CentOs 7 上运行,使用 Rstudio
  • Roxygen2 版本:7.0.2
  • 开发工具版本:2.2.1

【问题讨论】:

  • man/roxygen/meta.R 应该返回一个列表,其中一个元素是rd_family_title,参见here。那应该删除警告。仍然对我不起作用
  • 其实我错了,我只是在列出列表时使用了&lt;- 而不是=。看来这目前可能被破坏了,因为load_options_meta 仅在全局范围内完成,rd_family_title 不是一个允许的选项,请参阅:github.com/r-lib/roxygen2/…
  • @alanocallaghan 谢谢...看起来坏了 :( 很遗憾,如果能成功就太好了
  • 我建议在 repo 上打开一个问题,要么它会得到修复,要么他们会告诉你你做错了什么

标签: r roxygen2


【解决方案1】:

此问题已在 PR 1078 中修复,该问题包含在 roxygen2 7.1.1 release 中。

【讨论】:

  • 谢谢。我会尽快测试它
  • @Barranka 你测试过吗?如果是这样,您能否将我的回答标记为解决您的问题(绿色复选标记)?
  • 我没有机会对此进行测试(工作问题)。我会尽快对其进行测试并将其标记为已接受的答案
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-01-01
  • 2012-04-28
  • 2016-05-14
相关资源
最近更新 更多