2011-03-11 7 views
91

La forma en que Roxygen parece funcionar es que la primera línea es \title, todo lo demás está en \details, y luego cualquier directiva @foo maneja esas cosas. Pero la documentación de R es más rica que eso. Puedo tener "\section{Llamas}{Are they ungulates?}" en archivos .Rd.Secciones arbitrarias en roxygen docs

Pero no puedo hacer que Roxygen haga nada más que envolverlo todo en detalles. ¿Me estoy perdiendo de algo?

Tengo una solución hacky, que es pegar un incomparable } antes de mi \section. Esto luego finaliza la sección \details. Entonces no tengo que poner una terminación }, porque roxygen pega una al pensar que está cerrando el \details. Eeeeeurrrrrrrrgh.

+2

excelente pregunta. Sospecho que tienes razón de que esto no se puede hacer en este momento. Pero Hadley Wickham recientemente mencionó que él es la clave del desarrollo futuro de roxygen, por lo que tengo la esperanza de que aparezca algo sorprendente en el futuro cercano. – Andrie

+4

Dependiendo de cuán profundo desee obtener, podría ofrecer ayudar a Hadley con lo que está haciendo. Sé que su trabajo es increíble, pero después de todo, 'Vell, él es solo un tipo, ¿sabes?'. Es posible que desee leer el código que Hadley ha publicado en github https://github.com/hadley/roxygen y tal vez enviarle un correo electrónico y preguntarle ... – PaulHurleyuk

+1

Claro. También he visto a Hadley aquí, así que puede estar al tanto. Al principio pensé que me había perdido algo en los documentos, como una directiva de "@section Llamas" o similar. – Spacedman

Respuesta

16

Este soporte ha sido agregado (al menos en roxygen2). Solo tiene que agregar @section Llamas: y todo lo demás hasta que se encuentre una nueva directiva estará en la sección Llamas. Aquí está un ejemplo

#' 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") 
} 

la que dicta la siguiente para el archivo de .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