Sezioni arbitrarie nei documenti roxygen


93

Il modo in cui Roxygen sembra funzionare è che la prima riga è \title, tutto il resto è in \details, e quindi qualsiasi @foodirettiva gestisce queste cose. Ma la documentazione R è più ricca di così. Posso avere "\section{Llamas}{Are they ungulates?}"in file .Rd.

Ma non riesco a far fare a Roxygen nient'altro che racchiudere tutto nei \ dettagli. Mi sto perdendo qualcosa?

Ho una soluzione hacky, che è quella di attaccare un impareggiabile }prima del mio \section. Questo quindi termina la \detailssezione. Quindi non devo inserire una conclusione }, perché roxygen ne attacca uno nel pensare che sta chiudendo il file \details. Eeeeeurrrrrrrrgh.


2
Ottima domanda. Sospetto che tu abbia ragione sul fatto che al momento non è possibile farlo. Ma Hadley Wickham ha recentemente affermato di avere la chiave per lo sviluppo futuro di roxygen, quindi spero che qualcosa di straordinario apparirà nel prossimo futuro.
Andrie

4
A seconda di quanto approfondisci vuoi approfondire, potresti offrirti di aiutare Hadley in quello che sta facendo. So che il suo lavoro è fantastico, ma dopo tutto, "Vell, è solo uno zis, sai?". Potresti voler leggere attentamente il codice che Hadley ha pubblicato su github github.com/hadley/roxygen e magari inviargli un'e-mail e chiedergli ...
PaulHurleyuk

1
Sicuro. Ho visto anche Hadley qui, quindi potrebbe esserne consapevole. All'inizio pensavo di essermi perso qualcosa nei documenti, come una direttiva "@section Llamas" o simile.
Spacedman

6
Di sicuro mi piacciono i lama. Questo è tutto.
JD Long

3
Vedi l' @sectionetichetta in roxygen2
hadley

Risposte:


22

Questo supporto è stato aggiunto (almeno in roxygen2). Devi solo aggiungere @section Llamas:e poi qualsiasi cosa dopo che fino a quando non verrà soddisfatta una nuova direttiva sarà in una sezione Llamas. Ecco un esempio

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

che fornisce quanto segue per il file .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.
}
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.