Pytanie roxygen2 ręcznie wstawić podział linii


Mam funkcję, którą próbuję dokumentować z roxygen2:

#' Name of function
#' 
#' Description
#' 
#' @param x The input data
#' @param method one of:
#' "method1" - very long text here 
#' "method2" - very long text here
#' "method3" - very long text here
#' "method4" - very long text here 
#' "method5" - very long text here 
#' "method6" - very long text here 
#' "method7" - very long text here 
#' "method8" - very long text here 
#' "method9" - very long text here 
#' "method10" - very long text here 
myfun <- function (x, method){return(NULL)}

Ta funkcja ma około 10 różnych metod, z których każda ma bardzo długi opis. Chcę, aby między każdą "metodą" znajdował się znak nowej linii, aby ułatwić szybkie zapoznanie się z różnymi dostępnymi metodami.

Jak napisano, kiedy dzwonię roxygenize('mypackage'), powyższy tekst zostanie zgnieciony w jedną linię.

Jak ręcznie wstawić podział linii do dokumentacji roxygen2?


21
2017-09-16 19:03


pochodzenie


Następnie naciśnij przycisk powrotu na komputerze po x (używam 80) szerokości. W RStudio #'  zostanie automatycznie wstawiony. W niektórych okolicznościach musisz dodać \cr złamać linię. - Tyler Rinker
Może wyglądać ładnie na liście punktorów (lub numerowanych), użyj \itemize lub \enumerate. - Gregor
@TylerRinker Dziękuję, \ cr rozwiązał mój problem - Zach
@shujaa To świetna propozycja, zagłębię się w to. - Zach
@Zach dla przykładu składni, uruchom ggplot2:::rd_aesthetics("geom", "point") (ggplot2 ma programowe podejście do niektórych części dokumentacji). - Gregor


Odpowiedzi:


To działa:

#' Name of function
#' 
#' Description
#' 
#' @param x The input data
#' @param method one of: \cr 
#' "method1" - very long text here \cr 
#' "method2" - very long text here \cr 
#' "method3" - very long text here \cr 
#' "method4" - very long text here \cr 
#' "method5" - very long text here \cr 
#' "method6" - very long text here \cr 
#' "method7" - very long text here \cr 
#' "method8" - very long text here \cr 
#' "method9" - very long text here \cr 
#' "method10" - very long text here \cr 
myfun <- function (x, method){return(NULL)}

Oto rzeczywisty przykład w repozytorium, z którego korzystam \cr: https://github.com/trinker/SOdemoing/blob/master/R/FUN.R

Również komentarz @ Gregora jest dobrze zrobiony. Wyglądałoby to tak:

#' @param method2 one of:
#' \itemize{
#'   \item method1 - very long text here 
#'   \item method2 - very long text here
#'   \item method3 - very long text here
#'   \item method4 - very long text here 
#'   \item method5 - very long text here 
#'   \item method6 - very long text here 
#'   \item method7 - very long text here 
#'   \item method8 - very long text here 
#'   \item method9 - very long text here 
#'   \item method10 - very long text here 
#' }

Tutaj możesz zobaczyć wyniki dla obu:

enter image description here

Stworzyłem GitHub repo, SOdemoing, aby przetestować takie rzeczy (bardziej rozbudowane pytania i odpowiedzi związane z pakietami). Widzieć FUN.R gdzie testuję oba podejścia używając roxygen2 a następnie powstała pomoc podręcznika gdzie to ustawiłem (znowu funkcja jest FUN.R).


27
2018-06-11 14:34



@rnorberg twoja edycja umożliwia inne sposoby widzenia, ale ogromnie zakłóca przepływ znaczenia. Wycofałem edycję. Myślę, że możesz dodać jako komentarz lub jako edycję na końcu postu. - Tyler Rinker
Brak możliwości wprowadzenia nowej linii w komentarzach sprawia, że ​​opcja ta jest jeszcze gorsza. Dodam to na końcu. - rnorberg
Jeśli budujesz pakiet R, bądź ostrożny z "\ cr" w plikach dokumentacji R (* .Rd). W tych plikach "\ cr" musi być umieszczone po tekście (inaczej nie przez linię itlsef), w przeciwnym razie LaTeX nie powiedzie się w generowaniu wersji pdf dokumentacji. - Kristoffer Vitting-Seerup