为什么@family标签在roxygen2中的单词之间添加点?

时间:2015-05-21 08:00:54

标签: r roxygen2 r-package

我正在编写R包并使用roxygen2创建文档。我使用 Build&按钮构建包和文档。在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 <me@somewhere.com>
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 checktestpackage上没有任何警告或错误的情况下运行。

为什么会出现这些点?我怎么能摆脱它们?

2 个答案:

答案 0 :(得分:1)

这是roxygen2中的错误 - 我记录了一个问题here。使用unstack()会有效地产生效果,这会执行一些不需要的转换。

答案 1 :(得分:0)

我升级到Roxygen 5.0.0(现在是CRAN版本),发现问题消失了。