繁体   English   中英

如何让 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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM