6

我收到一个roxygenize()我无法理解的错误。我有一个杂项函数包,其中 .Rd 文件是通过 roxygen 生成的。

错误是Error: titlerequires a value,这表明没有@title标签。但是文件中有一个@title标签kmmisc-package.R,所以我不确定问题是什么。

kmmisc-package.R包含:

##' Miscellaneous Functions
##' 
##' \tabular{ll}{
##' Package: \tab kmmisc\cr
##' Type: \tab Package\cr
##' Version: \tab 0.1-2\cr
##' Date: \tab 2011-10-06\cr    
##' License: \tab GPL-2\cr
##' LazyLoad: \tab yes\cr
##' LazyData: \tab yes\cr
##' }
##' 
##' @author Me \email{my@@email}
##' 
##' Maintainer: Me \email{my@@email}
##'
##' @name kmmisc-package
##' @docType package
##' @title KM Misc
##' @keywords package
##' 
NULL

我正在使用 R 2.13.2 和刚刚从 CRAN 重新安装的 roxygen2 2.1。完整sessionInfo()的要点在https://gist.github.com/1268056

编辑

在@andrie 的建议下,我现在有了

#' Miscellaneous Functions
#' 
#' \tabular{ll}{
#' Package: \tab kmmisc\cr
#' Type: \tab Package\cr
#' Version: \tab 0.1-2\cr
#' Date: \tab 2011-09-14\cr    
#' License: \tab GPL-2\cr
#' LazyLoad: \tab yes\cr
#' LazyData: \tab yes\cr
#' }
#' 
#' @author Me \email{my@@email}
#' 
#' Maintainer: Me \email{my@@email}
#' @name package-kmmisc
#' @docType package
#' @title KM Misc
#' @keywords package
#' @aliases kmmisc package-kmmisc
#'
#' 
NULL

这仍然会产生相同的错误。

4

2 回答 2

2

我无法从您的第一个代码中复制错误...您是否收到与roxygenize()以下简单示例相同的错误消息?

#' A test function
#'
#' Description
#'
#' Details
#'
#' @param x numeric number
f1 <- function(x) {
  x
}

附加信息

@Andrie 的代码#' @aliases kmmisc package-kmmisc有一个@aliases 问题。在 roxygen2 2.1 中,#' @aliases a-b带有连字符的 生成 Rd 引用的标签\alias{"a-b"}。在这种情况下代码没有问题,但在其他情况下需要注意。当然,如果您需要引用标签,请添加#' @aliases a-b.

所以我认为在这种情况下最好替换#' @aliases kmmisc package-kmmisc为:#' @aliases kmmisc

#' Miscellaneous Functions
#'
#' \tabular{ll}{
#' Package: \tab kmmisc\cr
#' Type: \tab Package\cr
#' Version: \tab 0.1-2\cr
#' Date: \tab 2011-09-14\cr
#' License: \tab GPL-2\cr
#' LazyLoad: \tab yes\cr
#' LazyData: \tab yes\cr
#' }
#'
#' @author Me \email{my@@email}
#'
#' Maintainer: Me \email{my@@email}
#' @name package-kmmisc
#' @aliases kmmisc
#' @docType package
#' @title KM Misc
#' @keywords package
NULL
于 2011-10-07T01:27:27.883 回答
1

尝试以下操作:

  • 取消注释您的 roxygen 语句。(这可能是一个 SO 人工制品,但每个 roxygen 行都应该以 开头# ',即单个#

  • 对文档进行以下更改

    #' @name 包-kmmisc
    #' @aliases kmmisc 包-kmmisc

换句话说:

  • 更改值@name
  • 添加一个名为的别名kmmisc

这些是您的示例和我自己的包文档之间的唯一区别。

于 2011-10-06T17:53:40.720 回答