Я пытаюсь написать документацию для R-пакета в Markdown и преобразовать его в Rd-файл.Преобразование уценки в Rd или определение пользовательских правил преобразования уценок?
Я думаю, еще один способ смотреть на это, что я хочу структуру, которая распознает различные уценки конструкции и позволяет мне определить, как они должны быть оказаны, например:
`text in backticks`
преобразуется в\code{text in backticks}
**text**
превращается в\bold{text}
- списки уценки преобразуются в
\itemize{...}
и так далее.
Есть ли что-то, что позволит мне это сделать? Пакет pander
в R (обертывание вокруг pandoc) выглядел многообещающим, но я не уверен, что могу указать правила преобразования (например, он конвертирует обратные ссылки с помощью \texttt
, и я хочу \code
), а также генерирует полный автономный документ, а не просто мой вводный фрагмент преобразован.
Пакет markdown
для R, по-видимому, просто делает уценку -> HTML. Похоже на то мощи есть поддержка пользовательских рендеров, но я не знаю, как написать один (это похоже, что я должен написать код C?)
Я после того, как что-то вроде этого:
convertMarkdown(myTextSnippet,
backticks = function (txt) {
return(paste0('\\code{', txt, '}'))
},
bold = function(txt) {
return(paste0('\\bold{', txt, '}'))
},
unordered.list = function (items) {
itms <- paste('\\item', items, collapse='\n')
return(paste('\\itemize{', itms, '}', sep='\n'))
},
# ... and so on
)
Существует ли такая вещь?
(Бонус: Я просто хочу, чтобы иметь возможность вставлять уценку в мои комментарии roxygen
, так что думал о преобразовании частей комментариев от уценки к rd, а затем запускал roxygen на выходе).
Почему бы не преобразовать все это, а затем прочитать и gsub, как вам хотелось бы.Pandoc делает практически все, что вам нужно, но 'gsub' out' \\ texttt {'для' \\ code {'и т. Д. Посмотрите [this] (https://github.com/trinker/reports/blob/master /R/QC.R) и украсть, как будто это твоя работа. –
«Почему бы не преобразовать все это» - что вы имеете в виду? Вы имеете в виду просто использовать pandoc, чтобы сделать уценку -> латекс, а затем полагаться на gsub для преобразования латекса -> Rd? –
Да, точно. Будет ли это работать? Просто любопытно, почему бы не «roxygen2»? –