Как добавить псевдоним для класса без универсального псевдонима с помощью Roxygen2?

Простым примером является то, что я создал расширение для 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?

13
задан Community 23 May 2017 в 10:26
поделиться