![](/img/trans.png)
[英]How to acknowledge contributors of ideas (not code) to R package (using roxygen2)?
[英]How to get roxygen2 to interpret backticks as code formatting?
使用code
格式编写文档的标准方法是使用\code{}
。
也就是说, #' @param foo value passed on to \code{bar()}
变为
Arguments
foo
值传递给bar()
然而,我已经看到一些包(即dplyr )使用反引号而不是\code{}
来达到同样的效果。 这要好得多,因为它不那么笨重并且允许非常漂亮的语法突出显示。
但是,如果我自己尝试 package,反引号会被解释为...只是反引号,就像任何其他字符一样。
例如, dplyr::across()
的文档以:
#' @description
#' `across()` makes it easy to apply the same transformation to multiple [...]
它被编译并在手册页中显示为:
描述
across()
可以轻松地将相同的转换应用于多个 [...]
但是如果我在我的 package 上尝试类似的东西,我会得到:
描述
`across()` 可以轻松地将相同的转换应用于多个 [...]
奇怪的是,我已经为一个简单的 PR 分叉了 package glue
(它也设法使用反引号进行代码格式化),如果我在本地构建 package,反引号会起作用(我得到code
格式化)。 无法为我的生活弄清楚为什么它在那里工作但不适用于我的 package。
那么,是否需要修改一些设置才能使其正常工作? 我检查了dplyr.Rproj
但没有发现任何相关内容。 我还浏览了Doxyfile
,但不知道它做了什么或者我什至要在那里寻找什么。
所有功劳都归功于@rawr 对问题的评论,只是用答案形式化它:
秘密在roxygen2 文档中:只需将以下内容添加到 package DESCRIPTION
文件的末尾:
# DESCRIPTION file
# [... rest of file ...]
Roxygen: list(markdown = TRUE)
RoxygenNote: 7.1.2 # actually works since 6.0.0
正如该代码所暗示的那样,这会将 roxygen2 设置为将命令解释为好 ol' Markdown 就像我们习惯在 SO 和其他地方使用的那样。 这也意味着所有其他标准 Markdown 命令,例如**bold**
和*italics*
,以及[text](http://www.url.com)
,由```
定义的代码块,逐项和枚举列表等。这是全面的巨大改进。
尽管要小心并查看文档,因为有一些陷阱。 例如,列表的开头不需要空行,所以不要以#' 1. [...]
或#' * [...]
开头任何行,否则你会不小心创建一个列表。) ,还有一些东西还不行。 但它们很小。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.