我正在开发一个R软件包,我正在使用该软件包Roxygen2为我的R函数编写帮助手册.我想知道的是,如果可以在手册页中使用乳胶作为数学公式吗?
例如,如果我有一个调用的函数add2,它执行以下操作:
add2 = function(x,y){
z = x+y
return(z)
}
Run Code Online (Sandbox Code Playgroud)
使用Roxygen2文档我有以下内容:
##' @include add2.R
{}
##' Compute the sum of x_1 and x_2
##'
##' Computes the sum of x_1 and x_2
##'
##' @param x_1 number of guys
##' @param x_2 number of girls
##' @return The sum of the two values x_1 and x_2
##'
##' @example examples/adding.R
##' @export
##' @author Name
Run Code Online (Sandbox Code Playgroud)
这对我有用,但是在帮助手册中显示x1和x2为x_1和x_2,而我希望它看起来像乳胶数学,实际上有x上的下标,即$ x_1 $和$ x_2 $ in latex .
有没有办法做到这一点或不适应R这个?
有点.使用这样的\eqn{x_1},如果你想使用纯文本输出LaTeX的标记的(未加工的)版本(或者你可以这样说\eqn{x_1}{x1})."那种"部分是因为我不确定LaTeX处理将采用哪种特定的输出格式 - 例如,我猜测你会看到的HTML格式的输出格式(例如) RStudio文档窗格不会尊重此标记.(LaTeX标记肯定会用在手册的PDF版本中,我几乎从不看...)
应该为印刷文档精心设置数学公式,但我们仍然需要一些对文本和HTML在线帮助有用的东西.为此,使用了两个命令\ eqn {latex} {ascii}和\ deqn {latex} {ascii}.而\ eqn用于"内联"公式(对应于TeX的$ ... $),\ deqn给出"显示的公式"(如在LaTeX的displaymath环境中,或TeX的$$ ... $$).这两个论点都被视为"逐字"文本.
这两个命令也可以用作\ eqn {latexascii}(只有一个参数),然后用于latex和ascii.命令和第一个参数之间以及第一个和第二个参数之间不允许有空格.
以下示例来自Poisson.Rd:
\ deqn {p(x)=\frac {\ lambda ^ xe ^ { - \lambda}} {x!}} {%
对于\ eqn {x = 0,1,2,\ ldots},p(x)=\lambda ^ x exp( - \lambda)/ x!}.
引用 Hadley Wickham 的 O'Reilly 的“R Packages”:
您可以使用标准的 LaTeX 数学(没有扩展)。在嵌入式或块显示之间进行选择:
\eqn{a + b}: 内联方程\deqn{a + b}: 显示(块)方程
因此,使用\eqn和\deqn是推荐的官方方式。