如何在R帮助文件/ roxygen2中交叉引用方程式

时间:2012-02-21 06:37:23

标签: r documentation roxygen roxygen2

我正在为我正在制作的R套件记录我的一些功能。

我正在使用roxygen标记,尽管这与我的问题基本无关。

我已使用\deqn{...}将方程式放入我的文档中。我的问题是: 以后有没有办法交叉引用这个等式?

例如,在我的Rd文件中:

\deqn{\label{test}
 y = mx + b
}

我以后可以这样做:

  

参考方程\ ref {test},...

我已经尝试了\eqref{test}\ref{test}(两者都获得了“未知宏”并且没有被链接),还有\link{test}(抱怨它无法找到功能) test因为它实际上仅用于链接到其他功能。)

否则我担心我可能不得不做一些hacky并在Rd文件的-- (1)等内手动添加Refer to equation (1)\deqn

更新

一般答案似乎是“不”。 (噢...)

但是,我可以写一个小插图并在那里使用“普通”乳胶/包装。无论如何,我刚刚注意到我在ro {/ Rd文件中使用的矩阵方程在帮助的?myFunction版本中看起来很糟糕(它们只显示为文字乳胶源)。这是一种耻辱,因为它们在帮助的pdf版本中看起来很漂亮。

@Iterator已指出conditional text的存在,所以我将在.Rd文件中进行ASCII数学运算,但在pdf手册/晕影中进行Latex数学运算。

1 个答案:

答案 0 :(得分:5)

为了别人的利益,我正在将上面的评论汇编成答案。

首先,我实际上并不知道.Rd是否支持方程式的标记。然而,.Rd格式是LaTeX的一个严格的子集,并且产生非常原始的文本输出,将广泛的方程式加入其格式可能是一项痛苦的任务,对用户没有太大的好处。

另一种方法是使用package vignettes,甚至是外部托管的文档(正如Hadley Wickham为他的一些软件包所做的那样)。这将允许您根据自己的内容使用PDF或其他文档。通过这种方式,您可以包含截图,情节,所有最有趣的LaTeX扩展,只有您拥有,最重要的是,我们都知道和喜爱的AMS扩展。

尽管如此,可以根据界面指定给定文档部分(在.Rd中)的不同呈现,例如控制台的文本,HTML的漂亮字符等,以及conditional text支持格式变化。

这是一个很好的问题。我不知道关于可行性的答案,但我有关于将函数和方程一起记录的类似问题,并且对.Rd文件可行的调查已经说服我使用PDF晕影而不是.Rd文件。