Ссылка на метод S4 в файле.rd?
Я пишу пакет с классом S4, и я написал методы для as.POSIXct
а также as.POSIXlt
для класса. Я написал документацию и все выглядит хорошо, за исключением того, что я хотел бы сослаться на as.POSIXct
метод в документации для as.POSIXlt
, и наоборот. Я старался \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}
Четвертая снизу строка вызывает проблемы.
2 ответа
Основной формат для ссылки
\link{foo}
где foo
появляется на некоторой странице справки (в том же пакете) как \alias{foo}
, Так что, если ваш другой пакет имеет \alias{as.POSIXlt,abc-метод} (обратите внимание на отсутствие пробелов), тогда
\link{as.POSIXlt,abc-method}
Добавление [abc]
необходимо только при связывании с другими пакетами, и тогда семантика сбивает с толку (в \link[abc]{foo}
, foo - это имя страницы справки HTML, а не, например, псевдоним). Добавление \code{}
является наценкой, поэтому не имеет непосредственного отношения к созданию ссылки. Приведенная выше ссылка вставляет "as.POSIXlt,abc-method" на страницу справки, которая может быть более информативной (или нет), чем произвольный тег \ alias, который может присутствовать.
В разделе " Перекрестные ссылки" расширений Writing R вы можете создавать ссылки на другие страницы справки, например:
\code{\link[base]{as.POSIXct}}
Где "base" - это имя пакета (я не думаю, что [base] необходимо, но если бы это был другой пакет, он был бы)