我正在使用R
软件包,我正在使用软件包Roxygen2
编写R
函数的帮助手册。我想知道的是,如果可以在手册页中使用乳胶作为数学公式吗?
例如,如果我有一个名为add2
的函数执行了以下操作:
add2 = function(x,y){
z = x+y
return(z)
}
使用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
这对我有用,但这会在帮助手册中将x1和x2显示为x_1和x_2,而我希望它看起来像乳胶数学并且实际上有x上的下标,即$ x_1 $和$ x_2 $ in latex。
有没有办法做到这一点或R
不适应这个?
答案 0 :(得分:8)
排序。如果你想在纯文本输出中使用(未经处理的)LaTeX标记版本(或者你可以说\eqn{x_1}
之类的东西),请使用\eqn{x_1}{x1}
之类的东西。 “那种”部分是因为我不确定LaTeX处理将采用哪种特定的输出格式 - 例如,我猜测你会看到的HTML格式的输出格式(例如) RStudio文档窗格不尊重此标记。 (LaTeX标记肯定将用于本手册的PDF版本,我几乎从未看过......)
我将继续引用Mathematics section of Writing R Extensions ...
应该为印刷文档精心设置数学公式,但我们仍然需要对文本和HTML在线帮助有用的东西。为此,使用了两个命令\ eqn {latex} {ascii}和\ deqn {latex} {ascii}。而\ eqn用于“内联”公式(对应于TeX的$ ... $),\ deqn给出“显示的公式”(如在LaTeX的displaymath环境中,或TeX的$$ ... $$)。这两个论点都被视为“逐字”文本。
这两个命令也可以用作\ eqn {latexascii}(只有一个参数),然后用于latex和ascii。命令和第一个参数之间,以及第一个和第二个参数之间不允许有空格。
以下示例来自Poisson.Rd:
\ deqn {p(x)= \ frac {\ lambda ^ x e ^ { - \ lambda}} {x!}} {%
p(x)= \ lambda ^ x exp( - \ lambda)/ x!} for \ eqn {x = 0,1,2,\ ldots}。
答案 1 :(得分:0)
引用Hadley Wickham的O'Reilly的“ R Packages”:
您可以使用标准LaTeX数学(无扩展名)。在嵌入式显示或块显示之间选择:
\eqn{a + b}
:内联方程式\deqn{a + b}
:显示(阻止)方程式
因此,推荐使用\eqn
和\deqn
这是官方的方式。