Почему тег @family добавляет точки между словами в roxygen2?

Я пишу пакет R и создаю документацию, используя roxygen2. Я собираю пакет и документацию с помощью кнопки Build & Reload в RStudio. Согласно выходным данным RStudio, он использует devtools::document(roclets=c('rd', 'namespace')) для компиляции документации.

Я хочу использовать тег @family, чтобы связать несколько функций в документации, и здесь возникает моя проблема. Эта линия

#' @family functions returning some object

преобразуется в файле .Rd в следующий

\seealso{
    Other functions.returning.some.object: \code{\link{test2}}
 }

Мне не нужны точки между словами. У меня есть более старый пакет, в котором этого не происходит, даже если я перекомпилирую документацию в тех же настройках, что и новый пакет. Я не вижу принципиальной разницы между этим старым пакетом и моей новой попыткой.

Я написал очень простой тестовый пакет, в котором тоже возникает проблема. Он содержит один файл R (testpackage.R):

#' Test function 1
#' 
#' @param x a number
#' 
#' @family functions returning some object
#' @family aggregate functions
#' 
#' @export

test1 <- function(x) {
  x*x
} 


#' Test function 2
#' 
#' @param x a number
#' 
#' @family functions returning some object
#' @family aggregate functions
#'  
#' @export

test2 <- function(x) {
  x*x*x
}

ОПИСАНИЕ файла

Package: testpackage
Type: Package
Title: Package for testing purposes
Version: 1.0
Date: 2015-05-21
Author: Me
Maintainer: Me <[email protected]>
Description: Package for testing purposes
License: GPL-3

NAMESPACE генерируется roxygen. Для документации test1.Rd я получаю:

% Generated by roxygen2 (4.1.1): do not edit by hand
% Please edit documentation in R/testpackage.R
\name{test1}
\alias{test1}
\title{Test function 1}
\usage{
test1(x)
}
\arguments{
\item{x}{a number}
}
\description{
Test function 1
}
\seealso{
Other aggregate.functions: \code{\link{test2}}

Other functions.returning.some.object: \code{\link{test2}}
}

с нежелательными точками в разделе \seealso. Очевидно, что количество слов в теге @family не имеет значения. Я пробовал заключать текст в кавычки, всевозможные скобки и т.д., но безрезультатно. Конечно, я мог бы отредактировать файлы Rd, но это упустило бы смысл использования roxygen2.

R CMD check работает без предупреждений и ошибок на testpackage.

Почему появляются эти точки? И как я могу избавиться от них?


person Stibu    schedule 21.05.2015    source источник
comment
На самом деле, я обнаружил, что @family не производит вывода в моих файлах .Rd, используя Roxygen2-4.1.1 на R-3.2.3; возможно, это особенность только еще не выпущенных версий Roxygen2.   -  person dank    schedule 23.01.2016
comment
Но для меня он выдает результат, поэтому не может быть, чтобы эта функция еще не поддерживалась. Я думаю, вам нужно добавить один и тот же тег @family как минимум к двум функциям, чтобы иметь вывод.   -  person Stibu    schedule 23.01.2016
comment
Извини, @Stibu, ты прав. Теперь я получаю информацию о семье, но с этими уродливыми точками, как у вас.   -  person dank    schedule 25.01.2016


Ответы (2)


Это ошибка в roxygen2 -- я зарегистрировал проблему здесь. Фактически это результат использования unstack(), который выполняет некоторые нежелательные преобразования.

person Kevin Ushey    schedule 26.05.2016
comment
Спасибо, я рад, что наконец есть объяснение этому. Не могли бы вы добавить пояснения из отчета об ошибке здесь? Я думаю, это было бы полезно. - person Stibu; 26.05.2016

Я обновился до Roxygen 5.0.0 (теперь это версия CRAN) и обнаружил, что проблема исчезла.

person dank    schedule 25.01.2016
comment
Сейчас у меня roxygen 5.0.1, и, к сожалению, проблема не устранена. Вы уверены, что изменилась только версия roxygen? - person Stibu; 29.01.2016
comment
Извините, но я не могу точно сказать, изменились ли другие вещи. Четыре дня в некотором смысле не так уж и много, но для активно развивающегося проекта это довольно много. И у нас с вами тоже могут быть совершенно разные установки. Все, что я могу сказать, это то, что я уверен, что обновление roxygen все исправило. - person dank; 29.01.2016