如何在 roxygen 识字编程中转义 %?
我的函数参数的默认值包含“%”。这似乎是 roxygen 的一个问题,它会产生大量警告,并且在尝试构建 Latex 文档时 R CMD 检查失败。
我怎样才能使这个函数(及其文档)工作?使用 %% 或 \% 代替 % 没有帮助。
#' Test escape \% from in-source documentation (roxygen).
#'
#' What happens when parameters contain special latex characters?
#'
#' @param x unsuspicious parameter
#' @param format sprintf format string (default "\%5.0f")
#'
#' @return formatted string
#' @export
#' @author Karsten Weinert
testroxy <- function(x, format = "%5.0f") {
sprintf(format,x)
}
The default value of a parameter of my function contains a "%". This seems to be a problem for roxygen, it produces a lot of warnings and R CMD check fails when trying to build latex documentation.
How can I make this function (and its documentation) work? Using %% or \% instead of % does not help.
#' Test escape \% from in-source documentation (roxygen).
#'
#' What happens when parameters contain special latex characters?
#'
#' @param x unsuspicious parameter
#' @param format sprintf format string (default "\%5.0f")
#'
#' @return formatted string
#' @export
#' @author Karsten Weinert
testroxy <- function(x, format = "%5.0f") {
sprintf(format,x)
}
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
与问题中类似的代码对我来说没有问题,并生成正确的文档。正如多条评论所说,原因一定是我正在使用 roxygen2 包。因此,只需使用 roxygen2,然后使用反斜杠在文档中转义“%”:
Code similar to the one in the question works for me without a problem, and generates the correct documentation. As multiple comments say, the reason must be that I am using the roxygen2 package. So just use roxygen2 and then escape "%" in the documentation using backslash:
这是我的不优雅的解决方案。将 perl 脚本另存为,例如 escape_percents.pl,则序列将如下所示:
这可能会引入更多问题,例如,如果您有使用 %% 作为模运算符的示例代码,但它对我来说很方便。
This is my inelegant solution. Save the perl script as, for example, escape_percents.pl, then the sequence would be like this:
This may introduce more problems, for example if you have example code using %% as the modulus operator, but it has been handy for me.