r-链接到.rd文件中的S4方法



我正在编写一个带有S4类的包,并为该类编写了as.POSIXctas.POSIXlt的方法。我已经编写了文档,一切看起来都很好,只是我想在as.POSIXlt的文档中引用as.POSIXct方法,反之亦然。我尝试了S4method{coerce}{abc, POSIXct}(from, to)(其中"abc"是S4类),但它只应该放在usage部分,这不是我想要的。有办法做到这一点吗?这在我看来很奇怪,它是不被允许的。

我意识到可以将这些.rd文件组合在一起以避免这个问题,但我正在尽可能多地学习R中的类和包,所以这无论如何都是我感兴趣的。

以下是.Rd文件之一的骨架:

name{as.POSIXct-methods}
docType{methods}
alias{as.POSIXct-methods}
alias{as.POSIXct,ANY-method}
alias{as.POSIXct,abc-method}
title{code{abc} Method for Function code{as.POSIXct}}
description{
code{as.POSIXct} method to coerce timestamps in code{abc} objects into 
code{POSIXct} format.
}
section{Methods}{
describe{
~~description here~~
item{code{signature(x = "ANY")}}{
default implementation (from base)
}
item{code{signature(x = "abc")}}{
implementation for code{link{abc}} objects. 
~~more description of function~~
See code{linkS4class{abc}} for more about abc objects.
See also code{link[abc]{as.POSIXlt}} for the corresponding code{POSIXlt} method.
}
}}
keyword{methods}

倒数第四行是造成问题的那一行。

链接的基本格式是

link{foo}

其中CCD_ 7与CCD_。因此,如果你的另一个包有\alias{as.POSIXlt,abc方法}(注意没有空格),那么

link{as.POSIXlt,abc-method}

只有在链接到其他包时才需要添加[abc],然后语义会令人困惑(在link[abc]{foo}中,foo是HTML帮助页的名称,而不是例如别名)。添加code{}是标记,因此与建立链接没有直接关系。上面的链接将"as.POSIXlt,abc方法"插入到帮助页面中,这可能比可能存在的任意\alias标记更具信息性(或不具有信息性)。

根据编写R扩展的交叉引用部分,您可以创建到其他帮助页面的链接,如下所示:

code{link[base]{as.POSIXct}}

其中"base"是包的名称(我认为[base]没有必要,但如果它是另一个包,它就会是)

最新更新