2011-10-06 45 views
5

我收到了一個我無法理解的錯誤roxygenize()。我有一個我通過roxygen生成.Rd文件的雜項功能包。roxygen2「錯誤:標題需要值」

錯誤是Error: titlerequires a value,這表明沒有@title標記。但kmmisc-package.R文件中有一個@title標記,所以我不確定問題是什麼。

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{[email protected]@email} 
##' 
##' Maintainer: Me \email{[email protected]@email} 
##' 
##' @name kmmisc-package 
##' @docType package 
##' @title KM Misc 
##' @keywords package 
##' 
NULL 

我,使用R 2.13.2與roxygen2 2.1剛剛從CRAN重新安裝。完整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{[email protected]@email} 
#' 
#' Maintainer: Me \email{[email protected]@email} 
#' @name package-kmmisc 
#' @docType package 
#' @title KM Misc 
#' @keywords package 
#' @aliases kmmisc package-kmmisc 
#' 
#' 
NULL 

這仍然是產生同樣的錯誤。

+0

我只是看上那'maintainer'沒有一個'@'。這是否有所作爲? – Andrie

+0

我不這麼認爲。我可能忽略了一些東西,但據我所知,我的基本結構與roxygen文檔相同:https://github.com/klutometis/roxygen/blob/master/R/roxygen.RI不要有例子或seealso,但我不認爲這很重要。 – kmm

+0

還有一個建議:升級到'roxygen2'。當發現它在roxygen線路中遇到錯誤時,我發現它更加寬容和有助於提示。 – Andrie

回答

2

我無法複製您的第一個代碼的錯誤... 您是否收到來自roxygenize()以下簡單的例子相同的錯誤信息?

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

的附加信息

由@Andrie,#' @aliases kmmisc package-kmmisc的代碼,具有@aliases problem。 在roxygen2 2.1中,有一個連字符的#' @aliases a-b生成Rd引用標籤\alias{"a-b"}。 在這種情況下代碼沒有問題,但在其他情況下需要注意。 當然,如果您需要引用標籤,請添加#' @aliases a-b

所以我認爲這是更好地在這種情況下,與#' @aliases kmmisc更換#' @aliases kmmisc package-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{[email protected]@email} 
#' 
#' Maintainer: Me \email{[email protected]@email} 
#' @name package-kmmisc 
#' @aliases kmmisc 
#' @docType package 
#' @title KM Misc 
#' @keywords package 
NULL 
+0

這就是我想要解決的問題:https://github.com/klutometis/roxygen/pull/29但是在這裏我沒有看到任何理由,因爲別名不正確導致標題被破壞。 –

+0

對不起這個題外話。我修改了我的帖子。我期待着解決:#29。 –

1

嘗試以下操作:

  • 取消註釋您roxygen語句。 (這可能是所謂的假象,但每個roxygen線應與# '開始,如單#

  • 進行以下更改文檔

 
    #' @name package-kmmisc 
    #' @aliases kmmisc package-kmmisc 

換句話說:

  • 更改值@name
  • 添加名稱爲的別名

這些是你的榜樣,我自己包的文檔之間的唯一區別。

+0

對於這些編輯,我仍然收到同樣的錯誤(請參閱上面的編輯)。一般來說,##是真的有問題嗎?這是ESS默認做的(至少我認爲我有默認設置)。 – kmm

+0

如果'##'適合你,那很好,我也學到了一些東西。我使用Eclipse和Roxygen代碼突出顯示僅適用於單個'#' – Andrie

+0

我可以確認'##''當然可以。正如Kevin所說,這是Emacs中的默認前綴。我沒有在代碼中看到任何明顯的問題,實際上我可以在沒有任何錯誤的情況下運行roxygen2(在Ubuntu下爲R 2.13.2)。 –