You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Roxygen2如何删除用法(usage)声明语句之间的自动空行?

roxygen2用法段空行自定义问题解答

roxygen2本身没有内置的配置项可以自定义同@rdname绑定的多个函数用法之间的空行规则,默认行为就是每个函数的用法语句之间都插入空行,不过你不需要手动修改生成的Rd文件,有两种成熟的替代方案可以实现你需要的格式:

方案1:手动指定@usage标签覆盖自动生成内容

你可以在第一个绑定到同一份文档的roxygen注释块里,直接按照你想要的格式写完整的用法声明,roxygen2会优先使用你手动写的@usage内容,不再自动拼接各个函数的用法生成空行,示例如下:

#' @rdname name
#' @usage 
#' fun1(x, y)
#' fun2(x, y)
#' 
#' fun3(x, y)
#' fun4(x, y)
#' @export
fun1 <- function(x, y) {
  ...
}

#' @rdname name
#' @export
fun2 <- function(x, y) {
  ...
}

#' @rdname name
#' @export
fun3 <- function(x, y) {
  ...
}

#' @rdname name
#' @export
fun4 <- function(x, y) {
  ...
}

该方案的优势是灵活度极高,完全可以自定义用法段的格式;劣势是后续如果函数参数发生变更,需要同步更新@usage里的声明,避免和实际函数参数不一致。

方案2:构建流程加自动处理脚本

如果你不想手动维护@usage内容,可以在包的构建流程里加入一段轻量的处理脚本:遍历生成的man目录下的所有.Rd文件,匹配到\usage{}块后按照你需要的规则删除多余空行即可,全程自动运行不需要人工干预。

内容的提问来源于stack exchange,提问作者Karolis Koncevičius

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.25 21:36:02