Простым примером является то, что я создал расширение для show
, которое является базовым методом S4. Я не хочу вызывать разветвление неоднозначности, повторно документируя show
в моем пакете, и я также хочу объединить документацию моего расширения в show
в документации для нового class, myPkgSpClass
, добавив псевдоним для show, myPkgSpClass-method
.
#' @export
#' @aliases show,myPkgSpClass-method
#' @rdname myPkgSpClass-class
setMethod("show", "myPkgSpClass", function(object){ show(NA) })
Проблема, с которой я столкнулся, заключается в том, что это приводит к серьезному предупреждению во время сборки документации с помощью roxygen2, Файлы Rd с дублированным псевдонимом 'show':
, потому что существует более одного расширения класса для show
в этом пакете, и roxygen2 автоматически добавил общий термин в список псевдонимов для всех соответствующих файлов * - class.Rd
:
\alias{show}
\alias{show,myPkgSpClass-method}
Но я думаю, что не вам нужен общий псевдоним в любом из экземпляров, потому что это вызовет необходимость устранения неоднозначности между show
в моем пакете и базовым show
. Эта проблема также относится к другим методам S4, расширенным из других пакетов, помимо show
.
Если я помечу все методы, специфичные для класса, одним и тем же .Rd
, то предупреждение исчезает, но неоднозначность остается, потому что псевдоним show
по-прежнему автоматически добавляется для этой записи документа. Если я вручную удаляю \ alias {show}
из файла .Rd
, тогда проблема кажется решенной, никаких предупреждений во время roxygen или R CMD check pkgname
. Итак, как мне заставить Roxygen2 не добавлять общий псевдоним?
Другой фон:
Это конкретный вопрос, созданный из предыдущего выпуска для экспорта / документирования расширений S4 в базовые методы: Нужно ли экспортировать расширения базовых методов в пакет R? Последствия для документации?
Это более конкретно, чем следующие вопросы, касающиеся документирования методов / классов S4 с помощью Roxygen2, и не охвачены ими:
Как правильно документировать методы S4 с помощью roxygen2
Как правильно документировать слоты классов S4 с использованием Roxygen2?