r - 预处理或后处理氧气片段

标签 r roxygen2

是否有某种机制可以让我转换 roxygen 看到的注释,最好是在 roxygen->rd 转换之前?

例如,假设我有:

#' My function. Does stuff with numbers.
#'
#' This takes an input `x` and does something with it.
#' @param x a number.
myFunction <- function (x) {
}

现在,假设我想在 roxygen 解析注释之前对注释进行一些转换,例如用 \code{} 替换反引号中的所有实例。即:

preprocess <- function (txt) {
    gsub('`([^ ]+)`', '\\\\code{\\1}', txt)
}
# cat(preprocess('Takes an input `x` and does something with it'.))
# Takes an input \code{x} and does something with it.

我可以以某种方式将preprocess输入到roxygen中,以便它在roxygen生成文档之前(或在这种情况下可以工作之后)在doclet上运行它吗?

我不想在我的 .r 文件中进行永久查找替换。正如您可能从我的示例中猜到的那样,我的目标是在我的 roxygen 注释中提供一些基本的 Markdown 支持,因此希望按原样保留我的 .r 文件以保持可读性(并插入 \code{..} 以编程方式填充)。

我是否应该编写自己的 roxygenise 版本,对文件中所有检测到的 roxygen 风格注释运行 preprocess,将它们临时保存在某处,然后运行 ​​< em>实际 roxygenise 那些?

最佳答案

几年后重新审视这一点,看起来 Roxygen 有一个函数 register.preref.parsers,人们可以用它来将自己的解析器注入(inject)到 roxygen 中。 其中一个这样的用途是有前途的 maxygen package (markdown + roxygen = maxygen),这是 roxygen 注释的 markdown 处理的一个非常简洁的实现(尽管仅适用于 CommonMark 规范),您可以看到它在该包的 macument function 中的使用方式。 。我热切地等待“pandoc + roxygen = pandoxygen”...:)

关于r - 预处理或后处理氧气片段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15540321/

相关文章:

r - 在 R 中组合两个 Weibull 分布

r - org-mode remote R 不适用于 org 8.0.7

r - 如何按组选择具有最小值并在R中包含NA的行

regex - readHTMLTable 没有给我我想要的信息

从 R 中的表(字符)中删除 NA 字符串

r - R 包中的双语(英语和葡萄牙语)文档

r - 使用 RStudio 自动记录 Shiny 应用程序的功能

python - 相当于 python 的 roxygen2

r - S4 类交叉引用 - 什么是合适的语法?

r - 在 roxygen2 中提供两种用法