Secciones arbitrarias en roxygen docs


93

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

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

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


2
Excelente pregunta. Sospecho que tiene razón en que esto no se puede hacer en este momento. Pero Hadley Wickham mencionó recientemente que él es la clave para el desarrollo futuro de roxygen, por lo que tengo la esperanza de que aparezca algo sorprendente en un futuro próximo.
Andrie

4
Dependiendo de qué tan profundo quieras llegar, podrías ofrecerte a ayudar a Hadley con lo que está haciendo. Sé que su trabajo es asombroso, pero después de todo, 'Vell, es solo su tipo, ¿sabes?'. Es posible que desee leer detenidamente el código que Hadley ha publicado en github github.com/hadley/roxygen y tal vez enviarle un correo electrónico y preguntarle ...
PaulHurleyuk

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

6
Seguro que me gustan las llamas. Eso es todo.
JD Long

3
Ver la @sectionetiqueta en roxygen2
hadley

Respuestas:


22

Se ha añadido este soporte (al menos en roxygen2). Solo necesita agregar @section Llamas:y luego cualquier cosa después de eso hasta que se cumpla una nueva directiva estará en una sección de Llamas. Aquí hay 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")
}

que da lo siguiente para el archivo .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.
}
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.