4

私は S4 クラスを含むパッケージを作成しており、クラスのメソッドとas.POSIXctクラスのメソッドを作成しas.POSIXltました。私はドキュメントを作成しましたが、すべて問題ないように見えますが、as.POSIXctのドキュメントでメソッドを参照したいas.POSIXlt場合と、その逆の場合を除きます。\S4method{coerce}{abc, POSIXct}(from, to)、(「abc」はS4クラスです)を試しましたが\usage、それはセクションにのみ配置することになっていますが、それは私が望む場所ではありません。これを行う方法はありますか?それが許されないというのは奇妙に思えます。

これらの .rd ファイルを組み合わせてこの問題を回避できることはわかっていますが、R のクラスとパッケージについてできるだけ多くのことを学ぼうとしているので、とにかくこれは興味深いことです。

.Rd ファイルの 1 つのスケルトンを次に示します。

\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}

下から 4 番目の行が問題を引き起こしている行です。

4

2 に答える 2

2

Writing R拡張機能の相互参照セクションに従って、次のような他のヘルプページへのリンクを作成できます。

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

ここで、「base」はパッケージの名前です([base]は必要ないと思いますが、別のパッケージの場合は必要です)

于 2012-08-20T19:27:25.783 に答える
2

リンクの基本的な形式は次のとおりです。

\link{foo}

wherefooは、一部のヘルプ ページ (同じパッケージ内) に として表示され\alias{foo}ます。したがって、他のパッケージに \alias{as.POSIXlt,abc-method} がある場合 (スペースがないことに注意してください)、

\link{as.POSIXlt,abc-method}

追加[abc]は、他のパッケージにリンクする場合にのみ必要であり、セマンティクスが混乱します ( では\link[abc]{foo}、foo はエイリアスなどではなく、HTML ヘルプ ページの名前です)。追加\code{}はマークアップであるため、リンクの確立には直接関係ありません。上記のリンクは、「as.POSIXlt,abc-method」をヘルプ ページに挿入します。これは、存在する可能性のある任意の \alias タグよりも有益である (またはそうでない) 場合があります。

于 2012-08-20T20:23:20.390 に答える