Seções arbitrárias em documentos roxygen

93

A maneira como o Roxygen parece funcionar é que a primeira linha é o \title, todo o resto está no \details, e então quaisquer @foodiretivas tratam dessas coisas. Mas a documentação do R é mais rica do que isso. Posso ter "\section{Llamas}{Are they ungulates?}"em arquivos .Rd.

Mas não consigo fazer com que o Roxygen faça outra coisa senão embrulhar tudo em \ detalhes. Estou esquecendo de algo?

Tenho uma solução hacky, que é colocar um incomparável }antes do meu \section. Isso então encerra a \detailsseção. Então eu tenho que não colocar um final }em, porque o roxygen prende um pensando que está fechando o \details. Eeeeeurrrrrrrrgh.

Astronauta
fonte
2
Excelente pergunta. Suspeito que você esteja certo de que isso não pode ser feito no momento. Mas Hadley Wickham mencionou recentemente que ele detém a chave para o desenvolvimento futuro do roxygen, então tenho esperança de que algo incrível aparecerá em um futuro próximo.
Andrie
4
Dependendo do quanto você deseja aprofundar, pode se oferecer para ajudar Hadley no que ele está fazendo. Eu sei que o trabalho dele é incrível, mas afinal, 'Vell, ele é só esse cara, sabe?'. Você pode querer ler o código que Hadley publicou em github github.com/hadley/roxygen e talvez enviar um e-mail para ele e perguntar a ele ...
PaulHurleyuk
1
Certo. Eu vi Hadley aqui também, então ele pode estar ciente. A princípio, pensei que tivesse perdido algo na documentação, como uma diretiva "@section Llamas" ou algo semelhante.
Spacedman
6
Eu com certeza gosto de lhamas. Isso é tudo.
JD Long,
3
Veja a @sectionetiqueta em roxygen2
hadley

Respostas:

22

Este suporte foi adicionado (pelo menos no roxygen2). Você só precisa adicionar @section Llamas:e, em seguida, qualquer coisa depois disso, até que uma nova diretiva seja atendida, estará em uma seção Llamas. Aqui está um exemplo

#' 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 fornece o seguinte para o arquivo .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.
}
Dason
fonte