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

如何在R帮助文件/roxygen2中交叉引用方程式,r,documentation,roxygen,roxygen2,R,Documentation,Roxygen,Roxygen2,我正在为我正在制作的R包记录我的一些功能 我使用的是roxygen标记,尽管这与我的问题基本无关 我已使用\devqn{…}将公式放入文档中。我的问题是: 以后有没有办法交叉引用这个等式? 例如,在我的Rd文件中: \deqn{\label{test} y = mx + b } 我以后能做一些类似的事情吗 参考方程式\ref{test} 我试过\eqref{test},\ref{test}(它们都得到“未知宏”并且没有链接),还有\link{test}(它们抱怨它找不到函数test,因为它实

我正在为我正在制作的R包记录我的一些功能

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

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

例如,在我的Rd文件中:

\deqn{\label{test}
 y = mx + b
}
我以后能做一些类似的事情吗

参考方程式\ref{test}

我试过
\eqref{test}
\ref{test}
(它们都得到“未知宏”并且没有链接),还有
\link{test}
(它们抱怨它找不到函数
test
,因为它实际上只是为了链接到其他函数)

否则,我担心我可能不得不做一些骇人的事情,并在Rd文件中的
-(1)
中手动添加
\deqn
中的
参考等式(1)

更新 一般的答案似乎是“不”。(awww…)

但是,我可以写一个小插曲,并在那里使用“普通”乳胶/包。在任何情况下,我刚刚注意到,我花了很多时间将矩阵方程放入我的roxygen/Rd文件中,在帮助的
?myFunction
版本中,它们看起来很糟糕(它们显示为几乎完全相同的源代码)。这是一个遗憾,因为它们在pdf版本的帮助中看起来很漂亮


@Iterator已经指出存在,因此我将在.Rd文件中使用ASCII数学,但在pdf手册/vignette中使用Latex数学。

为了其他人的利益,我将把上面的评论编译成一个答案

首先,我不知道.Rd是否支持方程的标记。然而,.Rd格式是LaTeX的一个严格子集,并且产生非常原始的文本输出,因此将大量的公式硬塞进其格式可能是一项痛苦的任务,对用户没有多大好处

另一种选择是使用,甚至是外部托管的文档(就像Hadley Wickham对他的一些包所做的那样)。这将使您能够随心所欲地使用PDF或其他文档。通过这种方式,您可以包括屏幕截图、情节、所有只有您拥有的最时髦的LaTeX扩展,以及最重要的是,我们都知道并喜爱的AMS扩展

尽管如此,可以根据接口指定文档(in.Rd)给定部分的不同呈现方式,例如控制台的文本、HTML的漂亮字符等,并支持这种格式变化


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

有趣的问题,而且,手动引用方程是不可持续的。考虑到
.Rd
格式只是最基本的LaTeX,不支持AMS扩展,我不确定这是否可行。这可能是因为你必须使用一个小插曲。目前我有一大堆“在上面的等式中…”在大矩阵等式中…-这有点尴尬!(我没有太多的方程,每个Rd文件虽然-我可能会降低自己的黑客“-(1)”到
devqn
,然后只说“参考方程1”在文本中…但它感觉如此错误!)也许一个小插曲是一个更好的方式去做?我还不太熟悉.Rd格式,但我对一种似乎是LaTeX的子集的文档格式并不特别感兴趣。你的问题很好,但是,依我看,那是因为它指出了.Rd方法中的一个缺陷或者.Rd方法文档中的一个缺陷。(我还将开始记录大量的代码和方程,因此在我要调查的问题队列中有一个类似的问题。)FWIW:参见:“通过在包源中包含PDF版本,不必在安装时重新构建vignette PDF,即包作者可以使用。。。LaTeX扩展只在他的机器上可用。“这就是我需要读的全部内容,我想我会为数学部分写一个小插曲,但我仍在决定是否希望
?myFunction
也显示数学——我会说“关于数学的更多信息,请参阅小插曲”,或者我也会在上面的等式中加上笨拙的“数学”。啊,你赢了我-我看到更新有相同的结论。:)虽然我喜欢哈德利的文档本身,但我并不喜欢他的所有帮助文件都说“参考网站”——当我去
?一些函数
,然后不得不打开web浏览器并复制/粘贴URL时,这让我非常恼火。在
ggplot2
的情况下,考虑到文档的图形依赖性,我认为这是合理的,但这不是我想走的路。即使是基本文档,我也同意这一点。尽管如此,我目前仍在使用支持LaTeX的Wiki来编写软件文档,并支持论坛、bug跟踪等,因此即使是静态PDF也是一种倒退有一点值得一提,那就是让文档与代码分开发展,比如能够根据反馈提供文档使用或修订的新示例。在提供快速参考和支持全面文档之间需要找到一个平衡点。