我正在编写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 check
在testpackage
上没有任何警告或错误的情况下运行。
为什么会出现这些点?我怎么能摆脱它们?
答案 0 :(得分:1)
这是roxygen2
中的错误 - 我记录了一个问题here。使用unstack()
会有效地产生效果,这会执行一些不需要的转换。
答案 1 :(得分:0)
我升级到Roxygen 5.0.0(现在是CRAN版本),发现问题消失了。