Sections arbitraires dans les documents roxygen


93

La façon dont Roxygen semble fonctionner est que la première ligne est le \title, tout le reste est dans le \details, puis toutes les @foodirectives gèrent ces choses. Mais la documentation R est plus riche que cela. Je peux avoir des "\section{Llamas}{Are they ungulates?}"fichiers .Rd.

Mais je ne peux pas demander à Roxygen de faire autre chose que d'envelopper tout dans \ details. Est-ce que je manque quelque chose?

J'ai une solution hacky, qui est de coller un inégalé }avant mon \section. Ceci termine alors la \detailssection. Je dois alors ne pas mettre de fin }dedans, car roxygen colle un en pensant qu'il ferme le \details. Eeeeeurrrrrrrrgh.


2
Excellente question. Je suppose que vous avez raison de dire que cela ne peut pas être fait pour le moment. Mais Hadley Wickham a récemment mentionné qu'il détenait la clé du développement futur de roxygen, donc j'espère que quelque chose d'incroyable apparaîtra dans un proche avenir.
Andrie

4
En fonction de la profondeur que vous souhaitez approfondir, vous pourriez proposer d'aider Hadley dans ce qu'il fait. Je sais que son travail est incroyable, mais après tout, «Vell, c'est juste un gars, tu sais?». Vous voudrez peut-être parcourir le code que Hadley a publié sur github github.com/hadley/roxygen et peut-être lui envoyer un e-mail et lui demander ...
PaulHurleyuk

1
Sûr. J'ai vu Hadley ici aussi, donc il le sait peut-être. Au début, je pensais avoir manqué quelque chose dans la documentation, comme une directive "@section Llamas" ou similaire.
Spacedman

6
J'aime bien les lamas. C'est tout.
JD Long

3
Voir le @sectiontag dans roxygen2
hadley

Réponses:


22

Ce support a été ajouté (au moins dans roxygen2). Il vous suffit d'ajouter @section Llamas:et tout ce qui suit jusqu'à ce qu'une nouvelle directive soit satisfaite sera dans une section Llamas. Voici un exemple

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

ce qui donne ce qui suit pour le fichier .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.
}
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.