2011-03-11 53 views
91

Roxygen似乎工作的方式是,第一行是\title,其他所有內容都在\details之後,然後任何@foo指令處理這些事情。但是R文檔比這更豐富。 .Rd文件中可以有"\section{Llamas}{Are they ungulates?}"roxygen文檔中的任意部分

但我不能讓Roxygen做任何事情,而不是把它全部包裝在\ details中。我錯過了什麼嗎?

我有一個hacky的解決方案,這是堅持一個無與倫比的}之前我的\section。然後結束\details部分。然後我不得不把結尾},因爲roxygen堅持認爲其關閉\details。 Eeeeeurrrrrrrrgh。

+2

很好的問題爲例

#' Llama llama llama #' #' More about llamas #' #' @section Llamas: #' Are they ungulates? #' #' @section Not llamas: #' This section is not about llamas. It is not very interesting. #' #' @param notused A parameter that isn't used at all! #' @export llama <- function(notused){ return("LLAMA LLAMA LLAMA") } 

。我懷疑你是正確的,這是目前無法完成的。但是Hadley Wickham最近提到他如何掌握未來roxygen發展的關鍵,所以我希望在不久的將來會出現一些令人驚喜的事情。 – Andrie 2011-03-12 11:43:01

+4

取決於你想要得到多深,你可能會提供幫助哈德利他在做什麼。我知道他的工作很棒,但畢竟,'Vell,他只是個小夥子,你知道嗎?'您可能需要仔細閱讀Hadley在github https://github.com/hadley/roxygen發佈的代碼,也許會向他發送電子郵件並詢問他... – PaulHurleyuk 2011-03-14 11:42:09

+1

當然。我也見過哈德利,所以他可能會知道。起初我以爲我錯過了文檔中的某些內容,比如「@section Llamas」指令或類似內容。 – Spacedman 2011-03-14 18:27:25

回答

16

已添加此支持(至少在roxygen2中)。您只需要添加@section Llamas:,然後再添加任何內容,直到遇到新的指令爲止將會在Llamas部分。這裏是一個給出了.Rd以下文件

\name{llama} 
\alias{llama} 
\title{Llama llama llama} 
\usage{ 
    llama(notused) 
} 
\arguments{ 
    \item{notused}{A parameter that isn't used at all!} 
} 
\description{ 
    More about llamas 
} 
\section{Llamas}{ 
    Are they ungulates? 
} 

\section{Not llamas}{ 
    This section is not about llamas. It is not very 
    interesting. 
} 
+3

Llamas rock !!!! – BrodieG 2014-05-06 22:13:21