2

我正在编写一个 R 包并使用 roxygen2 创建文档。我使用RStudio 中的Build & Reload按钮构建包和文档。根据 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 check在 .上运行而没有警告或错误testpackage

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

4

2 回答 2

1

这是一个错误roxygen2——我在这里记录了一个问题。它实际上是使用 的结果unstack(),它执行了一些不需要的转换。

于 2016-05-26T05:31:32.290 回答
0

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

于 2016-01-25T16:17:51.033 回答